DPRG List  

[DPRG] How to protect TETRIX motors

Subject: [DPRG] How to protect TETRIX motors
From: Karim Virani karim at bigthought.org
Date: Thu Feb 21 00:15:31 CST 2013

Chuck I understand just enough of what you said to know that these solutions are illegal for FTC.  Someday I hope to understand this better.  For now, I've taken up way too much of the group's bandwidth.  Thanks again to all who offered advice.


-----Original Message-----
From: dprglist-bounces at dprg.org [mailto:dprglist-bounces at dprg.org] On Behalf Of Chuck McManis
Sent: Wednesday, February 20, 2013 12:32 AM
To: Robotics group
Subject: Re: [DPRG] How to protect TETRIX motors

This has been an interesting discussion for two reasons, one because the state of motor technology is still kind of sad, and two because there is a self destructing motor out there.

On the motor, it fries, as many have observed, because at high currents it cannot dissipate the heat buildup in the wiring which subequently melts. The simplest way to keep it from smoking and dying is to put a resistor in front of the driver. As you would expect this lowers the voltage the motor sees as the resistance goes up. Measure the static wire resistance of the armature, pick a safe "current", You want the voltage to be 'zero' at that current, so apply ohms law as

E = I * R -> R = E/I, compute R total
Now Rtotal = Rwire + Rlimit So your limit resistor is (Rtotal - Rwire) pick a resistor that is the next higher resistance (round up) and put that limiting resistor in series with your motor. Poof, no more melt downs.

There are two downsides of course, the first is that torque is proportional to current and since the resistor will never let the current get too high, even for an instant, your motors will be less 'torquey' The other issue is that resistor will dissipate heat, I*I*Rlimit at the worst case (where I is the max current). Lets say you have a 5W power resistor as your current limiter because its 1 ohm and at 2 amps that is 4*1 or 4 Watts. That thing will get hot, and that heat is wasted battery power.

The alternative is to build a chopper circuit. Use a much smaller resistor as a shunt (say .01 ohms) and an opamp to measure the voltage drop over that resistor, then when the current exceeds your threshold have it turn off the power (easy way is a FET in series with ground) Now when ever the motor trys to draw too much current, blam, the circuit turns it off. You can put an RC network on the output to limit the slew rate (which will let the motor go overcurrent briefly (based on the time constant) but will still protect it from extended current excursions.


On Tue, Feb 19, 2013 at 4:57 PM, Dick Swan <dickswan at sbcglobal.net> wrote:
> Several suggestions.
> Run the motors at 25 to 50% of max power if that is still sufficient 
> to move your arm. Or at least use this level for testing until you've 
> got your code functional.
> Probably not legal but run the motor power outlets through a limit 
> switch that mechanically disconnects the motor power when reached.
> Create a separate task that is monitoring the encoders and power 
> level. If motor encoder does not change for NN millisecond and high 
> power is being applied then motor is stalled. Have the task stop the motor!
> There may be an alternative source for the motors? The original motors 
> were same manufacturer part number as a motor that I think Lynxmotion 
> (now part of Robot Shop) used to sell at a lower price. In any case, 
> the encoders should be re-usable on a different motor.
> _______________________________________________
> DPRGlist mailing list
> DPRGlist at dprg.org
> http://list.dprg.org/mailman/listinfo/dprglist
DPRGlist mailing list
DPRGlist at dprg.org

More information about the DPRG mailing list