BS with 12 stepper motors + SERIN
slimboyfatboyslim
Posts: 6
hi,
Could it be possible to connect 12 stepper motors with BS (whatever module), control them individually + SERIN command from PC?
I've found a 2-wire method for 1 stepper
http://www.doc.ic.ac.uk/~ih/doc/stepper/control2/connect.html
+
I've found something about IO expander
http://www.phanderson.com/stamp/i2c/8574.html
I'm not sure if I'm on the right track. Will appreciate for any suggestions.
Cheers,
SFS
Could it be possible to connect 12 stepper motors with BS (whatever module), control them individually + SERIN command from PC?
I've found a 2-wire method for 1 stepper
http://www.doc.ic.ac.uk/~ih/doc/stepper/control2/connect.html
+
I've found something about IO expander
http://www.phanderson.com/stamp/i2c/8574.html
I'm not sure if I'm on the right track. Will appreciate for any suggestions.
Cheers,
SFS
Comments
I suppose the answer to your question is - how much and what kind of control do you want of these 12 stepper motors, and how often will they be "updated". In a similar application using R/C servos in lieu of steppers, the answer would be a quick, somewhat qualified YES. I say "qualified" because that application WOULD require the use of a servo controller board to actually drive the servos independently, keep them updated, and have them maintain their positions.
Now, some of these elements do not apply to steppers. In general, so long as a stepper motor has power applied to it, it will attempt to maintain its present position, unless the mechanical torque on the shaft exceeds the magnetic "detent". So too, they don't need updating at timed intervals to operate. OTOH, to gain independent motion, one must have some sort of driver, such as the ULN2003 in the first link you provided.
Beyond that, one must now adress the matter of available time. If there are time constraints (rapid updating, random movement, or many other processor tasks to perform) then one must offload the burden of updating the drivers to some sort of co-processor. A typical co-processor can be found here in the BI-STEP unit which can control up to two steppers independently:
http://www.parallax.com/detail.asp?product_id=30004
However, if there are no times contraints, only simple movements are required, and there is not a great time demand on the processor, then the port expander method you referenced might work quite well. It's really a matter of what the entire application is doing, and how much time there is to accomplish it.
FWIW, I'd say you ARE on the right track, it's just that there may be a few more considerations to be made, before a final decision/design can be made. Remember too that you will have a pretty decent power load with 12 steppers, NOT that the Stamp will see that however!
Regards,
Bruce Bates
Doesn't mean you can't do what you want, you just might have to do it another way.
Post Edited (Philip Gamblin) : 6/26/2005 9:45:14 AM GMT
Yes, you can switch the output of the stepper driver and then run each stepper.
no you can't because as soon as you disconnect the power, the stepper will freewheel and you will lose posistion.
yes, you can, if you short the legs of the stepper as that creates an electronic brake withing the coils of the stepper itself.
no you can't becasue when you open the wires, it free-wheels, and if you try to power into shorted wires, you may blow up your driver.
yes you can, if you only ever need to move one motor at any one time.... OR, you need to move multiple motors all in unison.
Why you picked twelve leaves me guessing.
A PCB driller could be a project. only one axis need move at any one time. and for drilling only, the X and Y axis could be locked. There are some neat electronical clutches in printers.
Nope, no guesses for 12.
Dave
You could use binary bits to cause discreat motion in two steppers at once. Using pins 8, 9, 10, 11 for one and 12, 13, 14, 15 for the other
1 2 4 8 16 32 64 128
1 0 0 0 1 0 0 0 = 17
0 1 0 0 0 1 0 0 = 34 thier both moving the same direction
0 0 1 0 0 0 1 0 = 68 still going, but you could stop one
0 0 0 1 0 0 1 0 = 72 one still went, one stopped -
If you found a IC chip 'I think it might be called Decade' that will just give room to express a larger number, you could run more, maybe 12.
typically a driver does not have any interputer chips, but if you pulse out at 5µS for forward and 15µS for reverse, all you need to do is watch the pulse speed and then switch the direction when the pulse changes.
Dave