Mi motor paso a paso funciona, pero no debería. O los cables están mal etiquetados o la secuencia es incorrecta

Tengo un motor paso a paso Nema 17 y un controlador TB6612 de Adafruit. Para controlar este motor paso a paso estoy usando una Raspberry Pi. No puedo averiguar qué cables de mi paso a paso corresponden a qué bobinas: la hoja de datos incluida con el paso a paso dice que los cables BLK y GRN son de una bobina, y los otros dos cables, RED y BLU, corresponden a la otra bobina. Esto podría ser cierto ya que la resistencia entre estos pares de cables es de alrededor de 30Ω.

Ahora, si lo conecto de esa manera a mi controlador (tiene dos salidas, una para cada bobina), el paso a paso solo vibra. Revisé todas las formas posibles de conectar el paso a paso y estas son las 6 formas que realmente funcionaron:

  1. BLK y RED a OUT1, GRN y BLU a OUT2
  2. RED y GRN a OUT1, BLU y BLK a OUT2
  3. GRN y BLU a OUT1, BLK y RED a OUT2
  4. BLK y BLU a OUT1, GRN y RED a OUT2
  5. RED y BLK a OUT1, BLU y GRN a OUT2
  6. GRN y RED a OUT1, BLK y BLU a OUT2

Los tres primeros giran en el sentido de las agujas del reloj, los otros tres en el sentido contrario a las agujas del reloj.

Solo para asegurarme de que tiene toda la información disponible, verifiqué todas las entradas posibles para mi controlador y obtuve que estas entradas producen los siguientes resultados:

[0,1,1,1] --> [1,0,0,0]

[0,0,1,1] --> [1,1,0,0]

[1,0,1,1] --> [0,1,0,0]

[1,0,0,1] --> [0,1,1,0]

[1,1,0,1] --> [0,0,1,0]

[1,1,0,0] --> [0,0,1,1]

[1,1,1,0] --> [0,0,0,1]

[0,1,1,0] --> [1,0,0,1]

De modo que, por ejemplo, si conecto los cables de mi paso a paso de modo que BLK y RED sean un par, y GRN y BLU otro, si la entrada de mi controlador es [0,1,1,0], genera [1,0, 0,1] y, por lo tanto, BLK es alto, RED es bajo, GRN es bajo y BLU es alto.

Aunque descubrí cómo hacer que mi paso a paso gire correctamente, quiero entender por qué funciona cuando la hoja de datos establece claramente que BLK y GRN son una bobina, y RED y BLU son otra.

información adicional

Si cambio la secuencia de entrada y, por lo tanto, tengo la siguiente salida:

[1,0,0,0] --> [0,1,1,1]

[1,1,0,0] --> [0,0,1,1]

[0,1,0,0] --> [1,0,1,1]

[0,1,1,0] --> [1,0,0,1]

[0,0,1,0] --> [1,1,0,1]

[0,0,1,1] --> [1,1,0,0]

[0,0,0,1] --> [1,1,1,0]

[1,0,0,1] --> [0,1,1,0]

Conecto el motor paso a paso como si BLK y GRN fueran una bobina y RED y BLU otra. Luego, mi motor paso a paso gira, pero de una manera que claramente no es deseable.

Agradeceré cualquier ayuda que pueda proporcionar.

Los enlaces a las hojas de datos pueden ser útiles.
Hola, @Tyler, no tengo ningún enlace a la hoja de datos del motor paso a paso, es solo la mitad de un papel que vino con mi motor. Agregaré el enlace al controlador.
Tal vez haya verificado las dos bobinas paso a paso de forma incompleta. Su resistencia DC debe ser idéntica. Y la resistencia entre ellos debería ser infinita. La resistencia al caparazón también debería ser infinita. También puede avanzar manualmente con una fuente de alimentación de CC, primero en una bobina, luego en la otra bobina, luego (invertida) en la primera bobina, luego (invertida) en la otra bobina... etc.
@glen_geek, cuando revisé, obtuve que dos pares de bobinas tenían una resistencia de CC muy similar, y la resistencia entre ellos arrojaba valores muy altos (del orden de mega ohmios). Entonces, creo que esas son de hecho las dos bobinas.

Respuestas (1)

Las bobinas están designadas , y debe conectar los "extremos" de cada bobina a los pines de salida opuestos para que pueda controlar la dirección de la corriente y, por lo tanto, la dirección en la que girará el motor.
Cuando pone un alto en negro y un bajo en rojo, y un bajo en verde y un alto en azul, el motor girará en sentido horario. Si invierte esto, girará CCW.

Información adicional:
después de pensar más en esto, creo que debería funcionar de la forma en que los conectó inicialmente (cuando simplemente vibraba), excepto que debe invertir las conexiones a una de las bobinas.