Usar transistores para minimizar el número de pines Arduino utilizados para este controlador de motor paso a paso

0

Muy bien, sé muy poco acerca de lo que estoy preguntando actualmente, pero aquí está la esencia de esto:

Quiero construir una máquina cnc a partir de algunas unidades de disquete antiguas. Compré un par de circuitos integrados L293D de doble puente en H para impulsar los motores paso a paso, y quiero interactuar con grbl. El problema que parece tener al diseñar un circuito adecuado para esto es que los circuitos para conducir motores paso a paso con el L293D implican dos entradas, una para cada dirección, y parece que grbl solo usa un pin Arduino para la dirección de cada eje.

Entonces, lo que he pensado es usar un pnp y un npn transistor para que actúen como una especie de interruptor de dos vías, cuando aplico el voltaje, uno se enciende, el otro se apaga y viceversa, de modo que básicamente 1 y 0 controlan el modo en que el motor girará y el "impulso de paso" proporcionará la potencia real del motor para moverlo en esa dirección.

Mi pregunta es: ¿funcionará esto o es lo que dije que carece de sentido? Solo entiendo que los transistores pnp y npn son algo así como un interruptor lógico "generalmente encendido" o "usualmente apagado", básicamente, así que ahí es donde se me ocurre ... Me gusta cómo funciona un puente H en la primera lugar.

Gracias por tomarse el tiempo, los diagramas que estoy viendo son:

grbl a los pines de Arduino: enlace

L293D conduciendo un motor paso a paso: enlace

    
pregunta eyashin

2 respuestas

1

Creo que lo que realmente busca es un expansor IO: enlace

Es un dispositivo digital relativamente simple. El Arduino se comunicaría con el expansor de IO a través de algún protocolo de comunicación estándar (generalmente I2C o SPI), y el expansor de IO mueve los pines en nombre del controlador.

En lugar de usar 12 pines en el Arduino para controlar directamente los puentes H, el Arduino usa 2 pines (en el caso de I2C) para comunicarse con el expansor IO, y el expansor IO controla directamente los pines. El Arduino diría "De acuerdo, Sr. IO Expander. Encienda su pin2 y apague su pin8", y el IO Expander establecería esos pines en consecuencia.

    
respondido por el CurtisHx
1

Creo que está utilizando el chip incorrecto para impulsar el motor paso a paso. El estilo de chip de controlador que debería estar utilizando ya tiene entradas de dirección y paso y se conectará directamente a la placa Arduino que ejecuta GRBL.

Aunque hay MUCHOS dispositivos disponibles en la actualidad, me gusta el DRV8825 de TI. Es bueno para aproximadamente 1.5 A por fase con un máximo de 45V de riel de suministro. Tiene disposiciones para reducir la corriente de la bobina a un nivel tan bajo como sea necesario para su motor en particular.

Puede ser difícil trabajar con este chip por sí mismo debido a la separación estrecha de los cables y la almohadilla térmica del lado inferior. Sin embargo, está disponible ya montado en una PCB con todos los componentes adicionales necesarios para que funcione. Simplemente conecte la placa a su controlador, el motor paso a paso y la tensión de alimentación y estará listo para funcionar.

Uno de estos proveedores es Pololu: DRV8825 y ellos ofrece un paquete de 5 módulos de controladores a un precio con descuento.

También puedes ver Geckodrive para obtener módulos de controladores más grandes (pero más caros).

    
respondido por el Dwayne Reid

Lea otras preguntas en las etiquetas