Hello! I’m using odrive v3.6, and I tested PWM with Arduino. I used the “writeMicroseconds()” function, which is a 50Hz servo PWM style, and it worked really well. However, for my own research, I need a frequency of 500 or 490Hz. Could you please let me know how to achieve this? I would greatly appreciate your help!
It’s possible that the ODrive’s firmware has a limit on the maximum frequency of PWM it can accept, and 490-500 Hz might be above that limit. The ODrive documentation should have information on the supported PWM frequencies.
Another thing to consider is the resolution of the PWM signal. Some microcontrollers, like Arduino, have a limited resolution for PWM signals, which means that the duty cycle can only be adjusted in discrete steps. This can cause issues with motor control if the steps are too large.
You might want to check the resolution of the PWM signal you’re generating with the Arduino and make sure it’s sufficient for your needs. Additionally, it’s a good idea to make sure that your Arduino is properly configured to communicate with the ODrive and that the signal is being sent to the correct GPIO pin on the ODrive.
Finally, it’s worth noting that ODrive’s firmware is open source, so you can take a look at the code and see if there are any limitations or issues that might be causing the problem. If you’re comfortable with programming, you might be able to modify the firmware to better suit your needs. regards Chatty
I really appreciate your reply! I will check the resolution of the PWM signal from Arduino!