Hi all, i just got my first Odrive and got it to work with some hoverboard motors from a previous project.
All is well except i get some oscillations at low RPM. Is it just because of the build nature of these motors or do i need to tweak some values to get it smooth low rpm operation, if so what sort of values should i be looking at tweaking?
Second question is about encoders, i had to solder some 22nF capacitors for the hoverboard hall sensors. Do i need to do the same thing for brushless motors with A and B encoders?
The basic issue is that Hall sensors only have 6 pulses per motor pole-pair - they are an extremely low-resolution encoder.
To get good performance at low speeds, you need a higher resolution encoder.
Secondly, it depends on how much noise is being coupled from the motor to the encoder wires, but yes, adding 22nF capacitors can be useful with other encoders (especially with an index pulse, since a spurious transient on that could cause a lot of problems)
Thank you for your reply. One more thing. When i have my arduino hooked up to the odrives via the GPIO pins (pwm), i get the motors twitching back and forth. Do you think a filtering circuit will help?
If you’re on the 0.5.1-rc firmware then there might be a few more settings for PWM inputs, for min/max values of the PWM for instance.
But I’d caution that PWM is a stupid, backwards, lowest-common-denominator way to connect an Arduino to an ODrive.
Use the serial interface. The ASCII protocol is pretty simple, and they have an Arduino library.