0
Offline
Jr. Member
Karma: 2
Posts: 80
Arduino rocks
|
 |
« on: April 25, 2010, 05:57:41 pm » |
Hi, I have just made available the AccelStepper library. AccelStepper significantly improves on the standard Arduino Stepper library in several ways: Supports acceleration and deceleration Supports multiple simultaneous steppers, with independent concurrent stepping on each stepper API functions never delay() or block Supports 2 and 4 wire steppers Very slow speeds are supported Subclassable Extensive API Download from http://www.open.com.au/mikem/arduino/AccelStepper/
|
|
|
|
|
Logged
|
|
|
|
|
Left Coast, CA (USA)
Online
Brattain Member
Karma: 279
Posts: 15339
Measurement changes behavior
|
 |
« Reply #1 on: April 25, 2010, 07:21:40 pm » |
Very nice and very useful. Thank you for sharing your contribution.
I think the best attribute of the Arduino platform is all the software library and project examples that the community shares with the user base.
Lefty
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Jr. Member
Karma: 0
Posts: 88
Arduino rocks
|
 |
« Reply #2 on: April 25, 2010, 08:25:34 pm » |
Just what I needed! 
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 10
Arduino rocks
|
 |
« Reply #3 on: June 08, 2010, 07:37:03 pm » |
Is ther e a way to use this to control a large amount of tiny stepper motors...like almost 200?
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Jr. Member
Karma: 2
Posts: 80
Arduino rocks
|
 |
« Reply #4 on: June 08, 2010, 10:00:00 pm » |
200 steppers: in principle yes, but I cant think of any arduinos with 800 digital output pins :-)
Cheers.
|
|
|
|
|
Logged
|
|
|
|
|
Siepraw, PL
Offline
Newbie
Karma: 0
Posts: 45
No time, stroking Cat...
|
 |
« Reply #5 on: June 09, 2010, 03:41:26 am » |
It may be off-topic, but what does "Supports 2 and 4 wire steppers" mean? I thought the smallest number of stepper motor wires is 4?
|
|
|
|
|
Logged
|
|
|
|
|
Manchester (England England)
Offline
Brattain Member
Karma: 278
Posts: 25577
Solder is electric glue
|
 |
« Reply #6 on: June 09, 2010, 05:34:38 am » |
A 2 wire motor is one that is attached to a controller and just uses step and direction pulses. http://www.8051projects.net/stepper-motor-interfacing/stepper-motor-connections.phpWhere as a 4 wire motor is one where the controller controls the individual ends of the two coils.
|
|
|
|
|
Logged
|
|
|
|
|
Siepraw, PL
Offline
Newbie
Karma: 0
Posts: 45
No time, stroking Cat...
|
 |
« Reply #7 on: June 09, 2010, 08:21:13 am » |
But still, it's not "2 wire stepper motor", it's "X-wire motor with controller" OK, thanks!
|
|
|
|
|
Logged
|
|
|
|
|
Manchester (England England)
Offline
Brattain Member
Karma: 278
Posts: 25577
Solder is electric glue
|
 |
« Reply #8 on: June 09, 2010, 08:50:03 am » |
But still, it's not "2 wire stepper motor" True but that's what it is called.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 10
Arduino rocks
|
 |
« Reply #9 on: June 09, 2010, 10:23:06 am » |
"200 steppers: in principle yes, but I cant think of any arduinos with 800 digital output pins "
how about multiplexing the steppers into a grid?
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Jr. Member
Karma: 0
Posts: 94
Arduino rocks
|
 |
« Reply #10 on: June 09, 2010, 10:26:54 pm » |
I guess as long as your multiplexor holds the value and you can change it quick enough to stop the motor stuttering then it should work.
I noticed most folk use a decoding chip to control the phasing of the steppers. Why can't the Arduino do the decoding and provide the correct phasing? Obviously the outputs would have to go through a driver of some sorts but I'm not sure why the decoder is the popular route?
|
|
|
|
|
Logged
|
|
|
|
|
St. Louis, Missouri
Offline
Sr. Member
Karma: 0
Posts: 274
Arduino rocks
|
 |
« Reply #11 on: October 03, 2010, 02:36:28 pm » |
I noticed the pulse rate is limited to 1000 steps/sec which is a bit slow for my application. Is this a limitation of the Arduino board or the software and is there any way to improve this?
Thanks, Greg
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Jr. Member
Karma: 2
Posts: 80
Arduino rocks
|
 |
« Reply #12 on: October 03, 2010, 04:34:24 pm » |
Its a limitation due to the fact that I use millis() to compute the time of each step, so its limited to max 1000 per sec.
|
|
|
|
|
Logged
|
|
|
|
|
St. Louis, Missouri
Offline
Sr. Member
Karma: 0
Posts: 274
Arduino rocks
|
 |
« Reply #13 on: October 03, 2010, 09:55:52 pm » |
Hmmmm- I guess it wouldn't be as simple as just changing to micros()?
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Jr. Member
Karma: 2
Posts: 80
Arduino rocks
|
 |
« Reply #14 on: October 03, 2010, 10:41:39 pm » |
No, I would expect to have to deal with the micros() count wrapping etc.
|
|
|
|
|
Logged
|
|
|
|
|
|