Bipolar Step Motor Driver

From Hive13 Wiki
Revision as of 03:15, 8 October 2009 by Traylerphi (talk | contribs) (Log)
Jump to navigation Jump to search

This is the wiki page for the Stepper Driver that TP is working on.

This project is a sub-project of DIY CNC Router.


I have been tasked with exploring the control of a 4-wire bipolar stepper motor for the DIY CNC Router project.


Being a form of brushless motor, stepper motors require that their windings are charged in a particular sequence with particular polarities. A motor driver is an electronic device that uses logic signals from a controller to connect the winding(s) of a motor to a power supply. The logic signals from the controller determine how and when connections are made. For the 50Ω bipolar stepper motors we need to drive, this boils down to two full H-bridges that can handle 12V with current spikes up to 400 mA, with an emphasis on minimum component count.

Phase I

Control our 4-wire NEMA17 bipolar test motor with some random controller board laying around my apartment using an EasyDriver board from Sparkfun. The EasyDriver board can drive one (1) stepper motor.

The EasyDriver board is being used for this control exercise because:

  • Jim already has one
  • It has a connection cable soldered to it that matches our test motor
  • It is cheaper than other ready-made alternatives suggested so far

Phase II

Attempt to build a low cost driver board and run this driver with the same random controller board.

The EasyDriver boards cost about $15 (plus S&H) each. I'll be trying to design a board that can be built for less than $45 to drive all three (3) motors we need for the project. The hope is to design something that can be incorporated into a kit we can call our own while being reasonable for another Hackerspace to replicate.

Phase III

If the home grown driver is green-lighted by DIY CNC Router team, build soldered board and then test driving and controlling actual project motors with a single Arduino controller.

Current Status - Active - Phase I

Phase I

  • In progress as of Oct 7th, 2009
  • Completion hoped for by Oct 13th, 2009
    • Arduino on order - shipment time may delay completion past the 13th
    • Rough draft of software complete, just waiting for board to arrive to test

Phase II

Phase III


Oct 7, 2009

  • Connector (mostly) repaired. Used a #5 jeweler screwdriver to remove pin clamp and re-attached it to wire. Clamp damaged by whatever original event damaged the cable (I received it damaged), so not 100% clamped. I took a picture of the clamp out of the connector, to be posted another time.
  • Arduino on order.
    • Software IDE downloaded and unzipped (man it's huge!)
    • Rough draft of exerise software written
      • Since this is just a 'make it turn' exercise, the pan is to use a potentiometer for control, the more the pot is turned left, the faster left the moter goes, etc.
  • Also ordered some cheap $1 hall-effect sensors (four) which could be of use to the DIY CNC Router project at some point.

Current Issues

  • Connector for the test motor has a broken wire that will need to be repaired
  • Other end of connector is soldered to the EasyDriver, so trying to connect Phase II prototype to test motor will be a problem
    • Actual motors for project have pigtail leads and not connectors

Next Steps

  • Fix connector
  • Setup development environment for my old AVR controller board (JackRabbit currently in use by Self-Guided RC Car AI project)