PARTE III: FirmWare y SoftWare, Configuración Marlin, Extrusores y cama caliente, EndStops, movimientos, calibración, calibración del extrusor, control de temperatura, ajuste PID, activación EEPROM.
4. Impresoras 3D : Firmware & G-codes
4
Firmware
Unión entre el hardware y el software de aplicaciones
• programa almacenado en el microcontrolador
• entornos tipo Arduino : lenguaje C
• contiene la configuración de la impresora
• ejecuta los comandos (G-codes) recibidos por
• puerto USB
• tarjeta SD
• controla los movimientos mecánicos
• mantiene las temperaturas de cama y extrusor
• verifica valores de seguridad para evitar daños
Diversas alternativas disponibles
• Marlin
• Sprinter, Repetier-firmware, otras ...
5. Impresoras 3D : Firmware & G-codes
5
Firmware
Marlin
Disponible en multitud de referencias y versiones
• más utilizado actualmente
• requiere adaptación a la impresora
• ficheros configuration.h y configuration_adv.h
• memoria EEPROM incluida en el microcontrolador
Parámetros de Configuración
• impresora : cartesiana, Delta, otras ...
• dimensiones : X Y Z R
• placa electrónica : RAMPS, RAMBo, otras ...
• control PID para ajuste de temperatura
• parámetros de seguridad
• pantalla LCD para gestión autónoma de la impresora
• tarjeta SD para ficheros G-codes
12. Impresoras 3D : Firmware & G-codes
12
Configuración Marlin
Calibración : Pasos/mm
Configuración mecánica de la impresora
• engranajes, poleas, correas, métrica ...
• distintos factores de conversión entre
• rotación de los motores : grados, pasos
• desplazamientos lineales ejes X,Y,Z, E : mm
• ajuste crítico para un funcionamiento correcto
Calibración
• pasos de motor desplazamiento de 1 mm
#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,4000,500}
• ejes X e Y : poleas dentadas y correas de transmisión
• eje Z : métrica de las varillas roscadas
• extrusor E : rueda dentada que arrastra el filamento
• ajuste experimental : prueba y error
13. Impresoras 3D : Firmware & G-codes
13
Configuración Marlin
Calibración del Extrusor
Ajustar flujo de plástico
• pasos/mm del motor
• proceso experimental
• ¡ muy importante !
DEFAULT_AXIS_STEPS_PER_UNIT
{80,80,4000, XXX}
14. Impresoras 3D : Firmware & G-codes
14
Process Variable
Temperature
Controller Output
Heat source
PV
Configuración Marlin
Control de Temperatura ...
15. Impresoras 3D : Firmware & G-codes
15
ON/OFF
• temperatura <> referencia
• enciende/apaga la resistencia
• error considerable
Proporcional-Integral-Diferencial
• corrección depende del error
• ajuste experimental previo
• calcular constantes Kp Ki Kd
• mayor precisión
Configuración Marlin
Control Temperatura ...
16. Impresoras 3D : Firmware & G-codes
16
Ajuste automático
• conexión vía USB a la impresora (Pronterface, Cura ...)
• comando M303 STTT (temperatura) para iniciar proceso (G-code)
• temperatura sube y baja varias veces ...
• al finalizar proporciona los valores de Kp , Ki y Kd
• se guardan en Marlin o EEPROM
Marlin
• configuration.h
#define PIDTEMP
#define DEFAULT_Kp Kp
#define DEFAULT_Ki Ki
#define DEFAULT_Kd Kd
• guardar modificaciones
EEPROM
• desde la pantalla LCD
Configuración Marlin
Ajuste PID ...
18. Impresoras 3D : Firmware & G-codes
18
Configuración Marlin
Activación EEPROM
Necesaria para guardar la configuración en la memoria EEPROM
Activación de EEPROM en Marlin
// the microcontroller can store settings in the EEPROM
// M500 - stores parameters in EEPROM
// M501 - reads parameters from EEPROM
// M502 - reverts to the default "factory settings"
// define this to enable EEPROM support
#define EEPROM_SETTINGS
// to disable EEPROM Serial responses comment this out:
// please keep turned on if you can
#define EEPROM_CHITCHAT
Modificación de parámetros
• seleccionarlos en la lista que aparece en la pantalla LCD
• al final guardar memoria
• algunos sólo pueden modificarse desde el código Marlin