0
\$\begingroup\$

I've been thinking about whether it is possible to have an electrical motor output a constant torque against which one can then apply a force without breaking the motor? I guess the best example would be barbells or some other weight. The motor would pull a certain amount, and at the same time, a force pulls against the torque. Another example would be a heavy door that is supposed to close when let go, but not as forceful to avoid noise, so the motor would pull against the weight of the door, but the door is still closing, albeit slower.

I have no experience with motors whatsoever, but I would think that one best takes a brushless torque motor. The question now is, is it possible to turn against the torque without breaking the motor?

Thanks!

\$\endgroup\$
13
  • \$\begingroup\$ I don't quite understand the question – is it "can I operate a motor under mechanical load?", then the answer is "yes", otherwise that motor would be mightily useless, would it? \$\endgroup\$ Commented Jan 10, 2021 at 15:48
  • 2
    \$\begingroup\$ If the motor is supplying a constant torque and you don't apply force, then that motor would accelerate faster and faster and destroy itself. \$\endgroup\$
    – Andy aka
    Commented Jan 10, 2021 at 15:55
  • 1
    \$\begingroup\$ Yes, this is possible, but it requires a fancy controller. It's even commonly done, in the form of an electronic load, eg for testing another motor. To one way of thinking about it, you create a control loop which tries to keep the motor from turning, but "only tries so hard" - eg, your torque limit. Another way of thinking about it is that this is what regenerative braking in a not-fly-over-the-handlebars implementation has to do - braking, but only to the intended degree of torque, not trying to immediately stop movement altogether. \$\endgroup\$ Commented Jan 10, 2021 at 16:21
  • 2
    \$\begingroup\$ @Andyaka typically such a setup's control scheme is more "resist movement but only apply a maximum torque of X" \$\endgroup\$ Commented Jan 10, 2021 at 16:23
  • 1
    \$\begingroup\$ @mkeith, yes, constant power (output) at each speed. I should've said it better as you have \$\endgroup\$
    – Pete W
    Commented Jan 10, 2021 at 20:39

3 Answers 3

1
\$\begingroup\$

All the things you are talking about can be done with motors provided that the motor is controlled intelligently. Some types of control may require shaft position sensors on the motor.

Motors can be controlled to apply constant torque, or constant speed, or to hold a specific position (constant position) or various combinations of these things. For example you can tell a motor to hold a specific position but with a low programmed torque limit. Then if you move it away from that position in either direction it will resist you but with gentle force. If you move the motor then let go, the motor will return to the set position.

AC induction motors, brushed DC motors, and brushless DC motors all can be controlled in this fashion. There are tradeoffs between the different types. Often BLDC is the highest performance and highest efficiency.

One comment about torque because I think you have a wrong idea about what fixed torque means. The motor applies torque to the drive shaft. The load also applies torque. In a typical machine, the two torques are equal and opposite meaning the net torque is zero. Now this next statement is very important: If the motor torque and load torque are not exactly equal and opposite, the motor will either be speeding up or slowing down. If you instruct a motor controller to make maximum torque with no load, the motor will spin up to speed very rapidly. So you shouldn't have the idea that you can command a motor to output a torque and you can then push against it. You can command the motor controller to hold a position and push against it. But pure torque output will usually lead to runaway speed if you remove the load on the motor.

\$\endgroup\$
7
  • \$\begingroup\$ Ahh I see, maybe I also misunderstand what torque means. Basically, I need a motor to apply constant force, e.g. always pull a cord with a force of e.g. 2kg, so when there is no resistance applied to the cord, it is just pulled in until there is no cord left, but one could also pull that cord out, but have to do so "against" a weight of 2 kg. \$\endgroup\$
    – Sami
    Commented Jan 11, 2021 at 17:21
  • \$\begingroup\$ You understand pretty well what torque is, I think. My point is that with a constant torque that produces a force of 2kg, the cord will be pulled in very fast. Also, it will accelerate faster and faster as it is pulled in. So I think you want both a speed limit and a torque limit. That is possible to do. \$\endgroup\$
    – user57037
    Commented Jan 11, 2021 at 18:25
  • \$\begingroup\$ alright, that makes sense! If I were to experiment with this, could I use a raspberry pi as the controller and what kind/which motor would you recommend for me to test this? \$\endgroup\$
    – Sami
    Commented Mar 11, 2021 at 23:02
  • \$\begingroup\$ Maybe look at ODrive rather than raspberry pi. I mean, you could maybe have the pi talk to the ODrive. But if it were me, I would probably buy some type of conventional off the shelf servomotor with controller. That is because time is money (usually). But it might be fun to make it all work with ODrive and Rpi. \$\endgroup\$
    – user57037
    Commented Mar 12, 2021 at 1:19
  • \$\begingroup\$ that means, basically any brushless dc motor could do what I need it to do, I just need to use ODrive to talk to the controller correctly? \$\endgroup\$
    – Sami
    Commented Mar 12, 2021 at 8:51
0
\$\begingroup\$

The question now is, is it possible to turn against the torque without breaking the motor?

Yes, it is possible.

However current must be limited to prevent damaging the motor or controller, and the controller must be able to handle the negative voltage produced by the motor as it spins.

This situation occurs naturally in servos, when the motor might be spinning fast in one direction and the controller needs to reverse it as quickly as possible. The result is a current spike of nearly twice the stall current, as the motor is generating voltage while the controller is applying opposite voltage.

\$\endgroup\$
3
  • \$\begingroup\$ The controllers I am familiar with would never do that. They would apply negative torque up to the torque limit (thus keeping regen current within bounds). Maybe some controllers apply open-loop reverse voltage, though. \$\endgroup\$
    – user57037
    Commented Jan 10, 2021 at 22:10
  • \$\begingroup\$ @mkeith industrial servo controllers should all have current/torque limiting, but most 'hobby' servos just rely on motor and driver resistance. They are not designed to be stalled or driven backwards, and may burn out if that happens. Some higher quality 'digital' hobby servos have an over-current cutout that (hopefully) protects them from burning out with excessive load. \$\endgroup\$ Commented Jan 10, 2021 at 23:57
  • \$\begingroup\$ I don't doubt such simplistic controllers exist. I just haven't run across them. \$\endgroup\$
    – user57037
    Commented Jan 11, 2021 at 1:12
-2
\$\begingroup\$

A no-load BLDC or DC motor uses about 1% of the start current which decays rapidly as it reaches steady-state speed.

Start current is about 10x the full load rated current or the rated current is about 10% of the start peak current.

Thus if you have a torque load + inertial load and choose a constant current that matches the steady-state load, it will take much longer to start yet be constant current yet reach the same speed unless “stalled”= load greater than rated torque at supplied current.

\$\endgroup\$
1
  • \$\begingroup\$ @Andyaka there are 2. The title and the final comment. Pffft as the toxic smoke exhumes over OP experiment. Read my answer Andy . What does stall mean? \$\endgroup\$
    – D.A.S.
    Commented Jan 10, 2021 at 17:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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