2
$\begingroup$

I am new to robotics, please forgive/correct any errors.

My Project Plan

I want to use a PID controlled motor in a human-interface device where I need to measure the user's exerted force on an end actuator. The force measurement does not need to be exact (it will just be used for "feel"), but ideally it should be reasonably repeatable. The actuator will be held at position using a PID controller (position will eventually be dynamic).

I will likely be using a geared-down DC motor. With the motor's voltage controlled via PID, my understanding is that I should be able to (roughly) measure the torque via a current sensor in series.

Question

I found a DC motor that meets all of my needs*, the JGB37-12V-76RPM. However, after some research, I have found that this motor is likely a worm-gear drive.

Can I use current sensing to measure the torque on a wormgear drive? As I understand it, wormgear drives cnnIf it does not backdrive, I imagine that current will not need to increase as load torque increases (and position stays the same), and therefore will not be a reliable signal.

If I cannot measure the torque using current sensing, what would be the best path forward? I could use a load-cell, but I imagine that will make my design bulky. Is there a plain torque sensor I could use?

Edit: My Solution

It turns out my requirements were off by a factor of 10x: I need 28kg-cm of torque, not 2.8kg-cm.

In addition to my speed requirement, I decided to use a 25 kg-cm servo (the next stronger standard, 35 kg-cm, is a bit slow). To get my end actuator force readings, I will be using 3x 5 kg half-bridge micro load cells (each is 2 strain gauges on a small square load cell), mounted orthogonality, that should determine my actuator's contact force far better than torque measurements, without any of the possible issues (e.g. detecting force when there is no torque, like if all arm links are in a line and the user pushes axially).


* Motor needs:

  1. >75RPM (no load)

  2. >28kg-cm {old: 2.8kg-cm} (~2 lbs force at actuator)

  3. Bi-directional encoder with >1400 clicks per rotation after reduction (translates to ~1mm encoder accuracy at actuator)

  4. Not stupidly expensive.

$\endgroup$
1
  • $\begingroup$ A "plain torque sensor" is just one or more load cells arranged to measure torque instead of force, so there's no gain there. You may be able to use some part of the structure that is naturally subject to strain and put a strain gauge on it, or otherwise measure a dimensional change that depends on force. But you'll be trading off component cost for time spent futzing around. $\endgroup$
    – TimWescott
    Dec 29 '20 at 19:13
2
$\begingroup$

Can I use current sensing to measure the torque on a wormgear drive?

Nope as the worm-gear is not back-driveable by construction.

what would be the best path forward?

  1. Using an FT sensor mounted at the end-effector would be the best solution but they are expensive.
  2. Replacing the worm-gear with a BLDC motor being careful about the gear ratio. In fact, a high gear ratio will prevent you from sensing the applied force by measuring the motor current.
$\endgroup$
2
  • $\begingroup$ I see, that's too bad. Thanks for the info, though! I wasn't able to find many BLDC motors in this price range (<$30) that met my torque/rpm requirements. I suppose the one I found only worked because it's a wormgear, and therefore high torque. Do you think it's even worth continuing to look for one with those specs (including price), or should I just start figuring out other ways to sense force? $\endgroup$
    – sgbrown
    Dec 29 '20 at 16:42
  • 1
    $\begingroup$ Small BLDC and/or brushed DC (cheaper) do need high gear ratios to yield high torque at the endpoint but this turns to be a conflicting requirement with respect to the sensing part, as I said. In this context, you'd better figure out other ways yep. $\endgroup$ Dec 29 '20 at 16:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.