Controlling Stepper Motors Using Power IO Wildcard MOSFET Driver

For maximum efficiency, set MAX_STEPPERS equal to the number of stepper motors that you are controlling (but never more than 4). Motors are referred to by their indices 0, 1, 2 and 3. On the QCard there is a trade-off between the number of motors being controlled and the maximum stepping speed, limited by the available processing power of the 68HC11.
Controlling Stepper Motors Using Power IO Wildcard MOSFET Driver - schematic

Given that each interrupt-driven step requires 120 ┬Ásec per motor, while all 4 motors are stepping at their maximum speeds (1000 steps or half-steps per second in this application), the 68HC11 processor is busy about 50% of the time managing the motion via the low-level interrupt-driven utilities. Thus most applications would either use fewer motors or would raise the value of the MSEC_PER_TICK constant to decrease the maximum attainable speed of each motor. The PDQ Board has a more powerful processor, so using four motors at 1000 full- or half-steps per second consumes only 8% of the PDQ Board`s processing capability. A useful parameter in the stepper status structure is the signed 32-bit step counter that keeps track of the step count over a range of ┬▒2, 147, 483, 647 counts. Positive values represent clockwise rotation, and negative values represent counter-clockwise rotation. The Step_Count function returns a 32-bit pointer to this 32-bit variable in common RAM; it accepts the motor index as the input parameter. The Revolutions function in the demo program shows how to read and write this value. If the motor is stopped, the step count will not change during the interval. You can set the step counter to any value you want as long as the specified motor is not moving. For example, if you perform a HOME operation in which a microswitch is used to detect the home position of stepper motor 0, you could then set the motor`s...

Leave Comment

characters left:

New Circuits