¿Cómo maneja un motor paso a paso con un módulo de controlador L9110? [cerrado]

-1

Tengo un módulo de controlador de motor de doble canal basado en dos puentes L9110 H:

La documentación y muchos, muchos tutoriales en Internet mencionan que esto se puede usar para impulsar dos motores de CC, o un motor paso a paso bipolar signle. Desafortunadamente, cada parte de la documentación o el artículo que puedo encontrar solo proporciona ejemplos de cómo dos impulsan uno o dos motores de CC, pero en ninguna parte puedo encontrar cómo conducir un motor paso a paso. Buscando en Arduino.cc, puedo encontrar instrucciones sobre cómo conectar el motor paso a paso a un puente H, pero no a uno de estos módulos controladores (muy comunes).

Supongo que conecto los cuatro cables del motor a los dos terminales de tornillo, donde los dos cables de una bobina se conectan a los terminales etiquetados "motor a" y los dos cables de la otra bobina se conectan a los terminales etiquetados "motor b ". También supongo que alimenta el circuito y el motor a través de los pines VCC y GND. Sin embargo, no estoy seguro de qué hacer con los pines A-1A, A-1B, B-1A y B-1B. A partir de los ejemplos en arduino.cc, deduzco que básicamente solo conectas estos a 4 pines digitales y luego usas la clase Stepper para manejarlo. ¿Alguno de estos pines necesita soportar PWM? Todos los ejemplos parecen usar los pines 8, 9, 10 y 11, por lo que no parece hacer ningún uso de la función PWM (ya que el pin 8 no es compatible con PWM).

Todo parece bastante simple, pero como no quiero freír ni mi arduino ni el motor ni el tablero, me pregunto si mi razonamiento es correcto. ¿Alguien tiene alguna experiencia con estos tableros que pueda arrojar algo de luz sobre el asunto?

    
pregunta Bas

1 respuesta

0

La clase Stepper de Arduino no usa PWM. Por lo tanto, no es necesario usar pines de PWM si esa clase de Stepper es todo lo que desea usar.

Para entender si lo freirás, intenta encontrar su hoja de datos. Uno que descargué (no sé de dónde) no es el fabricante, pero dice:

  • Voltaje de entrada: 2.5-12V DC
  • Cada canal tiene una corriente de salida continua de 800 ma

Debería poder evitar una forma de dañarlo manteniendo su voltaje de entrada por debajo de 12V.

Las cosas que harán que se fríe la placa del controlador son:

  1. El motor paso a paso consume demasiada corriente, es decir, más de 800 mA. Tú puede verificarlo observando la corriente de bloqueo del motor paso a paso, o resistencia y haciendo un cálculo de la ley de Ohm para la tensión del motor planeas usar.
  2. Cableado incorrectamente al motor.

Es muy poco probable que el Arduino se dañe siempre que esté solo conectado a tierra y los pines A-1A, A-1B, B-1A y B-1B de la forma que describió en su pregunta.

No no conecte los pines Arduino a los controladores de motor VCC.

Antes de conducir el motor, recomiendo conectar algunos LED (con resistencias) a través de las salidas, en ambas polaridades. Luego escribe y prueba un programa simple para ver que todo funciona. Mantenga las cosas simples, y no intente usar PWM, solo use la salida digital en los pines GPIO.

Hay lotes de ejemplos en la secuencia de pasos para impulsar los pines. Comience con el más simple y condúzcalo a mano usando cuatro escrituras digitales para cada fila:

  

1 0 0 0
  0 1 0 0
  0 0 1 0
  0 0 0 1

y vea si los LED funcionan como se esperaba.

Comenzaría con un voltaje bajo, menor que la clasificación del motor, para ver si algo se mueve.

Una vez que sepa que todo funciona para el caso simple, puede probar otros patrones de pasos. Podrías usar la clase Arduino Stepper que usa 'half-stepping'. También puedes intentar usar otras bibliotecas.

Incluso puedes probar a escribir código de microstepping usando PWM (cuando los cuatro pines deberán ser pines de PWM).

    
respondido por el gbulmer

Lea otras preguntas en las etiquetas