¿Qué es la EEPROM?
EEPROM responde a “Erasable Electronic Programmable Read Only Memory”
que se puede traducir como Memoria de solo lectura programable y borrable electrónicamente.
También se la conoce como E-2-PROM. Como su nombre sugiere, una EEPROM
puede ser borrada y programada con impulsos eléctricos. Al ser una
pieza que se puede gestionar por estos impulsos eléctricos, podemos
realizar todas estas operaciones de reprogramación sin tener que
desconectarla de la placa a la cual va conectada.
Los micro-controladores en varias placas Arduino tienen diferentes cantidades de EEPROM: 1024 bytes en el ATmega328, 512 bytes en el ATmega168 y ATmega8, 4 KB (4096 bytes) en el ATmega1280 y ATmega2560. Las placas Arduino y 101 si tienen un espacio EEPROM emulando de 1024 bytes. Recordemos que las placas Trigorilla son placas ATmega2560 con 4KB (4096 bytes).
Los micro-controladores en varias placas Arduino tienen diferentes cantidades de EEPROM: 1024 bytes en el ATmega328, 512 bytes en el ATmega168 y ATmega8, 4 KB (4096 bytes) en el ATmega1280 y ATmega2560. Las placas Arduino y 101 si tienen un espacio EEPROM emulando de 1024 bytes. Recordemos que las placas Trigorilla son placas ATmega2560 con 4KB (4096 bytes).
La EEPROM también se conoce como “non-volatile memory” o
memoria no volátil y es debido a que cuando se desconecta la energía,
los datos almacenados en la EEPROM no serán eliminados quedando
intactos. Las EEPROM más nuevas no tiene datos almacenados en ellas y
deben ser primero configuradas con un programador antes de ser usadas.
La información almacenada dentro de este dispositivo puede permanecer
durante años sin una fuente de energía eléctrica."1
La mayoría de las impresoras 3D incluyen un lugar para almacenamiento de bit (512K, 3K o más) llamado EEPROM (Electrically Erasable Programmable Read-Only
Memory ) que persiste cuando la energía está apagada. Marlin utiliza la
EEPROM para almacenar la configuración de la impresora y la carga la
próxima vez que se encienda la máquina. Cambiar el código fuente y
volver a cargar el firmware no cambian el contenido de la EEPROM (a
menos que haya un nuevo identificador de versión EEPROM indicando que ha
cambiado la organización general de la EEPROM).
¿Por qué debemos borrar la EEPROM?
Muchas veces cuando cargas el Marlin se quedan algunos datos en la EEPROM produciéndose cosas extrañas en la impresora "enanitos verdes, les llamo yo", a pesar de cargar el Marlin una y otra vez no funciona correctamente. Cargas el Marlin, pero quedan los datos de configuración en la EEPROM.
En mi caso la impresora Delta Plus de Anycubic no lograba hacer plana la cama con el parámetro delta_smooth a pesar que lo modificaba y volvía a cargar el Marlin.
Por sugerencia de un amigo del grupo de Anycubic "Héctor" me recomendó "borra la EEPROM y verás como se soluciona". Eso hice y la verdad que tenía razón.
El método que usé fue el siguiente.
En mi caso la impresora Delta Plus de Anycubic no lograba hacer plana la cama con el parámetro delta_smooth a pesar que lo modificaba y volvía a cargar el Marlin.
Por sugerencia de un amigo del grupo de Anycubic "Héctor" me recomendó "borra la EEPROM y verás como se soluciona". Eso hice y la verdad que tenía razón.
El método que usé fue el siguiente.
Abrí el programa Arduino y seguí la siguiente ruta:
file/Examples/EEPROM/eeprom_clear
Esto borra la EEPROM y carga el nuevo programa sustituyendo al Marlin, por lo que tendremos que reinstalar el Marlin de nuevo.
Nota: "Hay que tener en cuenta que las EEPROM tiene un tiempo limitado de vida, es decir, las veces que se pueden reprogramar puede ser de cientos o miles de veces, pero no son infinitas."
file/Examples/EEPROM/eeprom_clear
Esto borra la EEPROM y carga el nuevo programa sustituyendo al Marlin, por lo que tendremos que reinstalar el Marlin de nuevo.
Nota: "Hay que tener en cuenta que las EEPROM tiene un tiempo limitado de vida, es decir, las veces que se pueden reprogramar puede ser de cientos o miles de veces, pero no son infinitas."
Método gcode
Algunas placas ya viene habilitada esta opción y no es necesario modificar el código Marlin. La trigorilla parece que es una de ellas.
Si no viene habilitada estas funciones en la placa deberás modificar el Marlin de la siguiente manera. Dos opciones:
1) // Linea comentada , desactiva la función. Si comentas la línea, esta opción no se activa, y es como si no existiese. Comentar es colocarle "//" ya que normalmente en programación se agregan comentarios después de la "//" para que el mismo programador o cualquiera que lea tú código se entere lo que estás haciendo.
2) Linea no comentada , activada la función. Si quitas las dos barras del principio //, entonces la opción está activa.
Este método se usa en el entorno Arduino de programación y en otros lenguajes.
Deberás abrir el programa Arduino y en la pestaña o sketch "confguration.h" del Marlin, aparecerá el siguiente código
------------------------------------------------------------------------------------------------------------
// EEPROM
//
// The microcontroller can store settings in the EEPROM, e.g. max velocity...
// M500 - stores parameters in EEPROM
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
//define this to enable EEPROM support
#define EEPROM_SETTINGS
#if ENABLED(EEPROM_SETTINGS)
// To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
#define EEPROM_CHITCHAT // Please keep turned on if you can.
#endif
---------------------------------------------------------------------------------------------------------------------
Códigos Marlin para usar con la EEPROM
* M500 - Store parameters in EEPROM. (Requires EEPROM_SETTINGS)
* M501 - Restore parameters from EEPROM. (Requires EEPROM_SETTINGS)
* M502 - Revert to the default "factory settings". ** Does not write them to EEPROM! **
* M503 - Print the current settings (in memory): "M503 S<verbose>". S0 specifies compact
Webgrafía
- Ordenadores y portátiles. http://www.ordenadores-y-portatiles.com/eeprom.html
- Arduino EEPROM. URL: https://www.arduino.cc/en/Reference/EEPROM
- ¿Que es una memoria EEPROM? | Conceptos Básicos antes de comenzar con Arduino Cap Nº2 . Canal de Youtube de Salvador Ruiz Sedeño.URL: https://youtu.be/Bl1KEM_MlSc
- La guía paso a paso para tunear tu impresora 3D y conseguir piezas de la máxima calidad. URL: https://www.staticboards.es/blog/marlin-instalacion-configuracion/
ne habilitada estas funciones en la placa deberás modificar el Marlin de la siguiente manera. Dos opciones:
ResponderEliminar1) // Linea comentada , desactiva la fu https://coaching-mastery.com/emuladores-3ds-para-pc/