Subir a Inicio

Interface de driver Chino para TxapuCNC



Descripción

Para facilitar un poco las cosas en la realización de TxapuCNC, en vez de hacer nuestros propios PaperStepper, podemos utilizar unas placas con el chip L298N bastante económicas y fácilmente adquiribles por internet (ebay o similares).

Estas placas están pensadas para controlar un motor paso a paso mediante 4 entradas, como TxapuCNC sólamente utiliza 2, necesitaremos un circuito adaptador.

Para utilizar sólamente 2 entradas en vez de cuatro, nos fijamos en la tabla de control de las señales que excitan las bobinas de un motor paso a paso:


Cómo vemos, las señales del devanado 2 son las invertidas del devanado 1, y las del 3 las invertidas del 4. De ésta forma si tomamos las señales dev1 y dev3, podemos mediante electrónica invertir estas señales, y obtener las señales dev2 y dev4, ahorrando así un montón de pines en nuestro Arduino.


  

 

Esquema

Para invertir las señales de entrada utilizaremos un chip muy común, el 74LS04, que tiene 6 inversores, y nos permite controlar hasta 3 motores (si tenemos tres placas de drivers chinos).



En el esquema vemos un detalle de utilización con un eje (el X), donde observamos cómo invertimos la señal D1x (L4x) mediante el inversor y obtenemos la señal (L3x). De la misma forma la señal D2x aplicada directamente a L2x, la invertimos y obtenemos la señal de L1x.

También vemos que como TxapuCNC tiene una única señal de Enable, para desactivar automáticamente los motores al cabo de un tiempo para que no consuman demasiado (si te das cuenta, al utilizar sólo dos señales, siempre estamos alimentando al motor), la placa dispone de cables para llevar ésta señal a cada uno de los drivers.

El esquema completo para los tres ejes sería el siguiente:



Componentes

Un 74LS04 Séxtuple inversor.
Zócalo 16 pines DIP14.
Cables de varios colores.
Un trozo de stripboard de 9 filas x 14 agujeros
3 Drivers chinos con L298N.

Los drivers chinos los puedes conseguir por internet, yo lo conseguí en ebay:

 
Realización
 
El circuito está realizado con Inkscape , y tienes el documento imprimible al final de esta página, en el apartado de descargas.


NOTA: Las entradas de los finales de carrera no tienen una resistencia a 5V ya que las patillas de entrada de Arduino disponen de una resistencia Pull-Up interna. pero parece que esto le da problemas a la gente que no los utiliza. La solución es conectar las patillas D2-D7 a 5V. (perdonad que no lo haya indicado en las imágenes).


Una vez descargado y descomprimido el archivo, puedes imprimir el documento PaperStepperChino.pdf (sin aplicar ningún tipo de escala), para ello comprobaremos que la impresión se ha realizado a la escala correcta con la ayuda de la regla impresa situada en el lateral izquierdo de la hoja. Al colocar a su lado un regla en centímetros deberán coincidir las marcas.


En la parte superior derecha del documento tienes la PaperEtiqueta:


que puedes recortar y pegar sobre un trozo de stripboard de 9 filas x 14 agujeros.

Una vista del circuito por la parte inferior, te puede servir como referencia a la hora de cortar las pistas:




NOTA: 
Este circuito no lo he comprobado, por lo que tal vez contenga algún error. Si descubres alguno, por favor coméntalo para que pueda corregirlo. (Según comentarios de gente que lo ha realizado, funciona correctamente).


Conexión directa con Arduino

Si simplemente quieres utilizar la placa para mover un motor paso a paso con Arduino, en el documento de descargas tienes también un ejemplo de como conectarla directamente a un Arduino:



Información legal

0. Fallos y txapuzas no controladas.
Los circuitos publicados se han comprobado y funcionan correctamente. No obstante en el caso de que en una página se publiquen varios montajes diferentes de un mismo circuito (sobre un stripboard, PCB, ...), pueden existir fallos que no se han detectado en alguno de los montajes, ya que normalmente sólo realizo un montaje. En ese caso por favor notificad el fallo para que pueda corregirlo. muchas gracias.

1. Propiedad intelectual
Todos los derechos de propiedad intelectual del contenido de Txapuzas eléctronicas, están bajo una licencia Creative Commons Share-Alike, cuyo contenido podéis revisar en este enlace.
Por tanto queda permitido copiar, distribuir, comunicar públicamente la obra y hacer obras derivadas de la misma, siempre que se respeten los términos de la licencia arriba reseñada.
3. Actualizaciones y modificaciones de Txapuzas electrónicas
El autor se reserva el derecho a actualizar, modificar o eliminar la información contenida en Txapuzas eléctrónicas, y la configuración o presentación del mismo, en cualquier momento, sin previo aviso, y sin asumir responsabilidad alguna por ello.
4. Indicaciones sobre aspectos técnicos
El autor no asume ninguna responsabilidad que se pueda derivar de problemas técnicos o fallos en los equipos informáticos, que se produzcan a causa de los circuitos e ideas expuestos en el blog de txapuzas electrónicas, así como de los daños que pudieran ocasionar.
El autor se exime de toda responsabilidad ante posibles daños o perjuicios que pueda sufrir el usuario a consecuencia de errores, defectos u omisiones en la información facilitada.



El esquema, circuito impreso, descripción e imágenes están disponibles en el siguiente enlace:

Si tienes problemas con el enlace anterior, aquí puedes descargar todos los archivos de txapuzas

Notas
Para la realización de este proyecto se han utilizado los programas: Arduino, Inkscape, Openoffice, Gimp, Picasa, Fritzing
Si encuentras algún fallo, se te ocurre alguna mejora, o simplemente quieres hacer algún comentario, te lo agradeceré: Gracias :-)

48 comentarios:

  1. Muy interesante el driver L298 para controlar motores paso a paso. Cuando tenga tiempo haber si lo pruebo

    ResponderEliminar
  2. Magnifico que ganas tenía de volver a ver este blog en funcionamiento!

    Un fuerte saludo!

    ResponderEliminar
  3. El ejemplo de conexión directa a Arduino funciona perfectamente. Y si, para el mismo ejemplo, conectamos dos salidas de Arduino al inversor (que las convierte en cuatro, tal y como se indica en el montaje), también funciona sin problemas.

    Lo acabo de probar con motores bipolares.

    ResponderEliminar
    Respuestas
    1. Definitivo: Funciona, tanto el circuito ejemplo como la instalación completa para la cnc.

      (en mi caso utilicé motores bipolares y la fuente de alimentación de un ordenador.)

      He de decir que, tras usar primero los paperstepper L298N y ahora los paperstepper "chinos", sigo teniendo el mismo problema en ambos casos: una vez abierto el programa de fresado en Gambas, al finalizar el primer movimiento de motor (dure éste lo que dure), la fuente de alimentación se corta.

      Sigo probando.

      Eliminar
  4. Yo tambien lo he probado y funciona perfectamente.

    He tenido un problema que no tiene nada que ver con el paperchino, los pines 4,6,7,8 de mi arduino al parecer estan rotos, porque no funcionan,

    es normal que dejen de funcionar algunos pines ??

    Jose has probado con otra fuente ? yo tambien estoy con una fuente de pc y funciona.

    ResponderEliminar
    Respuestas
    1. Hola Kalidem. Respecto a la fuente, tendré una de 12V y 15A este lunes o martes. He decidido hacerme con una de estas industriales o externas o como se llamen porque con la fuente de PC no hay manera (cosa que no entiendo, ya que se trata de una fuente de 600W, pero bueno.....)

      Ya te informaré a ver como ha ido.....

      Por cierto, yo uso tres motores bipolares NEMA23 de 1 Nm y los alimento con 12V, ¿por favor, podrías indicarme qué modelos utilizas tu?

      Un saludo y gracias.

      Eliminar
    2. Hola de nuevo Kalidem.

      Con la nueva fuente no he tenido problemas.

      Respecto a lo que comentas de los pines 4,6,7,8 de tu arduino, creo que no los tienes rotos, y me jugaría un brazo a que te ha ocurrido los mismo que a mi: ¡¡¡¡¡¡¡LOS FINALES DE CARRERA¡¡¡¡¡¡

      Seguro que no has montado finales de carrera en tu cnc, ¿verdad?, pues tienes que conectar los pines D2 a D7 de tu arduino a masa, o si no el programa va loco y cree que están activas (algunas) y por eso no te dejará mover algún motor en alguna dirección (o más de uno).

      Pruébalo y ya contarás.

      Un saludo

      Por cierto, a Iñigo:

      gracias, gracias, gracias, gracias, gracias, gracias, gracias, gracias, gracias, gracias, gracias, gracias, gracias, .......

      Eliminar
    3. Hola Jose

      Yo estoy usando motores Nema17 3.7v 1.2A y los alimento con 5v ya que a 12V se calientan tanto que casi quema al tocarlos y me da cosa que se rompan. los saque de unas fotocopiadoras.

      En cuanto a los pines, hice pruebas con un driver + motor y el sketch para dar unos pasos en un sentido y otros en otro, y no funcionaba cuando usaba 1 o 2 de los pines que comento en el otro mensaje.

      Eliminar
    4. Buenas Kalidem.

      Con unos NEMA 17 no puedes pasarte mucho, es verdad.

      Y con respecto a los pines, si has realizado otras pruebas como dices...... pues entonces es posible que tengas algunos un poco "grogi".

      De todas formas, repito, si no utilizáis finales de carrera recordad conectarlos a masa o os pasará como a mi, dos meses montando y desmontado investigando a ver qué es lo que pasaba.

      Un saludo

      Eliminar
  5. hola a todos alguien me podria decir donde o con que nombre esta el circuito de conexion directa con el arduino???? es que no lo encuentro, soy nuevo en el blog y me ha parecido interesante ademas estoy iniciandome en el cuento de los motores paso a paso..

    ResponderEliminar
    Respuestas
    1. se me olvidaba dejo mi correo por si me pueden enviar el esquema de conexiones jampla1@hotmail.com

      Eliminar
    2. Hola James.

      En esta misma página, al final de la explicación de todo el circuito, con el título de "descargas" hay un botón enorme y, si haces clic ahí, te aparecerá la descarga que necesitas automáticamente. Verás que es un archivo ZIP.
      En el interior, entre otras cosas, verás un par de pdf. Uno de ellos muestra el circuito de conexión directa (o de prueba con un motor con el driver chino, para que nos entendamos).

      Te recuerdo que debes conectar las entradas ENABLE de tu driver chino (las dos) a directamente a 5V, si no, no funcionará.

      No se si me he explicado muy bien, jeje.

      Eliminar
  6. wow.. yo use esos drivers chinos .. pero en ves de usar el 74 04 use transistores y resistencias.. que estan en el paper steper L298 y me funciono ... pero biendo esta mejora.. creo que la implementare.. porque reducuiria el tamaño del ckto
    saludos y suerte

    ResponderEliminar
  7. Hola,

    Lo primero de todo agradecer el trabajo realizado y el interés mostrado por Iñigo en hacer este blog tan completo, ya que para muchos aficionados a la electrónica nos anima a meternos en proyectos al ver las cosas explicadas de forma tan sencilla y clara.

    Estoy construyendo la Txapu_CNC con drivers chinos y tengo un problema con mi fuente de alimentación. Me explico:

    Utilizo estos motores:
    http://www.aliexpress.com/product-gs/423241030-3pcs-NEMA17-78-Oz-in-CNC-stepper-motor-stepping-motor-1-8A-wholesalers.html

    Estos drivers:
    http://www.aliexpress.com/product-gs/576885450-L298N-Dual-Bridge-DC-stepper-Controller-Control-Motor-Driver-module-Board-wholesalers.html

    Este arduino:
    http://www.ebay.es/itm/130716771930?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649#ht_1954wt_971

    Una fuente de alimentación de PC, COMPAQ de 220W.


    Bien, pues al principio realizaba pruebas con un driver y un motor y funcionaba perfectamente. Modifique el ejemplo que viene por defecto en arduino y el motor funcionaba bien conectándole los dos enables a 5V fijos (salida arduino) y los 4 pines de entrada a salidas digitales de arduino. Pero en la entrada de 5v del driver solo conectaba la fuente, no el arduino.

    De repente tuve problemas con la fuente, esta se apagaba cuando conectaba los enables al arduino.

    Creo que es un problema de corrientes, las tierras no las tengo compartidas. El arduino va bien porque envía las señales correctamente y los motores hacen el intento de ir, pero sin los 12v es imposible. Por lo que creo que tengo que solucionar el problema de como conectar los Molex de la fuente a la entrada del driver o si tengo que conectar el arduino también ahí o si tienen que estar todas las tierras juntas y todas las tensiones de 5v juntas o no se. Pero el caso es que cada vez que lo conecto me salta la protección de la fuente.

    Agradecería cualquier explicación por absurda que parezca o algún ejemplo de conexión.

    Dejo mi email porque si alguien quiere enviarme algo.

    esepiki@gmail.com

    Muchas gracias por todo.

    ResponderEliminar
    Respuestas
    1. hola, a tu pregunta pues tienen que estar juntas todas las tierras, los 5 v los tomo del arduino para los integrados los 12 v de una fuente esas chinas de 12 v 10 amp. por cierto has retirado el jumper(5v_EN) para desactivar los 5 v del Ic L298.. ???

      Saludos

      Eliminar
  8. Los 5V no los he de juntar con los que suministra la Fuente de Alimentación?

    ResponderEliminar
  9. Iñigo, me gustaría que me explicaras como conectar la fuente de PC con el arduino y los steppers chinos, porque al final he quemado el 16u2 de mi arduino mega. Tengo un problema de corrientes seguro, porque los motores no se mueven y el programa en gambas se queda colgado. No se como suministrar los 5V a los drivers, si desde el arduino o desde la fuente. Y las tierras de la fuente y del arduino no se si las tengo que unir.

    Probé a meter los 5V solo con el arduino y los 12V con la fuente y queme el chip 16u2 del arduino. Asi que creo que tengo un problema de tierras. Me gustaría arreglarlo porque he comprado otro arduino y no me gustaría joderlo de nuevo.

    Si necesitas mi email para enviarme info es: esepiki@gmail.com

    ResponderEliminar
  10. Hola, estoy retomando esto de hacer la cnc, ya compre el arduino, quisiera saber si esta plaquita sirve como la que presentas http://articulo.mercadolibre.com.ar/MLA-436852716-placa-controladora-motores-l298n-puente-h-arduino-_JM, en caso que sirva que tipo de motor seria el correcto para terminar de armarla.
    Espero tu respuesta

    Muchas gracias!!!

    Patricia - Córdoba - Argentina

    ResponderEliminar
    Respuestas
    1. Hola Patricia,
      Aparentemente la placa que indicas es compatible.

      Eliminar
  11. Hola, yo nuevamente, quisiera me aconsejaras cual de estos motores deberia comprar http://articulo.mercadolibre.com.ar/MLA-431645583-motores-paso-a-paso-para-cnc-o-automatizacion-_JM

    ResponderEliminar
  12. teria como usar outro ci inversor no lugar do 74ls04 ? nao achei na minha cidade.

    rtimagawa@yahoo.com.br

    ResponderEliminar
  13. hola, soy un aficioado a la cnc pero se muy poco de electronica, actualmente tengo una placa arduino uno, driver l298 chino, y un motor psp EM483 de una impresora epson, ahora todo lo conecto perfecto como dice en el tuto de inigo saludos, y todo perfecto, ahora hasta hay yega mi conosimiento, no e como confugurar los pines 8 9 10 11 del arduino para que mi motor de vuelas, me gustaria que alguien me ayudar y me explicara como ago eso, o si tienen ya un archivo de como debe de ir configurado y con botones le agradeseria la ayuda y me lo pasaran, espero puedan ayudarme y pronto con mas conocimiento los podre ayudar saludos.

    ResponderEliminar
  14. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  15. holas, mi correo es hg26@hotmail.com lo que necesito si alguien lo tiene es el archivo ( Processing Source Code )

    ResponderEliminar
  16. Buenas tardes, en la CNC que estoy construyendo he montado un engranaje 1:1 para mantener el centro de gravedad lo mas bajo posible, pero el giro del motor se invierte, ¿como puedo hacer para cambiar el sentido del motor?

    gracias

    ResponderEliminar
    Respuestas
    1. Hola David
      ¿Quieres cambiar el sentido de giro del motor para utilizarlo en la TxapuCNC?
      Si es así puedes conectarlo al otro extremo de su eje, ya que por software es bastante complicado cambiar el programa.

      SL2

      Eliminar
    2. cambiando el orden de los cables de las bobinas se podría hacer? por ejemplo la bobina 1 conectarlo al OUT3 y OUT4 en vez de al OUT1 y OUT2

      Eliminar
    3. Hola David,
      Tienes razón, si cambias el conexionado de las bobinas puedes invertir el sentido de giro del motor. Intercambiando las bobinas L1 y L2, y a la vez invirtiendo los terminales de cada bobina, es decir:
      OUT1(L1)=> OUT4(L2)
      OUT2(L1)=> OUT3(L2)
      OUT3(L2)=> OUT2(L1)
      OUT4(L2)=> OUT1(L1)

      SL2

      Eliminar
  17. Hola Iñigo.

    Estoy realizando la parte electrónica de la cnc con los siguientes elementos:

    - Arduino leonardo
    - 3 paper chinos
    - 3 motores bipolares de dc 5.1v y 1 A

    La fuente de alimentación que utilizo es de 300 W de un ordenador viejo que tenia.

    Soy novato en esto de la electrónica y he realizado el stepper-chino lo mejor que he podido.

    Al principio conecté todo y empezó hacer movimientos pero sin sentido y al final termino apagándose la fuente.
    He probado a conectar solamente un eje y tengo:
    - El eje X : hace esos movimentos raros, como vibraciones pero sin moverse
    - El eje Y : lo realiza perfectamente.
    - El eje Z : no lo he llegado a probar.

    Las conexiones las realizo según viene descrito arriba, pongo los enable A y B de cada driver chino en steper y luego en A1(Arduino), conecto los pin 2-7 arduino a masa...

    No se lo que hago mal o lo que me falla.
    Necesito ayuda y me gustaria que alguién me pasase una foto de su cnc (la parte de electronica) para ver si las conexiones que hago son correctas. Mi correo:
    jmirabel88@gmail.com

    Puedo pasaros videos de lo que me hacen los motores si quereis

    Gracias a toda la comunidad y en especial a Iñigo por hacer estas cosas.
    Un saludo

    ResponderEliminar
  18. Solucionado:

    Lo tenia todo bien menos el chip 74LS04 que no se porque estaba fundido y me jodía todo lo demas

    ResponderEliminar
    Respuestas
    1. Hola Javier, me puedes ayudar con el firmware que utilizas para tu cnc?

      también soy novato en el tema y necesito ayuda.

      Estoy en facebook como: rey.arturo85@yahoo.es

      Eliminar
  19. Iñigo:

    He encontrado un pequeño error entre el gráfico a imprimir para la realización de esta interface en esta página, y el archivo que se descarga desde Skydrive.
    Fijate que la disposición de "L1z a L4z" es distinta en ambas imagenes, lo mismo entre "L1x a L4x". Yo me he guiado por el gráfico de Skydrive. ¿ese es el correcto?

    Mil gracias !!

    Edgardo.-

    ResponderEliminar
  20. Hola.
    Una pregunta se podria cambiar el 74LS04 por un 74HCT04N? es que tengo uno y me gustaria usarlo.
    Gracias!

    PD. Me encanta tu blog, sigue asi

    ResponderEliminar
  21. A mi con el Paper-Stepper L298N me funciona perfecto. Sin embargo con el Interface para el Chino el motor se vuelve loco y gira en el sentido que quiere. Y ya he probado de todo.

    ResponderEliminar
  22. Amigos auxilo! ya tengo todo listo pero ahora los motores se quedan como agarrotados intentan girar pero no lo hacen =/ ya conecte el d2-d7 a 5v y tampoco quedo alguien que me pueda auxiliar?

    ResponderEliminar
  23. D2 va a 5v y D7 a otros 5v o los 2 a los mismos 5v?

    ResponderEliminar
    Respuestas
    1. todos los puntos marcados como 5v se unen y van a los mismos 5v

      SL2

      Eliminar
  24. Hola, antes de de nada daros la enhorabuena por el magnifico trabajo realizado. Mi pregunta, aúnque creo que se ha comentado en el foro pero no lo he comprendido es la siguiente:
    ¿ Como debería modificarse el archivo para la CNC, Txapuzas_RX para poder utilizar el l298 Chino utilizando las cuatro entradas N1..N4? Tengo un arduino uno y creo que dispone dispone de pines más que sufientes para no utilizar el inversor.
    Muchas gracias, es un gran trabajo el que se esta haciendo en este foro.

    ResponderEliminar
  25. Hola soy nuevo en esto y quiero incorporarlo en la escuela donde me desempeño como docente ,tengo el arduino 2009 ,los driver l298 me faltaria saber el tema del sofware ,si alguien me puede orientar .mi email :jcrivas40@hotmail.com

    ResponderEliminar
  26. Buenas Iñigo. Quisiera seber si puedo usar el driver con uln2003 con esta interface ya que tengo 5 de esos por casa. Juraría que he visto en este blog en los comentarios que si que es posible pero no encuentro el hilo. Podrías decirme alguna cosa al respecto. Enhorabuena por tu trabajo y por compartirlo con el mundo.

    ResponderEliminar
  27. Mira:
    http://txapuzas.blogspot.com/2009/12/paperstepperunipolar-driver-de-potencia_12.html

    SL2

    ResponderEliminar
  28. Hola, gracias por todo esto. En la conexión del L298 chino directo desde arduino uno como el mostrado en la foto de más arriba, 8, 9, 10 y 11 al in1, in2, in3 e in4 respectivamente, como van en sketch de txapuRX.
    Muchas gracias Fernando

    ResponderEliminar
  29. Hola, muy bueno el tuto. Tengo un motor bipolar/unipolar de 5 pines y quisiera saber si es aplicable el stepper de la imagen, cómo debería pinchar los 5 hilos en el stepper..., el quinto hilo dónde debe ir, es común por lo que leo en al documentación.

    Saludos y Muchas Gracias,
    Javier R.

    ResponderEliminar
  30. Hola me quiero hacer parte de esta pagina me os podran deciros donde me inscribo ya que os quiero hacerme mi cnc tengo conosimientos en electronica y me gustaria ver si alguien me puede ayudar y explicar todo este rollo vale saludos y os espero su ayuda Carlos hernandez

    ResponderEliminar
  31. hola,necesito un poco de ayuda
    he probado a fabricar el papesteper y ahora estoy con el l298n chino,
    el problema es que solo consigo que el motor vibre y nada mas.
    he probado los dos diver y motores de 5 y 6 cables.y nada de nada
    estoy deseperado ALGUIEN PUEDE AYUDARME,muchas gracias

    ResponderEliminar
  32. Tengo arduino uno, expansión 32 salidas lpt con 74hc244 (2 solo. Osea 18 salidas)no se si va tengo puentes h caseros con lm386 para dos motores mitsuny 12v a bipolares 4 hilos(scanners epson)la impresora casera es de tres ejes mi idea es sin usar el lpt conseguir 12 salidas para los3 ejes se podria hacer con arduino????

    ResponderEliminar
  33. Hola amig@s. Primero felicitar a Iñigo por su labor como persona y como docente de la mayoria que estamos detras del telon.
    Despues saludar a toda esa aficion que ilusionada vibra con este tema, es un verdadero placer.
    Y finalmente, espero construir mi cnc gracias a todos los consejos que se van recopilando por ahi. De momento me da terror porque mis conocimientos son basicos y teniendo en cuenta que vosotros sabeis de electronica y quemais componentes, imaginaros yo que no se casi nada. Solo poseo la ilusion de poder hacerme una.
    Por ahora solo tengo el arduino uno, unos drivers de pololu y unos cuantos pap de epson.
    La parte mecanica no me da miedo, pero la parte electrica me cuesta un monton.
    Bien, animo a todos y seguid asi de ilusionados. Y a ti Iñigo, mil gracias por tu labor.

    ResponderEliminar
  34. Que excelente artículo, me encanta la explicación tan detallada, casi siempre te leo y me agrada que tu escritura sea tan fresca y versátil. Espero poder seguir disfrutrando de tus post. Muchos éxitos y suerte!

    ResponderEliminar