Hello, everyone. We just finished our first project with the Odrive. So, I figured I would share it here.
The project is a skittle sorting machine using the Odrive to control two axis.
You can watch our video series on the project here:
The Odrive worked pretty well for us. The only thing we really had to work around was the lack of serial communication. First we tried to just connect our microcontroller to the Odrive as a slave on the spi bus. Initially this worked, but had inconsistent issues with the internal buffers in the Odrive. Not wanting to debug that deeply into the ST micro, we ended up switching to using the gpio pins as a type of parallel communication. This gave us 8 commands that we could send in one clock, which was enough for this application.
So, the Odrive has hard coded motion profiles for the feedwheel and one of the parallel commands is “go/stop.”
Then, there are 5 commands to tell the bottom servo motor to go to the position associated with each color of skittle.
The hole position are hardcoded offsets from the first hole. There is a command that allows you to set the position of the first hole.
The last command is used to home the bottom servo motor to the index on the encoder.
It was a fun project, and I am glad to finally see something like the Odrive being developed.