Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Dual MC33926 Arduino Shield and 1209 Stepper Motor



It is possible to use the Dual MC33926 Motor Driver Carrier with an Arduino controller to drive a stepper motor; however, the code Jeremy posted above will not work directly since it is intended for the Dual MC33926 Motor Driver Shield for Arduino, which has additional circuitry to control it with DIR/PWM signals. You can see the extra components used by comparing the schematic diagrams on each board’s product page. One solution might be to add that circuity to your setup so it functions like the shield.

Alternatively, you could modify the code to use the appropriate control signals. This would involve changing the way the setSpeeds() command works in the library or changing the setSpeeds() commands in each case of the switch statement to the equivalent commands for the Dual MC33926 Motor Driver Carrier.



Above is the code I used. It is Jermey’s code with void loop() altered. I just want to turn a stepper motor (nema 23) one way, pause for a little, then turn it back to its original position (turn the other way). It works if I take out the delay between the multi_step functions. However with the delay it turns then delays then the next turn is in the same direction. How can I get this to turn one way, delay, then turn the other way (opposite direction)?

Also, no matter how long I try to delay it for, after a certain number about 1000 (delay(1000):wink: it wont delay any longer.
Thank you for any help I really need it.


Hello, jsolarek.

Can you provide more details about your setup (e.g. Arduino board, motor shield, power supplies, stepper motor electrical specification, and connections) and post close-up pictures clearly showing how you have everything connected? Does your driver get hot? If you reduce the delay argument in your multi_step commands (e.g. 1000 instead of 5000), does it work with the delay(1000)?

- Amanda