Ahora que tenemos hecho esta parte es cuando lo aplicamos al concepto de smooth. Se trata de tener un circuito que genere pulsos de forma programable, es decir, que si le doy como dato "255", me de muy pocos pulsos por unidad de tiempo y si le doy como dato "0" me dé un número máximo de pulsos por unidad de tiempo, para todos los demás sería su equivalente.
En la segunda imagen que puse arriba se ve un módulo (el derecho) con el icono de un reloj, dentro de ese módulo está el generador de pulsos programable. Haciendo doble clic veremos lo siguiente:
Vemos una tabla que recibe los datos y van a ser "traducidos" a periodos de tiempo. Esa tabla contiene los datos de un smooth real. Si este circuito fuese trapezoidal entonces no necesitaría la tabla.
Este circuito lo que hace esencialmente es repetir el periodo (pin "us", marca el tiempo entre un pulso y el siguiente) el número de veces marcado en la tabla de la dirección/dato que corresponda.
Características del circuito:
En el circuito principal veréis a la izquierda varias "cajas" con nombres como R500...R4000. Son tablas que contienen smooth de diferentes velocidades de reacción. Por ejemplo con "R500" es un smooth rápido y puede servir para motores que vayan a recorrer distancias cortas. El R4000 es el más lento de todos. Calcular los datos de un smooth no es algo trivial y es por eso que he dejado varias configuraciones y dé margen para ser ajustado a un proyecto en concreto.
En realidad este diseño está pensado para ser manejado con un driver de impresora 3D, es por ello que la parte que maneja el motor no la he integrado dentro del circuito principal, y es por ello también que tiene los pines de salida "dir" y "step" a la vista, porque es ahí donde se harían las conexiones al driver de impresora 3D.
Son muy pequeños, puedes ajustar la corriente máxima, permiten micro-pasos (esto es la leche!) y son muy muy baratos.
Por pedagogía no he utilizado todavía estos drivers porque he creído necesario profundizar en el funcionamiento de los motores de pasos, pero a partir de ahora los siguientes proyectos que haga con este tipo de motores llevarán esos drivers.
Adjunto ICE y un saludo.
Otro cambio que se puede hacer es toquetear (si uno se atreve) dentro de la configuración del Marlin, aunque hace años que dejé de hacerlo una vez que me iba bien, y recuerdo que el eje Z en este sentido (como el que comentas) era bastante puñetero.
Marlin (y otros firmwares parecidos) ya llevan incluido el "smooth", al menos para los ejes X e Y, incluso pueden tener en cuenta "la velocidad de la aceleración" y se le nombra como "Jerk" (equivale a una tercera derivada, donde la segunda derivada sería la aceleración y la primera es la velocidad).
Gracias por tu comentario y aprovecho para comentar que quizás me ponga a investigar/comprobar si este circuito "smooth" pueda servir con motores DC de toda la vida, aunque lo que tengo pensado es convertir el motor DC en uno de pasos gracias a un encoder y tendría como máximo 4 pulsos por vuelta. Ya hice algo parecido en este sentido [* ver post data] pero las inercias eran tan fuertes que siempre había un corto balanceo al parar (a veces persistente). Que el motor inicie y termine de forma suave quizás ayudaría a eliminar esas inercias, no lo sé, pero es algo que me gustaría experimentar en breve.
Un saludo!
post data:
1.) https://www.youtube.com/watch?v=7LCj__UI_s4
2.) https://www.youtube.com/watch?v=o5FU0IMdsDs
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/1c06eb59-b2a4-496c-b17d-3a794b0e05bbo%40googlegroups.com.
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/cc53454c-88e3-4ee3-9137-fb5d30606ff8o%40googlegroups.com.
Hola Ángel,Quizás la tardanza se deba a que la impresora tenga (no lo sé) una varilla roscada típica de las de 8 mm, esas tienen "un paso" muy corto...