0
\$\begingroup\$

I am working on a motor control system, and I'd like to be able to know when the motor has reached its max output and has locked up (shaft no longer able to rotate, due to mechanical force pushing back). The motor will be used with a ball ramp mechanism to create a linear motion. I need to know when the motor stops spinning so that I can move on to the next task in the system. What would be the best/most efficient way to do this?

\$\endgroup\$
  • \$\begingroup\$ Efficiency is a funny thing. There's a most economical answer, mechanical efficiency, electrical efficiency - what it comes down to is, all of the above. If this is getting industrialized, you may want to employ a torquemeter in order to directly sense and control the variable of interest. \$\endgroup\$ – Sean Boddy Apr 1 '15 at 8:28
1
\$\begingroup\$

You should be able to measure the current during normal load operation (from experimentation) and then measure the current during an overload (stall) condition, and then use a shunt resistor (like, a 1% 0.1 ohm resistor) and an op-amp based comparator circuit to indicate when it has reached it's end-point/cannot move any further.

Measure the resistance across the motor terminals (this is assuming a simple 2 terminal DC brushed motor) with an ohm-meter. Then you can estimate the stall current by Ohms law, V = IR, meaning I_stall = V_applied / R_motor.

As the motor begins to move and starts generating back EMF, it will reduce the input current to something more reasonable.

When the motor meets something which stops the output shaft from moving, the resistance reduces again back to the motor's armature resistance (R_motor i mentioned earlier).

\$\endgroup\$
  • \$\begingroup\$ If you use this method, @Zack, you may be able to find detailed locked rotor torque and stall current information on the motor datasheet. \$\endgroup\$ – Sean Boddy Apr 1 '15 at 8:21
1
\$\begingroup\$

Rather than stalling the motor when it reaches the end of its travel, I'd prefer to use a limit switch to sense the position, and turn off the motor before it reaches the physical end-of-travel. This would be much kinder to the motor and to the mechanism than forcing the motor into the mechanical end stop.

\$\endgroup\$
  • \$\begingroup\$ I also prefer this, but the travel range will change over time, as this mechanism is being used to compress a clutch pack (there may be a 10% or so increase in travel range over time, to apply the same force) \$\endgroup\$ – Zack Apr 1 '15 at 3:24
  • \$\begingroup\$ @Zack maybe a flywheel is in order? Drive the motor to put rotational momentum into it, cut the power before end of travel and let the flywheel ride through. \$\endgroup\$ – Sean Boddy Apr 1 '15 at 8:31
0
\$\begingroup\$

The very best way to tell if a motor is locked up is to use and encoder on the motor shaft (there are very inexpensive encoders out there now for the hobby market), and monitor its speed. Just looking at current isn't reliable, as it can change based on the motor type and design, and the way a load is applied.

Looking at shaft speed, you can also see exactly when it is starting to get overloaded, and take action before it actually stalls.

Also, going to locked rotor stall is very damaging to almost all types of motors. Induction and brushless motors will experience overheat conditions on the windings and all the winding joints, DC motors will burn the commutators and brushes.

To answer the exact question though, is there a change in voltage/current at stall... again, it depends on the type of motor, very low torque shaded pole AC motors like clock and small fan motors probably won't see much change, but any actual wound DC or Induction motor will go to it's locked rotor current which is just the applied voltage divided by the winding resistance.

\$\endgroup\$

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.