Modified phase table in stepper.cpp to enable stepping a bipolar motor using a twin H-bridge driver.
Fork of stepper by
Corrected single-stepping, now walking up or down just one phase table. Compile-time options for driving bipolar motor in any of single-phase, two-phase, or half-stepping. Coils remain engaged at end of specifed movement command - de-energize coils by issuing a motor.move(0) while already stopped.
Diff: stepper.cpp
- Revision:
- 2:fd11d89b8ce0
- Parent:
- 0:7b0c724fa658
- Child:
- 3:96bfb8b476f8
diff -r 94f55ebfe2db -r fd11d89b8ce0 stepper.cpp --- a/stepper.cpp Sat Aug 23 06:45:41 2014 +0000 +++ b/stepper.cpp Thu Dec 18 17:52:40 2014 +0000 @@ -17,9 +17,16 @@ #include "mbed.h" #include "stepper.h" - +/* +//Firing sequence for uni-polar (5+ wires) stepper (4x open-collector drivers required). const uint8_t pase_cw[4][4] = {{1, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 1, 1}, {1, 0, 0, 1}}; const uint8_t pase_ccw[4][4] = {{1, 1, 0, 0}, {1, 0, 0, 1}, {0, 0, 1, 1}, {0, 1, 1, 0}}; +*/ +//Firing sequence for bi-polar (4 wires) stepper (2x H-Bridge driver required eg L298 +//A+, B+, A-, B-) +const uint8_t pase_cw[4][4] = {{1, 0, 0, 0}, {0, 0, 1, 0}, {0, 1, 0, 0}, {0, 0, 0, 1}}; +const uint8_t pase_ccw[4][4] = {{1, 0, 0, 0}, {0, 0, 0, 1}, {0, 1, 0, 0}, {0, 0, 1, 0}}; + extern uint8_t pls_width[]; STEPPER::STEPPER (PinName xp, PinName xn, PinName yp, PinName yn):