Para hacer que ese tipo de giro paso a paso, debe producir lo que equivale a un sistema de corrientes de dos fases (90 grados aparte) en los devanados.
Si su paso a paso tiene patas etiquetadas como A y B para un devanado y C y D para el otro, desearía recorrer el siguiente patrón de corrientes
+A -B and +C -D .. where +A -B means current into A, returned on B, etc.
+A -B and -C +D
-A +B and -C +D
-A +B and +C -D
Cada ciclo a través de esos cuatro estados llevará al motor a través de una revolución eléctrica . Los Steppers suelen tener una gran cantidad de polos, por lo que tomará un número de ciclos antes de obtener una revolución mecánica completa del eje del motor.
Ahora tiene dos puentes en H, uno para el devanado AB y otro para el devanado del CD. Se trata de cuatro bits de controlador por devanado, ocho en total. (No sería prematuro optimizar esto a cuatro bits de inmediato, pero voy a omitir hacerlo por un momento)
Refiriéndose a la unidad del lado alto para el tramo A como AH, y al lado bajo como AL, y así sucesivamente, puede producir la secuencia de corrientes anterior al encender los transistores de la unidad de esta manera
AH AL BH BL CH CL DH DL
1 0 0 1 1 0 0 1
1 0 0 1 0 1 1 0
0 1 1 0 0 1 1 0
0 1 1 0 1 0 0 1
A estas alturas, debería ser obvio que los controles H y L para un medio puente dado siempre son la negación del otro. De hecho, si alguna vez maneja los lados alto y bajo del mismo medio puente, fumará el puente, por lo que es más seguro emitir solo un bit de control por medio puente, y usar un inversor de hardware para obtener el Control complementario.
También debe notar que la secuencia nunca enciende ambas unidades de lado alto (o ambas de lado bajo) para un devanado dado. La unidad B es el complemento de la unidad A. Así que, de hecho, podría reducir esto a solo dos bits.
Creo que si tuviera que manejar este tipo de motor desde un microcontrolador, podría usar un flip-flop dual D 7474 (D-FF) como un tipo de registro externo de 2 bits con salidas de doble riel. Cada entrada de datos del 7474 se engancharía a su propio bit de micro salida. Un tercer bit del micro conduciría el reloj. Luego, Q1 manejaría AH y BL, Q1 * impulsa AL y BH, y de manera similar, Q2 alimenta CH y DL, mientras que Q2 * va a CL y DH. Cada bit FF establece efectivamente la dirección de la corriente en uno de los devanados.
Luego, en el software, acaba de generar los dos bits para establecer las direcciones actuales de la forma que desee, y regístrelas en el FF haciendo que su reloj sea bajo y luego vuelva a subir. Entonces su secuencia de motor de dos fases es
clk AB CD
0 1 0 ; be sure to get D-FF inputs ready with the 0 state of the clock
1 1 0 ; b/c the 7474 will latch the values on the positive edge.
0 0 0 ; you want the data lines stable during the clock edge.
1 0 0
0 0 1
1 0 1
0 1 1
1 1 1
Entonces, a un costo de tres bits, puede pisar el motor, aunque siempre hay una corriente a través de ambas bobinas, por lo que no puede hacer girar el motor libremente ... a menos que use un cuarto bit para actuar como global habilitar para ambos lados de ambos puentes.