I am currently working on a setup where I use an ODrive-controlled motor to drive a product through a reduction gear set. My goal is to accurately measure the torque exerted by the product. Here’s a brief overview of my current approach and the challenges I’m facing:
Current Setup:
System Components:
ODrive to drive the motor.
Reduction gear set between the motor and the product.
Motor operates in torque control mode using a cascaded PID loop.
Control Strategy:
Outer Loop: Calculates speed based on the difference between the desired and current motor positions.
Inner Loop: Takes the speed input and adjusts the motor torque accordingly.
Challenge:
The reduction gear introduces a significant load.Torque needs to overcome this load before the motor can follow the desired motion curve.By the time the motor overcomes the load, the output torque is too high, causing overshoot and oscillations around the target position.
Problems Encountered:
The motor tends to oscillate around the desired position due to the gear set’s load.
Difficulty in precisely controlling the torque to maintain smooth motion.
Any advice, alternative methods, or shared experiences would be greatly appreciated. I’m eager to hear from those who have tackled similar challenges or have insights into achieving more stable torque measurements in such setups.
Gears between the motor and the load make it really difficult to “measure” the torque. I’ve worked with one project using a worm gear gearbox where external loads really played havoc with the friction in the gearbox. To the point where pushing the load in the direction that the motor is driving it will stop it moving instead of helping it to move.
If you want to measure torque then measure it external to the gearbox+motor. Let the gearbox rotate on the output shaft and put a strain gauge between the gearbox mount foot and the machine frame. Sparkfun has some nice ones if you’re a low-budget student-type project.
It seems the real problem is getting the motion control right. Then you probably want to have the O Drive in position mode, not torque mode. For my worm drive problem, I was already measuring applied force externally so I could characterize the gearbox and add more torque based on real-time measurement to overcome the gearbox friction.
Hi! Sorry that we never responded to this! Yes, I agree that unless the gearset is very low friction (and typically low reduction), measuring the torque precisely and accurately can be difficult. The oscillation sounds like an issue with PI gain tuning though. A few questions:
What motor and encoder are you using?
What’s the gear reduction ratio and geartrain type? e.g. spur, helical, planetary, worm, etc.