Go Down

Topic: New stepper motor library with accelerations etc (Read 11413 times) previous topic - next topic

mikem

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/

retrolefty

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

mstadtler


anfractuosities

Is ther e a way to use this to control a large amount of tiny stepper motors...like almost 200?

mikem

200 steppers: in principle yes, but I cant think of any arduinos with 800 digital output pins :-)

Cheers.

WRonX

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?

Grumpy_Mike

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.php
Where as a 4 wire motor is one where the controller controls the individual ends of the two coils.

WRonX

But still, it's not "2 wire stepper motor", it's "X-wire motor with controller" :)
OK, thanks!

Grumpy_Mike

Quote
But still, it's not "2 wire stepper motor"


True but that's what it is called.

anfractuosities

"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?

Perfo

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?

Yankee

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

mikem

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.

Yankee

Hmmmm- I guess it wouldn't be as simple as just changing to micros()?



























mikem

No, I would expect to have to deal with the micros() count wrapping etc.

Go Up