Go Down

Topic: New stepper motor library with accelerations etc (Read 13302 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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy