Controladora para Motores Paso a Paso para CNC (Version 2)
Esta es una re-edición mejorada de la controladora paso a paso Versión 1, que puedes ver aquí. Si tienes dudas sobre algunas de las cosas que se dicen en este artículo, tal vez puedas aclararlas mirando el articulo de la primera versión.
Vamos a darle un pequeño lavado de cara para optimizar la controladora paso a paso de la Versión 1. En primer lugar, he decicido cambiar el microcontrolador y el software. La razón es sencilla, el PIC 16F84A está ya muy obsoleto, es caro en comparación con otros más modernos y además necesita de un oscilador externo - en nuestro caso era un cuarzo y dos condensadores- para funcionar. Así pues, le ha llegado su hora. El elegido para el cambio es el PIC 16F88, que basicamente es igual externamente para mantener la compatibilidad. ya que mantiene el mismo patillaje. Aunque no nos engañemos, es bastante más potente. Además, incluye un oscilador interno seleccionable de hasta 8Mhz, que nos será muy util para eliminar espacio y componentes. También elimina la necesidad de tener una linea de alimentación para el MCLR, pudiendo eliminarse.
Un cambio menor ha sido en la alimentación estabilizada del microcontrolador, añadiendo dos condensadores al LM7805 para evitar un poco los picos de tensión. La razón es que, el PIC 16F88 es mucho más sensible a los cambios bruscos de tensión de alimentación y con la configuración antigua, al recibir las subidas y bajadas de tensión -que suceden en todo el circuito al conectar y desconectar bobinados de los motores-, el microcontrolador se colgaba.
Otra modificación ha sido la inclusión de dos drivers para los MOSFETs. Estoy de acuerdo en que a lo mejor rompe la sencillez del circuito y la facilidad de encontrar los componentes, pero tampoco es así. MICROCHIP vende un modelo muy barato, el TCLXXXX y MAXIM-IC otro, el MAX626. Ambos son muy económicos y fáciles de conseguir. Pero no está todo perdido para los amantes de la sencillez, es perfectamente aceptable cambiar ambos componentes por la configuracion de transistores BC547 de la Versión 1. Aunque habría que tener en cuenta que la configuración de transistores invierte la señal de salida del PIC.
Por lo demás, el circuito se mantiene practicamente igual. Al montarlo me dieron mejor resultado los IRF540 para motores de mas de 1A por fase, pero igualmente funcionaban los IRF610 de la primera edición.
En cuanto al software, decidí prescindir del software de la web de TURBOCNC, más que nada porque ya no es compatible con los nuevos PICs ni parece que lo vayan a actualizar. Así pues, aquí dejo mi versión tanto en C/C++ programado en CCS, como la versión ya compilada en un .hex. En principio, yo la programé para obtener el patrón de salida de paso completo, es decir, el que más torque da, aunque sólo habría que añadir unas pocas de lineas más para hacer que la salida fuera para medio paso (half-step), hasta se podría poner un botón o un jumper para seleccionar el estilo... tal vez para la 3a Edición.
Por último comentar que el diseño del circuito no incluye los dichosos diodos en antiparalelo (flyback, freewheeling...). Es sorprendente la cantidad de nombres que puede llegar a tener. He de reconocer que he buscado una solución al siguiente dilema y he hecho mis propias pruebas. En teoría los MOSFETs de potencia como los que usa el circuito incluyen este diodo -la triste realidad es que aparece al contruirlos, pero eso es otra historia-, así que no haría falta añadir uno más, pero la verdad es que muchisimos autores en diferentes circuitos -otros no- añaden un diodo en antiparalelo con la carga inductiva, es decir, cada fase del motor paso a paso. Yo he hecho mis pruebas, pero a falta de mejor instrumental para analizar los transitorios al conectar y desconectar las cargas inductivas, lo único que he sacado en claro es que funciona bien de las dos maneras. Tal vez no me haya encontrado aun con un motor suficientemente grande como para poner en serio peligro el resto del circuito.
El circuito funciona de manera similar a la 1a edición, siendo necesario regular la corriente para lo motores con la resistencia variable, con el fin de no quemar los motores con el uso continuado. Si alguien se pregunta por qué hay un hueco tan grande en la placa entre los mosfets y los drivers, es para dejar sitio para poner disipadores, si lo que te gusta es poner motores de muchos amperios. ¿La placa podría haber sido más pequeña sin ellos? Si, bastante más, pero hay que ser flexible en los motores que podamos conectar.
En conclusión, este circuito elimina componentes y conecta/desconecta fases de los motores mucho más rapido, asi que podemos llegar a mayores frecuencias de trabajo y velocidades en los motores.
SOFTWARE
- La versión en C/C++ del programa y el encabezado los puedes descargar aquí, por si quieres modificarlos o compilarlos tu mismo.
- Si solamente quieres programar el microcontrolador, bájate el archivo ya compilado. Ojo, es la versión de paso completo (full step).
HARDWARE
Como siempre, las fotos:
| < Prev |
|---|


