The big modification I'm contemplating to attempt is modifying the code so that instead of needing to call AccelStepper::Run frequently, instead use a 16 bit timer interrupt (timer1 on a UNO) and let the stepping happen in the background.
I have already done this with a simple linear speed algorithm using the "FlexiTimer2" library and a callback function.
I found the smoothness of drive is superb whereas it becomes lumpy using "co-operative multitasking" via the usual delay routines, or needing to frequently call into AccelStepper::Run (ala micros).
Hi,
On Sunday, July 06, 2014 11:47:19 AM jimc wrote:
> For what its worth, I ended up using a home-made ISR that only calls run()
> to avoid having to worry about delays when doing other things on an Arduino
> Uno R3.
Perhaps you can post some sample code so we can make an example?
Jose,
At this point, AccelStepper is not synchronized between axis. The library wasn’t written for that, and to retrofit would be a very big job. Maybe somebody will have time to do it, but at this point nobody has figured it out.
*Brian
Brian Schmalz
// Principal Embedded Systems Engineer |
product development services
Logic PD
T //
612.436.5134
NOTICE: Important disclaimers and limitations apply to this email.
Please see this web page for our disclaimers and limitations: