I was waiting to see my odrive board functionning… and finally it seems to work. fingers crossed.
In the past, I have used some pretty classic steppers from arduino with step/dir commands to move two steppers in parallel.
In order to better use my motors, instead of linearly sending steps (basically use a fixed delayMicroseconds(us) between steps, ex: 200us ), I have designed a simple math model calculating “how much time should I wait between steps” to have a much smoother acceleration and decelleration. (prevent missed steps, go faster, and move more weight)
Typically, from what I understand, when i send to odrive
p 0 1000 0 0
The first motor will make 1000 steps in a linear fashion
I would like to get similar acceleration/deceleration functionality with odrive. But i’m puzzled about how i should implement it.
- should i code it directly in the odrive fireware ? => I beleive it’s where this code would belong. but unfortuntately i am really uncomfortable with odrive source code and brushless motors principles generally speaking)
- so maybe i can fall back to fast clocked arduino-like platform (ex: chipkit maybe?) and use odrive step/dir interface to send steps one by one with the right timing between steps. => it’s a bit ugly/clumsy but i think i can do it.
- should i use some raspberry pi to send p commands through usb by small chunks of x steps with increasing speed until i have the right count of steps? (then race between steps per commands and usb communication speed?)
- or should i sponsor someone for the code to be implemented in odrive since i seem unable to code it myself ?
How do you suggest I proceed ?