Ejecute cualquier app Android en su PC

BlueStacks no solo es uno de los emuladores de Android para ordenador más populares, sino el mas conseguido (su uso nos da la sensación de como tener un móvil o tablet virtual en el PC) , de modo que por ejemplo se puede jugar a juegos para móviles desde el PC, usando el teclado y el ratón. Aunque BlueStacks se especializa en juegos incluyendo varias ventajas añadidas como la posibilidad de abrir varios juegos a la vez, así como una completa configuración de los controles , puede usarse para muchas otras aplicciones que iremos descubriendo en este blog


Aunque cada día los terminales móviles  y tabletas   tanto como Android como Ios  roban el protagonismo al clásico ordenador personal , no faltan las voces alertando de  que es mucho mejor disfrutar de una aplicación desde el propio ordenador  a hacerlo en un dispositivo móvil . 

Desgraciadamente aunque fuese deseable , no siempre  están disponibles las mismas aplicaciones tanto para móvil como para ordenador , así que vamos a  ver  una solución  muy sencilla : usar  un emulador Android para poder usar la aplicación desde el ordenador.

BlueStacks es una compañía de tecnología americana autora que produce BlueStacks App Player , aplicación  diseñada para permitir que aplicaciones de Android puedan ejecutarse en ordenadores  con  Windows y Macintosh , asi como  otros productos multi-plataforma basado en la nube.

El App Player (reproductor de aplicaciones) ,  según sus autores , puede ejecutar más del 96% de los 1.4 millones de aplicaciones que esten disponibles en Google Play ​ y es una pieza descargable de aplicación para Windows y Macintosh que virtualiza la completa experiencia del entorno de Android.

La aplicación es de libre descarga y uso, aunque hace unos años presentó a los usuarios la opción de paso a modo freemium, para instalar aplicaciones patrocinadas o comprar una suscripción mensual por $2 ​( lamentablemente  esto no se menciona antes de la descarga o durante la instalación).  

Para los amigos de  mundo Apple en  2012, la compañía lanzó una versión alfa- y  después beta  de la aplicación para Mac OS pero no duró mucho la versión para Mac OS del reproductor ,pues dejó de estar disponible para descargar en 2014. Afortunadamente por fin en  2015, BlueStacks, Inc. anunció  una versión nueva del reproductor para Mac OS

 

El modo más fácil y seguro de descargar BlueStacks es desde su página web oficial.

Como vemos  en la imagen anterior, se muestran allí de forma prominente mas de un botón verde de Descarga BlueStacks, que al pulsar  procederá a  descargar e instalar  la  citada aplicación  en función del sistema operativo   que disponga( Windows o Mac )  sin  mas pasos intermedios .

Los requisitos mínimos de BlueStacks no son elevados aunque se recomienda  uan buena dosis de memoria  RAM

Los requisitos recomendados por sus creadores son los siguientes :

      • CPU Con Soporte De Virtualizacion Por Hardware
      • Windows 7 O Superior
      • CPU Intel o amd
      • RAM 4GB
      • GPU Nvidia Geforce, AMD RADEON HD O Intel HD Graphics

Desde  su página web oficial obtendremos automáticamente  el instalador para el so desde el que se pide  , en este caso si es un ordenador con windows para windows , y que podemos lanzar con un  simple doble clic de iniciar   simplemente  pulsando “Instalar ahora” y comenzará primero la descarga, de aproximadamente 500   MB, para continuar con la instalación.

Una ayuda innegable de este emulador es que viene integrado con Google Play , de modo que  si nos validamos contra  nuestra cuenta de Google , se  pueden descargar juegos y  todo tipo de aplicaciones directamente desde la  propia tienda de Google ( y  por supuesto comprar las que no sean gratuitas). 

Originalmente  una vez instalado la aplicación no veremos casi nada  a excepción del navegador ,el gestor de medios ,el  acceso a la parte de Configuración , el acceso de la cámara (del pc)  y poco más.

Asimismo BlueStacks incluye además su propio Centro de aplicaciones desde la pestaña  superior  junto a Biblioteca “Game Center “, que es algo así como un directorio, listado y top-ten de las aplicaciones y juegos en BlueStacks.  En algunos casos la descarga nos  llevará a Google Play por lo que lógicamente necesitará también iniciar sesión con una cuenta de Google.

 

 

Algo de agradecer es que también podemos  instalar aplicaciones desde los propios archivos  de instalación (apk)  sin tener que relajar en la propia aplicación admitiendo fuentes desconocidas . De hecho,iniciar la instalación es tan fácil como hacer doble clic desde el explorador de  nuestro ordenador  sobre uno de estos archivos. Esto es así porque después de instalar BlueStacks en el PC, los archivos APK se asociarán automáticamente con BlueStacks

 

A pesar de los juegos  y la posibilidad  de instalar las apk directamente ,con toda  probabilidad  al poco de instalar  esta aplicación querremos instalar muchas mas aplicaciones  de forma similar a como lo hacemos  en un móvil Android: desde Google Play, para lo cual  necesitamos  haber iniciado sesión con nuestra  cuenta de Google,  buscar una aplicación que nos interese y  instalarla (recuerde  que más del 96% de los 1.4 millones de aplicaciones que estén disponibles en Google Play podrá instalarlas de este modo ​).

Dada la forma de trabajar  de este emulador, no solo las aplicaciones que instalemos aparecerán en la ventana principal ,  como vemos en la imagen de mas abajo, pues también aparecerán los acceso directos en nuestro escritorio Windows para lanzar precisamente esas mismas aplicaciones  pero desde el propio s.o.

 

Por ejemplo,  para acceder  directamente  a la aplicación TikTok  desde el escritorio Windows el acceso  sera algo similar  a ejecutar    lo siguiente “C:\Program Files\BlueStacks\HD-RunApp.exe” -json “{\”app_icon_url\”:\”\”,\”app_name\”:\”TikTok\”,\”app_url\”:\”\”,\”app_pkg\”:\”com.zhiliaoapp.musically\”}”

Afortunadamente este acceso directo  lo hará la propia aplicación BlueStacks  para cada app que instalemos  ,tanto desde Google Play, como desde el propio apk . En este punto destacar que si la app la instalamos desde Google Play solo  se mostrarán aplicaciones compatibles y que, por tanto , deberían funcionar bien en el emulador.

 

Ejemplo instalación de  TikTok

 
En el entorno de BletStacks podemos usar cualquier aplicación  Android como por ejemplo Tik Tok ,una aplicación que actualmente se ha puesto a la par con otras redes sociales como Instagram, pues su gran popularidad en los últimos años la ha llevado a convertirse incluso en la aplicación más descargada en 2019, superando nada más y nada menos que a WhatsApp.

Se trata de una red social asiática donde se pueden compartir vídeos cortos con música de fondo. En sus inició comenzó como una app de música (musically)  pero con el paso del tiempo se fue transformando a lo que hoy se conoce como Tik Tok.

Si bien esta aplicación va dirigida a dispositivos móviles, existe una forma bastante sencilla de instalarla a la PC con sistema operativo Windows. Lo que se debe hacer , como  amigo lector ya habrá intuido  es descargar el emulador Android BueStacks ( actualmente ya sabe  que el mejor emulador Android para pc )  desde  su página web oficial pues   como se mencionó, Tik Tok solo está disponible para teléfonos, por lo que es necesario descargar BlueStacks como paso previo.

Una vez instalado el emulador  ,tal y como hemos comentado, lo siguiente es introducir nuestras credenciales de  la cuenta Gmail para poder acceder a la tienda de aplicaciones  de Google Play . Una vez iniciada sesión en la cuenta se podrá buscar esta app en  la tienda Google Play Store   y seguir los pasos . 

Por supuesto al tener este emulador de Android BlueStacks , no solo se podrá descargar TikTok, sino también otras aplicaciones y juegos de Android con la consiguiente ventaja de no ocupar la preciada memoria de su terminal móvil.

La aplicación dispone de stickers para las stories donde muchas personas piensan que sus preguntas son realmente  anónimas

El usuario puede ingresar a la famosa aplicación desde el sitio oficial de Tik Tok, sin embargo, esta versión tiene muchas limitaciones que le impedirían al usuario disfrutarlo de un modo tan sencillo debido sobre todo  a la ausencia de interfaz táctil que debe simularse con  el ratón

Porque no debemos imprimir en 3d mascarillas de proteccion

¡No imprima su mascarilla en 3d !En este post hay un resumen de la gran cantidad de problemas que impiden que estas máscarillas funcionen e incluso las hacen peligrosas. Es nuestro deber comprender el motivo para desarmar a cualquiera que sugiera que use o fabrique estas máscaras


Muchas cosas pueden y deben imprimirse en 3D como respuesta a la crisis global  como por ejemplo las viseras  compuestas por acetatos  y soportes impresos en 3d, salva-orejas   o por ejemplo piezas  para respiradores ,  pero las máscarillas no deberíamos de hacerlas … Y antes de decir: “es mejor que nada”, vemos algunos  motivos pues aparte de la falsa seguridad que puede conllevar su  uso , incluso puede ser peor para usted (y para los que lo rodean) que no usar ninguna máscara.  Ademas como soluciones alternativas  estará mucho mejor protegido con el mínimo de una bufanda, pañuelo o cualquier resto de tela vagamente densa envuelta alrededor de su cara.

 

En realidad se ha hecho realmente popular la   construcción casera  de mascarillas durante la pandemia porque las mascarillas quirúrgicas escasean de sobremanera tanto  que en muchos partes del planeta no están disponibles   o  han subido tanto su coste que este  no es asumible por gran parte de la población.

La tecnología de impresión 3D FFF simplemente no es capaz de producir una máscara de respirador segura y efectiva pues está más allá de los límites de FFF y ningún cambio de diseño simple o variación en las piezas utilizadas puede superar eso. Lo peor es que algunos de estos diseños incluso afirman ser tan efectivos como un FFP2 o N95 si se usa el material de filtro adecuado.

Es un desperdicio de plástico, que por cierto, ya está escaseando en este momento  en algunas  zonas del planeta , así como también puede ser un desperdicio desmontar  mascarillas comerciales  FFP2  o  N95, ya que algunas personas incluso sugieren cortarlas para usar como material de filtro para estos respiradores impresos.

La buena noticia es que  aunque  las  mascarillas fabricadas en 3d no son aconsejables por las razones  que vamos a exponer , las  fabricadas con textil o con  otros materiales como el papel de filtro  ya harían  una buena función .

La física de aerosoles

En  efecto  si nos atenemos a la física de aerosoles, o lo que es lo mismo la física del contagio  existen diferentes distancias   a la que es posible  trasmitir partículas ( como el covid-19) ,  incluso  a una distancia mayor de 6 metros.

Para verlo mas claro en la siguiente imagen, que se considera a una persona contagiada que no sabe que lo está y no se pone ninguna mascarilla para evitar contagiar a terceros , esto es lo que lo que sucede:

De la  imagen podemos ver  tres situaciones claramente diferentes

      • Estornudo,es el que  llega más lejos con gotas submilimétricas, cuanto más grande la gota, más carga vírica (más virus caben en ella) pudiendo superar 6 metros de distancia  . Precisamente de ahi la conveniencia  de usar pantallas protectoras  o la obligatoriedad e de ponerse el codo  cuando se estrornuda
      • Tos , llega menos lejos, pero aun así bastante lejos, puede superar los 2 metros.
      • Rrespirado normal, es el que llega menos lejos, pero aun así también se exhalan gotas cargadas de virus, no suele superar los 2 metros de distancia.

En los tres casos se producen aerosoles, gotas micrométricas en suspensión, que no caerán al suelo,  que por su tamaño no suelen proyectarse y se localizan alrededor del contagiado. En la calle esto no es un problema porque el aire se mueve, y estas gotas micrométricas se van con el aire que las mueve pero esto empieza a ser un problema en entornos cerrados como los ascensores y desde luego es un problema a considerar en entorno de alta infección como la sala de UCI de un hospital. Este aerosol es la razón por la que tenemos que guardar una distancia de seguridad en el supermercado y la razón por la que debemos dejar las mascarillas FFP3 para sanitarios en riesgo alto de infección, como los que trabajan en una UCI.

Los tapabocas son útiles para prevenir el contagio aunque no son tan buenos como las mascarillas antipartículas porque dejan pasar un 33% o 25% de partículas en el caso de un textil o una mascarilla quirúrgica, respectivamente . Sobre todo, previenen el contagio por gotas proyectadas de un estornudo o tos de alguien sin mascarilla.

Pero más importante es prevenir contagiar a terceros. Como este virus se contagia mientras seguimos sintiendo que estamos sanos, por precaución deberíamos actuar como si estuviésemos contagiados. Cualquier mascarilla quirúrgica o textil parará tus gotas proyectadas en un estornudo o tos, los principales vectores de transmisión.

 

Las mascarillas impresas en 3D

No podemos estar más de acuerdo en tanto a que una mascarilla impresa que no es estanca contra la cara (es decir que tapando el agujero del filtro y al inspirar haga “chupón”) y sin un filtro  homologado (P1, P2, N95, P3, HEPA compatibles para respirar a través de ellos), no son más que unos tapabocas muy modernos, una barrera física, que  cumple su función social pero que por desgracia adolece de bastantes inconvenientes tal y como nos explican  numerosas  entidades sanitarias al rededor  de todo el mundo como por ejemplo la AFES Chile :

POROSIDAD

La  FFF (fabricación de filamentos fundidos) se basa  en  extruir plástico derretido a través de una boquilla en líneas que se fusionan a medida que el plástico se enfría, creando cada parte línea por línea y luego capa por capa ( de hecho la inspiración de su creador, que luego fundaría Stratasys, es automatizar cómo una pistola de pegamento caliente derrite barras de pegamento y las arroja a chorros).

El primer problema con la fabricación de piezas FFF médicamente seguras ya debería ser evidente: las piezas terminadas son porosas de modo que los gérmenes, las bacterias y la suciedad se acumularán dentro de los vacíos entre cada línea y capa de filamento, mucho más profundo de lo que puede penetrar cualquier proceso de desinfección / esterilización.

Tenga en cuenta que un viroide SARS-CoV-2 (COVID-19) tiene entre 0,125 y 0,08 micras de ancho. Si una célula sanguínea fuera del tamaño de una gominola, una partícula de coronavirus sería del tamaño de un grano de arena lo cual  significa que cualquier  barrera  que queramos poner para que sea efectiva  y no penetre el virus deberían ser lo suficiente pequeño ( es decir menos de 0.08micras  )  para no dejar pasar dichas particular

 

Desgraciadamente  respecto a los micro-poros que existen en las piezas impresas en 3d, como el virus tiene 60-140 nm de diámetro,en un estudio hecho sobre PLA, impreso en 3D, por el profesor Fernando Alba de la Universidad de la Rioja , se caracterizan estos microporos, que tienen un tamaño de unas pocas micras:

 

Es de esperar, que con varias capas de material (imaginemos una capa de plástico con poros en sitios aleatorios y ponemos otra detrás y otra detrás, con los poros en distintos sitios cada vez) esta microporosidad no resulte en canales abiertos de extremo a extremo, por lo que  en ambientes de grado bajo de riesgo,  esto es un problema que todo apunta a que pudiera ser despreciable pero distinto sería si la mascarilla fuese hecha con un solo perímetro, pues entonces seria claramente un colador para los virus en aerosol, aunque seguiría funcionando como tapabocas.
 
Sin embargo en entorno de alta densidad de virus en suspensión, por ejemplo en una UCI, este riesgo no se puede asumir. El profesor Fernando Alba nos indica que en el mismo estudio se comprueba como una capa superficial de polímero (él usa PEG) tapa estos microporos:
 

 

 

¿Y  SU CUBRIMOS LAS PIEZAS ?

De acuerdo, las partes son porosas, pero ¿qué pasa si las cubrimos con pintura o resina para evitar que algo entre? Claro, esa es una opción, pero :

      • ¿qué sucede si no tiene un recubrimiento 100% sólido en toda la parte (pista: esto es difícil de hacer para geometría compleja como una máscara de respirador)?
      •  ¿qué sucede si esa capa protectora se rompe o se desgasta durante el uso normal? Las bacterias y virus  se introducirian debajo de esa capa y su problema seria aun peor porque la capa “protectora” hace que sea aún más difícil que cualquier tipo de desinfectante ingrese y desinfecte (y por supuesto  no puede ver nada de lo que esta sucediendo)

En principio,  una capa de vaselina o crema de base oleosa aplicada por el exterior debería resolver estos problemas pero no se puede garantizar. Por supuesto también seria desaconsejable  barnices, pues ademas  podrian  ser tóxicos, (aunque haya algunas propuestas interesantes involucran barnices de uso alimentario) .

Por otro lado, el profesor Jordi Torrent, de la Universidad de Girona, publicó un artículo en el cuál caracteriza el sellado de los poros de una pieza impresa en ABS con acetona   no obstante, este método requiere cierta pericia al parecer al tener que hacer un baño de vapor de acetona controlado, con recirculación del vapor con un ventilador.

Asimismo , nos llegan experiencias de que este proceso ejecutado en ámbito casero a veces resulta en una debilitación paulatina de la pieza, pero en un ambiente controlado en un fablab podría ser una solución a tener en cuenta:


Imágenes SEM antes y después del tratamiento con acetona. La línea roja indica la fusión de las capas exteriores, tapando microporos.

La conclusión es  pues que las máscarillas  impresas  en3d no son seguras ni efectivas, y la información al respecto simplemente no se está difundiendo lo suficientemente bien.

HIGIENIZACION DE  MASCARILLAS

En efecto  un  segundo  problema grave con las mascarillsa impresas ne 3d es la higienizacó de estas  pues no podemos  llevarlas a un autoclave pues se derretirían (para más detalles sobre esto, busque en google “¿es segura la impresión 3D de alimentos?”)

Pero ¿qué significa esto?Significa que su máscara impresa se contaminará, incluso después de un solo uso  pues  no podemos limpiarla  de modo que si alguien le tose, lo que sea que haya en esa tos , es más que probable que quede  fijada  en su máscara permanentemente ( ademas de todos modos, cualquier cosa que esté en su respiración mientras exhala también se incrustará en la máscara).

También , debido a que la parte es plástica, la humedad en su aliento puede condensarse en el interior de la máscara, gotear por la máscara y luego las gotas de agua que contienen virus pueden ser aerosolizadas en el aire que exhala, haciendo que el ambiente sea aún más peligroso para los demás.

¿Se puede aislar su máscara después de usarla hasta que muera algún virus? Si, pero sin embargo, COVID-19 puede seguir siendo viable en una superficie de plástico de 3 a 7 días, por lo que, a menos que tenga un suministro de máscaras impresas para una semana, no tendrá una máscara limpia todos los días con el consiguiente peligro grave de ser contagiado por la propia mascarilla.

 

HERMETICIDAD Y ERGONOMIA

Las máscaras impresas en 3d   supuestamente  tipo FFP2 deberían crear un sello hermético en la cara del usuario,función que no siempre cumplen.

Si pensamos en las  mascarillas comerciales FFP2  se deben flexionar para ajustarse alrededor de su cara cuando las bandas elásticas lo empujan. Incluso en el puente de la nariz donde la máscara no puede flexionarse por sí sola, hay una tira de metal que el usuario se dobla para formar Un sello hermético.

Sin embargo las mascarillas impresas en 3D  no hacen nada de eso pues para obtener un sello similar, se debe hacer una de dos cosas:

      • El plástico se calienta con una pistola de aire caliente y la parte tibia 
      • Flexible, se forma en  la cara del usuario específico, o una tira de sellado de espuma / goma se une alrededor de los bordes de la máscara.

No parece  que ninguna de esas técnicas haya sido clínicamente probada como tan efectiva como una mascarilla comercial FFP2 o  N95 para sellar la cara del usuario , por lo que  la parte impresa simplemente no se sellará a su cara de manera tan efectiva (o remotamente cómoda) como una comecial  N95, lo cual  elimina completamente cualquier afirmación de que las máscaras impresas pueden reemplazar a una FFP2 o  N95 pues esa certificación requiere un sello hermético.

Con su máscara impresa, el aire fluirá libremente alrededor de los bordes de la máscara, eliminando cualquier mecanismo de filtrado que incorpore.Sin embargo, ese mal sellado es algo bueno pues el aire que fluye alrededor de los bordes de la máscara, aunque posiblemente esté lleno de viroides, podría ser lo único que le impide desmayarse o morir.

Si alguna vez ha corrido o hecho trabajo de intensidad media mientras usabas una mascarilla FFP2 o usó una para un turno completo de ocho horas, entonces sabe lo difícil que es poder respirar con unas mascarillas y lo incómodo que puede ser una mala calidad durante períodos prolongados.

Con una máscara FFP2 o  N95 típica, hay una buena cantidad de resistencia al aire, por  que toda la máscara está hecha de material de filtro, lo cual se hacer  para maximizar el área de superficie por la que puede pasar el aire, permitiendo el mayor flujo de aire posible.

Es evidente que intentar respirar a través de un pequeño disco de material de filtro como con la mayoría de los diseños de máscaras impresas será como intentar respirar a través de una pajita,a menos que, por supuesto, su material de filtro no sea tan denso (léase: efectivo) como lo es en una FFp2 o  N95 .

El resultado de esta respiración forzada y la falta de flujo de aire es la acumulación de CO2, que si la máscara impresa tuviera un sello hermético en la cara, lo mataría.( desgraciadamente ni siquiera sabríamos que está sucediendo;pues  nos quedaríamos dormidos y nunca nos  despertaríamos).

 

RESUMEN 

Correcto, así que ignorando todos estos escollos, echemos un vistazo a los requisitos para hacer una máscara de respirador impresa en 3D “aceptable”:

      • El filamento de plástico,
      • Un poco de pintura o resina segura para alimentos para cubrir las piezas (y por lo tanto, un espacio de trabajo bien ventilado),
      • Bandas elásticas,
      • Algún tipo de material de sellado (muchos diseños están utilizando densa espuma de celdas cerradas / goma resistente a la intemperie),
      • Hermético resistente al agua (condensación !) adhesivo para unir el material de sellado, oh, y
      • Algún tipo de material de filtro (que probablemente no podrá reutilizar con el resto de la máscara).

Como podemos deducir todo esto  es mucho tiempo desde la impresión de la pieza hasta el procesamiento posterior y el ensamblaje.Ademas  algunos de esos elementos de la lista de materiales pueden ser difíciles de obtener si planea hacer un montón de estos , pero   a pesar  de todo , como hemos visto no son recomendables  por las  razones expuestas  de la alta porosidad, falta de higienización , falta de hermeticidad , ninguna ergonomía, etc.

 

 

MASCARILLAS CASERAS

Simplemente lleva más tiempo y esfuerzo hacer una máscara impresa en 3d, “correctamente”, que coser una quirúrgica o  simplemente fabricar una con papel de filtro de café.

Con la escasez de mascarillas que hay en este momento y el hecho de que la mayoría de mascarillas hechas en casa, sólo ayudan a que los que están contagiados no contagien a más gente, podemos  probar hacer este  tipos de mascarilla en casa  pues como vamos a ver tampoco necesitan un proceso muy complejo

Realizar   mascarillas desechables con papel de filtro  de Cafe no  cuesta más que 2 minutos  .En este  video podemos ver que el proceso es realmente sencillo

https://www.youtube.com/watch?v=UCPxx9iDuNU

Importante :  Cuide de hacer la mascarilla  con precaución si la va a donar, asumiendo que podría estar contagiado para tomar todas las precauciones necesarias para que otros más vulnerables no se contagien por usted.

Asimismo existen diseños textiles fáciles de implementar   como las mascara Olson , pico de patato o incluso diseños simples de tela plisada

 

MASCARILLAS TEXTILES 

A diferencia de las máscaras impresas, con las máscaras cosidas puede esterilizarlas completamente simplemente lavando o incluso pasandolas   por el autoclave

Sobre el tipo de tejidoa  que debemos usar  para fabricar mascarillas caseras   , según la reciente investigación, publicada en ACS NANO, la revista de la Sociedad Americana de Química, habría que tener en cuenta las propiedades de filtración mecánica y electrostática para poder contestar a esta duda   las telas “híbridas” o mezclas de telas (algodón-seda, algodón-gasa, algodón-franela) tienen potencial para filtrar más del 80% de las partículas de menos de 300 nanometros, y puyedenn filtrar más del 90% de partículas de 300 nanómetros( las mascarillas sanitarias con filtros FFP2 filtran como mínimo un 92% de las partículas, y las FFP3 deben filtrar hasta un 98% o más de dichas partículas).

Los investigadores sugieren que este gran rendimiento en las mascarillas de tela se debería precisamente a la combinación de varios tejidos, y al efecto combinado de una filtración mecánica y electrostática:

    •  La filtración mecánica implica que la tela atrapa físicamente las partículas. Telas como el algodón tienen una gran filtración mecánica por poseer muchos hilos en su interior; cuanto más pequeños son los agujeros entre el tejido, menos partículas pueden escapar.
    •  La filtración electrostática es algo relacionado con las carga electrica dado que materiales como el poliéster son muy estáticos, y lo que hacen es mantener los aerosoles dentro del entorno estático, basado en las cargas de las partículas y no en su tamaño como tal.Las mascarillas comerciales FFP2 s tienen un componente de carga estática que ayuda a atraer y adherir partículas al filtro, y esto se logra a través de complejos procesos de fabricación, lo cial es pocoo probable que no lo consiga en discos cortados de algodón o filtros HVAC 

Mascarilla Olson.

Esta mascarilla puede ser usada por profesionales de salud – en USA ya las están usando – y personas en riesgo o que tienen la salud débil en estos momentos y desean protegerse lo más que puedan. También puede ser usada por el resto 

Los  materiales y herramientas excepto el filtro son realmente sencillos de  obtener:

        • Tela de algodón (~ 0.45 m es suficiente para 2-3 mascarillas) •
        • Hilo y aguja o máquina de coser si tienen pero no es necesario (si cosen a mano, pasen doble cada puntada) •
        • 2 ligas de pelo o 2 elásticos y una cinta
        •  Tijeras 
        • Cinta adhesiva para piel doble o Gorilla tape doble
        •  Filtro HEPA para partículas de 0.3 micras (0.3 microns) 0 filtro parecido ( Hay personas qeu usan compresas ). La forma de cómo cortarlo dependerá del tipo de filtro que consigan pero tiene que ir alrededor de la boca y nariz  asi como también á de la persona que lo use
        •  Papel A4 para imprimir los patrones en tamaño real o imprimir en A3 pero asegurarse que no se seleccione el “Autofit’ al imprimir

 Instrucciones en inglés y español incluídos patrones y moldes: https://drive.google.com/open?id=1y0u…

En este vídeo podemos ver  como hacer una mascarilla protectora Olson con filtro para protegerse del Coronavirus

Por mencionar otros diseños , también existen mascarilla pico de pato  o incluso diseños simples de tela plisada : solo es cuestión en decidirse por un diseño y echarse manos a la obra

Importante :  Cuide de hacer la mascarilla  con precaución si la va a donar, asumiendo que podría estar contagiado para tomar todas las precauciones necesarias para que otros más vulnerables no se contagien por usted.

 

Finalmente, los investigadores también hacen hincapié en la necesidad de usar correctamente las mascarillas: un ajuste inadecuado puede reducir hasta un 60% la eficacia de la filtración inicial de una buena mascarilla de tela, según los investigadores

 

 

Mas información en: 

Impresoras 3D su uso en el COVID19

Veremos que es la impresión 3d y como puede ayudarnos a superar la grave pandemia


 El mes  pasado , 25 de ,  D. Héctor Jerez , co-fundador de E-Proform y fundador de Politólogo en Red. Licenciado en Ciencias Políticas y Sociología, especializado en Políticas Activas de Empleo, Investigación del Mercado de Trabajo y Desarrollo Local  entrevistó a  Carlos  Rodriguez Navarro  , actual bloguuer de este blog , sobre el uso de las Impresoras 3D  durante la Pandemia del Covid19. 

Hector es apasionado  por la comunicación, la tecnología y las Redes Sociales  con un  perfil profesional que abarca líneas como el análisis del mercado laboral, el fomento del emprendizaje, el trabajo en ámbitos del desarrollo local y el constante estudio de los “Social Media” como herramientas de interés para el empleo y el autoempleo . Ademas  Hector forma parte de la red de voluntariado de Andalucía Compromiso Digital, una iniciativa promovida por la Junta de Andalucía y gestionada por Cruz Roja dentro del ciclo de entrevistas tecnológicas centradas en explicar de forma breve aspectos relacionados con la tecnología, desde trámites online hasta consejos de seguridad informática, o, como el caso de hoy   sobre la tecnologua de impresion 3D

Precisamente  dentro de este ciclo de entrevistas tecnológicas vamos a ver en este post  un  extracto sobre la  entrevista del 25 de Marzo    sobre la utilidad de la impresion 3D durante la grave pandemia  en la que por desgracia aun seguimos  inmersos      mostrando algunos ejemplos   de las cosas que hemos hecho dentro del grupo de coronavirusmakers.org

 

 

 

Una impresora 3D es una máquina capaz de realizar réplicas de diseños en 3D  , creando piezas o maquetas volumétricas a partir de un diseño hecho por ordenador surgiendo  con la idea de convertir precisamente esos archivos de 2D en prototipos reales o 3D.

Comúnmente se ha utilizado en el prefabricado de piezas o componentes, en sectores como la arquitectura y el diseño industrial. En la actualidad se está extendiendo su uso en la fabricación de todo tipo de objetos, modelos para vaciado, piezas complicadas, alimentos, prótesis médicas (ya que la impresión 3D permite adaptar cada pieza fabricada a las características exactas de cada paciente), etc

 

TIPOS DE IMPRESORAS 3D

 

Respecto a los  tipos de impresoras  que existen  comercialmente disponibles ,  citamos ahora de forma resumida las mas comunes:

  • Impresoras 3D por Estereolitografía (SLA).Esta técnica fue la primera en utilizarse. Consiste en la aplicación de un haz de luz ultravioleta a una resina líquida (contenida en un cubo) sensible a la luz. La luz UV va solidificando la resina capa por capa. La base que soporta la estructura se desplaza hacia abajo para que la luz vuelva a ejercer su acción sobre el nuevo baño, así  hasta que el objeto alcance la forma deseada.Con este método se consiguen piezas de altísima calidad, aunque, por sacar un inconveniente, se desperdicia cierta cantidad de material en función del soporte que sea necesario fabricar. Algunos ejemplos de impresoras 3D que funcionan por estereolitografía son: Projet 1500, 1200 ó 3510 de 3D Systems. Puede costar unos  300€ una Anycubic Photon                                                                                                                             
  • Impresoras 3D de Sinterización Selectiva por Láser (SLS):También conocido en inglés como Selective Laser Sintering (SLS), esta tecnología se nutre del láser para imprimir los objetos en 3D.Nació en los años 80, y pese a tener ciertas similitudes con la tecnología SLA, ésta permite utilizar un gran número de materiales en polvo (cerámica, cristal, nylon, poliestireno, etc.). El láser impacta en el polvo, funde el material y se solidifica. Todo el material que no se utiliza se almacena en el mismo lugar donde inició la impresión por lo que, no se desperdicia nada.Una de las impresoras 3D más famosas que utilizan esta tecnología de impresión 3D es la EOS(+1000€).

Con las dos últimas tecnologías se consigue una mayor precisión de las piezas impresas y mayor velocidad de impresión.

  • Impresoras 3D por Inyección :Este es el sistema de impresión 3D más parecido a una impresora habitual (de tinta en folio), pero en lugar de inyectar gotas de tinta en el papel, inyectan capas de fotopolímero líquido que se pueden curar en la bandeja de construcción.

Como ejemplo de impresoras 3D por inyección destacamos X60 de 3D Systems o la Zprint 450.(+1000€)

  • Impresión por deposición de material fundido (FDM) :También conocida por FFF (Fused Filament Fabrication, término registrado por Stratasys) .

La técnica aditiva del modelado por deposición fundida es una tecnología que consiste en depositar polímero fundido sobre una base plana, capa a capa. El material, que inicialmente se encuentra en estado sólido almacenado en rollos, se funde y es expulsado por la boquilla en minúsculos hilos que se van solidificando conforme van tomando la forma de cada capa. Se trata de la típica bobina de  filamento pla, abs, etc.   Se trata de la técnica más común en cuanto a impresoras 3D de escritorio y usuarios domésticos se refiere. Aunque los resultados pueden ser muy buenos, no suelen ser comparables con los que ofrecen las impresoras 3D por SLA, por ejemplo.

La ventaja principal es que esta tecnología ha permitido poner la impresión 3D al alcance de cualquier persona con impresoras como la CubeX, Prusa o cualquier impresora de RepRap. ( a partir de 200€)

 

 

TIPOS DE FILAMENTOS

En   cuanto a los materiales necesarios para imprimir,actualmente se utilizan una gran variedad de materiales, entre los que predominan ABS y PLA.

  • PLA   : su precio ronda  entre los 15 a 20€ :EPLA o poliácido láctico es, sin duda, alguna, el material más empleado actualmente en los filamentos para impresión 3D.Se trata de un material con un origen natural (su principal materia prima es el maíz) y que es biodegradable.Entre sus cualidades destacan el ser un material reciclable, muy estable y que resulta fácil de imprimir, sobre todo para usuarios principiantes.Otra de las grandes ventajas del PLA es que no se necesita emplear cama caliente para su impresión. La temperatura del extrusor debe rondar los 200º, dependiendo de la impresora.Por contra, el filamento PLA tiene menor resistencia térmica y mecánica que otros materiales de impresión 3D. Esto hace que se pueda deformar a partir de temperaturas de 60ºC  y que no resulte apto para realizar cortes o perforaciones.
  • ABS  o Acrilonitrilo Butadieno Estireno. Su precio oscila entre los 25 a 30€ .Tras el PLA, el más utilizado probablemente sea el filamento ABS  Se trata de un material más robusto que el PLA y más resistente al mecanizado, por lo que se le pueden hacer cortes y perforaciones. También es uno de los plásticos más resistentes a las altas temperaturas.Sin embargo, el ABS también resulta un material más complejo que el PLA y que puede dar más problemas durante la impresión. Es necesario tener una cama calentada a unos 60ºC-80ºC y la temperatura del extrusor debe ser superior a la del PLA (unos 235ºC).Conseguir que las condiciones de temperatura del entorno sean adecuadas será esencial para evitar que la pieza se resquebraje. Por ello con filamentos ABS no se recomienda emplear ventiladores de capa.
  • Flexible  :su precio ronda en torno a los 32€  la bobina .Los más habituales son el TPE y TPU.Estos materiales están compuestos en base a elástómeros que les confieren una gran elasticidad. Además, son resistentes a la abrasión, tienen gran durabilidad y no se encojen al enfriarse. Tampoco se necesita que la impresora 3D posea cama caliente.Por contra, este tipo de filamento para impresión 3D resulta más difícil de imprimir ya que es necesario ajustar muy bien la temperatura y el caudal de aporte.  Entre el TPE y el TPU también existen algunas diferencias. Por ejemplo, el TPE es más transparente, mientras que el TPU tiene una mejor resistencia a grasas y aceites, por lo que suele ser usado en automoción.
  • De fibra de carbono : Su precio ronda entre entre los  42 a 115€ la bobina .Este filamento se emplea como material de apoyo para filamentos PLA, ABS o PETG. Gracias al aporte de pequeñas partículas de fibra de carbono, los materiales principales obtiene mejores propiedades en cuanto a dureza y resistencia.Una de las ventajas de la fibra de carbono es que a la hora de ajustar los parámetros de la impresión éstos serán similares a los del material principal de aporte, ya sea PLA, ABS o nylon.Hay que tener en cuenta que las partículas de fibra de carbono tienen a atascarse con mayor facilidad y a producir un mayor desgaste por abrasión en la boquilla. Para paliar esta desventaja se recomienda usar boquillas para impresoras 3D  de acero inoxidable de más de 0,4 mm. de diámetro.
  • PET (tereftalato de polietileno): Su precio  ronda en trono a los 20€ la bobina .Es otro de los materiales más empleados para filamentos de impresoras 3D. Se trata de un plástico inodoro y transparente en su origen que va perdiendo estas propiedades cuando se le aplica calor o frío.Sus principales ventajas son su elasticidad (superior a la del PLA o ABS), resistencia o facilidad para la impresión. Por contra, es higroscópico, es decir, absorbe la humedad del ambiente, por lo que es necesario guardarlo en un lugar con las condiciones de humedad adecuadas.

Podemos encontrar diferentes variantes:

      • PETG  35€ :Es una de las variantes de filamento PET. La «G» viene por el glicol, un elemento que le otorga mayor transparencia.Este tipo de filamento para impresora 3D se caracteriza por su capacidad para ser curvado en frío. Por su resistencia y flexibilidad es apto para un gran número de aplicaciones. Es uno de los plásticos más utilizados del mundo, por ejemplo se utiliza para envases de alimentos o botellas de agua.
      • PETT :El PETT es muy similar al PETG, con la salvedad de que es un poco más rígido y no tiene el aporte de glicol, por lo que no es tan transparente. Al igual que el PETG,  es inodoro y bastante duradero.Se podría decir que el filamento PET, junto con el PLA y ABS, es el más utilizado en el mundo de las impresoras 3D.
  • De nylon o poliamida: Su precio  ronda entre los  30 a 100€ la bobina :Si hablamos de la combinación de flexibilidad, resistencia o duración, probablemente el nylon no tenga competencia en el ámbito de los filamentos para impresoras 3D.

VENTAJAS : las piezas se pueden volver a calentar y deformar una vez impresas, sin que el nylon pierda ninguna de sus propiedades originales. El filamento de nylon tiene una dificultad de impresión media. Uno de los principales factores que hay que tener en cuenta es que el nylon tiene una temperatura de fusión muy alta, por lo que es necesario que la boquilla esté a unos 250º y que la cama esté precalentada a unos 80º (estas cifras pueden variar dependiendo de la impresora 3D)

DESVENTAJAS :al contrario que otros filamentos para impresión 3D como el PLA o el PET, no es un material biodegradable. Además, al calentarse el nylon emite vapores tóxicos por lo que hay que tomar precauciones durante la impresión. También hay que tener en cuenta que, al igual que el PETG es higroscópico, absorbe la humedad del aire.

  • NylonX :Al añadirle al nylon un pequeño aporte de fibra de carbono obtenemos este filamento para impresoras 3D denominado NylonX. Se trata de un tipo de filamento que combina la flexibilidad y durabilidad del nylon con la dureza y resistencia de la fibra de carbono.
  • PC  o  policarbonato ; su precio ronda los  35€ la bobina:Este filamento está compuesto de un material translúcido siendo  uno de los materiales más fuertes y resistentes, bastante por encima del nylon. De hecho se suele utilizar para elementos que requieren de una gran resistencia a impactos, como pantallas de dispositivos electrónicos o incluso para fabricar cristales a prueba de balas.
  •  PVA  o alcohol polivinílico : El precio de la bobina ronda entre los 30 a  50€:Hay algunos tipos de filamentos para impresoras 3D que no se suelen utilizar como material principal, sino como aporte complementario. Para ello sería necesario emplear impresoras 3D con doble extrusor.Este es el caso de filamento PVA, uno de los filamentos para impresoras 3D solubles en agua (por lo que es  especialmente importante guardarlo en un lugar seco). El PVA  se puede emplear como material de aporte junto a otros filamentos como PLA, ABS o nylon.
  • HIPS (poliestireno de alto impacto)  : Su precio ronda entre los  20 a1 20€ según el color .Este  filamento combina diferentes cualidades que lo hacen muy interesante como estructura de soporte. Es un polímero que tiene gran resistencia y elasticidad y que se emplea como material secundario junto con el ABS.

Sin embargo, la principal cualidad es que el HIP es soluble en un líquido llamado limoneno. Esto le permite ser utilizado como material de relleno en estructuras que necesiten un apoyo para las capas de ABS. Una vez terminada la impresión, la figura se sumerge en limoneno y se disuelven las partes de HIPS, dando como resultado la pieza definitiva de ABS.Al contrario que el PVA, que puede ser usado con ABS, PLA o nylon, el fllamento HIPS tan solo puede ser empleado con ABS ya que el resto de materiales pueden deteriorarse al ser sumergidos en limoneno.

  • PP  (polipropileno.): El precio del bobina ronda los 30€ :Este filamento ofrece  un plástico fuerte y flexible que se emplea bastante en la industria textil y en la fabricación de envases. También es el plástico con menor densidad, por lo que es útil para reducir el peso de las piezas.

Lo malo de este filamento para impresión 3D es que es un material que resulta difícil de imprimir ya que la adhesión de las capas resulta complicada y tiende a deformarse bastante.

  • De cera :El filamento de cera se suele emplear como molde para fabricar objetos de metal en sectores como la joyería. Gracias a un proceso denominado fundición a la cera perdida se obtiene un molde de cera que se derrite al ser calentada en un horno. De esta forma, se obtiene un molde que se puede rellenar con el material definitivo, normalmente un metal.
  • Glow-In-The-Dark (Ácido poliláctico) : su precio ronda los  50€  por bobina. Básicamente, se trata de una variante del filamento PLA. Este tipo de filamento para impresión 3D se caracteriza por absorber la luz y brillar en la oscuridad durante largo tiempo. Es el que conocemos como filamento fosforescente, ideal para figuras o decoraciones de carnaval o Halloween.
  • Filamento nGen (Amphora AM3300) : Su precio ronda entre los  20 a los  40€ . El nGen es un filamento para impresoras 3D de reciente creación llegando al mercado como un filamento de lujo, con unas propiedades similares a las del PETG o el PLA, pero superiores en muchos aspectos.

Una de sus grandes ventajas radica en su gran resistencia a las temperaturas extremas. También es un materia muy ligero y resistente a los impactos. Cada vez se emplea con mayor frecuencia en la construcción de piezas y elementos mecanizados.Se puede decir que es una especie de mezcla de las mejores propiedades del PLA y el ABS. La temperatura ideal de la boquilla es de unos 240ºC mientras que la cama debe estar a unos 80-85ºC. Como siempre, estos valores varían en función de la impresora 3D.

  • Conductivo :Los filamentos conductivos son filamento que pueden soportar pequeñas cargas eléctricas y que, por tanto, suelen ser usados para la construcción de circuitos electrónicos.

Este filamento se puede combinar con PLA o ABS es una impresora 3D con doble extrusión para crear circuitos eléctricos o diversas piezas conductoras de electricidad, por lo que es ideal par makers con nociones de ingeniería eléctrica.

  • PLA reforzado :Cabe destacar que el filamento PLA, además de ser el más usado, cuenta con numerosas variantes. Estos tipos de filamento PLA le añaden un nuevo material de aporte que le confiere algunas características más específicas.Existen numerosas tipos de filamentos PLA reforzados, aunque algunos de los mas frecuente son aquellos a los que se le añade acero, fibra de carbono, hierro magnético o polvo de metal.Por ejemplo, al combinar PLA con polvo de metal nos da como resultado el filamento de metal, que permite imprimir en 3D piezas con la apariencia del latón, bronce o cobre.
  • Laybrick :Es un tipo de filamento para impresión 3D bastante reciente, que se usa especialmente para decoración. Su característica principal es que confiere a los objetos un aspecto de piedra, una especie de textura de arenisca.

Dependiendo de la temperatura de extrusión, el filamento Laybrick puede tener una apariencia más o menos rugosa. Como consejo de uso, se recomienda cargar e imprimir filamento PLA después de haber usado Laybrick, para eliminar los restos que pudieran quedar en la boquilla y evitar atascos de filamento.

  •  Laywood : Su precio ronda los 30€ :Es un tipo de filamento para impresoras 3D compuesto por madera reciclada, a la cual se le añade un polímero de unión. Esto hace que, aunque no sea madera 100%, las figuras hechas con Laywood parezcan (e incluso huelan) como madera.

Este tipo de filamento se utiliza básicamente para decoración y figuras de artesanía.

  • LayCeramic :El filamento LayCeramic emplea la arcilla para crear objetos de cerámica, por lo que es ideal para la impresión 3D de platos, tazas o figuras.

El gran problema de este material es que hay pocas impresoras 3D en el mercado que sean capaces de trabajar con él. Para poder imprimir cerámica en 3D se necesita una impresora 3D de altas prestaciones con hotend de metal, un calentador de filamentos muy potente (ya que la arcilla se puede quebrar con facilidad) y un horno para el tratamiento post-impresión de la figura.

 

 

Destacar  por ultimo  como hemos vistos  que en la actualidad ya nos podemos encontrar filamentos capaces de imitar a muchos materiales, por ejemplo arcilla u hormigón  o los  alimentos    de modo que  cada  dia surge algún  nuevo filamento  que sin duda nunca nos deja  de sorprender.

 

USO  DE LA IMPRESIÓN 3D DURANTE LA PANDEMIA

Respecto a la pregunta de cuánto tarda en hacerse una pantalla protectora como las que se  han donado a lo sanitarios, a los cuerpos  de seguridad del estado   y en general a los colectivos  que lo han demandado  ,  este  un tiempo que varia según el diseño  que se haya decidido imprimir

En términos generales se suele tardar  sobre una hora o menos según el modelo elegido , asi como por su puesto de la impresora 3d a la que disponga

Luego hay que añadir el tiempo del pos-tprocesado y mecanizado  

Finalmente hay que  higienizarlas, embolsar , empaquetar y,tramitar el envio  ,gestionar la entrega a protección civil   y  actualizar el inventario

En mi caso  he impreso   mas de  250  pantallas y unas 40 salvaorejas (unos cinco  rollos 1k de PLA)

Desde estas lineas , aprovecho ademas para recordar que las mascarillas impresas en 3d  , aunque haya muchos modelos disponibles , no son recomendables pues por el propio proceso de impresión  existen microporos  por donde podría entrar el vurus    pudiendo infectar a su portador  generando sobre todo una falsa sensación de seguridad. 

 

Respecto a los  problemas que nos podemos  encontrar a la hora de imprimir la pantalla protectora podríamos englobarlos en tres  tipos:

      • Asociados a la propia impresora : obstrucciones y  bloqueos del hot-end , desajustes en la cama caliente, alinealidades en los ejes , fallos en la electrónica
      • Asociados al cambio filamento
      • Asociados al modelo seleccionado pues para cada pieza se debe seleccionar los ajustes apropiados en el programa de laminación

 

Lo mas importante  es que cualquier persona puede usar una impresora en 3d, aunque se deben tener conocimientos transversales tanto de hw como de sw  . De  todos modos los mas importante es que   se debe tener paciencia pues los resultados no son tan inmediatos que con una impresora de papel convencional

A  modo de extracto , ayudan los conocimientos siguientes:

      • Asociados al mantenimiento de la impresora pues son habituales las obstrucciones , desajustes y averías    (por eso una impresora en kit ayuda a familiarizarse)
      • Asociados al sw de laminación ( Cura, Simplify3d, PrusaSlicr3r,slicr, EasyPrint)
      • Asociados con la creación de modelos en 3d ; básico con Tinkercad o mas avanzado con Fussion 360,OpenScad, FreeCad

 

Para finalizar, como consejo par cualquier aficionado que se quiera iniciar en este mundo de la impresión  3d, es recordarle que  un mundo  apasionante  sin duda  ,donde apenas  atisbamos a comprender  hasta donde iremos a  llegar  pero no por ello exento de cierta problematica  sobre todo para todos aquellos qeu nos acercamos a este

  Si en efecto  le gusta el  tema d elaimpresion 3d    y le puede encontrar  utilidad  en su vida personal o profesional ( en mi caso  , por ejemplo como electrónico , me interesan los receptáculos para albergar la electrónica ) , se puede partir  de una impresora  3d conocida  cuyas referencias ofrezcan un aceptable relación calidad precio  ( por ejemplo la Ender 3  )  huyendo del sector profesional  sin gastarse una fortuna  , estudiando  , documentándose  y   teniendo  mucha  paciencia y perseverancia  ,  tarde  o temprano   se pueden resolver todos los problemas que vayan surgiendo  , se puede llegar a obtener resultados  realmente sorprendentes   

Amigo lector , no le quiero cansar  más  , en el siguiente  video  podemos ver la entrevista completa  por si le interesase profundizar “en vivo” los aspectos que hemos comentado en las lineas anteriores.

 

 

 

Entrevista tecnológica sobre el uso de las Impresoras 3D y su ayuda en el COVID19, presentado por Héctor Jerez Losada Técnico de la Red de Voluntariado Digital, entrevistando a Carlos Rodríguez Navarro, Ingeniero Informático en Sistemas. Andalucía Compromiso Digital, una iniciativa promovida por la Junta de Andalucía y gestionada por Cruz Roja Española. Si quieres saber más sobre Andalucía Compromiso Digital, puedes seguirnos a través de nuestras redes sociales y de la web http://www.andaluciacompromisodigital.org

Como actualizar su Kindle

¿Hace tiempo que no usa o actualiza su dispositivo Kindle? Dependiendo de la versión de la actualización de software instalada en el dispositivo, antes de instalar la versión más reciente es posible que tenga que instalar una actualización de software anterior.


Es vital tener hoy tener todos nuestros dispositivos electrónicos actualizados con la ultima version de software disponible , por lo que nuestro amigo inseparable ,es decir  nuestro kindle , no le son  ajenos  tampoco,  pues las actualizaciones de software más reciente  ofrecen los recursos  necesarios para seguir usando algunos servicios en su dispositivo. Estas actualizaciones se descargan e instalan automáticamente cuando conecte su Kindle a una red wifi,pero si no es posible , puede que tenga que instalar la actualización de software manualmente para volver a tener acceso a estas funcionalidades.  Ademas si su modelo es algo antiguo, dependiendo de la versión de la actualización de software instalada en el dispositivo, antes de instalar la versión más reciente es posible que tenga que instalar una actualización de software anterior.

No todas las generaciones de e-readers Kindle han estado disponibles en todos los mercados así que lo primero es revisar las funcionalidades distintivas para determinar qué dispositivo tiene  así  que en este pequeño post  hemos intentado resumir todas las generaciones con sus diferentes  versiones de este famoso e-reader  ,incluyendo al lado  los links oficiales de Amazon para descargar el ultimo firmware disponible.

El Kindle debe estar conectado a una red wifi para descargar e instalar esta actualización. Esta actualizaciones no se descargarán si el dispositivo está conectado a una red 3G. 

Antes de ver los modelos ,básicamente  hay tres versiones modernas del firmware para Kindle  :la 5.12.15 que es  las mas actual  y la 5.12.4 o la 5.12.3      

Version 5.12.15: Se desplegó en Abril 2020  . Optan a esta ultima actualización  todos  los Kindle desde la octava  hasta  décima generación incluyendo ademas el  kindle Voyage de séptima generación (es decir los modelos  Kindle Oasis (10.ª generación),Kindle (10.ª generación),Kindle Paperwhite (10.ª generación),Kindle Oasis (9.ª generación),Kindle (8.ª generación),Kindle Oasis (8.ª generación) y Kindle Voyage (7.ª generación) ).

Estas son sus novedades:

      • Lectura fluida desde distintos dispositivos: un diálogo de posición de página actualizado que te ofrecerá información útil sobre su ubicación más reciente y que hará que sea más sencillo navegar entre su página actual y la última página que haya leído.
      • Mejoras de rendimiento, correcciones de errores 
      • Otras mejoras generales.

Versión 5.12.4 :se desplegó en  Febrero de 2020 para el Kindle Paperwhite (7.ª generación) pero No  esta  disponible aun para descargar en este momento  por  lo que deberá actualizarse a 5.12.3.Estas eran las novedades que traía. 

    • Menú Aa: Durante las próximas dos semanas, aparecerá un menú Aa actualizado que hará que sea más fácil acceder a las opciones de fuente, diseño y lectura sin salir del libro que estés leyendo.
    • Mejoras de rendimiento, correcciones de errores y otras mejoras generales.

Versión 5.12.3 : se deplegó el año pasado en  Diciembre de 2019 para el Kindle Paperwhite (7.ª generación). Estas eran sus mejoras

      • Distintivos de la biblioteca: Los libros Prime y Kindle Unlimited de tu biblioteca ahora mostrarán un distintivo.
      • Mejoras de rendimiento, correcciones de errores y otras mejoras generales.

De forma general , para  saber que version de sw   tiene instalado siga estos pasos :

          • En las versiones 4.1.3  ir a pantalla de Inicio, pulse el botón Menú y luego seleccione Configuración  y entonces  la versión de software actual aparecerá en la parte inferior de la pantalla 
          • En versiones 5.3. o 7  superiores nos iremos a la pantalla de Inicio, pulse el icono de menú y luego Configuración. Pulse de nuevo el icono de menú y después seleccione Información del dispositivo.

A  pesar de que  hay versiones comunes de firmware  por ejemplo para el fw 5.12.15   ,  existe una actualización  a medida  para cada modelo y generación de e-reader .

Estos son los diferentes modelos  ordenados por fecha   y generación con todas las actualizaciones oficiales de firmware disponibles : 

Kindle Oasis (10.ª generación)

 Tiene la  mejor pantalla táctil  Paperwhite de 7 pulgadas con resolución de 300 ppp y diseño frontal sin bordes leyéndose   como el papel impreso gracias a la última tecnología E-Ink.

Luz cálida ajustable que permite cambiar el tono de la pantalla de blanco a ámbar.

Resistente al agua (IPX8) para que puedas leer en la bañera o en la piscina  con diseño fino, ligero y ergonómico con botones de paso de página.

Botones de paso de página en la parte frontal del dispositivo

Lanzado en 2019. Existe version de 8B    y otra  con 32GB con 4G ,  se puede comprar en su version mas vendida  de 32Gb por 279€

Se  puede  llevar  a la  version   5.12.5:Descargar la actualización de software

Kindle (10.ª generación)

Esta  version es  táctil   y lleva la luz integrada regulable que le  permite leer durante horas dentro y fuera de casa, tanto de día como de noche. permitiendo con una sola carga disfrutar de semanas, no horas.

Diseñado para la lectura: dispone de una pantalla de 167 ppp y alto contraste en la que se lee como en papel impreso, sin ningún reflejo, incluso bajo la luz del sol.

Permite subrayar pasajes, buscar definiciones, traducir palabras o ajustar el tamaño del texto: todo ello sin abandonar la página que está leyendo.

 Tiene capacidad para miles de títulos en sus 4GB internos 

Lanzado en 2019 , se puede comprar  por unos 89€

Se puede  subir a la   version 5.12.5  desde el link de descarga de Amazon :Descargar la actualización de software

 

Kindle Paperwhite (10.ª generación)

Esta version fue lanzada 2018      siendo el Kindle Paperwhite más ligero y fino hasta esa fecha  con un pantalla  táctil  de 300 ppp sin reflejos que se lee como en papel impreso, incluso bajo la luz del sol. Integra luz  regulable  que  permite leer dentro y fuera de casa, tanto de día como de noche.

También es resistente al agua (IPX8), para que poder usarlo tranquilamente en la playa, en la piscina o en la bañera.

El Kindle Paperwhite está disponible con 8 o 32 GB de almacenamiento

La version de 8b esta disponible por 129€

Se puede  subir a la   version 5.12.5  desde el link de descarga de Amazon Descargar la actualización de software

Kindle Oasis (9.ª generación)

La pantalla táctil  de mayor tamaño y resolución, con 7 pulgadas y 300 ppp leyéndose  como el papel impreso, sin reflejos incluso a plena luz del día .

Fue el primer Kindle resistente al agua (IPX8), para poder  disfrutarlo con tranquilidad en más lugares todavía.

Diseño fino, ligero y ergonómico, con botones de paso de página y luz frontal autorregulable para leer  cómodamente durante horas.

Con una sola carga, la batería dura semanas

El Kindle Oasis ahora está disponible en versiones de 8 GB y de 32 GB 

Destaca  el que incluye botones de paso de página en la parte frontal del dispositivo

Este kindle no es el ultimo   pues fue lanzado en  2017. No obstante aun se  puede conseguir por unos 339€ con 32GB  y navegacion 3G gratis

Se puede  subir a la   version 5.12.5  desde el link de descarga de Amazon :Descargar la actualización de software

Kindle (8.ª generación)

          • Pantalla táctil
          • Sin botones en la parte frontal del dispositivo
          • Lanzado  en 2016
          • Se puede  subir a la   version 5.12.5  desde el link de descarga de Amazon Descargar la actualización de software

Kindle Oasis (8.ª generación)

          • Pantalla táctil
          • Luz de pantalla ajustable
          • Botones de paso de página en la parte frontal del dispositivo
          • Lanzado 2016
          • Se puede  subir a la   version 5.12.5  desde el link de descarga de Amazon   Descargar la actualización de software

Kindle Paperwhite (7.ª generación)

        • Pantalla táctil
        • Luz de pantalla ajustable
        • Sin botones en la parte frontal del dispositivo
        • Lanzado 2015
        • Dos versiones:
          • 5.12.4: La actualización de software no está disponible en este momento. 

Kindle Voyage (7.ª generación)

          • Luz frontal autorregulable
          • Pantalla táctil
          • Sensores PagePress a ambos lados de la pantalla
          • Sin botones en la parte frontal del dispositivo
          • Lanzado 2014
          • Se puede  subir a la   version 5.12.5  desde el link de descarga de Amazon  Descargar la actualización de software

Kindle (7.ª generación)

        • Pantalla táctil
        • Sin botones en la parte frontal del dispositivo
        • Lanzado 2014
        • Se puede  subir a la   version 5.12.2  desde el link de descarga de Amazon  :Descargar la actualización de software

Kindle Paperwhite (6.ª generación)

        • Iluminación ajustable incluida
        • Pantalla táctil
        • Sin botones en la parte frontal del dispositivo
        • Lanzado 2013
        • Se puede  subir a la   version 5.12.2  desde el link de descarga de Amazon Descargar la actualización de software

Kindle Paperwhite (5.ª generación)

Imagen de Kindle Paperwhite

        • Iluminación ajustable incluida
        • Pantalla táctil
        • Sin botones en la parte frontal del dispositivo
        • Lanzado 2012
        • Se puede  subir a la   version 5.16.1.1  desde el link de descarga de Amazon  Descargar la actualización de software

Kindle (5.ª y 4.ª generación)

Imagen de Kindle (botón de navegación)

Kindle Touch (4.ª generación)

Imagen de Kindle Touch

 

Importante: Si la versión de software que tenga instalada es posterior a las versiones que aparecen en la tablas anteriores , no necesitará actualizar el dispositivo. Además, los siguientes modelos de dispositivo no se verán afectados y no necesitarán esta actualización:
      • Cualquier modelo de e-reader Kindle (7.ª generación y posteriores)
      • Tablets Fire (todas las generaciones)

Código Fuente de los e-readers Kindle

Como novedad Amazon ha puesto el codigo fuente  en formato tar.gz  de acuerdo con ciertas licencias de software gratuitas y de código abierto.

Por tanto Amazon  pone a la disposición del publico en general para descargar un archivo de código fuente legible por máquina (“Código fuente”) desde  las versiones previas  hasta las versiones mas recientes.

Al descargar el Código fuente, acepta lo siguiente: AMAZON Y SUS AFILIADAS LE PROPORCIONAN EL CÓDIGO DE FUENTE “TAL CUAL” SIN REPRESENTACIONES O GARANTÍAS DE NINGÚN TIPO. USTED ACEPTA EXPRESAMENTE QUE SU USO DEL CÓDIGO FUENTE ES BAJO SU PROPIO RIESGO. EN LA MEDIDA PERMISIBLE POR LA LEY APLICABLE, AMAZON Y SUS AFILIADAS RENUNCIAN A TODAS LAS GARANTÍAS, EXPRESAS O IMPLÍCITAS, INCLUIDAS, PERO SIN LIMITARSE A, LAS GARANTÍAS IMPLÍCITAS DE COMERCIABILIDAD Y APTITUD PARA UN PROPÓSITO EN PARTICULAR. AMAZON Y SUS AFILIADOS NO SERÁN RESPONSABLES POR NINGÚN DAÑO DE NINGÚN TIPO DERIVADO DEL USO DEL CÓDIGO FUENTE, INCLUYENDO, PERO SIN LIMITARSE A DAÑOS DIRECTOS, INDIRECTOS, INCIDENTALES, PUNITIVOS Y CONSECUENTES.

Este es por cierto el link de descarga 

Mas información en https://www.amazon.es/gp/help/customer/display.html?nodeId=201307450

Activacion de w10 gratis

Entrar a formar parte de la comunidad de usuarios de Windows Insider tiene algunas ventajas, ya que Microsoft quiere hacer atractivo este programa permitiendo que cualquiera pueda formar parte de él. Estas ventajas podrán ser mayores o menores dependiendo del anillo al que te inscribas y el tipo de actualizaciones que recibas.


Una de las primeros conceptos  que interiorizar  y   tener  claro es  que deberíamos  tener una licencia licita de  w10  cuando  instalamos el SO no  solo para que tras instalar el sistema operativo este quede  correctamente activado, y evitar que, tras el periodo de prueba, nos quedemos sin poder utilizarlo,   sino también  para  que todas las actualizaciones de seguridad y mantenimiento se instalen correctamente en nuestro equipo, y por supuesto  sea  una maquina segura  y fiable .

Bien, para activar Windows 10, igual que cualquier otra versión, es necesario tener la licencia de activación de Windows 10  , la cual al menos  puede obtenerse de cuatro formas :

    • Con una licencia OEM , es decir una licencia que se adquiere junto a un equipo nuevo  
    • Un licencia  adquirida como un producto aparte , comprándola por ejemplo en Microsoft Store ( suele constar en torno a los 145€)
    • Licencia  obtenida de migrar desde licencias con W7 , w8 o w8.1
    • Licencia de beta-tester  es decir de  una licencia de Windows Insider

Bien , excepto el ultimo caso , todas las otras opciones  tienen poco recorrido puesto  que de un modo directo o indirecto nos supone un coste adicional, asi que en este  post  nos vamos  a centrar  en como instalar  w10 desde cero  con una licencia gratuita de Windows Insider   y, a continuación,  cómo activar correctamente Windows 10 de 32 bits (x86) y Windows 10 de 64 bits (x64).

Photo by panumas nikhomkhai on Pexels.com

Una licencia gratuita pero con contra-prestaciones: la licencia de windows Insider

En efecto entrar a formar parte de la comunidad de usuarios de Windows Insider   nos va  a permitir obtener tener Windows 10 gratis de forma oficial , aunque  como todo en este mundo , no existe nada  completamente gratis, pues a  cambio   hay una serie de contra-prestaciones que debemos sospesar  antes de proceder a  adscribirnos a este programa:

    • No serán las versiones finales sino mas bien las  de prueba “casi pre-produccion “, si bien en este fase  del Release Preview los riesgos a correr son mínimos, ya que prácticamente no debería haber ,entre otras cosas porque se supone estas version  ya habrán pasado las pruebas de los Insiders internos de la propia Microsoft .
    • Nunca serán versiones tan estables como las finales por cuyas licencias se deben pagar.
    • La licencia gratis sólo esta activa  mientras se utilice las Insider Previews, y en ningún momento se puede  pasar a utilizar las versiones definitivas del resto de usuarios que han pagado por la licencia.
    • Normalmente las actualizaciones llegan mucho  más rápido que las oficiales, lo que  obliga a estar continuamente actualizando , con los cambios y reinicios que esto puede llegar a suponer.
    • Se requiere un cierto nivel de traza  Completo (  envío de datos de diagnostico básicos,junto con información sobre los sitios web que explora,  y el uso de aplicaciones y características así como información adicional sobre el mantenimiento y actividad del dispositivo  y el informe de  errores mejorado,todo ello para mantener actualizado  y protegido su equipo   ) , lo cual no siempre es lo mas cómodo cuando se desee tener el máximo nivel de privacidad
    • Deberemos tener una conexión a Internet de buena calidad pues la necesitaremos  para las casi constantes actualizaciones
    • No es lo mas aconsejable para ordenadores de trabajo en los que se  necesita que no tengan ningún tipo de error o que no te interrumpan con actualizaciones.

Bueno  ,  según la persona puede ser un alto o precio  , si bien no todo es tan malo pues  incluso quizás sea un precio  interesante por probar en primicia  todas las novedades para estar a la ultima. Ademas  también   disfrutaremos de  las nuevas características  que empiezan a llegar a los anillos de prueba meses antes de ser publicadas de forma definitiva  , y que podemos contribuir   en la mejora del SO informando errores    y defectos  sin  olvidar   que  todo esto “gratis” y tampoco se nos exigirá nada a cambio, si bien  ,si  lo desea una vez que haya examinado la versión de Insider Preview, puede utilizar la aplicación Centro de opiniones para hacer llegar su opinión para  poder seguir mejorando Windows pues sus comentarios los reciben los  ingenieros de Microsoft  directamente. El Centro también contiene noticias y tareas de Insider, y ofrece acceso a la comunidad y a otros recursos. Obtenga más información sobre el Centro y cómo proporcionar comentarios útiles.

1. Registro

Bien,  si estamos decididos a usar la licencia Insider  Preview  gratuita , en primer lugar  es necesario registrarse como miembro de Windows Insider, lo cual normalmente se apoya (o por lo menos debería apoyar)  en una cuenta de Microsoft ( por ejemplo usando una cuenta de hotmail o de outlook : es decir  usando  la misma cuenta que emplee con otros servicios de Microsoft ).

Si no tiene una cuenta de Microsoft, es fácil conseguir una  por ejemplo pulsando  aqui.

También puede registrarse con la cuenta del trabajo y disfrutar de ventajas adicionales del Programa Windows Insider para empresas.

2- Obtención de los medios de instalación

 

Para instalar Windows 10 Insider Preview, la teoría  es que  se debería tener instalada una versión con licencia de Windows 10 en su PC ,  pero si su PC contaba con  versiones  antiguas  de Windows 7, 8 u 8.1, se debería   aun  poder instalar Windows 10 desde aquí pues es en teoría  aun  es posible migrar desde versiones anteriores que ya tenían licencia  a w10.

Si ha perdido esa licencia de w7 ,W8 o W8.1  ( por ejemplo por perder el disco)   , bajo nuestra modesta opinión lo mas sencillo es  instalar directamente una versión de Windows 10 Insider Preview: descargar ISO de Windows 10 Insider Preview.

Pinchando en el link anterior  hay que ir  hasta   abajo del todo para elegir la version  que nos interese

 

Además de la edición estándar de Windows 10 Insider Preview, existen estas otras  ediciones:

      • Windows 10 Insider Preview Enterprise está diseñado para satisfacer las necesidades de las organizaciones grandes y medianas y viene con las herramientas de administración que necesitan los administradores de TI.
      • Windows 10 Insider Preview Education está diseñado para estudiantes y profesores y viene con las herramientas de administración que necesitan los administradores de TI.
      • Windows 10 Insider Preview Home Single Language está diseñado para consumidores en mercados emergentes y solo puede ejecutar un solo idioma.
      • Windows 10 Insider Preview Home China está diseñado para consumidores en China y se entrega en chino simplificado.

 

Ademas de las versiones  esta el tema de los anillos , el cual  hacen referencia al nivel  de estabilidad:

        • Rápido(anticipado): Las versiones alpha de Windows 10 . Ofrecen más cantidad de actualizaciones pero menos estabilidad. Ojo pues si elige  la opción Anillo anticipado y su PC obtiene la actualización a 20H1 y desea cambiar al anillo aplazado o de vista previa de versión, deberá realizar una instalación limpia de Windows en su PC y restablecer la configuración del Programa Windows Insider.
        • Lento (Aplazado ): Las versiones betas de Windows 10. Tenemos menos cantidad de actualización  ofreciendo así ademas una mayor  estabilidad. En la configuración de Insider, la selección predeterminada es precisamente para compilaciones en el anillo aplazado.

Bueno , una vez hayamos decidido que version y edición deseamos instalar, lo siguiente es con el fichero ISO  quemarlo en un DVD por ejemplo con las herramientas del propio SO . En caso de descargar el fichero desde Windows ,este  tipo de ficheros ISO los reconoce como tal  y lo puede copiar  a un dvd virgen  como disco de arranque. Asimismo   también es posible  crear una pen drive de arranque para   lo cual  se puede usar por ejemplo la aplicación Rufus que es gratuita.

Cuando tengamos ya el disco o pen drive de arranque , cambiaremos en la BIOS el orden de arranque , y  seguiremos las instrucciones  hasta finalizar  la instalación . 

Es importante asegurarse  antes de empezar a instalar  la copia de Insider  de W10  , que usted  copia  manualmente previamente sus datos y documentos personales  fuera en una unidad exterior ya que normalmente se formateara el disco antes de empezar el proceso  de instalación.

Aunque lo normal es hacer una instalación de cero arrancando desde DVD o pen drive de arranque, si ya disponía de w10 instalado hay también estas otras dos opciones:

    • Actualización local:  es decir, una actualización en contexto  que le permitirá mantener sus archivos, configuraciones y aplicaciones mientras actualiza a una compilación más reciente de Windows. En ese caso una vez descargue la ISO adecuada para su instalación de Windows y guárdadaen una ubicación en su PC ,abra el Explorador de archivos, vaya a la ubicación de guardado de la ISO y haga doble clic en el archivo ISO para abrirlo: Windows “montará” la imagen para que pueda acceder a los archivos contenidos en ella. Haga doble clic en el archivo Setup.exe para iniciar el proceso de instalación (durante la instalación, asegúrese de seleccionar la opción “Mantener la configuración de Windows, archivos personales y aplicaciones”.) Una vez completada la instalación, compruebe que la configuración de Windows Insider sea correcta. Configuración > Actualizar & Seguridad > Programa Windows Insider.
    • Instalación limpia: o lo que es lo mismo una instalación limpia que borrará todos los archivos, configuraciones y aplicaciones de su dispositivo durante el proceso de instalación. Una vez descargada la ISO adecuada para su instalación de Windows y guárdada en una ubicación en su PC, Abra el Explorador de archivos, vaya a la ubicación de guardado de la ISO y haga doble clic en el archivo ISO para abrirlo. Windows “montará” la imagen para que pueda acceder a los archivos contenidos en ella.  Haga doble clic en el archivo Setup.exe para iniciar el proceso de instalación ( drante la configuración, deberá hacera clic en la opción “cambiar qué conservar”.).En la siguiente pantalla, haga clic en “nada” para que pueda completar una instalación limpia. Una vez completada la instalación, compruebe que la configuración de Windows Insider sea correcta.  Configuración > Actualizar & Seguridad > Programa Windows Insider

 

3-Activación de Windows Insider Preview

Puede  instalar la compilación de Windows 10 Insider Preview en:

      • Un dispositivo que se haya activado previamente con Windows 10 
      • Con una clave de producto de Windows 10
      • Después de una instalación limpia, adjuntando una cuenta Microsoft (MSA) que tenga un derecho digital de licencia de Windows 10 vinculado a ella 

Ninguna de estas tres opciones anteiroes  es lo habitual, pues lo mas normal es que no   disponga de esa clave de activación,  así que una vez haya instalado  W10 Insider preview  con una copia limpia, para que windows no nos pida  activarlo, deberemos seguir los siguientes pasos, pasos que por cierto  todo el mundo suele olvidar( y de ahí luego la molesta pantalla de activación) :

      1. Abra Configuración de Windows Insider  en Inicio > Configuración > Actualización y seguridad > Programa Windows Insider ( para ver esta configuración, debe tener derechos de administrador en su PC)
      2. Haga clic en Comenzar y vincule la cuenta que utilizó para registrarse como Windows Insider.Ahora  nos preguntara el  tipo  de  cuenta:Y  ya  solo necesitamos ingresar una cuenta de Microsoft:
      3. Seleccione ahora  el tipo de compilación de Preview que desee ( la recomendable  como ya habíamos comentado es la modalidad  lenta , es decir la aplazada  ) y siga las instrucciones para completar la configuración.  Y  ya  tras unos  momentos    solo  nos queda  reiniciar  el  equipo
      4. Ahora  caudno vuelva a arranca ,vaya a Configuración > Actualización y seguridad y haga clic en “Buscar actualizaciones” para descargar la última compilación basada en la configuración de Insider y completar la instalación. 

 

    ¿Desea saber más sobre la última compilación de Windows 10 Insider Preview? Lea el Blog de Windows Insider.
     

    Ingenieria inversa con Cura

    Hay muchos programas de corte 3D disponibles en el mercado siendo siendo , Cura uno de muchos ,pero con el desarrollo continuo y la filosofía de código abierto han hecho de este programa 3D el estándar de referencia.


    Cura  de Ultimaker  actualmente  es  el software mas usado en laminado en 3d(slicing ) pudiendo traducir  archivos  de objetos en  3D  de tipo STL, OBJ o 3MF a un formato que la impresora puede entender: es decir en código G-CODE permitiendo por tanto  convertir los ficheros de objetos virtuales creados por software 3d en objetos reales  físicos  gracias a la tecnologia de la impresión 3d 

    Muy resumidamente  g-code son  instrucciones para que una  impresora 3D   pueden realizar movimientos sobre los eje x x,y o z ,ajustar temperaturas   del fusor o de la cama, activar el extrusor ,etc: es decir  un conjunto de códigos para el gobernar el cabezal de impresión  y todo el hw  adicional codificados en RS274NGC , es decir en código G estándar.  Tal es la aceptación de este sw que sólo hay un puñado de impresoras 3D que no son soportadas por Cura pero  aun  así, puede incluso añadirse la impresora por  uno mismo. Además los Firmwares RepRap  también son bastante utilizables para el fresado CNC y aplicaciones similares.

     

    Como cada impresora tiene una configuración, área de impresión, placa de construcción y tamaño de boquilla diferentes, el software de corte Cura necesita conocer estos detalles de hardware en un perfil de impresora de modo que una vez se  que tenga los detalles necesarios, se pueden especificar ajustes como la altura y el grosor de la capa . Basándose en importantes estadísticas de la impresora y en su configuración, Cura calculará la ruta que debe tomar el cabezal de impresión para imprimir su modelo  produciendo una lista de instrucciones para la impresora,instrucciones  que como sabemos se guardaran en ese archivo G-Code , el cual lo mas normal es que guardaremos en una tarjeta SD  (o enviarse directamente desde Cura a la impresora de modo inalámbrico o por cable, dependiendo de la impresora).

     

     

    ¿Porque  estamos hablando de g-code cuando en realidad  todo el trabajo  el sw de Cura?  Pues básicamente porque para cada pieza se suelen hacer muchos ajustes   en Cura que quedan guardados ,  al menos parcialmente, en estos ficheros ( y quizas no recordemos ) ,  por lo que es posible con los  g-code deducir  que ajustes se usaron   en la obtención de esa pieza   y con ello extrapolar la configuración usada.

    Si conoce versiones anteriores de Cura , en efecto esta exportación de ajustes era posible  a través del fichero g-code  pero desgraciadamente en las versiones  mas actuales ya  NO es posible,  pero  no se preocupe, porque vamos a  ver como podemos deducir  mucha información de ajustes  de   Cura  desde los ficheros .gcode  sin instalar nada

     

     

     

    Pues en efecto para deducir  los ajustes de  nos  apoyaremos de  gCodeViewer , sw  en linea que es un visualizador y analizador visual de GCode  que podemos usar en nuestro propio navegador funcionando por tanto  en cualquier sistema operativo y en casi cualquier navegador moderno (chrome, ff, safari 6, opera, ie10 ).

    Todo lo que necesitamos  pues hacer es arrastrar su archivo * .gcode a la zona designada y podemos ya estudiar fácilmente el gcode.

    Las características actuales incluyen:

      • Visualización  GCode en 2D, capa por capa
      • Mostrar retractaciones y reinicios
      • Mostrar velocidades de impresión / movimiento / retracción
      • Mostrar solo parte de la capa, secuencia animada de impresión de capa
      • Muestra dos capas simultáneamente para que pueda verificar los voladizos
      • Ajuste el ancho de línea para simular la impresión más de cerca

    Una vez  cargado el fichero , el visor de Gcode intentará analizar los diámetros de boquilla y filamento de gcode, pero puede que no lo haga por lo que en ese caso, deberá configurarlo manualmente en la pestaña ‘Información de la impresora’

    Este   programa pues nos permite analizar GCode: Tiempo de impresión, cantidad de plástico utilizado, altura de capa, etc. para todo el archivo y para una sola capa

    Una funcionalidad interesante de este sw es que podemos hacer referencia a una  parte visualizada en el archivo GCode :es decir, seleccionamos una parte determinada de la visualización 2D, cambiamos a la vista GCode y  resaltará la lista de líneas responsables de la pieza visualizada

    Este sw   Multiplataforma, disponible en línea , también funciona sin conexión localmente  no carga el código g en ningún lado ni descarga nada excepto la aplicación en sí por lo que es una herramienta muy interesante para nuestro cometido

     

    EJEMPLO INGENIERÍA INVERSA DE FICHEROS GCODE

     

    Veamos  como ejemplo analizar 4 ficheros g-code de 4 objetos diferentes laminados con diferentes versiones de Cura (Cura_SteamEngine 4.6.0,Cura_SteamEngine 4.6.1 y Cura_SteamEngine 4.4.1.)

    Para ver mas fácilmente las diferencias  del código gcode    copiaremos  en columnas diferentes    de excel las primeras  lineas  obtenidas con el gcode analyzer

    Como  la impresora  3d (una Geetech Prusa I3  pro w)   es la misma , a grandes rasgos la información  hasta la linea  12  no deberia ser  demasiado relevante para este análisis ya que hace referencia a los movimientos máximos  y mínimos de  x, y , z, pero podemos en el código que hay grandes diferencias:

    ;MINX:9.648   ;MINX:18.574   ;MINX:17.054   ;MINX:11.993
    ;MINY:11.059   ;MINY:85.061   ;MINY:9.375   ;MINY:5.508
    ;MINZ:0.3   ;MINZ:0.3   ;MINZ:0.3   ;MINZ:0.3
    ;MAXX:182.112   ;MAXX:181.424   ;MAXX:180.006   ;MAXX:188.007
    ;MAXY:198.228   ;MAXY:114.941   ;MAXY:190.625   ;MAXY:194.492
    ;MAXZ:1.42   ;MAXZ:1.42   ;MAXZ:15.98   ;MAXZ:20.9

    Estos   parámetros como el lector  conoce definen los desplazamientos maximos  y minimos de los tres ejes , por lo que deberian coincidir en los cuatro casos , lo cual evidencia que  podria haber errores en los dos primeros ejemplos  

     

    Especialmente interesante   es  tambien la linea 12  qeu nos diece con diferentes versiones de Cura (Cura_SteamEngine 4.6.0,Cura_SteamEngine 4.6.1 y Cura_SteamEngine 4.4.1.)

     

    Bien  y ahora desde la linea 12 ( versi9on de Cura )  hasta la linea 34  si veremos un bloque común  , que  es preciosamente el que definimos en cura para iniciar la impresora  y que por tanto debería coincidir en las diferentes versiones:

    M140 S50
    M105
    M190 S50
    M104 S220
    M105
    M109 S220
    M82 ;absolute extrusion mode
    G21 ;metric values
    G90 ;absolute positioning
    M82 ;set extruder to absolute mode
    M107 ;start with the fan off
    G28 X0 Y0 ;move X/Y to min endstops
    G28 Z0 ;move Z to min endstops
    G1 Z15.0 F9000 ;move the platform down 15mm
    G92 E0 ;zero the extruded length
    G1 F200 E3 ;extrude 3mm of feed stock
    G92 E0 ;zero the extruded length again
    G1 F9000
    ;Put printing message on LCD screen
    M117 Printing…
    G92 E0
    G92 E0

    Bueno este es un bloque comun ( el definido en cura como bloque inicial)  ,pero a partir de esta linea  segun la version  puede haber diferencias 

     

    ;LAYER_COUNT:5   G1 F1500 E-6.5   G1 F1500 E-7   G1 F1500 E-7
    ;LAYER:0   ;LAYER_COUNT:5   ;LAYER_COUNT:57   ;LAYER_COUNT:71
    M107   ;LAYER:0   ;LAYER:0   ;LAYER:0
    G0 F3600 X17.865 Y16.327 Z0.3   M107   M107   M107
    ;TYPE:SKIRT   G0 F3600 X22.667 Y89.806 Z0.3   G1 F600 Z1.3   G1 F600 Z1.3
        ;TYPE:SKIRT   G0 F3600 X39.412 Y37.756 Z1.3 G0 F3600 X65.981 Y65.476 Z1.3
            ;TYPE:SKIRT   ;TYPE:SKIRT
                 

    En este caso claramente se ha configurado el tipo de adherencia a la placa de impresion como skirt ( falda)

    Y a  partir de este bloque   ya deberían localizarse los movimientos x,y, z  según la pieza elegida   y que por tanto dependerá de cada modelo

     

     

    Bueno  y ahora vamos al bloque final, que también es definido por Cura  y por tanto debiera ser común en todas las versiones ;

     

    M140 S0
    M107
    M104 S0 ;extruder heater off
    M140 S0 ;heated bed heater off (if you have it)
    G91 ;relative positioning
    G1 E-1 F300  ;retract the filament a bit before lifting the nozzle, to release some of the pressure
    G1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more
    G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way
    M84 ;steppers off
    G90 ;absolute positioning
    M82 ;absolute extrusion mode
    M104 S0
    ;End of Gcode

     

     

    Finalmente finalizado este bloque  y esto es lo interesante esta comentado en metadatos  todos los ajustes importantes realizados en cura ;

    End of Gcode
    ;SETTING_3 {"global_quality": "[general]\\nversion = 4\\nname = Fine #2\\ndefini
    ;SETTING_3 tion = prusa_i3\\n\\n[metadata]\\nquality_type = normal\\ntype = qual
    ;SETTING_3 ity_changes\\n\\n[values]\\nlayer_height = 0.28\\nmaterial_bed_temper
    ;SETTING_3 ature = 70\\n\\n", "extruder_quality": ["[general]\\nversion = 4\\nna
    ;SETTING_3 me = Fine #2\\ndefinition = prusa_i3\\n\\n[metadata]\\nquality_type =
    ;SETTING_3 normal\\nposition = 0\\ntype = quality_changes\\n\\n[values]\\ninfil
    ;SETTING_3 l_pattern = grid\\ninfill_sparse_density = 50\\nmaterial_flow = 80\\n
    ;SETTING_3 material_print_temperature = 220\\noptimize_wall_printing_order = Tru
    ;SETTING_3 e\\nretraction_amount = 7\\nretraction_hop_enabled = True\\nroofing_l
    ;SETTING_3 ayer_count = 1\\nspeed_print = 50\\ntop_bottom_thickness = 1.2\\nwall
    ;SETTING_3 _thickness = 1.2\\n\\n"]}

     

    Por desgracia no siguen el mismo orden en las diferentes versiones de cura, asi que tendremos que extraer de aqui el valor de lo diferentes campos despreciando la cadena SETTING_3    asi como eliminano los retornos de linea

    {"global_quality": "[general]\\nversion = 4\\nname = Fine #2\\ndefinition = prusa_i3\\n\\n[metadata]\\nquality_type = normal\\ntype = quality_changes\\n\\n[values]\\nlayer_height = 0.28\\nmaterial_bed_temperature = 70\\n\\n", "extruder_quality": ["[general]\\nversion = 4\\nname = Fine #2\\ndefinition = prusa_i3\\n\\n[metadata]\\nquality_type =normal\\nposition = 0\\ntype = quality_changes\\n\\n[values]\\ninfill_pattern = grid\\ninfill_sparse_density = 50\\nmaterial_flow = 80\\nmaterial_print_temperature = 220\\noptimize_wall_printing_order = Tru
    e\\nretraction_amount = 7\\nretraction_hop_enabled = True\\nroofing_layer_count = 1\\nspeed_print = 50\\ntop_bottom_thickness = 1.2\\nwall_thickness = 1.2\\n\\n"]}

     

    De esto  ya finalmente si los ordenamos en campos  deducimos los parámetros ajustados:

     

    nversion = 4
    nname =  Fine #2
    ndefinition =  prusa_i3
    ntype =  quality_changes
    nquality_type =  normal
    nlayer_height =  0.28
    nmaterial_bed_temperature =  50
    nposition =  0
    nbottom_layers = 4
    nbrim_line_count =  1
    nbrim_outside_only =  False
    nbrim_width   
       
    ninfill_pattern =   grid
    ninfill_sparse_density =  50
    nmaterial_flow =  50
     nmaterial_print_temperature =  220
     nretraction_enable =  False
     nskirt_brim_minimal_length =  25
     nspeed_print =  40
     nspeed_topbottom =  speed_print / 2
     ntop_layers = 4
     nwall_thickness   1.2

     

     

    Con esto claramente  podemos pues deducir   cuales fueron los parámetros   que se ajustaron con esa pieza, así como  si deseamos comparar con otros gcodes de otras piezas:

    nversion = 4   4   4   4
    nname =  Fine #2   Fine #2   Fine #2   Fine #2
    ndefinition =  prusa_i3   prusa_i3   prusa_i3   prusa_i3
    ntype =  quality_changes   quality_changes   quality_changes   quality_changes
    nquality_type =  normal   normal   normal   normal
    nlayer_height =  0.28   0,28   0,28   0,28
    nmaterial_bed_temperature =  50   50   70   ?70
    nposition =  0   0   0   0
    nbottom_layers = 4   4        
    nbrim_line_count =  1   1        
    nbrim_outside_only =  False   False        
    nbrim_width              2
                   
    ninfill_pattern =   grid    grid   grid   grid
    ninfill_sparse_density =  50   50   50   50
    nmaterial_flow =  50   50   80   80
     nmaterial_print_temperature =  220   220   220   220
     nretraction_enable =  False            
     nskirt_brim_minimal_length =  25   25       25
     nspeed_print =  40   40   50   50
     nspeed_topbottom =  speed_print / 2   speed_print / 2        
     ntop_layers = 4   4        
     nwall_thickness   1.2   1,2   1,2   1,2
    ntop_bottom_thickness             1,2
                   
    noptimize_wall_printing_order          true   true
    nretraction_amount          7   7
    nretraction_hop_enabled          True   true
    nroofing_layer_count          1   1
                   
    nadhesion_type              brim

    Como  vemos , no todos los parámetros en  Cura  se ajustaron , lo cual queda muy evidenciado  precisamente en esos valores claramente diferentes  en las 4 columnas  y que están en  algunas piezas  y en otras no

    Por cierto  para terminar este caso , los datos  correspondientes a los dos primeros ejemplos la piezas delatan   que no se pudieron imprimir correctamente por esa incorrecta parametrización de Cura

    .

    Campos de G Code RepRap

    En esta sección se explican los campos que van precedidos por una letra. Los números en los campos son representados por nnn . Los Números de Ser pueden Enteros (enteros) (128) o Números racionales (12,42), dependiendo del contexto. Por ejemplo, la coordenada X puede ser entera ( X175 ) o racional ( X17.62 ), pero seleccione el extrusor número 2.76 sin sentido sentido.

    Letra SIGNIFICADO
    Gnnn Comando GCodelo estándar, como moverse hasta un punto
    Mnnn Comando definido por RepRap, como activar un ventilador
    Tnnn Seleccionar la herramienta nnn. En RepRap, las herramientas son extrusores
    Snnn Parámetro de comando, como la tensión enviada a un motor
    Pnnn Parámetro de comando, como el tiempo en milisegundos
    Xnnn Una coordenada X, normalmente para moverse a ella. Puede ser un número entero o racional.
    Ynnn Una coordenada Y, normalmente para moverse a ella. Puede ser un número entero o racional.
    Znnn Una coordenada Z, normalmente para moverse a ella. Puede ser un número entero o racional.
    Innn Parámetro – Actualmente no utilizado
    Jnnn Parámetro – Actualmente no utilizado
    Fnnn Avance en mm por minuto. (Velocidad de movimiento del cabezal de impresión)
    Rnnn Parámetro – usado para temperaturas
    Qnnn Parámetro – Actualmente no utilizado
    Ennn Longitud a extrusión en mm. Ex exactamente como X, Y y Z, pero para la cantidad de filamento a extrusión. Mejor: Skeinforge 40 y siguientes interpretan esto como la longitud absuluta de filamento insertado, no como la longitud de la extrusión que sale.
    Nnnn Número de línea. Utilizado para pedir la repetición de la transmisión en caso de errores de comunicación.
    * nnn Suma de comprobación. Usado para verificar errores de comunicación.

    Comentarios

    Los comentarios en Gcode comienzan con punto y coma y terminan al final de la línea:

    N3 T0 * 57; Esto es un comentario
    N4 G92 E0 * 67
    ; Esto también lo es
    N5 G28 * 22
    

    Los comentarios y espacios en blanco serán ignorados por su impresora RepRap. Es mejor quitarlos en el ordenador portátil antes de enviar el Gcode a tu impresora, ya que así se ahorra ancho de banda.

    Comandos individuales

    Comprobación

    N y *

    Ejemplo: N123 [… Código G aquí …] * 71

    Estos son el número de línea y la suma de verificación. El firmware RepRap comprueba la suma de comprobación con un valor calculado localmente y, si difieren, solicita una transmisión repetida de la línea del número dado.

    Puede omitir ambos: RepRap seguirá funcionando, pero no hará la comprobación. Sin embargo, debes tener ambos o ninguno.

    La suma de comprobación “cs” para una cadena de GCode “cmd” (incluido su número de línea) se calcula exorbitando los bytes en la cadena hasta y sin incluir el carácter * de la siguiente manera:

    int cs = 0;
    para (i = 0; cmd [i]! = '*' && cmd [i]! = NULL; i ++)
       cs = cs ^ cmd [i];
    cs & = 0xff; // Programación defensiva ...
    

    y el valor se agrega como un entero decimal al comando después del carácter *.

    El firmware RepRap espera que los números de línea aumenten en 1 cada línea, y si eso no sucede, se marca como un error. Pero puede restablecer el recuento utilizando M110 (ver más abajo).

    Comandos G almacenados

    El firmware RepRap almacena estos comandos en un buffer de anillo internamente para su ejecución. Esto significa que no hay retraso (apreciable) mientras se reconoce un comando y se transmite el siguiente. A su vez, esto significa que las secuencias de segmentos de línea se pueden trazar sin pausa entre uno y el siguiente. Tan pronto como se recibe uno de estos comandos almacenados, se reconoce y almacena localmente. Si el búfer local está lleno, el reconocimiento se retrasa hasta que haya espacio para el almacenamiento en el búfer disponible. Así es como se logra el control de flujo.

    G0 y G1: mover

    Uso
    G0 Xnnn Ynnn Znnn Ennn Fnnn Snnn
    G1 Xnnn Ynnn Znnn Ennn Fnnn Snnn
    Variables
    No todas las variables deben usarse, pero al menos una debe usarse
    Xnnn La posición para moverse en el eje X
    Ynnn La posición para moverse en el eje Y
    Znnn La posición para moverse en el eje Z
    Ennn La cantidad a extruir entre el punto inicial y el punto final
    Fnnn La velocidad de avance por minuto del movimiento entre el punto inicial y el punto final (si se proporciona)
    Snnn Flag para verificar si se tocó un tope S1 para verificar, S0 para ignorar, S2 ver nota, el valor predeterminado es S0 ) 1
    Ejemplos
    G0 X12 (mover a 12 mm en el eje X)
    G0 F1500 (Ajuste la velocidad de avance a 1500 mm / minuto)
    G1 X90.6 Y13.8 E22.4 (Mover a 90.6 mm en el eje X y 13.8 mm en el eje Y mientras extruye 22.4 mm de material)

    La especificación de firmware RepRap trata a G0 y G1 como el mismo comando, ya que es tan eficiente como no hacerlo. 2

    La mayoría de los firmwares RepRap hacen cosas sutiles con los avances.

    1. G1 F1500
    2. G1 X50 Y25.3 E22.4
    

    En el ejemplo anterior, establecemos el avance a 1500 mm / minuto en la línea 1, luego nos movemos a 50 mm en el eje X y a 25,3 mm en el eje Y mientras extruimos 22,4 mm de filamento entre los dos puntos.

    1. G1 F1500
    2. G1 X50 Y25.3 E22.4 F3000
    

    Sin embargo, en el ejemplo anterior, establecemos una velocidad de avance de 1500 mm / minuto en la línea 1, luego hacemos el movimiento descrito anteriormente acelerando a una velocidad de avance de 3000 mm / minuto mientras lo hace. La extrusión se acelerará junto con el movimiento X e Y, por lo que todo permanecerá sincronizado.

    La especificación RepRap trata el avance como simplemente otra variable (como X, Y, Z y E) para ser interpolada linealmente. Esto proporciona un control completo sobre la aceleración y desaceleración del cabezal de la impresora de tal manera que se garantiza que todo se mueva suavemente y que se extruya el volumen correcto de material en todos los puntos. 3

    Para invertir la extrusora en una cantidad dada (por ejemplo, para reducir su presión interna mientras realiza un movimiento en el aire para que no gotee) simplemente use G0 o G1 para enviar un valor E que sea menor que la longitud extruida actualmente .

    Notas
    •  Algunos firmwares permiten que RepRap active o desactive la “detección” de paradas finales durante un movimiento. Verifique con el firmware que esté utilizando para ver si son compatibles con la variable S de esta manera, ya que puede dañarse si asume incorrectamente. En el firmware Duet-dc42, el uso del parámetro S1 o S2 en una impresora delta hace que los parámetros XYZ se refieran a las posiciones individuales del motor de la torre en lugar de la posición del cabezal, y también permitan la detección de tope final si el parámetro es S1.
    •  En la especificación RS274NGC, G0 es Movimiento rápido , que se utilizó para moverse entre el punto actual en el espacio y el nuevo punto de la manera más rápida y eficiente posible, y G1 es Movimiento controlado , que se utilizó para moverse entre el punto actual en el espacio y el nuevo punto lo más preciso posible
    • Es posible algunos firmwares no admitan establecer el avance en línea con un movimiento.
    • La bifurcación  zpl del firmware Duet implementa un parámetro adicional ‘R1’ para indicarle a la máquina que regrese a las coordenadas en las que originalmente se detuvo la impresión.

    Algunas máquinas antiguas, CNC o de otro tipo, solían moverse más rápido si no se movían en línea recta. Esto también es cierto para algunas impresoras no cartesianas, como las impresoras delta o polares, que se mueven más fácil y más rápido en una curva.

    G2 y G3: movimiento de arco controlado

    Uso
    G2 Xnnn Ynnn Innn Jnnn Ennn (Arco horario)
    G3 Xnnn Ynnn Innn Jnnn Ennn (Arco en sentido antihorario )
    Variables
    Xnnn La posición para moverse en el eje X
    Ynnn La posición para moverse en el eje Y
    Innn El punto en el espacio X desde la posición X actual para mantener una distancia constante de
    Jnnn El punto en el espacio Y desde la posición Y actual para mantener una distancia constante de
    Ennn La cantidad a extruir entre el punto inicial y el punto final
    Ejemplos
    G2 X90.6 Y13.8 I5 J10 E22.4 (Mover en un arco en sentido horario desde el punto actual a punto (X = 90.6, Y = 13.8), con un punto central en (X = current_X + 5, Y = current_Y + 10), extruyendo 22,4 mm de material entre el inicio y la detención)
    G3 X90.6 Y13.8 I5 J10 E22.4 (Moverse en un arco en sentido antihorario desde el punto actual a punto (X = 90.6, Y = 13.8), con un punto central en (X = current_X + 5, Y = current_Y + 10), extruyendo 22,4 mm de material entre el inicio y la detención)
    Notas

    1 El firmware Marlin puede alternar el soporte para estos Gcodes. Para habilitar el soporte, asegúrese de definir SCARA en el momento de la compilación, de lo contrario, se ignorarán los Gcodes.

    G28: Mover al origen (Inicio)

    Uso
    G28
    Variables
    Este Gcode se puede usar sin ninguna variable adicional suministrada
    X Flag para volver al origen del eje X
    Indicador Y para volver al origen del eje Y
    Z Flag para volver al origen del eje Z
    Ejemplos
    G28 (Ir al origen en todos los ejes)
    G28 XZ (Ir al origen solo en los ejes X y Z)

    Cuando el firmware RepRap recibe este comando, mueve todos los ejes (o los suministrados) de regreso a los topes extremos cero tan rápido como puede, luego retrocede un milímetro y lentamente retrocede a los puntos de activación del tope final cero para aumentar la precisión de la posición. Este proceso también se conoce como ” Homing “.

    Si agrega coordenadas, estas coordenadas se ignoran. Por ejemplo, G28 Z0.00da como resultado el mismo comportamiento que G28 Z.

    Cuando se utiliza el firmware Duet-dc42 para controlar una impresora delta, cualquier comando G28 alojará las tres torres, independientemente de las letras XYZ.

    G29: Sonda Z detallada

    Sondea la cama en 3 o más puntos.

    G30: Sonda Single Z

    En su forma más simple, las sondas se acuestan en la ubicación XY actual.

    Algunas implementaciones permiten un comportamiento más general: si se especifica un campo Pn, los valores sondeados X, Y y Z se guardan como punto n en la cama para calcular el plano de desplazamiento. Generalmente n es 0, 1 o 2. Si se especifican valores X, Y, o Z (por ejemplo, G30 P1 X20 Y50 Z0.3), esos valores se utilizan en lugar de las coordenadas actuales de la máquina. Un valor Z tonto (menor que -9999.0) hace que la máquina pruebe en el punto actual para obtener Z, en lugar de usar el valor dado. Si se especifica un campo S (por ejemplo, G30 P1 Z0.3 S), el plano del lecho se calcula para compensación y se almacena. La combinación de estas opciones permite que la máquina se mueva a puntos usando comandos G1, y luego sondee la cama, o que el usuario coloque la boquilla de manera interactiva y use esas coordenadas.El usuario también puede registrar esos valores y colocarlos en un archivo GCode de configuración para su ejecución automática.

    La variante dc42 de RepRapFirmware utiliza el valor del parámetro S para especificar qué cálculo realizar. Si el valor es cero o no hay ningún valor después de la letra S, el plano de la cama se calcula y almacena como de costumbre. En una impresora delta, si el parámetro es 4, se realiza la autocalibración para determinar el radio delta, las correcciones de tope final y la altura de referencia. El número de coordenadas sondeadas debe ser 4, de las cuales las tres primeras deben estar frente a las torres X, Y y Z, respectivamente, y la cuarta debe estar en el centro de la cama.

    G31: Informar el estado actual de la sonda

    Cuando se usa por sí solo, esto informa si la sonda Z se activa o da el valor de la sonda Z en algunas unidades si la sonda genera valores de altura. Si se combina con un campo Z y P (ejemplo: G31 P312 Z0.7), esto establecerá la altura Z en 0.7 mm cuando el valor de la sonda Z alcance 312 cuando se envíe un comando G28 Z0 (cero eje Z). Luego, la máquina se moverá otros -0.7 mm en Z para colocarse en Z = 0. Esto permite que las sondas de medición sin contacto se acerquen pero no toquen la cama, y ​​que se permita el espacio restante. Si la sonda es una sonda táctil y genera una señal simple de 0/1 apagado / encendido, entonces G31 Z0.7 le dirá a la máquina RepRap que está a una altura de 0.7 mm cuando se activa la sonda.

    En el firmware Duet-dc42, se pueden definir parámetros G31 separados para los tipos de sonda 0, 1/2 y 3 (los tipos de sonda 1 y 2 comparten el mismo conjunto de parámetros). Para especificar para qué sonda está configurando los parámetros, envíe un comando M558 para seleccionar el tipo de sonda antes de enviar el comando G31.

    El firmware Duet-dc42 admite parámetros adicionales S (temperatura del lecho en ° C a la cual el parámetro Z especificado es correcto, el valor predeterminado es la temperatura actual del lecho) y C (coeficiente de temperatura del parámetro Z en mm / ° C, cero predeterminado). Esto es útil para sondas ultrasónicas y otras que se ven afectadas por la temperatura.

    Las versiones de firmware Duet-dc42 1.00b en adelante también permiten especificar los desplazamientos X e Y de la sonda Z en relación con el cabezal de impresión (es decir, la posición cuando se selecciona la herramienta vacía), agregando los parámetros X e Y. Esto le permite calcule las coordenadas de su sonda M557 en función de la geometría de la cama, sin tener que corregirlas para el desplazamiento de la sonda Z X e Y. También proporciona una compensación de cama más precisa.

    G32: sondee Z y calcule el plano Z

    Sondea el lecho en 3 o más puntos predefinidos (ver M557) y actualiza la matriz de transformación para la compensación de nivelación del lecho. Las versiones posteriores de RepRapFirmware ejecutan el archivo de macro bed.g si está presente en lugar de usar las coordenadas M557.

    Comandos G sin búfer

    Los siguientes comandos no están almacenados. Cuando se recibe uno, se almacena, pero no se reconoce al host hasta que se agota el búfer y luego se ejecuta el comando. Por lo tanto, el host hará una pausa en uno de estos comandos hasta que se haya completado. Las pausas breves entre estos comandos y cualquiera que pueda seguirlos no afectan el rendimiento de la máquina.

     

    G4: morar

    Ejemplo: G4 P200

    En este caso, siéntate sin hacer nada durante 200 milisegundos. Durante los retrasos, el estado de la máquina (por ejemplo, las temperaturas de sus extrusoras) aún se conservará y controlará.

    En Marlin y Smoothie, el parámetro “S” esperará unos segundos, mientras que el parámetro “P” esperará milisegundos. “G4 S2” y “G4 P2000” son equivalentes.

    G10: Desplazamiento de herramienta


    Ejemplo: G10 P3 X17.8 Y-19.3 Z0.0 R140 S205

    Esto establece el desplazamiento de la herramienta (o en implementaciones anteriores de extrusión de cabeza) 3 (desde el P3) a los valores X e Y especificados. También puede poner un valor Z distinto de cero, pero esto generalmente es una mala idea a menos que las herramientas sean cargadas y descargadas por algún tipo de cambiador de herramientas. Cuando todas las herramientas están en la máquina a la vez, todas deben configurarse a la misma altura Z.

    Recuerde que cualquier parámetro que no especifique se establecerá automáticamente en el último valor para ese parámetro. Eso generalmente significa que desea establecer explícitamente Z0.0.

    El valor R es la temperatura de espera en o C que se utilizará para la herramienta, y el valor S es su temperatura de funcionamiento. Si no desea que la herramienta tenga una temperatura diferente cuando no esté en uso, configure ambos valores de la misma manera. Vea el código T (herramienta de selección) a continuación. En herramientas con múltiples calentadores, las temperaturas para todos ellos se especifican así: R100.0: 90.0: 20.0 S185.0: 200.0: 150.0.

    El estándar NIST G-code menciona un parámetro L adicional, que se ignora.

    Este comando está sujeto a discusión .

    Tenga en cuenta que Marlin y Smoothie usan G10 / G11 para ejecutar un movimiento de retracción / no retracción. La versión RepRapPro de Marlin admite G10 para el desplazamiento de la herramienta.

    G20: Establecer unidades en pulgadas

    Ejemplo: G20

    Las unidades de ahora en adelante están en pulgadas.

    G21: establecer unidades en milímetros

    Ejemplo: G21

    Las unidades de ahora en adelante están en milímetros. (Este es el valor predeterminado de RepRap).

    G90: Establecer en posicionamiento absoluto

    Ejemplo: G90

    Todas las coordenadas a partir de ahora son absolutas en relación con el origen de la máquina. (Este es el valor predeterminado de RepRap).

    G91: Establecer en posicionamiento relativo

    Ejemplo: G91

    Todas las coordenadas a partir de ahora son relativas a la última posición.

    G92: Establecer posición

    Ejemplo: G92 X10 E90

    Permite la programación del punto cero absoluto, restableciendo la posición actual a los valores especificados. Esto establecería la coordenada X de la máquina en 10 y la coordenada de extrusión en 90. No se producirá movimiento físico.

    Un G92 sin coordenadas restablecerá todos los ejes a cero.

    Comandos M y T sin búfer

    M0: parada

    Ejemplo: M0

    La máquina RepRap finaliza los movimientos que quedan en su búfer, luego se apaga. Todos los motores y calentadores están apagados. Se puede volver a iniciar presionando el botón de reinicio en el microcontrolador maestro. Ver también M1, M112.

    M1: sueño

    Ejemplo: M1

    La máquina RepRap finaliza los movimientos que quedan en su búfer, luego se apaga. Todos los motores y calentadores están apagados. Todavía se pueden enviar códigos G y M, el primero de los cuales lo despertará nuevamente. Ver también M0, M112.

    M3: Husillo encendido, en sentido horario (CNC específico)

    Ejemplo: M3 S4000

    El husillo se enciende con una velocidad de 4000 RPM.

    M4: Husillo encendido, en sentido antihorario (CNC específico)

    Ejemplo: M4 S4000

    El husillo se enciende con una velocidad de 4000 RPM.

    M5: Husillo apagado (CNC específico)

    Ejemplo: M5

    El husillo está apagado.

    M7: Refrigerante de niebla activado (CNC específico)

    Ejemplo: M7

    El refrigerante de niebla está encendido (si está disponible)

    M8: Refrigerante de inundación activado (específico de CNC)

    Ejemplo: M8

    El refrigerante de inundación está encendido (si está disponible)

    M9: Refrigerante apagado (específico del CNC)

    Ejemplo: M9

    Todos los sistemas de refrigerante están apagados.

    M10: Vacío activado (específico de CNC)

    Ejemplo: M10

    Sistema de aspiración de recolección de polvo encendido.

    M11: Vacío desactivado (CNC específico)

    Ejemplo: M11

    Sistema de aspiración de recolección de polvo apagado.

    M17: activar / alimentar todos los motores paso a paso

    Ejemplo: M17

    M18: deshabilitar todos los motores paso a paso

    Ejemplo: M18

    Inhabilita los motores paso a paso y permite que el eje se mueva ‘libremente’.

    M20: Lista de tarjeta SD

    Ejemplo: M20

    Todos los archivos en la carpeta raíz de la tarjeta SD se enumeran en el puerto serie. Esto da como resultado una línea como:

    ok Archivos: {SQUARE.G, SQCOM.G,}

    La coma final es opcional. Tenga en cuenta que los nombres de los archivos se devuelven en mayúsculas, pero cuando se envían al comando M23 (a continuación) deben estar en minúsculas. Esto parece ser una función del software SD. Imagínate…

    El firmware Duet-dc42 devuelve los nombres de archivo (largos) en el caso correcto. Si el parámetro S2 está presente, la lista de archivos se devuelve en formato JSON, como una matriz única llamada “archivos”. El parámetro opcional P especifica el directorio a listar, por defecto en el directorio / gcodes.

    M21: inicializar tarjeta SD

    Ejemplo: M21

    La tarjeta SD se inicializa. Si se carga una tarjeta SD cuando la máquina está encendida, esto sucederá de manera predeterminada. La tarjeta SD debe inicializarse para que funcionen las otras funciones SD.

    M22: liberar tarjeta SD

    Ejemplo: M22

    La tarjeta SD se libera y se puede extraer físicamente.

    M23: seleccione el archivo SD

    Ejemplo: M23 filename.gco

    El archivo especificado como filename.gco (se admite la convención de nomenclatura 8.3) está listo para imprimir.

    El firmware Duet-dc42 admite nombres de archivo largos y formato 8.3.

    M24: Iniciar / reanudar impresión SD

    Ejemplo: M24

    La máquina imprime desde el archivo seleccionado con el comando M23.

    M25: Pausa impresión SD

    Ejemplo: M25

    La máquina detiene la impresión en la posición actual dentro del archivo seleccionado con el comando M23.

    M26: establecer la posición SD

    Ejemplo: M26

    Establecer la posición SD en bytes (M26 S12345).

    M27: informe del estado de impresión SD

    Ejemplo: M27

    Informe el estado de impresión SD.

    M28: Comience a escribir en la tarjeta SD

    Ejemplo: M28 filename.gco

    El archivo especificado por filename.gco se crea (o se sobrescribe si existe) en la tarjeta SD y todos los comandos posteriores enviados a la máquina se escriben en ese archivo.

    M29: deja de escribir en la tarjeta SD

    Ejemplo: M29 filename.gco

    El archivo abierto por el comando M28 se cierra y todos los comandos posteriores enviados a la máquina se ejecutan normalmente.

    M30: eliminar un archivo en la tarjeta SD

    Ejemplo: M30 filename.gco

    filename.gco se elimina.

    M31: tiempo de salida desde el último inicio de M109 o tarjeta SD a serie

    Ejemplo: M31

    La respuesta se ve así:

     eco: 54 min, 38 seg
    

    M32: seleccione el archivo e inicie la impresión SD

    (Se puede usar al imprimir desde la tarjeta SD)

    Ejemplo: M32 filename.gco

    tba disponible en marlin (14/6/2014)

    M33

    Usado por algunas variantes del firmware Marlin. Propósito desconocido.

    M34

    Usado por algunas variantes del firmware Marlin. Propósito desconocido.

    M36: devolver información del archivo

    Ejemplo: M36 filename.gco

    Devuelve información para el archivo de tarjeta SD especificado en formato JSON. Una respuesta de muestra es:

    {“err”: 0, “size”: 457574, “height”: 4.00, “layerHeight”: 0.25, “filament”: [6556.3], “generateBy”: “Slic3r 1.1.7 el 09/11/2014 a las 17 : 11: 32 “}

    El campo “err” es cero si tiene éxito, distinto de cero si no se encontró el archivo o se produjo un error al procesarlo. El campo “tamaño” siempre debe estar presente si la operación fue exitosa. La presencia o ausencia de otros campos depende de si se pueden encontrar los valores correspondientes leyendo el archivo. El campo “filamento” es una matriz de las longitudes de filamento requeridas de cada carrete. El tamaño está en bytes, todos los demás valores están en mm. Los campos pueden aparecer en cualquier orden y pueden estar presentes campos adicionales.

    M37: Modo Simulación

     

    Usado para cambiar entre el modo de impresión y el modo de simulación. El modo de simulación permite la electrónica calcular un tiempo de impresión preciso, teniendo en cuenta las velocidades máximas, aceleraciones, etc., que están configuradas.

    M37 S1 entra en modo de simulación. Ningún código G o M funcionara, pero el tiempo que llevarían a ser ejecutados si serán tomados en cuenta para el cálculo final.

    M37 S0 Venta de modo simulación.

    M37 sin el parámetro S devuelve el tiempo que ha llevado a calcular la simulación, desde que se introdujo el comando M37 S1, hasta el momento actual (si el modo de simulación aún permanece en ejecución) o el punto en el cual la simulación ya acabó (Si el modo simulación ya no está activo).

    M40: expulsar

    Si su máquina RepRap puede expulsar las partes que ha construido fuera de la cama, este comando ejecuta el ciclo de expulsión. Esto generalmente implica enfriar la cama y luego realizar una secuencia de movimientos que eliminan las partes impresas. Las posiciones X, Y y Z de la máquina al final de este ciclo no están definidas (aunque se pueden encontrar utilizando el comando M114, qv).

    Ver también M240 y M241 a continuación.

    M41: lazo

    Ejemplo: M41

    Si la máquina RepRap estaba creando un archivo desde su propia memoria, como una tarjeta SD local (a diferencia de un archivo que se le transmitía desde una computadora host), esto vuelve al principio del archivo y lo ejecuta nuevamente. Entonces, por ejemplo, si su RepRap es capaz de expulsar partes de su plataforma de construcción, puede configurarlo para que se imprima en un bucle y se ejecutará y se ejecutará. Úselo con precaución: las únicas cosas que lo detendrán son:

    1. Cuando presionas el botón de reinicio,
    2. Cuando se agota el material de construcción (si su RepRap está configurado para detectar esto), y
    3. Cuando hay un error (como una falla del calentador).

    M42: Detener en material agotado / Cambiar pin de E / S

    M42 en ???

    Ejemplo: M42

    Si su RepRap puede detectar cuándo se agota su material, esto decide el comportamiento cuando eso sucede. Los ejes X e Y se ponen a cero (pero no Z), y luego la máquina apaga todos los motores y calentadores. Debe presionar Restablecer para reactivar la máquina. En otras palabras, se estaciona y luego ejecuta un comando M0 (qv).

    M42 en Marlin / Sprinter

    Ejemplo: M42 P7 S255

    M42 conmuta un pin de E / S de uso general. Use M42 Px Sy para establecer el pin x en el valor y, al omitir Px se usará el LEDPIN.

    M42 en teaCup

    Innecesario. Los dispositivos de uso general se manejan como un calentador, ver M104 .

    M43: espera sobre material agotado

    Ejemplo: M43

    Si su RepRap puede detectar cuándo se agota su material, esto decide el comportamiento cuando eso sucede. Los ejes X e Y se ponen a cero (pero no Z), y luego la máquina apaga todos los motores y calentadores, excepto el lecho calentado, cuya temperatura se mantiene. La máquina seguirá respondiendo a los comandos de código G y M en este estado.

    M80: ATX encendido

    Ejemplo: M80

    Enciende la fuente de alimentación ATX del modo de espera al modo completamente operativo. Sin operación en electrónica sin modo de espera.

    Nota : algunos firmwares, como Teacup , manejan el encendido / apagado automáticamente, por lo que esto es redundante allí. Consulte también el cableado de RAMPAS para activar / desactivar ATX

    M81: apagado ATX

    Ejemplo: M81

    Apaga la fuente de alimentación ATX. Contraparte de M80.

    M82: establecer extrusora en modo absoluto

    Ejemplo: M82

    hace que el extrusor interprete la extrusión como posiciones absolutas.

    Este es el valor predeterminado en repetidor.

    M83: Establecer extrusora en modo relativo

    Ejemplo: M83

    hace que el extrusor interprete los valores de extrusión como posiciones relativas.

    M84: detener espera inactiva

    Ejemplo: M84

    Detenga la espera de ralentí en todos los ejes y extrusoras. En algunos casos, la espera inactiva provoca ruidos molestos, que se pueden detener desactivando la espera. Tenga en cuenta que al deshabilitar la espera inactiva durante la impresión, obtendrá problemas de calidad. Esto se recomienda solo entre o después de printjobs.

    En Marlin, M84 también se puede usar para configurar o deshabilitar el tiempo de espera inactivo. Por ejemplo, “M84 S10” dejará inactivos los motores paso a paso después de 10 segundos de inactividad. “M84 S0” deshabilitará el tiempo de espera inactivo; los steppers permanecerán encendidos independientemente de la actividad.

    M92: Establecer axis_steps_per_unit

    Ejemplo: M92 X <newsteps> Sprinter y Marlin

    Permite la programación de pasos por unidad de eje hasta que los componentes electrónicos se restablecen para el eje especificado. Muy útil para la calibración.

    M98: Macro / Subprograma de llamadas

    Ejemplo: M98 Pmymacro.g

    Ejecuta la macro en el archivo mymacro.g. En los Códigos G convencionales para máquinas CNC, el parámetro P normalmente se refiere a un número de línea en el propio programa (P2000 ejecutaría la Macro comenzando en la línea O2000, por ejemplo). Para RepRap, que casi siempre tiene algún tipo de dispositivo de almacenamiento masivo incorporado, simplemente se refiere al nombre de un archivo GCode que se ejecuta mediante la llamada G98. Ese archivo GCode no necesita terminar con un M99 (retorno) ya que el final del archivo automáticamente produce un retorno. Por lo general, es una buena idea comenzar una macro con una instrucción M120 (Push) y finalizarla con una instrucción M121 (Pop), las llamadas macro qv generalmente no pueden anidarse o ser recursivas; es decir, no puede llamar a una macro desde una macro (aunque algunas implementaciones pueden permitir esto).

    M99: Regresar de Macro / Subprograma

    Ejemplo: M99

    Vuelve de una llamada M98.

    M98: Obtener axis_hysteresis_mm

    En desuso: enfrentamientos con el código G estándar M98 anterior

    Ejemplo: M98

    Informe los valores de histéresis actuales en mm para todos los ejes.

    Propuesto para Marlin

    M99: Establecer axis_hysteresis_mm

    En desuso: enfrentamientos con el código G estándar M99 anterior

    Ejemplo: M99 X <mm> Y <mm> Z <mm> E <mm>

    Permite la programación de la histéresis del eje. Poleas mecánicas, engranajes y roscas pueden tener histéresis cuando cambian de dirección. Es decir, una cierta cantidad de pasos ocurren antes de que ocurra el movimiento. Puede medir cuántos mm se pierden por histéresis y establecer sus valores con este comando. Cada vez que un eje cambia de dirección, se agregarán estos mm adicionales para compensar la histéresis.

    Propuesto para Marlin

    M101: Encienda el extrusor 1 (Adelante), Deshacer retracción

    M101 en el firmware 

    Si hay un extrusor de CC, enciéndalo. De lo contrario, deshaga la retracción del filamento, lo que significa que la extrusora está lista para la extrusión. Complemento a M103.

    M101 en otros firmwares

    Obsoleto. Con respecto a la retracción del filamento, ver M227, M228, M229.

    M102: Encienda el extrusor 1 (reversa)

    Obsoleto.

    M103: apague todos los extrusores, retracción del extrusor

    M103 en el firmware 

    Si hay un extrusor de CC, apáguelo. De lo contrario, retraiga el filamento con la esperanza de evitar el babeo de la boquilla. Complemento a M101.

    M103 en otros firmwares

    Obsoleto. Con respecto a la retracción del extrusor, ver M227, M228, M229.

    M104: Establecer la temperatura del extrusor

    Ejemplo: M104 S190

    Ajuste la temperatura del extrusor actual a 190 o C y regrese el control al host inmediatamente ( es decir, antes de que el extrusor haya alcanzado esa temperatura). El firmware Duet-dc42 también admite el parámetro T opcional (generado por slic3r) para especificar a qué herramienta se aplica el comando. Ver también M109.

    Esto está en desuso porque las temperaturas deben establecerse utilizando los comandos G10 y T (qv).

     

    M104 en el firmware de la taza de té

    En el firmware de la taza de té, M104 se puede usar adicionalmente para manejar todos los dispositivos que usan un sensor de temperatura. Admite el parámetro P adicional, que es un índice basado en cero en la lista de sensores en config.h. Para dispositivos sin sensor de temperatura, consulte M106 .

    Ejemplo: M104 P1 S100

    Ajuste la temperatura del dispositivo conectado al segundo sensor de temperatura a 100 ° C.

    M105: Obtenga la temperatura del extrusor

    Ejemplo: M105

    Solicite la temperatura del extrusor actual y la base de construcción en grados Celsius. Las temperaturas se devuelven a la computadora host. Por ejemplo, la línea enviada al host en respuesta a este comando se ve así:

    ok T: 201 B: 117
    

    La expansión / generalización de M105 se considerará utilizando el parámetro S1 como se indica en Pronterface I / O Monitor

    En Repetier también puede agregar X0 para obtener valores sin procesar:

    M105 X0
    ==> 11: 05: 48.910: T: 23.61 / 0 @: 0 T0: 23.61 / 0 @ 0: 0 RAW0: 3922 T1: 23.89 / 0 @ 1: 0 RAW1: 3920
    
    Extensión Duet-dc42

    El firmware Duet-dc42 devuelve una respuesta con formato JSON si se incluye el parámetro S2 o S3. Esto es utilizado por el panel de control de pantalla táctil. La respuesta comprende un único objeto JSON, sin anidamiento de objetos o matrices. Es similar al objeto devuelto por la solicitud de estado de la interfaz web, pero se omiten algunos campos. Aquí hay una respuesta de muestra cuando se usa S2:

    {"estado": "I", "calentadores": [25.0,29.0,28.3], "activo": [- 273.1,0.0,0.0], "en espera": [- 273.1,0.0,0.0], "hstat" : [0,2,1], "pos": [- 11.00,0.00,0.00], "extr": [0.0,0.0], "sfactor": 100.00,
     "efactor": [100.00,100.00], "herramienta": 1, "sonda": "535", "fanRPM": 0, "referenciado": [0,0,0], "fracción_impresa": 0.572}
    

    El significado de estos campos es:

    estado: I = inactivo, P = imprimiendo desde la tarjeta SD, S = detenido (es decir, necesita un reinicio), C = ejecutando el archivo de configuración
    calentadores: temperaturas actuales del calentador, numeradas según la máquina (normalmente, el calentador 0 es la cama)
    activo: temperaturas activas de los calentadores
    en espera: temperaturas en espera de los calentadores
    hstat: estado de los calentadores, 0 = apagado, 1 = en espera, 2 = activo, 3 = falla
    pos: las posiciones X, Y y Z del cabezal de impresión
    extr: las posiciones de las extrusoras
    sfactor: el factor de velocidad actual (ver comando M220)
    efactor: los factores de extrusión actuales (ver comando M221)
    herramienta: el número de herramienta seleccionado. Cero generalmente significa que no se seleccionó ninguna herramienta.
    sonda: la lectura de la sonda Z
    fanRPM: el ventilador de enfriamiento RPM
    Homed: el estado de los ejes X, Y y Z (o torres en un delta). 0 = el eje no ha sido dirigido por lo que la posición no es confiable, 1 = el eje ha sido dirigido por lo que la posición es confiable.
    fracción_impresa: la fracción del archivo que se está imprimiendo actualmente que se ha leído y procesado al menos parcialmente.
    

    La respuesta cuando se usa S3 comprende estos campos más algunos adicionales que generalmente no cambian (por ejemplo, el nombre de la máquina y las longitudes de los ejes) y, por lo tanto, no es necesario buscarlos con tanta frecuencia. En particular, el nombre de la máquina se devuelve en la variable “myName”.

    Los campos pueden estar en cualquier orden en la respuesta. Otras implementaciones pueden omitir campos y / o agregar campos adicionales.

    M106: ventilador encendido

    Ejemplo: M106 S127

    Encienda el ventilador de enfriamiento a media velocidad.

    El parámetro obligatorio ‘S’ declara el valor PWM (0-255). M106 S0 apaga el ventilador. En algunas implementaciones, pwm se especifica mediante una fracción real: M106 S0.7.

    M106 en firmware Duet

    El firmware Duet-dc42 también admite un parámetro I opcional. Si este parámetro está presente y es mayor que cero, la salida del ventilador de enfriamiento se invierte. Esto hace que la salida del ventilador de enfriamiento sea adecuada para alimentar la entrada PWM de un ventilador de 4 cables a través de un diodo. Si el parámetro está presente y es cero o negativo, la salida no se invierte. Si el parámetro no está presente, el estado invertido / no invertido permanece sin cambios. El valor predeterminado en el encendido no está invertido.

    Si se pasa el parámetro ‘R’ cuando se utiliza el firmware Duet-zpl (0,96 g +), se establecerá el último valor de ventilador conocido. Si se pasa el parámetro ‘S’ junto con ‘R’, el firmware no restablecerá el último valor conocido del ventilador. Esto puede ser útil para los archivos de macro de cambio de herramienta.

    M106 en firmware de TeaCup

    Además de lo anterior, el firmware de Teacup utiliza M106 para controlar dispositivos generales. Admite el parámetro P adicional, que es un índice basado en cero en la lista de calentadores / dispositivos en config.h.

    Ejemplo: M106 P2 S255

    Encienda el dispositivo # 3 a toda velocidad / potencia.

    Nota : Al encender un calentador equipado con sensor de temperatura con M106 y M104 al mismo tiempo, el control de temperatura anulará el valor dado en M106 rápidamente.

    M107: ventilador apagado

    Obsoleto. Utilice M106 S0 en su lugar.

    M108: Establecer la velocidad del extrusor

    Establece la velocidad del motor de la extrusora. (Desaprobado en el firmware actual, ver M113)

    M109: Establecer la temperatura del extrusor y esperar

    M109 en teaCup

    Innecesario. Para imitar el comportamiento de Marlin, use M104 seguido de M116 .

    M109 en Marlin, Sprinter (puerto ATmega), Duet

    Ajuste la temperatura del calentador del extrusor en grados centígrados y espere a que se alcance esta temperatura.

    Ejemplo: M109 S185

    El firmware Duet-dc42 también admite el parámetro T opcional (generado por slic3r) para especificar a qué herramienta se refiere el comando (ver más abajo).

    M109 en Sprinter (puerto 4pi)

    Parámetros: S (opcional), establece el valor de temperatura objetivo. Si no se especifica, espera la temperatura establecida por M104 . R (opcional), establece el valor máximo del rango de temperatura objetivo.

    Ejemplo: M109 S185 R240 // establece la temperatura del extrusor en 185 y espera que la temperatura esté entre 185 y 240.

    Si tiene varias extrusoras, use el parámetro T o P para especificar qué extrusora desea configurar / esperar.

    Otra forma de hacer esto es usar G10 .

    M110: Establecer número de línea actual

    Ejemplo: M110 N123

    Establezca el número de línea actual en 123. Por lo tanto, la siguiente línea esperada después de este comando será 124.

    M111: Establecer nivel de depuración

    Ejemplo: M111 S6

    Establezca el nivel de información de depuración transmitida al host en el nivel 6. El nivel es el OR de tres bits:

    #define DEBUG_ECHO (1 << 0)
    #define DEBUG_INFO (1 << 1)
    #define DEBUG_ERRORS (1 << 2)
    

    Por lo tanto, 6 significa enviar información y errores, pero no repetir los comandos. (Este es el valor predeterminado de RepRap).

    Para el firmware que admite Ethernet e interfaces web, M111 S9 activará la información de depuración web sin cambiar ninguna otra configuración de depuración, y M111 S8 la desactivará. La depuración web generalmente significa que las solicitudes HTTP se reflejarán en la interfaz USB, al igual que las respuestas.

    Ejemplo: M253

    M112: parada de emergencia

    Ejemplo: M112

    Cualquier movimiento en progreso se termina inmediatamente, luego RepRap se cierra. Todos los motores y calentadores están apagados. Se puede volver a iniciar presionando el botón de reinicio en el microcontrolador maestro. Ver también M0 y M1.

    M113: Establecer extrusor PWM

    Ejemplo: M113

    Configure el PWM para el extrusor seleccionado actualmente. Por sí solo, este comando configura RepRap para usar el potenciómetro incorporado en la placa del controlador del extrusor para configurar el PWM para la potencia de pasos del extrusor seleccionado actualmente. Con un campo S:

    M113 S0.7

    hace que el PWM se establezca en el valor S (70% en este caso). M113 S0 apaga el extrusor, hasta que se envía un comando M113 que no sea M113 S0.

    M114: Obtener posición actual

    Ejemplo: M114

    Esto hace que la máquina RepRap informe sus coordenadas X, Y, Z y E actuales al host.

    Por ejemplo, la máquina devuelve una cadena como:

    ok C: X: 0.00 Y: 0.00 Z: 0.00 E: 0.00

    En Marlin, los primeros 3 números son la posición del planificador. Las otras posiciones son las posiciones de la función paso a paso. Esto ayuda a depurar un error de función paso a paso anterior.

    X: 0.00 Y: 0.00 RZ: 0.00 LZ: 0.00 Cuenta X: 0.00 Y: 0.00 RZ: 41.02 LZ: 41.02

    M115: Obtenga la versión de firmware y las capacidades

    Ejemplo: M115

    Solicite la versión de firmware y las capacidades del microcontrolador actual Los detalles se devuelven a la computadora host como clave: pares de valores separados por espacios y terminados con un salto de línea.

    datos de muestra del firmware:

    ok PROTOCOL_VERSION: 0.1 FIRMWARE_NAME: FiveD FIRMWARE_URL: http% 3A // reprap.org MACHINE_TYPE: Mendel EXTRUDER_COUNT: 1
    

    Este código M115 se implementa de manera inconsistente y no se debe confiar en que exista o que se envíe correctamente en todos los casos. Una implementación inicial se comprometió a svn para el firmware FiveD Reprap el 11 de octubre de 2010. Actualmente se está discutiendo el trabajo para definir más formalmente las versiones de protocolo (octubre de 2010). 

    Ejemplo: M116

    Espere a que todas las temperaturas y otras variables que cambian lentamente lleguen a sus valores establecidos. Ver también M109.

    La versión de firmware Duet-dc42 0.78c y posterior admite un parámetro P opcional, que se utiliza para especificar un número de herramienta. Si este parámetro está presente, entonces el sistema solo espera que las temperaturas asociadas con esa herramienta lleguen a sus valores establecidos. Esto es útil durante los cambios de herramienta, para esperar a que la nueva herramienta se caliente sin necesariamente esperar que la anterior se enfríe por completo.

    M117: Obtener posición cero

    Ejemplo: M117

    Esto hace que la máquina RepRap informe las coordenadas X, Y, Z y E en pasos no mm al host que encontró cuando tocó por última vez el cero se detiene para esos ejes. Es decir, cuando pone a cero X, se registra la coordenada x de la máquina cuando llega al tope final de X. Este valor debería ser 0, por supuesto. Pero si la máquina se ha desviado (por ejemplo, bajando pasos), entonces no será así. Este comando le permite medir y diagnosticar tales problemas. (E se incluye para completar. Normalmente no tiene un tope final).

    M117 en Marlin, Smoothie y Duet-dc42: Mostrar mensaje

    Ejemplo: M117 Hola Mundo

    Esto hace que el mensaje dado se muestre en la línea de estado en una pantalla LCD adjunta. El comando anterior mostrará Hello World.

    M118: Negociar características

    Ejemplo: M118 P42

    Este código M es para pruebas futuras. NO firmware o hostware soporta esto en este momento. Se utiliza junto con la palabra clave FEATURES de M115.

     

    M119: Obtener estado de fin de carrera

    Ejemplo: M119

    Devuelve el estado actual de las paradas finales X, Y, Z configuradas. Tiene en cuenta cualquier configuración de ‘tope final invertido’, por lo que uno puede confirmar que la máquina está interpretando los topes finales correctamente.

    M120: empujar

    Empuje el estado de la máquina RepRap en una pila. Exactamente qué variables se empujan depende de la implementación (al igual que la profundidad de la pila, una profundidad típica podría ser 5). Sin embargo, un mínimo razonable podría ser

    1. Avance actual, y
    2. Si los movimientos (y la extrusión por separado) son relativos o absolutos

    M121: Pop

    Recupere el último estado empujado a la pila.

    M122: diagnosticar

    El envío de un M122 hace que RepRap transmita información de diagnóstico, por ejemplo, a través de un enlace serie USB.

    M123: valor del tacómetro

    El envío de un M123 hace que RepRap transmita valores de tacómetro de filamento de todas las extrusoras.

    M124: parada inmediata del motor

    Inmediatamente detiene todos los motores.

    M126: válvula abierta

    Ejemplo: M126 P500

    Abra la válvula del extrusor (si tiene una) y espere 500 milisegundos para que lo haga.

    M127: Válvula de cierre

    Ejemplo: M127 P400

    Cierre la válvula del extrusor (si tiene una) y espere 400 milisegundos para que lo haga.

    M128: Extrusora Presión PWM

    Ejemplo: M128 S255

    Valor PWM para controlar la presión interna del extrusor. S255 es presión total.

    M129: presión del extrusor desactivada

    Ejemplo: M129 P100

    Además de establecer la presión del extrusor en 0, puede desactivar la presión por completo. P400 esperará 100 ms para hacerlo.

    M130: establecer el valor PID P

    Ejemplo: M130 P 0 S 8.0 # Establece el factor 0 P del calentador en 8.0

    Teacup puede controlar varios calentadores con controles PID independientes. Para el valor predeterminado que se muestra en https://github.com/Traumflug/Teacup_Firmware/blob/master/config.default.h , el calentador 0 es el extrusor (P0) y el calentador 1 es la cama (P1).

    Las unidades proporcionales PID de la taza de té están en pwm / 255 cuentas por trimestre C, por lo que para convertir de cuentas / C, dividiría por 4. Por el contrario, para convertir de cuenta / qC a cuenta / C, multiplique por 4. En el ejemplo anterior, S = 8 representa un Kp = 8 * 4 = 32 cuentas / C.

    M131: establecer el valor PID I

    Ejemplo: M131 P 1 S 0.5 # Establece el factor 1 del calentador en 0.5

    Las unidades integrales PID de Teacup están en pwm / 255 cuentas por (cuarto C * cuarto de segundo), por lo que para convertir de cuentas / qCqs, dividirías por 16. Por el contrario, para convertir de cuentas / qCqs a cuentas / Cs, multiplica por 16. En el ejemplo anterior, S = 0.5 representa un Ki = 0.5 * 16 = 8 cuentas / Cs.

    M132: establecer el valor PID D

    Ejemplo: M132 P 0 S 24 # Establece el factor 0 D del calentador en 24.0

    Las unidades derivadas PID de Teacup están en pwm / 255 cuentas por (cuarto de grado por 2 segundos), por lo que para convertir de cuentas / C, dividirías por 4. Por el contrario, para convertir de cuenta / qC a cuenta / C, multiplica por 8. En el ejemplo anterior, S = 24 representa un Kd = 24 * 8 = 194 cuentas / (C / s).

    M133: Establecer valor límite de PID I

    Ejemplo: M133 P 1 S 264 # Establece el valor límite del calentador 1 I en 264

    Las unidades de límite integral PID de la taza de té están en cuartos-C * cuartos de segundos, por lo que para convertir de Cs, multiplicaría por 16. Por el contrario, para convertir de qC * qs a C * s, divida por 16. En el ejemplo anterior, S = 264 representa un límite integral de 16.5 C * s.

    M134: Escribir valores PID en EEPROM

    Ejemplo: M134

    M135: Establecer intervalo de muestra PID

    Ejemplo: M135 S300

    Configure el PID para medir temperaturas y calcule la potencia para enviar a los calentadores cada 300 ms.

    M136: Imprimir configuración PID al host

    Ejemplo: M136 P1 # calentador de impresión 0 parámetros PID para alojar

    M140: temperatura del lecho (rápido)

    Ejemplo: M140 S55

    Ajuste la temperatura del lecho de construcción a 55 o C y regrese el control al host inmediatamente ( es decir, antes de que el lecho haya alcanzado esa temperatura). Hay un campo R opcional que establece la temperatura de espera de la cama: M140 S65 R40.

    M141: Temperatura de la cámara (rápida)

    Ejemplo: M141 S30

    Ajuste la temperatura de la cámara a 30 o C y regrese el control al host inmediatamente ( es decir, antes de que la cámara haya alcanzado esa temperatura).

    M142: Presión de mantenimiento

    Ejemplo: M142 S1

    Ajuste la presión de mantenimiento de la cama a 1 bar.

    La presión de mantenimiento está en bar. Para hardware que solo tiene retención de encendido / apagado, cuando la presión de retención es cero, apague la retención, cuando la presión de retención sea mayor que cero, encienda la retención.

    M143: temperatura máxima de final caliente

    Ejemplo: M143 S275

    Ajuste la temperatura máxima del hot-end a 275C

    Cuando la temperatura del hot-end excede este valor, tome contramedidas, por ejemplo, una parada de emergencia. Esto es para evitar daños por calor.

    M144: espera junto a tu cama

    Ejemplo: M144

    Cambie la cama a su temperatura de espera. M140 lo devuelve a su temperatura activa; no es necesario ningún argumento para ese uso de M140.

    M160: número de materiales mezclados

    Ejemplo: M160 S4

    Este comando ha sido reemplazado por el comando de definición de herramienta M563 (ver más abajo).

    Establezca el número de materiales, N, que el extrusor actual puede manejar con el número especificado. El valor predeterminado es 1.

    Cuando N> = 2, entonces el campo E que controla la extrusión requiere N valores separados por dos puntos “:” después de esto así:

    M160 S4
    G1 X90.6 Y13.8 E2.24: 2.24: 2.24: 15.89
    G1 X70.6 E0: 0: 0: 42.4
    G1 E42.4: 0: 0: 0
    

    La segunda línea se mueve directamente al punto (90.6, 13.8) extruyendo un total de 22.4 mm de filamento. La relación de mezcla para el movimiento es 0.1: 0.1: 0.1: 0.7.

    La tercera línea retrocede 20 mm en X extruyendo 42,4 mm de filamento.

    La cuarta línea no tiene efecto físico.

    M190: Espere a que la temperatura de la cama alcance la temperatura objetivo

    Ejemplo: M190 S60

    Esto esperará hasta que la temperatura de la cama alcance los 60 grados, imprimiendo la temperatura del extremo caliente y la cama cada segundo.

    M200: Establecer el diámetro del filamento / Obtener estado final


    Sin parámetros, se carga la grilla predeterminada, y con la extensión especificada se intenta cargar la grilla especificada. Si no está disponible no modificará la cuadrícula actual. Si Z se guardó con el archivo de cuadrícula, cargará la Z guardada con la cuadrícula.

    M200 Dm.mmm establece el diámetro del filamento en m.mmm milímetros. Se utiliza con la ‘calibración volumétrica’ y el código G generado para un filamento ideal de 1.128 mm de diámetro, que tiene un volumen de 1 mm ^ 3 por milímetro. La intención es poder generar un código g independiente del filamento.

     

     

     

    M201: establecer la aceleración máxima de impresión

    Ejemplo: M201 X1000 Y1000 Z100 E2000

    Establece la aceleración que los ejes pueden hacer en unidades / segundo ^ 2 para los movimientos de impresión. Para mantener la coherencia con el resto del movimiento del Código G, esto debería estar en unidades / (minuto ^ 2), pero eso da números realmente tontos y uno puede perderse en todos los ceros. Entonces para esto usamos segundos.

    M202: establecer la aceleración máxima de desplazamiento

    en unidades / s ^ 2 para movimientos de desplazamiento (M202 X1000 Y1000) ¡¡Sin usar en Marlin !!

    M203: establecer la velocidad de avance máxima

    Ejemplo: M203 X6000 Y6000 Z300 E10000

    Establece los avances máximos que su máquina puede hacer en mm / min.

    M204: establecer la aceleración predeterminada

    S movimientos normales T el filamento solo se mueve (M204 S3000 T7000) im mm / seg ^ 2 también establece el tiempo mínimo del segmento en ms (B20000) para evitar la falta de amortiguación y la velocidad mínima de avance M20

    M205: configuración avanzada

    velocidad mínima de desplazamiento S = durante la impresión T = solo desplazamiento, B = tiempo mínimo de segmento X = máximo tirón xy, Z = máximo tirón Z, E = máximo tirón E

    M206:

    M206 Marlin – Establecer desplazamiento de inicio

    Ejemplo: M206 X10.0 Y10.0 Z-0.4

    Los valores especificados se agregan a la posición final cuando se hace referencia a los ejes. Lo mismo se puede lograr con un G92 justo después del recorrido de referencia (G28, G161).

    Con el firmware Marlin, este valor se puede guardar en EEPROM con el comando M500.

    Un comando similar es G10, la alineación de estos dos está sujeta a discusión .

    Con Marlin 1.0.0 RC2, un valor negativo para z eleva (!) Su cabezal de impresión.

    Repetidor M206 – Establecer el valor de eeprom

    M206 T [tipo] P [pos] [Sint (largo) [Xfloat] Establecer el valor de eeprom

    Ejemplo: M206 T3 P39 X19.9

    Establece Jerk en 19.9

    M207: calibre el eje z detectando la longitud máxima z

    Ejemplo: M207

    Después de colocar la punta de la boquilla en la posición que espera que se considere Z = 0, emita este comando para calibrar el eje Z. Realizará una rutina de referencia del eje az y calculará la distancia recorrida en este proceso. El resultado se almacena en EEPROM como z_max_length. Para utilizar este método de calibración, la máquina debe estar utilizando un tope Z MAX.

    Este procedimiento suele ser más confiable que los ajustes mecánicos de un tope Z MIN.

    NOTA: Marlin y Smoothie definen M207 como “establecer la longitud de retracción S [mm positivo] F [avance mm / min] Z [elevación / salto adicional], permanece en mm independientemente de la configuración de M200”

    M208: Establecer el recorrido máximo del eje

    Ejemplo: M208 X250 Y210 Z180

    Los valores especificados establecen los límites del software para el desplazamiento del eje en la dirección positiva.

     

    Con el firmware Duet-dc42, en una impresora cartesiana también puede usar este comando para especificar límites de software para el desplazamiento del eje en la dirección negativa, agregando el parámetro S1. Los límites de eje que establece también son las posiciones asumidas cuando se activa un tope final.

    NOTA: Marlin / Smoothie define M208 como “recuperación de conjunto = longitud de retracción S [mm positivo excedente al M207 S *] F [avance mm / seg]”

    M209: habilitar retracción automática

    Ejemplo: M209 S1

    Este valor booleano S 1 = verdadero o 0 = falso permite la detección de retracción automática si la rebanadora no era compatible con G10 / 11: cada movimiento normal de solo extrusión se clasificará como retracción según la dirección.

    M210: Establecer velocidades de avance de referencia

    Ejemplo: M210 X1000 Y1500

    Establezca los avances utilizados para el retorno a los valores especificados en mm por minuto.

    M211: Deshabilitar / Habilitar paradas finales de software

    El valor booleano S 1 = habilitar o 0 = deshabilitar controla el estado del extremo del software.

    El valor booleano X, Y o Z 1 = tope final máximo o 0 = tope final mínimo selecciona el tope final que se controla.

    Ejemplo: M211 X1 Y1 Z1 S0

    Deshabilita los extremos de X, Y, Z max

    Ejemplo: M211 X0 S1

    Habilita la parada final de X min.

    Ejemplo: M211

    Imprime el estado actual de las paradas finales de software.

    M220: Establecer porcentaje de anulación del factor de velocidad

    Ejemplo: M220 S80

    S <factor en porcentaje> – establece el porcentaje de anulación del factor de velocidad

    M221: Establecer porcentaje de anulación del factor de extrusión

    Ejemplo: M221 S70

    S <factor en porcentaje> - establece el porcentaje de anulación del factor de extrusión
    

    M226: Pausa iniciada por Gcode

    Ejemplo: M226

    Inicia una pausa de la misma manera que si se presiona el botón de pausa. Es decir, la ejecución del programa se detiene y la impresora espera la interacción del usuario. Esto coincide con el comportamiento de M1 en el estándar NIST RS274NGC G-code y M0 en el firmware Marlin.

    M227: Activar inversión automática y cebado

    Ejemplo: M227 P1600 S1600

    P y S son pasos.

    “Invertir y cebar” significa que el filamento del extrusor se retrae cierta distancia cuando no está en uso y se empuja hacia adelante la misma cantidad antes de volver a usarlo. Esto ayudará a evitar el babeo de la boquilla del extrusor. El firmware de Teacup implementa esto con M101 / M103.

    M228: Deshabilitar reversa automática y cebado

    Ejemplo: M228

    Ver también M227.

    M229: Habilitar inversión automática y cebado

    Ejemplo: M229 P1.0 S1.0

    P y S son rotaciones de tornillo extrusor. Ver también M227.

    M230: Deshabilitar / Habilitar espera para cambio de temperatura

    Ejemplo: M230 S1

    S1 Desactivar espera para cambio de temperatura S0 Activar espera para cambio de temperatura

    M240: arranque del motor de la cinta transportadora / eco apagado

    Ejemplo: M240

    La cinta transportadora permite comenzar la producción en masa de una pieza con un reprap.

    El eco puede controlarse en algunos firmwares con M111

    M241: Detener el motor de la cinta transportadora / eco activado

    Ejemplo: M241

    El eco puede controlarse en algunos firmwares con M111

    M245: Iniciar enfriador

    Ejemplo: M245

    Se utiliza para enfriar piezas / calentar el lecho después de la impresión para quitar fácilmente las piezas después de imprimir

    M246: detener el refrigerador

    Ejemplo: M246

    M251: Mida los pasos Z desde la parada de referencia (impresoras Delta)

    M251 S0 – Restablecer, S1 – Imprimir, S2 – Almacenar en longitud Z (también EEPROM si está habilitado)

    (Esta es una característica única de Repetier-Firmware)

    M280: establecer la posición del servo

    (Marlin, Repetidor M340 )

    M280 – establece la posición del servo absoluta. P: índice de servo, S: ángulo o microsegundos (Marlin)

    M300: reproducir sonido de pitido

    Uso: M300 S <frecuencia Hz> P <duración ms>

    Ejemplo: M300 S300 P1000

    Reproduzca un pitido, úselo para notificar eventos importantes como el final de la impresión.  También es compatible con el firmware duet-dc42 a través de la sonda en el panel de control de la pantalla táctil adicional.

    M301: establecer parámetros PID

       Ejemplo: M301 P1 I2 D3; Marlin (solo extremo caliente; ver M304 para PID de cama)
       Ejemplo: M301 P1 I2 D3 C5 H1 B20 W127; RepRapFirmware
       Ejemplo: M301 P1 I2 D3 T0.2 H1 B20 W127 S0.8; Duet-dc42
       Ejemplo: M301 S0 P30 I10 D10; Smoothie (S0 es 0 para el hotend, y 1 para la cama, pueden aplicarse otros números a su configuración, dependiendo del orden en que declare los módulos de control de temperatura)
    

    Establece valores proporcionales, integrales y derivados para hot end. El valor C se refiere a una velocidad de extrusión. El valor T es el PWM adicional aproximado (en una escala de 0 a 255) necesario para mantener cada temperatura adicional de 1C, que se usa para preajustar el acumulador I cuando se cambia completamente el encendido / apagado del calentador a PID. H es el número del calentador, predeterminado 1 (es decir, el primer calentador del extrusor).

    El firmware Duet-dc42 interpreta un término P negativo como indicativo de que se debe usar el control de bolsa en lugar de PID (no se recomienda para el extremo caliente, pero está bien para H0, que es el calentador de la cama). El factor S está diseñado para permitir que se realice una corrección por un cambio en la potencia del calentador y / o el voltaje de la fuente de alimentación sin tener que cambiar todos los demás parámetros. Por ejemplo, un factor S de 0.8 significa que la salida final del controlador PID debe escalarse a 0.8 veces el valor estándar, lo que compensaría un calentador que es un 25% más potente que el estándar o un voltaje de suministro de 12.5 % más alto que el estándar.

     

    Implementación alternativa

    Ejemplo: M301 W125

    Consulte M130, M131, M132, M133 para ver los códigos de Teacup para configurar los parámetros PID.

    M302: permitir extrusiones en frío

    Esto le dice a la impresora que permita el movimiento del motor del extrusor, cuando el hotend no está a la temperatura de impresión

    Ejemplo: M302

    Cuando se utilizan los firmwares Duet-zpl o Duet-dc42, ejecutar M302 solo informará el estado actual de extrusión en frío. Para permitir o denegar extrusiones / retracciones en frío, ejecute “M302 P1” o “M302 P0”.

    M303: ejecutar el ajuste PID

    La sintonización de PID se refiere a un algoritmo de control utilizado en algunas repeticiones para ajustar el comportamiento de calentamiento para los extremos calientes y las camas calentadas. Este comando genera valores proporcionales (Kp), integrales (Ki) y derivados (Kd) para el hotend o bed (E-1). Envíe el código apropiado y espere a que la salida actualice el firmware.

    Uso final caliente:

    M303 S <temperatura> C <ciclos>
    

    Uso de la cama:

    M303 E-1 C <ciclos> S <temperatura>
    

    Ejemplo:

    M303 C8 S175
    

    La sintaxis de Smoothie, donde E0 es el primer módulo de control de temperatura (generalmente el extremo caliente) y E1 es el segundo módulo de control de temperatura (generalmente la cama):

    M303 E0 S190
    

    M304: Establecer parámetros PID – Cama

       Ejemplo: M304 P1 I2 D3; establecer kP = 3, kI = 2, kD = 3
       Ejemplo: M301 P1 I2 D3 T0.7 H0 B20 W127; Duet-dc42 firmware
       Ejemplo: M304; Parámetros de informe
    
    

    Establece valores proporcionales, integrales y derivados para la cama. El firmware Duet-dc42 interpreta un término P negativo como indicativo de que se debe usar el control de la bolsa en lugar del PID. En el firmware Duet-dc42, este comando es idéntico al M301, excepto que el parámetro H (número de calentador) está predeterminado en cero.

     

    M305: Establecer parámetros de termistor y ADC


    Establece los parámetros para la medición de temperatura. Compatible con la versión RepRapPro de Marlin, RepRapFirmware de 0.78c y firmware Duet-dc42.

    Ejemplo: M305 P1 T100000 R1000 B4200

    Esto le dice al firmware que para el calentador 1 (parámetro P: 0 = lecho calentado, 1 = primer extrusor) la resistencia del termistor 25C (parámetro T) es 100Kohms, la resistencia de la serie del termistor (parámetro R) es 1Kohms, el termistor beta (parámetro B ) es 4200. Todos los parámetros que no sean P son opcionales. Si solo se proporciona el parámetro P, se muestran los valores existentes.

    Además, el firmware Duet-dc42 admite una funcionalidad de corrección ADC y una función de selección de termistor.

    Ejemplo: M305 P1 T100000 R1000 B4200 H14 L-11 X2

    Aquí la corrección de ADC de extremo alto (parámetro H) es 14, la corrección de ADC de extremo bajo (parámetro L) es -11 y la entrada del termistor n. ° 2 se usa para medir la temperatura del calentador n. ° 1.

    M306: establecer el desplazamiento inicial calculado a partir de la posición del cabezal de herramienta

    Ejemplo: M306 Z0

    Los valores especificados se agregan a la posición final de parada calculada cuando se hace referencia a los ejes. El valor calculado se deriva de la distancia del cabezal de la herramienta desde el punto cero del eje actual.

    El usuario normalmente colocaría el cabezal de la herramienta en el punto cero del eje y emitiría el comando M306.

    Este valor se puede guardar en EEPROM con el comando M500 (como valor M206).

    Implementado en Smoothieware

    M320: Activar nivel automático (repetidor)

    (Solo repetidor)

    M321: Desactivar nivel automático (repetidor)

    (Solo repetidor)

    M322: restablecer matriz de nivel automático

    Ejemplo: M322 S1

    El parámetro S1 es obligatorio.

    (Solo repetidor)

    M340: controla los servos

    (Solo repetidor , Marlin ver M280 )

    M340 P <servoId> S <pulseInUS> / ServoID = 0..3 pulseInUs = 500..2500

    Los servos están controlados por un ancho de pulso normalmente entre 500 y 2500 con 1500 ms en la posición central. 0 apaga el servo.

    M355: enciende / apaga las luces de la carcasa

    Habilitar luces
    M355 S1
    
    Desactivar luces
    M355 S0
    
    Estado del informe
    M355
    

    Cada llamada o cambio en el menú LCD envía un cambio de estado para el software de alojamiento conectado como

    Luces del estuche encendidas
    La caja se apaga
    Sin luces de caja
    

    M360: informe de configuración de firmware

     

    Este comando ayuda al software de alojamiento a detectar detalles de configuración, que el usuario necesitaría ingresar de otra manera. Debería reducir el tiempo de configuración considerablemente si es compatible.

    Ejemplo
    M360
    
    Respuesta
    Config: Baudrate: 250000
    Config: InputBuffer: 127
    Configuración: NumExtruder: 2
    Configuración: MixingExtruder: 0
    Configuración: HeatedBed: 0
    Configuración: Tarjeta SD: 1
    Configuración: Fan: 1
    Configuración: LCD: 1
    Configuración: SoftwarePowerSwitch: 1
    Configuración: XHomeDir: -1
    Config: YHomeDir: -1
    Configuración: ZHomeDir: -1
    Configuración: Soporte G10G11: 1
    Config: SupportLocalFilamentchange: 1
    Config: CaseLights: 0
    Configuración: ZProbe: 1
    Config: Autolevel: 0
    Configuración: EEPROM: 1
    Configuración: PrintlineCache: 24
    Configuración: JerkXY: 30.00
    Configuración: JerkZ: 0.30
    Config: RetractionLength: 3.00
    Config: RetractionLongLength: 13.00
    Config: RetractionSpeed: 40.00
    Configuración: RetractionZLift: 0.00
    Config: RetractionUndoExtraLength: 0.00
    Configuración: RetractionUndoExtraLongLength: 0.00
    Config: RetractionUndoSpeed: 0.00
    Configuración: XMin: 0.00
    Configuración: YMin: 0.00
    Configuración: ZMin: 0.00
    Configuración: XMax: 250.00
    Configuración: YMax: 150.00
    Configuración: ZMax: 90.00
    Configuración: X Tamaño: 250.00
    Configuración: Y Tamaño: 150.00
    Configuración: Z Tamaño: 90.00
    Config: XPrintAccel: 250.00
    Configuración: YPrintAccel: 250.00
    Configuración: ZPrintAccel: 100.00
    Configuración: XTravelAccel: 250.00
    Configuración: YTravelAccel: 250.00
    Configuración: ZTravelAccel: 100.00
    Config: PrinterType: Cartesian
    Configuración: MaxBedTemp: 120
    Config: Extr.1: Jerk: 50.00
    Config: Extr.1: MaxSpeed: 100.00
    Config: Extr.1: Aceleración: 10000.00
    Config: Extr.1: Diámetro: 0.00
    Config: Extr.1: MaxTemp: 220
    Config: Extr.2: Jerk: 50.00
    Config: Extr.2: MaxSpeed: 100.00
    Config: Extr.2: Aceleración: 10000.00
    Config: Extr.2: Diámetro: 0.00
    Config: Extr.2: MaxTemp: 220
    

    Códigos de calibración SCARA (Morgan)

    Para facilitar la calibración de Reprap Morgan, se utilizan los siguientes códigos M para configurar la máquina

    M360: Mover a la posición Theta de 0 grados

    Los brazos se mueven a una posición donde el brazo de dirección Theta es paralelo al borde superior de la plataforma. Luego, el usuario calibra la posición moviendo los brazos con los botones de desplazamiento en software como pronterface hasta que esté perfectamente paralela. El uso de M114 mostrará la compensación de calibración que luego se puede programar en la unidad usando M206 (compensación inicial) X representa Theta.

    Smoothieware: M360 P0 tomará la posición actual como paralela al borde de la plataforma y almacenará el desplazamiento en el desplazamiento de ajuste de referencia (M666) No se necesita más interacción del usuario.

    M361: Moverse a la posición Theta de 90 grados

    Theta se mueve a 90 grados con el borde de la plataforma. El usuario calibra utilizando brazos de desplazamiento para colocar exactamente 90 grados. Los pasos por grado se pueden leer con M114 y programar con M92. X representa a Theta. Programe Y (Psi) al mismo valor inicialmente. Recuerde repetir M360 después de ajustar los pasos por grado.

    Smoothieware: M360 P0 aceptará la posición actual como 90 grados al borde de la plataforma. Se calculan nuevos pasos por ángulo y se ingresan en la memoria (M92). No se requiere ninguna otra interacción del usuario, excepto para rehacer M360.

    M362: Mover a la posición Psi 0 grados

    Los brazos se mueven a Psi 0 grados. Verificar solo después de otras calibraciones Theta

    M363: Mover a la posición Psi 90 grados

    Los brazos se mueven a Psi 90 grados. Verificar solo después de otras calibraciones Theta

    M364: Mover a la posición de 90 grados Psi + Theta

    Mueva los brazos para formar un ángulo de 90 grados entre los brazos Psi internos y externos. Calibre moviéndose hasta que el ángulo sea exactamente 90 grados. Lea con M114 y calibre el valor en el desplazamiento inicial M206. Psi está representado por Y.

    Smoothieware: M364 P0 aceptará la posición actual como 90 grados entre los brazos. El desplazamiento se almacena como un ajuste de compensación (M666) y no se requiere más interacción del usuario, excepto para guardar todos los cambios a través de M500

    M365: factor de escala SCARA

    Ajuste la escala XY y Z ingresando el factor. El 100% de escala (predeterminado) está representado por 1

    M370: nivel de cama manual Morgan – mapa claro

    Borre el mapa y prepárese para la calibración Uso:

          M370
    
          M370 X <divisiones> Y <divisiones>
    

    Sin parámetros, el valor predeterminado es X5 Y5 (25 puntos de calibración) Al especificar parámetros, se recomiendan números desiguales.

    M371: pasar a la siguiente posición de calibración

    Mover a la siguiente posición para la calibración. El usuario mueve la cama hacia el hotend hasta que solo toca

    M372: registrar el valor de calibración y pasar a la siguiente posición

    Se registra la posición de la cama y la máquina se mueve a la siguiente posición. Repita hasta que todas las posiciones programadas

    M373: modo de calibración del nivel final del lecho

    Finalice el modo de calibración y habilite la matriz de corrección z. No guarda la matriz actual

    M374: Guardar cuadrícula de calibración

    Guarda la cuadrícula de calibración. (Smoothieware) Uso:

          M374
    
          M374 <extensión de archivo> Z 
    

    Sin parámetros, la cuadrícula se guarda en el archivo de cuadrícula predeterminado que se carga en el arranque El parámetro especifica la extensión del archivo de cuadrícula, útil para archivos de cuadrícula especiales, como una superficie de impresión especial, como una placa de impresión extraíble. La adición de Z guardará adicionalmente el desplazamiento de referencia M Z6 Z en el archivo de cuadrícula

    M375: matriz de visualización / matriz de carga

    Mostrar la matriz de calibración de nivel de lecho (Marlin) Cargar archivo de matriz de cuadrícula (Smoothieware)

          M375
    
          M375 <extensión de archivo>
    

    Sin parámetros, se carga la grilla predeterminada, y con la extensión especificada se intenta cargar la grilla especificada. Si no está disponible no modificará la cuadrícula actual. Si Z se guardó con el archivo de cuadrícula, cargará la Z guardada con la cuadrícula.

    M400: espera a que finalicen los movimientos actuales

    Termina todos los movimientos actuales y, por lo tanto, borra el búfer. Eso es idéntico a G4 P0.

    Ejemplo: M400

    M420: Establecer colores RGB como PWM

    Uso: M420 R <PWM rojo (0-255)> E <PWM verde (0-255)> B <PWM azul (0-255)>

    Ejemplo: M420 R255 E255 B255

    Establezca el color de sus LED RGB que están conectados a pines habilitados para PWM. Tenga en cuenta que el color verde está controlado por el valor E en lugar del valor G debido a que el código G es un código primario que no se puede anular.

    M540: configurar la dirección MAC

    Ejemplo: M540 P0xBE: 0xEF: 0xDE: 0xAD: 0xFE: 0xED

    Establece la dirección MAC de RepRap. Esto debe hacerse antes que cualquier otro comando de red. La dirección MAC es seis números hexadecimales de un byte separados por dos puntos. El prefijo 0x es opcional en revisiones de firmware posteriores.

    M550: Establecer nombre

    Ejemplo: M550 PGodzilla

    Establece el nombre de RepRap en (en este caso) Godzilla. El nombre puede ser cualquier cadena de caracteres imprimibles, excepto ‘;’, que aún significa comenzar a comentar.

    M551: Establecer contraseña

    Ejemplo: M551 Pmy-palabra-muy-secreta

    En máquinas que necesitan una contraseña para activarlas, establezca esa contraseña. El código ‘P’ no es parte de la contraseña. Tenga en cuenta que, dado que esto se envía de forma clara, no ofrece (ni pretende) ofrecer un nivel de seguridad muy alto. Pero en las máquinas que están (digamos) en una red, evita que los usuarios no autorizados puedan jugar sin hacer nada. La contraseña puede contener caracteres imprimibles, excepto ‘;’, que aún significa comenzar a comentar.

    M552: establecer dirección IP

    Ejemplo: M552 P192.168.1.14

    Establece la dirección IP de la máquina RepRap en (en este caso) 192.168.1.14. Es posible que sea necesario reiniciar antes de usar la nueva dirección IP. Si no se especifica ningún campo P, esto hace eco de la dirección IP existente configurada. Si S0 se agrega así: M552 S0 P192.168.1.14 la red está deshabilitada.

    M553: Establecer máscara de red

    Ejemplo: M553 P255.255.255.0

    Establece la máscara de red de la máquina RepRap en (en este caso) 255.255.255.0. Es posible que sea necesario reiniciar antes de usar la nueva máscara de red. Si no se especifica ningún campo P, esto hace eco de la máscara de red existente configurada.

    M554: Establecer puerta de enlace

    Ejemplo: M554 P192.168.1.1

    Establece la dirección IP de la puerta de enlace de la máquina RepRap en (en este caso) 192.168.1.1. Es posible que sea necesario reiniciar antes de utilizar la nueva dirección IP de la puerta de enlace. Si no se especifica ningún campo P, esto refleja la dirección IP de la puerta de enlace existente configurada.

    M555: Establecer compatibilidad

    Ejemplo: M555 P1

    Para el firmware que puede hacerlo, establece el firmware en un modo donde su entrada y (especialmente) salida se comporta exactamente como otro firmware establecido. El valor del argumento P es:

    Valor P Firmware
    0 0 Nativo (es decir, sea cual sea el firmware)
    1 RepRap_Firmware
    2 Aguja
    3 Taza para té
    4 4 Sprinter
    5 5 Repetidor

    M556: compensación del eje

    Ejemplo: M556 S100 X0.7 Y-0.2 Z0.6

    Aunque con cuidado y ajuste, se puede configurar un RepRap con sus ejes en ángulo recto entre sí dentro de la precisión de la máquina, ¿quién quiere molestarse con cuidado y ajuste cuando el problema puede ser resuelto por el software? Esto le dice al software las tangentes de los ángulos entre los ejes de la máquina obtenidos al imprimir y luego medir una pieza de prueba. El parámetro S (100 aquí) es la longitud de un triángulo a lo largo de cada eje en mm. Las figuras X, Y y Z son el número de milímetros del lado corto del triángulo que representa cuán fuera de verdad es un par de ejes. La figura X es el error entre X e Y, la figura Y es el error entre Y y Z, y la figura Z es el error entre X y Z. Los valores positivos indican que el ángulo entre el par de ejes es obtuso, negativo agudo.

    M557: Establecer punto de sonda Z

    Ejemplo: M557 P1 X30 Y40.5

    Establezca los puntos en los que se sondeará la cama para compensar que su plano esté ligeramente fuera de la horizontal. El valor P es el índice del punto (los índices comienzan en 0) y los valores X e Y son la posición para mover la extrusora 0 a la sonda. Una implementación debe permitir un mínimo de tres puntos (P0, P1 y P2). Esto solo registra las coordenadas del punto; en realidad no hace el sondeo. Ver G32.

    M558: Establecer tipo de sonda Z

    Ejemplo: M558 P0 X1 Y0 Z1

    La sonda AZ puede ser un interruptor, un sensor de proximidad IR o algún otro dispositivo. Esto selecciona cuál usar. P0 indica que no hay una sonda Z presente. P1 proporciona una sonda IR no modulada, o cualquier otro tipo de sonda que emule una sonda IR no modulada (la salida de la sonda es una señal analógica que aumenta al disminuir la altura de la boquilla por encima del lecho). Si hay una señal de control en la sonda, se activa cuando el tipo de sonda es P1. P2 especifica una sonda IR modulada, donde la modulación es ordenada directamente por el firmware de la placa principal utilizando la señal de control a la sonda. P3 selecciona una sonda Z alternativa llevando la señal de control a la sonda baja. P4 selecciona un interruptor (en el Duet, este debe estar conectado a los pines del extremo E0).

    Los parámetros X, Y y Z especifican si cada eje usa la sonda Z para referencia o no. Si el parámetro no es cero, la sonda Z se usa para dirigir ese eje. si el parámetro es cero, el interruptor de final de carrera para ese eje se usa para el recorrido de referencia. Ver también G31 y G32.

    El firmware Duet-dc42 admite un parámetro R adicional, que especifica el canal de modulación. El canal 0 (predeterminado) usa el pin de modulación de sonda Z estándar en Duet 0.6. El canal 1 selecciona el pin de modulación de sonda Z alternativo en el Duet 0.7.

    Las versiones de firmware Duet-dc42 1.00e en adelante admiten el parámetro adicional H. Esto especifica la altura de inmersión desde la cual se realiza el sondeo en respuesta a un comando G30 cuando el parámetro P está presente, o un comando G32.

    M559: subir archivo de configuración

    Ejemplo: M559

    Si RepRap lo admite, esto carga un archivo que se ejecuta al reiniciar para configurar la máquina. Este archivo generalmente es un archivo de código G especial. Después de enviar M559, el archivo debe enviarse, terminando con un M29 (qv).

    M560: subir archivo de página web

    Ejemplo: M560

    Para RepRaps que tienen soporte web y que pueden ser manejados por un navegador web, esto carga el archivo que es la página de control para RepRap. Después de enviar M560, el archivo (generalmente un archivo HTML) debe enviarse, terminado por la cadena

    <! - ** EoF ** ->

    . Claramente, esa cadena no puede existir en el cuerpo del archivo, pero se puede poner al final para facilitar este proceso. Esto no debería ser una restricción demasiado grave …

    M561: Establecer transformación de identidad

    Ejemplo: M561

    Esto cancela cualquier ajuste del plano de la cama como resultado del sondeo (o cualquier otra cosa) y hace que la máquina se mueva en el sistema de coordenadas del usuario.

    M562: error de reinicio de temperatura

    Ejemplo: M562 P2

    Restablezca una falla de temperatura en el calentador / sensor 2. Si RepRap se apagó y bloqueó un calentador porque detectó una falla, esto restablecerá la condición de falla y le permitirá usar el calentador nuevamente. Obviamente para ser utilizado con precaución. Si la falla persiste, se bloqueará nuevamente después de que haya emitido este comando. P0 es la cama; P1 el primer extrusor, y así sucesivamente.

    M563: definir una herramienta

    Ejemplo: M563 P3 D0: 5: 6 H1: 3

    Las herramientas son generalmente (aunque no necesariamente) extrusoras. El campo P especifica el número de herramienta. Los números de herramienta pueden tener cualquier valor entero positivo y 0. El campo D especifica las unidades utilizadas por la herramienta; en este caso, las unidades 0, 5 y 6. La unidad 0 es la primera unidad de la máquina después de las unidades de movimiento (generalmente X, Y y Z). Si no hay campo D, la herramienta no tiene unidades. El campo H especifica los calentadores de la herramienta; en este caso, los calentadores 1 y 3. El calentador 0 suele ser el lecho caliente (si lo hay), por lo que el primer calentador del extrusor suele ser 1. Si no hay campo H, la herramienta no tiene calentadores.

    Las herramientas se manejan utilizando múltiples valores en el campo E de los comandos G1, cada uno de los cuales controla la unidad correspondiente en el campo D anterior, de la siguiente manera:

    G1 X90.6 Y13.8 E2.24: 2.24: 15.89
    G1 X70.6 E0: 0: 42.4
    

    La primera línea se mueve directamente al punto (90.6, 13.8) extruyendo un total de 2.24 mm de filamento de ambas unidades 0 y 5 y 15.98 mm de filamento de la unidad 6.

    La segunda línea retrocede 20 mm en X extruyendo 42,4 mm de filamento desde la unidad 6.

    Normalmente, un comando M563 es seguido inmediatamente por un comando G10 para establecer las compensaciones y temperaturas de la herramienta.

    Está permitido que diferentes herramientas compartan algunas (o todas) de sus unidades y calentadores. Entonces, por ejemplo, puede definir dos herramientas con hardware idéntico, pero que solo funcionan a diferentes temperaturas.

    Si utiliza el comando M563 con un valor P para una herramienta que ya se ha definido, esa herramienta se redefine utilizando los nuevos valores que proporcione.

    El firmware Duet-dc42 admite una forma adicional del comando M563. El comando:

    M563 S1
    

    significa agregar 1 (el valor del parámetro S) a todos los números de herramienta que se encuentran en el resto del flujo de entrada actual (por ejemplo, el archivo actual si el comando se lee desde un archivo en la tarjeta SD), o hasta un nuevo comando M563 de Este formulario se ejecuta. El propósito de esto es proporcionar compatibilidad entre el firmware Duet, en el que los números de herramienta generalmente comienzan en 1, y programas como slic3r que asumen que las herramientas están numeradas desde cero.

    M564: ejes límite

    Ejemplo: M564 S0

    Permitir movimientos fuera del volumen de impresión, o no. Si el parámetro S es 0, puede enviar códigos G para conducir el RepRap fuera de su volumen de trabajo normal, e intentará hacerlo. Cuidado con el usuario … Si establece el parámetro S en 1, RepRap no pensará fuera de la caja. El comportamiento predeterminado es S = 1.

    M565: Establecer desplazamiento de sonda Z

    Ejemplo: M565 X3 Y4.5 Z-2.37

    Ajuste el desplazamiento desde la punta del extrusor hasta la posición de la sonda. Los valores X, Y y Z son el delta entre el extrusor y la posición real de disparo de la sonda. Si el punto de activación de la sonda está debajo del extrusor (típico), el desplazamiento Z será negativo. Esto solo registra el desplazamiento del punto; en realidad no hace el sondeo. Ver G32.

    M566: Establecer cambio de velocidad instantáneo permitido

    Ejemplo: M566 X20 Y20 Z2 E10

    Evite una limitación del algoritmo de algunos firmwares, que no puede calcular los tiempos de paso para un inicio permanente. Teacup Firmware y Smoothieware no tienen esta limitación, por lo que M566 es obsoleto allí.

    M566 establece las velocidades en mm / minuto que los ejes pueden hacer desde un inicio permanente. Si un algoritmo de aceleración comienza un movimiento con una velocidad cero en otros firmwares y luego acelera a partir de eso, puede dar problemas cuando se usa la velocidad inicial cero para calcular un paso de tiempo entre pulsos paso a paso al principio: el paso de tiempo termina siendo infinito. Entonces, estos sistemas tienen pequeñas velocidades iniciales para comenzar. Esto los establece.

    La variante dc42 de RepRapFirmware no tiene la limitación, sino que utiliza este parámetro para determinar el cambio de velocidad máximo permitido de cada motor en las curvas.

    M567: Establecer relaciones de mezcla de herramientas

    Ejemplo: M567 P2 E0.1: 0.2: 0.1: 0.6

    El ejemplo establece la relación de mezcla para la herramienta 2 (el valor P). Cuando se activa la mezcla (ver M568), solo se deben enviar valores E individuales en un comando G1 (cualquier valor E adicional se ignorará, pero no es ilegal):

    G1 X20 E1.3

    Esto se moverá a X = 20 extruyendo una longitud total de filamento de 1.3 mm. La primera unidad de la herramienta 2 extruirá 0.1 * 1.3 mm, la segunda 0.2 * 1.3 mm y así sucesivamente. Las proporciones no tienen que sumar 1.0, el cálculo realizado es como se acaba de describir. Pero es mejor si lo hacen.

    Ver también M568.

    M568: activar / desactivar las relaciones de mezcla de herramientas

    Ejemplo: M568 P2 S0

    Active / desactive las relaciones de mezcla automáticas para la herramienta 2. Si el parámetro S es 0, la mezcla se desactiva; si no es cero, está activado.

    Después de desactivar el comando, las instrucciones G1 deben enviar tantos valores E como la herramienta tenga unidades:

    G1 X20 E0.2: 0.4: 0.166: 0.3

    El estado apagado es el predeterminado.

    M569: establecer valores de dirección del eje

    Ejemplo: M569 P0 S1

    Establezca el valor de control para el variador especificado por P que lo envía hacia adelante al valor dado en el campo S. Después de enviar el ejemplo, enviar un 1 a X (unidad 0) lo hará avanzar, enviar un 0 lo hará retroceder. Obviamente para ser utilizado con extrema precaución …

    M570: establecer el tiempo de espera del calentador

    Ejemplo: M570 S120

    Después de encender un calentador, espere 120 segundos para que se acerque a la temperatura establecida. Si lleva más tiempo que esto, marque una falla del calentador.

    M571: Establecer salida en extrusión

    Ejemplo: M571 S0.5

    Esto activa una salida cada vez que se realiza la extrusión y la desactiva cuando finaliza la extrusión. La salida podría controlar un ventilador o un agitador o cualquier otra cosa que necesite funcionar justo cuando está ocurriendo la extrusión. El parámetro S establece el valor de PWM en la salida. 0.0 está apagado; 1.0 está completamente encendido.

    M572: Establecer o informar la compensación de elasticidad del extrusor

    Ejemplo: M572 P3 S0.06

    Esto establece el tiempo de compensación en segundos (parámetro S) para la elasticidad del extrusor Bowden para la unidad especificada (parámetro P). Compatible con el firmware Duet-dc42. Tiene un efecto similar al factor EXTRUDER_ADVANCE_K en el firmware de Marlin. Normalmente, la compensación debe aplicarse solo a las unidades de extrusión (unidades 3 y superiores).

    M573: Informe calentador PWM

    Ejemplo: M573 P1

    Esto proporciona un promedio de funcionamiento (usualmente más de cinco segundos) del PWM al calentador especificado por el campo P. Si conoce el voltaje del suministro y la resistencia del calentador, esto le permite calcular la potencia que va al calentador.

    M574: configuración de final de carrera establecida

    Ejemplo: M574 X1 Y2 Z0 S1

    Esto define el tipo de interruptor de fin de carrera o sensor óptico que tiene la impresora para cada eje: 0 = ninguno, 1 = extremo bajo, 2 = extremo alto. El parámetro opcional S define si la entrada de fin de carrera está activa alta (S1, la predeterminada) o baja (S0). Diseñado para su uso con placas que proporcionan una entrada de tope final único para cada eje que puede usarse para un tope final alto o bajo, como el Duet. Compatible con el firmware Duet-dc42. En las impresoras delta, los parámetros XYZ se refieren a las torres y los topes finales normalmente deberían ser de gama alta.

    M575: establecer parámetros de comunicación serie

    Ejemplo: M575 P1 B57600 S1

    Esto establece los parámetros de comunicación del canal de comunicaciones en serie especificado por el parámetro P. P0 especifica la interfaz serial principal (típicamente un puerto USB, o serial-over-USB), mientras que P1 especifica un puerto serial auxiliar (por ejemplo, el puerto usado para conectar un PanelDue). El parámetro B es la velocidad de transmisión requerida (este parámetro generalmente se ignora si el puerto es un verdadero puerto USB). El parámetro S es un mapa de bits de características. El bit más bajo, si se establece, especifica que solo los comandos que incluyen una suma de verificación válida se deben aceptar desde este canal de comunicaciones.

    M665: establecer configuración delta

    Ejemplo: M660 L250 R160 S200 (Marlin), M660 L250 R160 B80 H200 (Duet-dc42)

    Establezca las variables de calibración delta. L = longitud de la barra diagonal, R = radio delta, S = segmentos por segundo, B = radio del lecho de impresión, H = altura de la boquilla sobre el lecho cuando se dirige después de permitir las correcciones del tope final.

    No creo que sea una buena idea tener dos implementaciones diferentes para el mismo código G, y también cuestiono el valor práctico de especificar el radio del lecho de impresión al definir una configuración delta, ya que muchas impresoras delta usan una impresión cuadrada o rectangular cama. Entonces, quizás deberíamos apegarnos al comando definido por Marlin como la definición de este comando, y usar un comando diferente o un conjunto de comandos para definir la forma y el tamaño de la cama de impresión. – AndrewBCN ( charla ) 23:10, 31 de enero de 2015 (PST)

    M666: Ajuste el ajuste del tope final

    Ejemplo M666 X-0.1 Y + 0.2 Z0

    Establece ajustes delta finales.

    M906: Establecer corrientes del motor

    Ejemplo: M906 X300 Y500 Z200 E350

    Establece las corrientes para enviar a los motores paso a paso para cada eje. Los valores están en miliamperios.

    M909: establecer microstepping

    Ejemplo: M909 X3 Y5 Z2 E3

    Establezca el valor de microstepping para cada uno de los steppers. En Canjear, esto se implementa como un valor 2 ^, por lo que
    M909 X2 establece micropasos en el eje X en 2 ^ 2 = 4,
    M909 Y3 establece microstepping en el eje Y en 2 ^ 3 = 8, etc.

    M998: solicitud de reenvío de línea

    Ejemplo: M998 P34

    Solicite un reenvío de la línea 34. En algunas implementaciones, el código de manejo de entrada sobrescribe el código G entrante con esto cuando detecta, por ejemplo, un error de suma de verificación. Luego lo deja al intérprete GCode para solicitar el reenvío.

    M999: reiniciar después de ser detenido por error

    Ejemplo: M999

    G: Lista todos los códigos G

    Ejemplo: G

    Esto enumera todos los códigos G implementados en el firmware con descripción y lo envía de vuelta al host.
    (Nota: esto se ha implementado en Canjear , por lo que es solo una propuesta)

    M: Lista todos los códigos M

    Ejemplo: M

    Esto enumera todos los códigos M implementados en el firmware con descripción y lo envía de vuelta al host.
    (Nota: esto se ha implementado en Canjear , por lo que es solo una propuesta)

    T: Seleccionar herramienta

    Ejemplo: T1

    Seleccione la herramienta (o en el extrusor de implementaciones anteriores) número 1 para construir.

    La secuencia seguida es:

    1. Configure la herramienta actual a sus temperaturas de espera especificadas por G10 (ver arriba),
    2. Configure la nueva herramienta a sus temperaturas de operación especificadas por G10 y espere a que todas las temperaturas se estabilicen,
    3. Aplique cualquier desplazamiento X, Y, Z para la nueva herramienta especificada por G10,
    4. Usa la nueva herramienta.

    Seleccionar una herramienta inexistente (100, por ejemplo) solo hace el Paso 1. anterior. Es decir, deja todas las herramientas en su estado de espera. Por supuesto, puede usar el comando G10 de antemano para establecer la temperatura de espera en cualquier cosa que desee.

    Tenga en cuenta que es posible que desee moverse a una posición de estacionamiento antes de ejecutar un comando T para permitir que el nuevo extrusor alcance la temperatura mientras no está en contacto con la impresión. Es aceptable que el firmware aplique un pequeño desplazamiento [por convención (-1 mm x número de herramienta) en Y] a la posición actual cuando se ingresa la secuencia anterior para permitir que los cambios de temperatura surtan efecto justo fuera de la posición de estacionamiento. Cualquier compensación de este tipo debe, por supuesto, deshacerse cuando finalice el procedimiento.

    Si el valor Z cambia en los desplazamientos y la herramienta se mueve hacia arriba, entonces el movimiento Z se realiza antes de que X e Y se muevan. Si Z se mueve hacia abajo, X e Y se hacen primero.

    Algunas implementaciones (por ejemplo, RepRapFirmware) le permiten especificar macros de código G de cambio de herramienta. Normalmente hay tres especificados (cualquiera de los cuales no puede contener comandos si se desea) que se ejecutan en este orden:

    1. Acciones para hacer con la herramienta anterior antes de su lanzamiento: nombre de macro: tfreeN.g donde N es el número de herramienta;
    2. (Se lanza la herramienta antigua);
    3. Acciones para hacer con la nueva herramienta antes de seleccionarla: nombre de macro: tpreN.g donde N es el número de herramienta;
    4. (Se selecciona una nueva herramienta); y
    5. Acciones para hacer con la nueva herramienta después de seleccionarla: nombre de macro: tpostN.g donde N es el número de herramienta.

    Con tales implementaciones no hay que esperar la estabilización de la temperatura. Eso se puede lograr con un M116 en cualquiera de las macros, por supuesto.

    Después de un reinicio, las herramientas no comenzarán a calentarse hasta que se seleccionen. Puede ponerlos todos a su temperatura de espera seleccionándolos por turnos, o dejarlos apagados para que solo se enciendan si / cuando los usa por primera vez. Los comandos M0, M1 y M112 los apagan a todos. Por supuesto, puede apagarlos todos con el comando M1 y luego volver a encenderlos. No olvides también encender la cama caliente (si la hay) si usas ese truco.

    La numeración de herramientas puede comenzar en 0 o 1, dependiendo de la implementación. Algunas implementaciones (aquellas que usan el comando M563 para definir herramientas) permiten al usuario especificar números de herramientas, por lo que con ellas puede tener las herramientas 17, 99 y 203 si lo desea. Los números negativos no están permitidos.

    Códigos de configuración EEPROM propuestos

    BREVEMENTE: cada RepRap tiene una serie de parámetros físicos que deben ser persistentes, pero fácilmente configurables, como pasos de extrusión / mm, varios valores máximos, etc. Estos parámetros están actualmente codificados en el firmware, por lo que un usuario tiene que modificar, recompilar y vuelva a actualizar el firmware para cualquier ajuste. Estas configuraciones pueden almacenarse en la EEPROM de MCU y modificarse a través de algunos códigos M. 

    M500: almacenar parámetros en EEPROM

    Guardar los parámetros actuales en EEPROM. La bifurcación zpl del firmware Duet implementa esto y permite pasar “S1”, por lo que los parámetros modificados se pueden guardar automáticamente en EEPROM.

    En Canjear, cualquier parámetro establecido a través de códigos G / M que sea diferente de lo que se lee de los archivos de configuración, se almacena de nuevo en la configuración local. Por ejemplo, la configuración de la corriente paso a paso y el microstepping a través de M906 y M907 seguido de M500 actualizarán /etc/redeem/local.cfg.

    M501: leer parámetros de EEPROM

    Establezca los parámetros activos a los almacenados en la EEPROM. Esto es útil para revertir parámetros después de experimentar con ellos.

    M502: vuelve a la “configuración de fábrica” ​​predeterminada.

    Este comando restablece todos los parámetros ajustables a sus valores predeterminados, como se establece en el firmware. Esto no restablece ningún parámetro almacenado en la EEPROM, por lo que debe seguirse con M501 si desea hacerlo.

    M503: configuración de impresión

    Este comando le pide al firmware que responda con la configuración de impresión actual almacenada en EEPROM. La salida de respuesta incluye los comandos del Código G para producir cada configuración. Por ejemplo, los valores de Pasos por unidad se muestran como un comando M92.

    Respuestas de la máquina RepRap a la computadora host

    Toda la comunicación está en caracteres ASCII imprimibles. Los mensajes enviados de regreso a la computadora host son terminados por una nueva línea y se ven así:

    xx [número de línea para reenviar] [T: 93.2 B: 22.9] [C: X: 9.2 Y: 125.4 Z: 3.7 E: 1902.5] [Puede haber alguna depuración u otra información aquí]

    xx puede ser uno de:

    Okay

    rs

    !!

    ok significa que no se ha detectado ningún error.

    rs significa reenviar, y es seguido por el número de línea para reenviar.

    !! significa que se ha detectado una falla de hardware. La máquina RepRap se apagará inmediatamente después de enviar este mensaje.

    Los valores T: y B: son la temperatura del extrusor seleccionado actualmente y el lecho, respectivamente, y solo se envían en respuesta a M105. Si tales temperaturas no existen (por ejemplo, para una extrusora que funciona a temperatura ambiente y no tiene un sensor ), se devuelve un valor por debajo del cero absoluto (-273 o C).

    C: significa que las coordenadas siguen. Esos son los valores X: Y: etc. Estos solo se envían en respuesta a M114 y M117.

    La máquina RepRap también puede enviar líneas que se vean así:

    // Esta es alguna información de depuración u otra información en una línea por sí sola. Se puede enviar en cualquier momento.

    Dichas líneas siempre estarán precedidas por // .

    En la última versión de Pronterface y pronto Octoprint un comentario especial del formulario:

    // action: comando

    se permite enviar desde el firmware, el comando actualmente se puede pausar, reanudar o desconectar, lo que ejecutará esos comandos en el host. Como este también es un comentario, otros hosts simplemente ignorarán estos comandos.

    La respuesta más común es simplemente:

    Okay

    Cuando la máquina arranca, envía la cadena.

    comienzo

    una vez al host antes de enviar cualquier otra cosa. Esto no debe ser reemplazado o aumentado por números de versión y similares. M115 (ver arriba) los solicita.

    Todo esto significa que cada línea enviada por RepRap a la computadora host, excepto la línea de inicio, tiene un prefijo de dos caracteres (uno de ok , rs , !! o // ). La máquina nunca debe enviar una línea sin dicho prefijo.


    Excepciones :

    1. El firmware Marlin 1.0.0 Gen6 no sigue la regla de dos caracteres. ‘rs’ es en realidad ‘Reenviar’ y ‘!!’ es ‘Error’ Líneas de ejemplo:

    • Error: el número de línea no es la línea actual + 1. Última línea: 7
    • Reenviar: 8
    • Escribir en el archivo: print.gco
    • Terminado de guardar el archivo.
    • Archivo abierto: print.gco Tamaño: 22992
    • Archivo seleccionado

    ¿Cuándo en el código base se produjo este cambio y qué otros firmwares se ven afectados?

    2. El firmware Duet-dc42 responde a algunos comandos con una cadena de respuesta en formato JSON, terminada por una nueva línea. Esto permite que las revisiones de firmware posteriores incluyan información adicional sin molestar a los clientes (p. Ej., Paneles de control con pantalla táctil) que no lo esperan, y que las respuestas se describan por sí mismas para que el cliente no se confunda si las respuestas se retrasan o pierden. Los comandos afectados son:

    • M105 S2
    • M105 S3
    • M20 S2
    • M36

    Como añadir mas espacio a su disco de sistema

    En este post vamos a ver varios modos para extender particion Windows 10 sin formatear. Utilizándolas, descubrirá que MiniTool Partition Wizard puede ayudar a aumentar el tamaño de una partición sin ninguna limitación y resolver el problema de que Windows 10 no puede ampliar una partición.

    Comparado con el Administrador de discos y con Diskpart, cuenta con funciones más avanzadas para particionar o gestionar discos, por lo que está recomendado encarecidamente. Solo tienes que probarlo.


    Después de haber utilizado su ordenador con W10  durante  un cierto tiempo, se van guardando más y más datos en la partición , datos que van ocupando un  espacio valioso en el disco, poco  espacio por cierto  agravado especialmente    a raiz  de las ultimas actualizaciones de Windows 10 ( que requieren algo menos de 1GB )  , lo cual no son buenas noticias,  especialmente cuando su unidad de arranque  sea una unidad SSD o, todavía mucho peor  cuando  sea  una unidad flash, pues estas ultimas suelen ser tener aun una capacidad menor  ( de 32 o 64GB)  y no son ampliables al ir soldadas en placa.  En esos casos  podremos  ver que la barra de la partición se pone en roja o  Windows también   muestre el mensaje “poco espacio en disco (C:). Haz clic aquí para liberar espacio en la unidad.

    Cuando un error de poco espacio en la partición primaria  se produce en su PC, es posible que se encuentre problemas o situaciones como las que se enumeran a continuación:

        • No se puede actualizar  con nuevas funcionalidades o parches  llegando incluso a bloquear el funcionamiento de este cuando intenta actualizarse
        • El ordenador funciona muy lentamente.
        • Posiblemente no pueda guardar archivos o carpetas grandes 
        • NO se puede  actualizar el sistema especialmente a la hora de  instalar los  parches de seguridad
        • No se puede instalar programas o software.
        • etc

    Entonces, ¿qué hacemos si la unidad primaria (C ) se está quedando sin espacio libre? ¿Cómo podemos  ampliar la partición del sistema Windows 10 sin perder los datos? ,pues veamos que opciones existen , ya que al menos existen dos maneras de extender partición Windows 10 sin formatear: extendiendo la partición  en el mismo disco  o  bien utilizado un segundo disco.

    Extender la partición desde windows

    Para asegurarse de que la  partición  primaria ( es decir la asignada a ” C”) tenga el suficiente espacio libre en disco, puede elegir ampliarla si tiene algún espacio libre en otras particiones, pero, ¿cómo conseguir esto? 

    Pues  muchos ordenadores cuentan  con  un precioso espacio reservado  como por ejemplo las particiones ocultas del fabricante,  o lo mas común  ademas   de estas,   la partición de recovery  la cual  suele ocupar sobre unos  2GB en adelante y que esta oculta  y no accesible al usuario que en caso  de necesidad  podemos usar    , pero , ! ojo! no debemos confundir  ésta  con la partición reservada del sistema :

      • Partición Reservado para el sistema:  la diferencia principal es que la primera, de 450 MB es una partición que almacena la configuración de arranque del sistema, así como archivos de configuración. Comenzó con Windows 7 con un tamaño de 100 MB y actualmente es de 450 MB. Esta partición no se debe borrar ya que perderíamos el arranque de Windows. Además, al estar situada a la izquierda de las demás particiones, sin herramientas especificas no será posible unirla, una vez destruida, con el resto.
      • Partición de recuperación  o  de “recovery”: esta tiene destinados al menos  850 MB de espacio y también la crea Windowsdesde las últimas versiones del sistema. Su función es la de almacenar archivos para la recuperación del sistema. Si nos fijamos está situada en la parte derecha, por lo que, si la eliminamos, podremos adjuntar este espacio libre a otras particiones.

     

    Como el lector  podrá  deducir ,esta ultima  partición de “recovery”  sí la podemos borrar en caso de que no sea un equipo comprado así de fábrica  pues que no habrá nada almacenado en ella. Si es un equipo de fábrica, sí que tendrá archivos almacenados en su interior, precisamente para lo que hemos comentado, pero  en la mayoría de las veces los drivers se pueden conseguir tan bien  y respecto al SO  también Windows proporciona una herramienta  para tener en una unidad extraible w10 para en caso de fallo volver a cargar el so 

    No siempre es fácil borrar particiones  pues por defecto windows 10 en sus ultimas versiones encripta las particiones con Bitlocker , asi que antes de proseguir deberiamos desactivar Bitlocker . Para ello,  haga clic en Inicio-> Panel de control-> Sistema y seguridad y, a continuación, haga clic en Cifrado de unidad BitLocker. Busque la unidad  en la que desee desactivar el Cifrado de unidad BitLocker y haga clic en Desactivar BitLocker. 

    Bien una vez desactivado Bitlocker , lo siguiente es simplemente eliminar la partición de recovery , lo cual podemos hacer desde el propio sistema operativo con la utilidad diskpart  ( como vimos en este post )   

    administrador-de-discos

     

    Además diskpart, que también permite gestionar discos y particiones en algunos aspectos, por ejemplo, ampliar un volumen, formatear un volumen, convertir una unidad a NTFS, limpiar discos y más.

    Para extender particion C Windows 10 perdiendo los datos que tenga,, ejecute CMD como administrador y escriba “diskpart” para ejecutar esta herramienta. Después, puede ir introduciendo los siguientes comandos pulsando la tecla “intro” después de cada uno:

    "list disk"

    "select disk n": n se refiere al número del disco destino.

    "list partition"

    "select partition n": n se refiere al número de partición del disco destino.
    "extend size=x disk=n": x significa el tamaño espacio del espacio no asignado o el espacio libre del disco destino que quieras utilizar y se introduce en megabytes.

    Sin embargo, si no se dispone de espacio no asignado seguido por la partición de sistema C, no podrá extender particion C Windows 10 de esta manera dando  un error de disco virtual del tipo  “no hay suficiente espacio disponible para realizar para esta operación“.

    Asimismo desde el administrador de discos  es posible bajo  determinadas condiciones extender volumen C Windows 10 sin tener que utilizar otro software gracias a que cuenta con dos características básicas con este fin “Extender volumen” y “Reducir volumen“.  pero, cuando uno quiere ampliar un volumen, en ocasiones falla al hacer la tarea o  simplemente no esta accesible

    Es tipico  de hecho cuando se hace clic derecho en la unidad   que  podemos  ver que la opción de extender volumen Windows 10 se encuentra en gris ( es decir desabilitada ).

    En efecto desde el administrador de discos no siempre es posible ampliar una partición debido  a  las limitaciones propias del Administrador de discos:

      • El espacio no asignado debe encontrarse en el mismo disco y debe estar a continuación de la partición del sistema, es decir  el Administrador de disco solo puede extender una partición primaria que tenga un espacio sin asignar adyacente a la derecha de la misma (partición lógica con espacio libre).
      • La partición que quiera extender debe estar en formato NTFS o RAW, de no ser así, aparecerá gris en Windows 10.

     

    Bueno , como hemos visto , si bien podremos eliminar particiones ocultas e incluso  dejar disponibles  esas  particiones como unidades lógicas  , no siempre con las herramientas que nos proporciona el sistema operativo   podremos  ampliar la partición primaria con otras particiones   que hayamos podido liberar  y aglutinarlas todas en una sola primara, pero no desespere , porque existen otras vías  y son muy sencillas  y gratuitas  como vamos a  ver a continuación.

     

    Extender la partición con minitool partition wizard

    Aunque hemos visto que en algunas ocasiones podríamos ampliar nuestra partición con  herramientas que nos proporciona el so, también podemos usar  una herramienta  de gestión de partición, como por ejemplo  MiniTool Partition Wizard , la cual ofrece una opción gratuita  para extender una partición desde Windows 10.

    Además este programa  al ser  un gestor de particiones profesional, se puede utilizar para encargarse de muchas operaciones de gestión de discos, como por ejemplo, extender volumen Windows 10, formatear y borrar/copiar una partición, reconstruir el del disco MBR, clonar discos, migrar el SO a un SSD/HDD, etcétera.

    Para extender el volumen de la unidad primaria y solucionar este problema de falta de espacio, una vez  descargado  e instalado el  gestor de particiones para PC vamos a diferenciar  dos casuísticas:

    • Cuando dispone de espacio no asignado adyacente (puede encontrarse a la derecha o a la izquierda de esta) a la partición de sistema Windows 10 . Seguiremos los siguientes pasos:
        1.   Ejecutar MiniTool Partition Wizard Free Edition y, a continuación, dirijase a la interfaz principal. Elija la partición C de sistema, después elija “Move/Resize Partition” del panel de acciones para proceder a cambiar el tamaño de la particion C de Windows sin perder datos.
        2.  En la ventana emergente, arrastre la flecha negra para que ocupe el MAXIMO espacio no asignado. Aquí se encontrará marcada por defecto la opción “Using Enhanced Data Protecting Mode“, pues puede proteger sus datos si ocurriera un corte eléctrico de repente.
        3.  Finalmente,no se olvide a de aplicar los cambios  haciendo clic en “Apply” para llevar a cabo la ampliación de la partición del sistema.

     

    • Cuando no dispongamos  de espacio no asignado al lado de la partición del sistema en Windows 10.

    Si se encuentra en este caso de cómo extender volumen C Windows 10 sin formatear, la función “Extend” permitirá expandir partición Windows 10 tomando espacio libre de otras particiones o espacio no asignado del mismo disco. Vamos a ver los pasos detallados para extender volumen C Windows 10 con éxito:

    1.  Elija la partición del sistema Windows 10 y haga clic en “ExtendPartition” del panel ubicado a la izquierda.    También  se puede hacer clic derecho en la partición C y elegir la opción “Extend” desde ahí.
    2. Después, elija tomar algo de espacio de una partición o espacio no asignado y arrastre el control deslizante para decidir cuánto espacio libre tomar( lo ideal lógicamente es usar el maximizo disponible ) y después  haga clic en “OK” para volver a su interfaz principal.
    3. Ahora podrá ver que  la partición se ha ampliado, pero este efecto no se ha aplicado todavía en el ordenador, por lo tanto, necesita confirmar el cambio haciendo clic en “Apply” para realizar todos los cambios.

     

     

    Como vemos querido lector , no siempre el camino es fácil para ampliar el espacio , pero  en ocasiones   puede merecer la pena sobre todo cuando se utilizan herramientas mas amigables como acabamos de ver .