Is it possible to use a DC motor as a generator to regulate applied mechanical torque? A hypothetical situation:

I have a DC motor acting as a generator attached to the ceiling. The motor shaft has a pulley with a cord wound round it. The free end of the cord is attached to a weight. How can I regulate the speed at which the weight will fall to the floor? How can I adjust the system for differing weights?

My initial thoughts are that I could simply attach a potentiometer across the leads of the motor. Varying resistance will limit the output current of the generator and thus limit the speed at which it unwinds. Is there anything wrong with this assumption?

Thanks in advance!

| improve this question | | | | |
  • \$\begingroup\$ This should work. You would need some kind of feedback if you want to maintain an exact speed. Also note that you are limiting speed, not torque. The torque would be constant in that scenario (weight*radius of pulley). \$\endgroup\$ – Austin Mar 16 '15 at 1:02
  • \$\begingroup\$ If the weight is the same, after accelerating, the speed will be constant. The generator will have constant torque. If you change the weight, and the resistance is same, the speed will be different. I would use something with a higher wattage than a potentiometer. You can use the output from the generator to measure the speed. Voltage or frequency. The higher speed will produce higher voltage, and higher frequency (pulsating dc). You can then get a solid state variable resistor. \$\endgroup\$ – sparky Al Mar 16 '15 at 2:22
  • \$\begingroup\$ An easier solution would be to burn the energy in a DC motor with a fan. (couple the dc motor to the generator) Fans consume very little power at low rpm, but much more power as the voltage increases. Another method for your application is a centrifugal brake. \$\endgroup\$ – sparky Al Mar 16 '15 at 2:35

I think your basic idea is OK, but the pot idea is not very good. The problem is that you have to take the position signal and differentiate it to get speed, and noise will be a big problem.

What you need is a rotary rate sensor, and there are a variety of these. An obvious choice would be a tachometer. DC motors can be found with built-in tachometers specifically to make regulating rotation rate simple. Encoders, particularly optical encoders, are cheap these days, and your job is made easier by the fact that you don't need an absolute encoder - incremental will work just fine for this application. There are other, more exotic sensors such as synchros and resolvers, as well.

What you do is to make a feedback loop that compares the rotational velocity to a desired value and adjusts the motor voltage accordingly. Depending on how ambitious you are for your loop design, you can adjust for a wide range of speeds and loads with a single circuit. And since you're interested in controlling speed rather than position, the feedback loop can be quite simple and still give good performance.

| improve this answer | | | | |

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.