USB-nSTEP - Upgrade
Posted 17 November 2011 - 11:46 AM
Well, for me, it has some issues. First thing I found out is that the thing only drives unipolar steppers. This is not necessarily a bad thing but the severely limits the possible motors out there. Next issue there is no current limiting availablem no short circuit protection. It uses a pic that drives fets though optoisolators. So you have to be very careful with the motor you select or you can toast things real quick.
So, I want to run bi-polar motors off mine. I tried contacting the guy that made it and got no response so I am on my own. There are a few different micro-size stepper drivers out there. I chose the pololu A4988 stepper driver (http://www.pololu.co...og/product/1182) It has selectable current limiting, up to 16x microstepping, 2A motor capacity, short circuit and ground protection among other things. This is really what should have been on the board in the first place. At $12 it would have been the equivalent price of the extra opto and fets that are on the board and would have added a lot of features.
The problem is the stepper driver needs step and direction signals to operate. One line get a clock pulse, one pulse moves the motor a step, the direction of the motor depends on the state of the direction line. Logic high moves one direction, low the other. Unipolar motors in full step mode run with four phases 90 degrees out of phase with each other. I used a US Digital/LSI LS7184 Quadrature to step/dir IC to take the signals that would drive the first and third phase mosfets and output step and direction signals to the pololu driver. I drew up a small board that included all of this plus a voltage regulator for the logic as well as a dip switch to control the features of the stepper driver and LS7184. I designed the board to connect to the main board via a socket where the fets were.
I got the boards back from the group order from dorkbotpdx.org and put them together and started debugging. Only one real issue was I swapped the step and direction lines to the driver. A dremel and a couple pieces of wire fixed that.
So here it is, it's a bit bigger but gives me things like current limiting, 8 times the resolution, and short circuit protection. The only down side is there is no real way for me to incorporate putting the motor to sleep when it is idle to save power. I would need a logic signal from the pic to do this but I dont have access to this code.
USB-nSTEP upgrade by macona, on Flickr
Posted 17 November 2011 - 04:08 PM
But it is a really cute hack!
Posted 17 November 2011 - 06:44 PM
Using one of the extra output pins that are no longer needed for the mosfets you can send a signal to put the driver into sleep mode when idle. I could put a small timer on that output that would pull the sleep pin low after a predetermined time and then reset when it sees a state change. At worst I would loose a pulse but at 16x I doubt I would notice.
But in reality the motor only pulls 400ma and compared to all the other stuff that goes to complete my setup I doubt I would ever notice it.
This is the motor I chose to use, seems real nice, especially for the price.