¿Cómo averiguo cuál es el problema con mi configuración de un motor paso a paso bipolar con un controlador L293DNE conectado a Arduino?

4

Utilizando esta hoja con un Arduino Uno Estoy intentando conducir un motor paso a paso bipolar. He arrastrado todas las conexiones 6 veces y lo he vuelto a intentar ahora, pero aún así el paso a paso solo hará una vibración extraña cuando esté conectado y subo el esquema. He comprobado el emparejamiento de las conexiones con un multímetro, así que sé que ese no es el problema, pero en algún lugar de mi conexión debo haber estropeado algo. Si me puede ayudar, he subido algunas capturas de pantalla de mi configuración en la parte inferior de la publicación. No estoy pidiendo que los observe a fondo para encontrar mi error, solo si quiere echar un vistazo rápido para comprobar si hay errores obvios.

Hoja de datos del motor paso a paso Especificaciones del motor paso a paso

También es útil cualquier consejo sobre errores comunes al conectar los steppers con este tipo de controlador a Arduino. O cualquier otro error de novato.

Carga de esquema a Arduino. He copiado de esta página: enlace

También probé con el uso del biblioteca Stepper.h estándar de Arduino.cc y modifiqué los valores con dos pines. . Mismo resultado, solo vibraciones aleatorias desde el paso a paso.

Esquema:

Antesdeconectarloscablesdepuente:

Conexión de transistores NPN:

Serealizarontodaslasconexiones:(aquíconectéelconectorquevaalabateríasoloalafuentedealimentaciónde5venelArduino,loheintentadoconunafuentedealimentaciónde12v,quedaelmismoresultado)

No sé si es útil, pero puedo proporcionar más imágenes.

    
pregunta hakonbogen

1 respuesta

6

Tengo muchos años de experiencia con los circuitos impulsados por motores paso a paso y no hay nada básicamente incorrecto en el esquema que ha proporcionado. Se ajusta a los requisitos de la hoja de datos. El hecho de que el motor zumba también indica que tiene energía para el conductor, que tiene señales lógicas conectadas al conductor y que el conductor está conectado al motor.

Para encontrar fallas en este circuito, necesitará un multímetro, un par de LED pequeños y un par de resistencias (rango 330R a 680R).

Primero, revise las fuentes de alimentación:

  1. Verifique que todas las conexiones de Gnd estén conectadas entre sí: su Arduino Gnd, el controlador de alimentación + 5V Gnd y el motor + 12V de alimentación Gnd. Si no, nada va a comportarse como usted espera.

  2. Con todo lo que está conectado y encendido, use el multímetro para verificar que tenga 4.5V a 5.5V entre el pin 16 y Gnd, y 10V a 15V entre el pin 8 y Gnd. Si no, necesita corregir esto primero.

Conecte cada LED en serie con uno de los resistores. Luego, conecte una combinación de resistencia de LED entre + 5V y el pin 7, y la otra entre + 5V y el pin 10. (Puede verificar que el LED es el correcto al conectar su suministro de 5V y la resistencia de LED entre + 5V y Gnd). Sus inversores de transistores NPN encenderán estos LED al mismo tiempo que bajan los pines del controlador invertidos para que pueda ver exactamente lo que está pasando con las señales de su unidad.

Ahora, modifique su código Arduino para que se ejecute a un ritmo lento, algo así como 1 paso por segundo será perfecto, y observe los LED. Si su código es correcto y Arduino está correctamente conectado al circuito, debe observar lo siguiente:

  1. Cada LED debe encenderse y apagarse cada 2 segundos, (4 pasos para que cada LED complete su ciclo). Si alguno de los LED no parpadea, verifique que los LED estén conectados correctamente y que el Arduino esté conectado correctamente al circuito.

  2. Cada LED debe estar encendido durante la mitad del tiempo, 2 pasos encendidos y dos pasos apagados. Si este no es el caso, verifique su código Arduino.

  3. Solo un LED debe cambiar el estado de cada paso. Si ambos cambian juntos, ambos encendidos al mismo tiempo, o uno encendido y el otro apagado al mismo tiempo, entonces el motor no tiene información de dirección y no girará. Se moverá alternativamente desde la posición de retén a una posición energizada (menos de medio paso) y retrocederá. Si este es el caso, regresa y mira tu código Arduino, tienes un problema de software, no un problema de circuito.

  4. Si los LED parpadean en ciclos de 4 estados, según lo anterior, entonces las señales del variador son correctas. Su enfoque ahora debe cambiar al enlace conductor-motor.

  5. Desconecte las conexiones del motor a los pines 3 y 6 y mida la resistencia del devanado del motor con un multímetro. Debe ser un valor entre 25 y 50 ohmios. Si no es así, no tiene el motor que cree que tiene, o si la resistencia es muy alta (o circuito abierto), a pesar de su comprobación, el motor no está correctamente conectado. En este caso, desconecte los otros dos cables y encuentre un par que mida la resistencia correcta entre ellos y conecte esto a los pines 3 y 6, y los otros dos a 10 y 15.

  6. Si los cables del motor a los pines 3 y 6 tienen la resistencia correcta, reconéctelos y verifique lo mismo con los cables entre los pines 10 y 15. Si un par es correcto, pero el otro no, entonces tiene un motor defectuoso y no girará bajo control.

Si todo lo anterior está bien, pero el circuito aún no funciona, entonces has agotado mi imaginación. Hazme saber lo que encuentres y haré todo lo posible para ayudarte.

Eventualmente, cuando todo funcione, elimine las combinaciones de resistencia de LED, solo eran ayudas de diagnóstico. Hay algunas pequeñas mejoras en el circuito que haría:

  1. Reduzca las resistencias de extracción de salida del inversor a algo así como 2k7, (como en la corriente de entrada máxima especificada, podría estar cayendo un voltio allí); y

  2. Agregue algunos buenos condensadores de desacoplamiento al controlador IC (100nF de cerámica entre los pines 16 y Gnd, y algo más de 100uF a una clasificación de no menos de 50 V entre el pin 8 y Gnd.

Esto mantendrá las cosas agradables y ordenadas, y más resistente a las interferencias y los cambios de temperatura, pero no hacerlas NO es tu problema.

Por último, no haga funcionar este circuito con un suministro de motor superior a 18V. Los diseños de silicona originales de esta familia de controladores eran propensos a fallar si incluso pensaba que el voltaje del motor iba por encima de su máximo de 36V. Y muchas personas se han desprendido cuando conducen cargas inerciales que hacen que los motores regeneren la energía en el suministro del motor, lo que aumenta momentáneamente el voltaje de suministro y explota al conductor. La tensión máxima regenerada es igual a la tensión de alimentación, así que manténgala a menos de 18 V y no puede matar al conductor al regenerarse.

¡La mejor de las suertes!

    
respondido por el Billysugger

Lea otras preguntas en las etiquetas