You are on page 1of 28

Ajustando la electrónica de la impresora

3D
Escrito por Raúl Diosdado

Una vez que ya hemos cargado el firmware y conocemos los elementos


de la electrónica, estamos listos para ajustarla y comprobar que todo
funciona correctamente.
Para realizar los ajustes de la electrónica, vamos a necesitar:
 La placa Arduino.

 La RAMP's 1.4

 4 Pololus con sus disipadores de calor.

 1 Motor NEMA 17.

 Una fuente de alimentación ya sea regulada, de PC o compacta que nos de 12v.

 1 Destornillado cerámico para el ajuste de los pololus.


 1 Polímetro para medir la corriente.

Además de estos elementos, vamos a utilizar un software que nos


permite conectarnos a nuestro Arduino y mandarle las órdenes para que
se muevan los motores de los diferentes ejes. Este software es el
Pronterface, es un software algo antiguo y que no se suele usar para
imprimir, ya que actualmente existen otros software mucho más
avanzados que nos presentan mejores entornos y más opciones, pero es
un software perfecto para la calibración de la maquina y para comprobar
que todo funciona.
Puedes descargar Pronterface pinchando aquí.
Antes de empezar a calibrar la corriente de los pololus y comprobar que
los motores se mueven perfectamente, hay que montar los elementos de
la electrónica, para ello pinchamos la RAMP's 1.4 en muestro Arduino (al
que previamente le hemos cargado el firmware), ponemos un pololu en el
hueco que está asignado para el extrusor E0 y conectamos tanto el cable
USB como la alimentación de 12 (a la clema inferior).
El montaje debería de quedar como el de la imagen (los pololus del eje
X, Y y Z no son necesarios ponerlos, ya que solo vamos a ajustar un eje
a la vez).
Os dejo también un esquema del conexionado de toda la electrónica que
podéis usar durante todo el tutorial para conocer dónde va conectado
cada elemento.
Una vez que tenéis todo conectado, vais a intercalar el polímetro en la
alimentación del circuito, para poder medir la corriente que está
consumiendo el mismo.

Si no sabéis como medir la corriente que circula por el circuito, haced clic aquí para abrir una pestaña donde os enseño
como hacerlo. De todas formas tened mucho cuidado al hacer esta medida, ya que conectar el polímetro de forma
incorrecta puede dañarlo de manera irreversible.
Con todo conectado, vamos a ajustar la corriente que circula por los
pololus. Esta corriente no va a ser la misma para todos los ejes, vamos a
darle mas corriente al motor del extrusor (ya que tiene que hacer más
fuerza que el resto) y también le vamos a dar más corriente al eje Z (por
tener que alimentar 2 motores con el mismo pololu).
Al final, vamos a ajustar la corriente a 400mA para el Extrusor, 200mA
para el eje X e Y y 400mA para el eje Z.
Este ajuste de corriente se debe realizar con un destornillador cerámico,
pero si no disponemos de ninguno, lo haremos con un destornillador
normal y MUCHO CUIDADO, ya que podemos producir un cortocircuito
en el pololu y dejarlo inservible.
Para dejar pasar más corriente al motor, vamos a girar el destornillador
en sentido horario y para reducir esta corriente lo haremos en sentido
anti-horario.

Si el pololu que habéis comprado es el que tiene 2 potenciómetros, el


ajuste de la corriente lo haréis con el potenciómetro superior, mientras
que el inferior (que lo que hace es reducir las vibraciones del pololu y del
motor) lo vais a girar completamente en sentido anti-horario y desde esa
posición lo giraréis un poco en sentido horario (ajustarlo a oído).
Para hacer que circule corriente por el pololu y llegue al motor, debemos
de mandarle la orden de "mover motor", para esto abrimos el programa
que habíamos descargado previamente (el Pronterface), seleccionamos
el puerto al que hemos conectado nuestro Arduino, los baudios a los que
hemos configurado la comunicación (por defecto 115200) y le damos a
"conectar", veremos cómo parpadea un led en la placa y el programa nos
indica que se ha establecido la conexión.
En la siguiente imagen tenéis una captura de pantalla del Pronterface ya
conectado a nuestro Arduino donde podéis ver que la consola ha
cambiado de color indicándonos que ya esta operativo el programa.
Además, os indico el botón de extruir sobre el que debéis pinchar para
hacer que el motor que tenemos conectado a la salida del extrusor se
mueva.

Al pulsar sobre el botón de extruir vamos a ver como se mueve el motor y


la corriente que circula por el circuito sube, es en este momento cuando
debemos con el destornillador ajustar la corriente que deja pasar el
pololu, asignando la corriente que antes mencioné para cada eje.
Jugando con la electrónica
Una vez que tengamos todos los pololus calibrados, a modo de prueba y
para coger un poco de confianza con la impresora, vamos a conectar
todos los elementos con los que hemos estado trabajando.
Conectaremos los 4 pololus y los 4 motores, conectando seguidamente
el Pronterface y empezaremos a cacharrear moviendo con la consola del
Pronterface los motores en uno u otro sentido, al mismo
tiempo comprobar que los disipadores de los pololus no se calientan en
exceso, ya que si lo hicieran deberíamos de comprobar de nuevo el
ajuste de la corriente.
Si al final todo esto os sabe a poco y ya queréis rizar el rizo, podéis
cargar un GCODE en el Pronterface, el GCODE es el archivo que va a
reconocer nuestra impresora y el que va a hacer que se muevan los
motores de una forma u otra.
Aquí os dejo el GCODE que cargo en el video por si queréis cargárselo a
la electrónica y tocar algo de música con los motores.
Ajuste del movimiento de los ejes en tu impresora 3D Prusa
i3 Hephestos
POR Rubén Sierra / EN 3D, Aula BQ, Configuración, Programación / 27 DE NOVIEMBRE, 2014

Si estás leyendo estas líneas es que probablemente ya has montado tu impresora 3D y has
realizado las primeras piezas. El proceso ha sido algo elaborado pero no hay nada mejor que ver imprimir la primera pieza,
todos nos hemos quedado con esa cara de niño de cinco años con juguetes nuevos viendo cómo se imprime.

Pero claro, queremos que nuestras piezas sean más que perfectas, que sean tal cual nuestro diseño 3D, y lo que primero
miramos es que tenga las medidas correctas. El firmware de tu impresora está totalmente ajustado y calibrado tras realizar un
gran número de pruebas, pero en estas pruebas influyen muchos factores que solo afectan a tu impresora. La tensión de la
correa, el calibrado de los drivers, etc. En el firmwareoriginal se han ajustado los parámetros para obtener piezas correctas,
pero si quieres que tu pieza sea tal cual es tu diseño, tendrías que ajustar el firmware a tu impresora.

¿Qué hay que ajustar?


El ajuste que tenemos que realizar se encuentra, como digo, en el firmware. Básicamente la idea es que cuando nosotros
digamos a la impresora que se mueva 20mm, se mueva exactamente 20mm. No se debe mover ni un milímetro más. El
movimiento del eje depende de los motores, que se mueven los pasos que elfirmware le indica. Si nosotros queremos mover
10mm, el firmware se encargará de dar la cantidad de pasos al motor para que realice dicho movimiento. Ahí es donde entra
en juego el firmware y el valor de la variable “DEFAULT_AXIS_STEPS_PER_UNIT”, que transforma estos milímetros en pasos.
Esta variable en los corchetes tiene cuatro números separados por comas, que indican los valores de los cuatro ejes {X, Y, Z,
E}.
Variables a modificar en el firmware

Para poder modificar esta variable es necesario que descargues el código del firmware, lo modifiques con el programa Arduino
IDE y lo cargues en la electrónica. Para dicho proceso puedes ver un manual en el siguiente enlace.

¿Qué necesitamos?
Para ajustar dicha variable hay que hacer impresiones que podamos medir y así saber si el desajuste es por exceso o por
defecto. Recomendamos que la pieza test para realizar estas impresiones sea un cubo, como por ejemplo el que hemos
diseñado para tal efecto, que puedes descargar en este enlace:http://www.thingiverse.com/thing:566876. En la parte inferior es
un cubo de 20x20x20mm. Para realizar la medida es recomendable tener un calibre, si es digital mejor, así la precisión que nos
dará será de micras.
Cubo de calibración bq

Ahora que lo tenemos todo listo, lo primero será imprimir el cubo de calibración. Ten en cuenta que las aristas de dicho cubo
tienen que ser paralelas a los ejes, esto que quiere decir que no gires el cubo. ¿Por qué? Porque vamos a medir cada eje y
necesitamos que las aristas del cubo sean las distancias del eje X, Y, y Z.

Ejes X e Y

Vista en detalle del motor del eje X y el tensor de correa del eje Y

Cuando tengas la pieza impresa tienes que medir los lados del cubo con el calibre. Pongámonos en el caso de que la medida
que ha dado en el lado del eje X es de 22mm, eso es una medida incorrecta, esos dos milímetros sobran. ¿Cómo lo
ajustamos? A través de una regla de tres. Sabemos que la variable “DEFAULT_AXIS_STEPS_PER_UNIT” del firmware, para
el eje X, tiene un valor de 80. Por lo tanto si cuando hacemos 22 mm tenemos el valor 80, cuando tengamos el valor 20mm
tendremos un valor X. Realizamos dicha regla de tres haciendo (20*80)/22. Nos dará un valor, no desprecies ningún decimal,
ya que eso te dará más precisión (indica los decimales separándolos por un punto). Cogemos ese valor y lo ponemos en la
variable. Hacemos exactamente igual con el eje Y. Cuando lo tengas, carga el firmware de nuevo y vuelve a imprimir. Si las
medidas son correctas fenomenal, si sigue saliendo alguna imprecisión realizamos el proceso de nuevo.
Calibre con la medida correcta del cubo de calibración

Eje Z
¿Qué pasa con el eje Z? No es necesario realizar dicha calibración, ya que en este punto es una fórmula matemática la que se
tiene en cuenta los grados del motor, el ajuste de stepper en la electrónica y la métrica de las varillas. En este caso como la
varilla de la impresora Prusa i3 Hephestos es M5 su valor es 4000. Si lo deseas, puedes hacer la calibración del Z, pero este
nunca tiene problemas.

Eje E (extrusor)
Después de este proceso ya tenemos un cubo perfecto de 20x20x20 mm. Pero nos queda un eje que comprobar: es el llamado
eje E, que es el del extrusor. Tenemos que asegurarnos de que, cuando la máquina quiere extruir 30 mm, lo haga. En
el firmware la variable del extrusor tiene una gran cantidad de decimales dado todas las pruebas que hemos realizado con el
extrusor. Pero sí es posible que quieras revisar esa variable. Para ello tienes que comprobar que cuando extruye una cantidad,
es esa. El procedimiento es sencillo: hazle una marca al filamento referenciándolo por ejemplo con el marco. Después extruye
30mm, a través de un host como puede ser Cura, o por el menú de control en jog. Vuelve a tomar otra marca en el filamento
con la misma referencia. La distancia entre las marcas debe ser tal que coincida con la de extrusión, si no tendrás que ajustarla
con la misma regla de tres que en el resto de los ejes.

Cuando tengas los valores bien introducidos en la variable y cargado el firmware pertinente, la impresora tendrá la
configuración correcta para transformar las distancias en pasos para los motores.
Ajusta el PID en la Prusa i3 Hephestos con
Marlin
13/02/2015

me gusta
8+
Dificultad alta


Es posible que hayas notado que tu impresora Prusa i3 Hephestos no te hace caso en la temperatura y

varía todo el rato en torno al valor deseado. La temperatura exterior puede afectar a tu impresora

también. Si la has cambiado de sitio o si está en una corriente de aire se puede dar el caso de que todo el

tiempo esté oscilando la temperatura y nunca se fije en la deseada.


Esto es provocado porque el mecanismo encargado del calentamiento del hotend no está ajustado. Se soluciona de
una forma muy sencilla y es marcando los valores correctos del PID. Para comprender mejor dicho proceso, tenemos
que conocer qué es exactamente un PID.
Gráficas que muestran un PID no ajustado (oscilando en torno a la temperatura deseada) y un PID

ajustado (mucho más estable cerca de dicha temperatura)

Conociendo qué es el PID


El PID (proporcional, integral, derivativo) es un mecanismo de control a través de retroalimentación que calcula la
desviación o el error que tenemos entre una medición y un valor deseado. A su salida se aplica una señal con la que
intentamos ajustar todo el proceso para que la medición y el valor deseado sean iguales. Cuando obtenemos el error
cometido, el PID a través de sus tres constantes (Kp, Ki, Kd) realiza el ajuste correspondiente. En el caso de una
impresora 3D, su proceso de calentamiento se realiza con este proceso. Nosotros indicamos que queremos obtener la
temperatura de 210ºC, pero en el hotend hay otra temperatura, se resta la temperatura deseada menos la real y así
obtenemos este error. El error es aplicado en el proceso de PID para indicar al calefactor lo que se debe calentar.
Dicho proceso es constante y en todo momento se está realizando este bucle para obtener la temperatura correcta.

Diagrama de bloques de un control PID (fuente: Wikipedia)

¿Qué ocurre si el PID no está ajustado? Pues que tendremos una oscilación de la temperatura constante. ¿Por qué?
Pues digamos que la temperatura real está muy cerca de llegar a la deseada, pero si el PID no es el correcto, aplicará
demasiada acción al calefactor y volverá a pasarse de la temperatura. Y así podrá estar un buen rato hasta que se
ponga a imprimir. Si el PID está correctamente ajustado dicha oscilación disminuirá o directamente se eliminará
haciendo que el calentamiento del hotend sea mucho más rápido.
Hay que tener en cuenta que si has cambiado de habitación la impresora o si tienes la ventana abierta, esto puede
afectar al calentamiento del hotend y por lo tanto puede hacer que el PID que tenemos ajustado no sea totalmente
correcto para las circunstancias del momento. En el firmware el PID se calculó con unas determinadas condiciones
que pueden ser diferentes a las que tú tengas cuando vayas a imprimir. Por ello, si notas que la temperatura oscila en
todo momento o que cuando empiezas la impresión tarda mucho en tener la temperatura correcta, debes ajustar el
PID.

¿Cómo se ajusta el PID?


Para ajustar el PID tienes que estar conectado a la impresora a través de USB y usar un programa que permita poder
enviar comandos a la impresora. El Cura lo permite perfectamente. Para ello, lo primero que tienes que activar es la
interfaz para manejar la impresora por USB. Ve a “File” -> “Preferences” y a la pestaña de “Print window”. Para
conectarte con tu impresora tienes que seleccionar el puerto serie correcto en la sección de “Machine settings”. Añade
una pieza en la base para que puedas conectarte y pulsa en el icono de imprimir. Verás que te aparece esta captura.

Pronterface

Ya estamos conectados a la impresora. Si deseas comprobarlo puedes pulsar en el botón de home de cualquier eje
para ver como se mueve el motor correspondiente. Para ajustar el PID en el firmware existe una opción creada que es
un autotune, digamos que es el propio firmware el que te va a dar los valores correctos de Kp, Ki, Kd que debes de
tener. Ten en cuenta que es aconsejable que la temperatura del hotend para realizar el autotune esté a la temperatura
ambiente de la sala donde esté la impresora normalmente. Para empezar el autotune de PID tienes que enviar el
comando M303 S210. En este caso “S210″ lo que indica es la temperatura a la que normalmente vas a imprimir
(210ºC por ejemplo).
En cuanto envíes el comando verás cómo la temperatura empieza a subir, y al cabo de un cierto tiempo vuelve a
bajar, así varias veces. Cuando finalice el proceso del todo, te dará los valores Kp, Ki, Kd. En la imagen adjunta
puedes ver los que me ha dado al realizar la prueba.
Autotune finalizado y valores de las variables

Ahora tenemos que decir a la impresora que use estos valores en vez de los que tiene en el firmware. Tienes dos
formas de hacerlo: indicándoselo al principio de cada Gcode o modificando el firmware. Si deseas indicarlo al
principio de cada Gcode tendrás que ir al “start.gcode” en Cura y poner en el principio el comando M301 con los
valores que te ha dado el autotune . En este caso tendríamos que poner M301 P14.82 I0.8 D68.25 (ojo a las
mayúsculas, es importante respetarlas). Ten en cuenta que, para tener este PID, tienes que ponerlo en todos los
Gcode. Este proceso es bueno para probar si el PID es correcto antes de modificar el firmware.
Si, por el contrario, quieres añadir los valores en el firmware directamente, tendrás que descargar el firmware en el
siguiente enlace. Tendrás que modificar el archivo “configuration.h”, buscar la parte del “PIDTEMP” y los valores de
las variables “DEFAULT_Kp”, “DEFAULT_Ki”, “DEFAULT_Kd”. Modifica los valores que has obtenido de
autotune y ponlos en las variables.

Modificación de valores en el firmware


Cuando lo tengas guardado correctamente tendrás que cargar el código. Lo puedes realizar a través de Arduino IDE.
Para ello abre el archivo “marlin.ino” con el programa. Selecciona la tarjeta controladora correcta (en este caso es
“Arduino Mega 2560″) y el puerto serie correcto donde está puesta tu electrónica. Por último, pulsa en el icono de la
flecha hacia la derecha para cargar el código. Así tendrás ya cargado el firmware modificado.
Ya tendrás tu PID correctamente ajustado para tus condiciones y no debería oscilar todo el rato al calentar. Este
proceso lo puedes repetir todas las veces que quieras hasta que compruebes que es totalmente efectivo.
Configura Repetier-Host y Slic3r para nuestras Prusa i3
Hephestos
Página de inicio 2015 diciembre Configura Repetier-Host y Slic3r para nuestras Prusa i3 Hephestos

Pablo 2 de diciembre de 2015 3D 0


, , ,

Sois muchos los que preguntáis por la configuración de Repetier-Host y Slic3r para
nuestras impresoras 3D. Lo primero que debemos saber, es que no hay una
configuración única que haga que todos nuestros modelos se impriman bien. Es
necesaria experiencia y pelearse una y otra vez con la impresora para llegar a dominar la
configuración de Slic3r.

Dicho esto, os propongo una configuración polivalente que sirva de base para ir
cacharreando con ella. Las pantallas que no aparecen es porque pueden quedarse como
están por defecto.
Print settings – Parámetros de impresión
Layers and perimeters – Capas y perímetros
Infill – Relleno
Skirt and brim – Falda y borde

Support material – Soportes


Speed – Velocidad
Filament settings – Parámetros del filamento
Filament – Filamento

Cooling – Enfriamiento
Printer settings – Parámetros de la impresora
Bed Shape – Forma de la cama
Extruder 1 – Extrusor 1

You might also like