Acceleration in MultiStepper

909 views
Skip to first unread message

Frank Smith

unread,
Dec 17, 2015, 4:59:14 PM12/17/15
to accelstepper
I understand that MultiStepper doesn't support acceleration.
If I increment delays in my call to run() this will result in acceleration correct?
Are the missed calls to run() lost or just delayed?
Synchronized movement isn't as critical as final position.
Thanks, Frank

Frank Smith

unread,
Dec 17, 2015, 5:15:56 PM12/17/15
to accelstepper
Sorry, 'decrement' delays in my calls to run().  

gregor christandl

unread,
Dec 17, 2015, 6:30:26 PM12/17/15
to accelstepper

The calls are delayed, but not lost.
If you don't need synchronized movement, not using the MultiStepper class at all seems to be a better solution (to me).

--
You received this message because you are subscribed to the Google Groups "accelstepper" group.
To unsubscribe from this group and stop receiving emails from it, send an email to accelstepper...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Frank Smith

unread,
Dec 17, 2015, 7:40:13 PM12/17/15
to accelstepper


On Thursday, December 17, 2015 at 6:30:26 PM UTC-5, gregor wrote:

The calls are delayed, but not lost.
If you don't need synchronized movement, not using the MultiStepper class at all seems to be a better solution (to me).


It's actually creating an array of accelerated steppers that has driven me (no pun intended) to this solution.
I'm driving heavy parts (a 7x14" lathe with milling attachment using nema 17's) and they work great with acceleration, but without acceleration they won't start.
I'm old school and C++ classes & stuff overwhelm me sometimes.

Mike McCauley

unread,
Dec 17, 2015, 7:44:25 PM12/17/15
to accels...@googlegroups.com, Frank Smith
Acceleration with steppers in MultiStepper is not supported and not likely to
be: its a very difficult problem.

If you want acceleration use AccelStepper.
If you want coordinated movement of multiple steppers (and can accept fixed
speed) then use MultiStepper.

If you want coordinated, accelerating multiple steppers you either cook it
yourself or use something else.

Cheers.
--
Mike McCauley VK4AMM mi...@airspayce.com
Airspayce Pty Ltd 9 Bulbul Place Currumbin Waters QLD 4223 Australia
http://www.airspayce.com
Phone +61 7 5598-7474

Frank Smith

unread,
Dec 17, 2015, 7:49:44 PM12/17/15
to accelstepper, redm...@netzero.net
On Thursday, December 17, 2015 at 7:44:25 PM UTC-5, mikem wrote:
Acceleration with steppers in MultiStepper is not supported and not likely to
be: its a very difficult problem.

If you want acceleration use AccelStepper.
If you want coordinated movement of multiple steppers (and can accept fixed
speed) then use MultiStepper.

If you want coordinated, accelerating multiple steppers you either cook it
yourself or use something else.

Cheers.

Thanks, I'll probably start peeling the potatoes in the morning! ;)
 

Jaakko Fagerlund

unread,
Dec 20, 2015, 2:56:27 PM12/20/15
to accelstepper
Frank, I suggest using grbl as your motor controller if it is for CNC application as I think i understood your message.

Otherwise you have to implement your own Bresenham algorithm for linear movements, calculate te motor that limits the maximum acceleration and use that acceleration for everything and then just run it all through the algorithm to get syncronised movement with acceleration. AccelStepper library can't be used, as it doesn't do synchronised movements at all.

Frank Smith

unread,
Dec 21, 2015, 2:27:05 PM12/21/15
to accelstepper
Thanks everybody for your ideas.
Yes, JAAKKO, it is for a CNC project.  grbl would do it, but it's WAY more than I need.

My problem is calls to write to my I2C LDC take too long and interrupt stepper movements.

I think I'll write my own (hardware) timer driven stepper driver driver routine.

I rarely need to move than one stepper at a time, so it shouldn't be too difficult.

In any event this idea has moved off topic quite a bit. ;)
Reply all
Reply to author
Forward
0 new messages