Dear ODrive Community,
My name is Jakub, I am happy to join this community and learn from you.
tl;dr: What is the sensitivity of Odrive current measurements? Could I measure currents from 100mA to 3200mA reliably to get the torque approximation? (for a motor with 3.2A rated current).
I have a miniature linear rail and guideway with a rack and pinion drive and a small BLDC motor. The motor is Nanotec DF45 with 3.26A rated current and 9.5 peak current and 13Ncm rated torque.
The rack is attached to a plate which exerts the force on some surface.
My intention is to replace conventional piezoelectric force sensor with ODrive current measurement features. I Would like to measure force that would be recalculated from torque ranging from 0Ncm to 13Ncm, that is:
Gear diameter = 12mm; Gear r = 6mm
So to get the force limit:
Force on Gear diameter for rated torque and current = 13 Ncm * 10/6 * (1/cm) = 21.66 N
How sensitively I could measure the changes in the motor torque?
What should be the main considerations for the motor and encoder selections? It looks like I might need a low rpm gimbal motor, and an absolute encoder or encoder with index that will facilitate ODrive anti-clogging algorithm.
I know that there might be some critical information missing here. I will be happy to learn and clarify this if you point out these. Thank you for your time devoted to this matter.
I think your motor will be too small for the ODrive, unless you change some current shunt resistor values. See this thread: Brushless fan heats up too much too quickly
I’ve also tried running a tiny motor (AP03). It can be done very carefully in gimbal mode (which does not use current feedback but is not suitable for getting the maximum torque out of a motor) but in the normal mode I quickly get smoke out of the little motor even when setting a 1A current limit, 0A demand, and powering the ODrive with its minimum supply voltage. That’s because as stated in the other thread, the current feedback resolution is not that high, and the ODrive is geared towards motors approaching 100A rating.
You’d want to change the shunts (and patch the firmware accordingly) to run this motor. Probably you’d want to increase the resistance by a factor of 10, so you get similar signal-to-noise ratio as you would for a 25A motor.
Thank you for your help @towen and am sorry for writing that late! I will be changing the shunt resistors to achieve that. Do you know I if I can have two different types of shunt resistors on one v3.6 board? Will firmware handle that? (Assuming 2 different motors with significantly different current requirements plugged to this board)
Of course, the firmware is open source, so it can be made to “handle” it, but you’d need to have a very particular “hack” for your board. Normally it is set as a constant that applies across both axes, so you’d have to add your own ‘If’ statement or macro, wherever it is used.