hi everyone,
as part of larger project, wrote library controlling stepper motors attached easy drivers, big easy drivers, or of allegro driver chips use step/dir interfaces.
there are, of course, libraries already. mine differs, think, in few key points:
- lgpl instead of gpl. imo important libraries avoid dictating how other people license rest of code.
- consistent motor speed regardless of drive mode, set in rpm. if change drive mode while motor moving, speed not change.
- consistent position index (measured in 1/16th steps) regardless of drive mode, after changing drive modes, position 1000 refer same location before
- linear acceleration, without heavy math or floating point numbers. can set acceleration in rpmpm (rpm per minute) or turn off entirely. acceleration allows drive heavier loads , reach higher speeds.
- handling of ms1/ms2/ms3 pins using user-friendly enum specify chosen drive mode.
- accurate timing. if set speed of motor 120 rpm, move @ 120rpm... not 115 or 125. assuming, of course, call work() method enough.
- automatic handling of enable pin if desired
i hope others find useful. on github: https://github.com/risitt/kissstepper
i've tested easy driver. should work flawlessly big easy driver , allegro step/dir-based chips, since haven't been able test of them, i'm kept library in "beta" state.
hopefully helps give arduino community has helped me many years!
as part of larger project, wrote library controlling stepper motors attached easy drivers, big easy drivers, or of allegro driver chips use step/dir interfaces.
there are, of course, libraries already. mine differs, think, in few key points:
- lgpl instead of gpl. imo important libraries avoid dictating how other people license rest of code.
- consistent motor speed regardless of drive mode, set in rpm. if change drive mode while motor moving, speed not change.
- consistent position index (measured in 1/16th steps) regardless of drive mode, after changing drive modes, position 1000 refer same location before
- linear acceleration, without heavy math or floating point numbers. can set acceleration in rpmpm (rpm per minute) or turn off entirely. acceleration allows drive heavier loads , reach higher speeds.
- handling of ms1/ms2/ms3 pins using user-friendly enum specify chosen drive mode.
- accurate timing. if set speed of motor 120 rpm, move @ 120rpm... not 115 or 125. assuming, of course, call work() method enough.
- automatic handling of enable pin if desired
i hope others find useful. on github: https://github.com/risitt/kissstepper
i've tested easy driver. should work flawlessly big easy driver , allegro step/dir-based chips, since haven't been able test of them, i'm kept library in "beta" state.
hopefully helps give arduino community has helped me many years!
thanks sharing.
i don't see description of api on github page maybe missed ?
i wonder if library suitable driving multiple motors in coordinated way required cnc or 3d printing? example motora moves 237 steps in same time motorb moves 87 steps.
...r
i don't see description of api on github page maybe missed ?
i wonder if library suitable driving multiple motors in coordinated way required cnc or 3d printing? example motora moves 237 steps in same time motorb moves 87 steps.
...r
Arduino Forum > Development > Other Software Development > Stepper Motor Library for Easy Driver, Big Easy Driver, Allegro STEP/DIR chips
arduino
Comments
Post a Comment