Hi Chris, Please see my answers below. Sean On Thu, Aug 6, 2009 at 11:08 PM, Chris Loper wrote: > MOTOR > > This is the motor > =A0 http://www.cn-dcmotor.com/productShow.asp?ArticleID=3D232 > =A0 M1020 Model 45 =A0500W =A024V > =A0 Torque 1.91nm That looks like a nice motor. It definitely needs a decent motor driver. In other words, it is quite capable of drawing LOTS of current if you stall it or even change speed rapidly. Looking at their "loaded" specs, the DC resistance is no larger than 0.2 ohms. I know this because At 500W output power at 2500 rpm, 1.91 Nm torque, the input voltage is 24V, current >=3D 26.7 Amps. 24V*26.7 amps=3D640W. 640W-500W=3D140W waste power. The resistance to AC current (while the motor is rotating) will always be higher than the DC resistance, so we know that if we compute the resistance which gives 140W power loss at 26.7 amps DC, the actual DC resistance will be equal to or lower than that value. P=3DR*I^2 so 140=3DR*(26.7)^2. R=3D0.19 ohms. >> The reason why people are telling you that you need a proper FET driver >> is that you actually need significant peak current to drive the FET gate. > > I understand that. I'm trying to understand the math and FET specs that g= o along with this. > Very slow going and probably completely unnecessary -- I should just buil= d a good strong driver. I applaud you for trying to understand this. You can and should do so. First off, I'd recommend you download a copy (free) of LTSpice (also called Switcher Cad) from Linear Technologies. It is a wonderful SPICE electronics simulator which is designed for power electronics. It can help you to understand what goes on in a motor driver FET. When a FET is fully ON, it acts like a tiny resistance (about 0.005 ohms in some cases). When it is fully OFF, it acts like an open circuit. However, when it is partially on, it acts like a resistor of an intermediate value, say 1 ohm or 10 ohms. If you have a 0.005 ohm resistor with 26.7 amps flowing through it, you dissipate 3.6 Watts. If you have a 1 ohm resistor with 13 Amps flowing through it (say, when the FET is half-way on, that is, conducting half of the full 26 Amps of current), then it is dissipating 170 Watts! When you are doing PWM and switching the FET on and off thousands of times per second, there is no way to instantly go from off to on and vice versa each PWM cycle. There will be some small fraction of time spent in the partially-on state. You want to keep this fraction of time as small as possible, which means that you need to force the FET from the OFF to the ON state and from the ON to the OFF state as quickly as possible. This means that you need to charge and discharge the FET's gate quickly. >> Bear in mind that you cannot get very close to the FET max Vds voltage. >> If you are working with a 24V bus voltage, I'd go for at least 50V FETs. > > Will do. The FET I picked was sort of a straw man, > the first thing I saw at Digikey that looked in the ballpark. > Digikey has 19475 MOSFETs. Including this one: > =A0 IRFP4368PB =A075V =A0195A =A0TO-247AC =A01.85 mOhm @ 195A, 10V =A0 19= 230pF @ 50V =A0 520W =A0 $7.78 > I hope I can use something a little smaller, but we will see. > That one sounds very nice. Keep in mind that the power and current specs for these FETs are very optimistic. You can't actually, realistically, put 195A continuous through this FET, for example. There is a fairly simple, and important, thermal analysis that you should do to see how much current you can actually put through it in your particular case. There are application notes on this on the International Rectifier site. Ask me if you can't find one. >> 0.0065 is about 8 times too high for a good motor controller. >> It'll generate a ton of heat that you'll have to dissapate at load. > > I don't understand this. =A00.0065/8 ~=3D .0008. I don't really understand what he meant, either. I don't know of any >24V rated FET with 0.8 milliohm ON resistance. > That just looks like a magic number to me. What is the context? > My context is (hopefully) less than 20A for continuous operation. > (Otherwise I don't need to worry about the controller, the motor is going= to melt.) > I'm building a go-cart, not an electric car. > I^2 * R loses for 20A at Rdson of .0065 < 400 * .0065 =3D 2.6W. Is that t= oo high? > The FET(s) will have big heatsink and probably a fan too. 2.6W is perfectly reasonable for a TO-220 or similar package on a good heatsink. It would be really pushing it for a TO-220 which was not heatsunk - perhaps that's what he was thinking. Also, though, bear in mind that you need to perform this calculation for power in a rigorous, conservative way. You need to look at the maximum sustained current you could have, consider where that current goes during both the ON and the OFF times of the PWM, compute the power dissipation during each time. Then, compute the power dissipated by the FET and catch diode(s) during the ON to OFF and OFF to ON transients, as well as the fraction of time spent in each. You then need to add all this up for a total per PWM cycle, and multiply by the PWM frequency. This should be done for the worst case RdsON over both manufacturing variation and temperature. You then also need to perform the same calculation again for the highest transient current you may have (i.e., while accelerating) if that is significantly higher than the max continuous current. You can then apply a conservative duty cycle to the this (that is, the fraction of time spent drawing this transient current, like the fraction of time spent accelerating). All of this together will give you an average and peak power dissipation which the FET and catch diode(s) must dissipate (I have plural because there is one across the motor and there is also one internal to the FET) The average dissipation can be used in your heat budget to see what average temperature the die inside the FET will reach. You then also need to look at how high the temp of the die will get during each transient high current situation and make sure that neither of these (average or transient) exceeds the max junction temp of the FET - accounting for the max temperature which the heatsink will reach at the max ambient temperature you want this to work in. Bear in mind that you may have to deal with diode reverse recovery current, too, although you may be able to avoid that if you use a Schottky diode for the catch diode across the motor. > This is very interesting and a fun read. But slow going. > There is, however, no chance of my become a electric motor controller gur= u! > (I am a programmer, not an engineer.) You may surprise yourself :) > MOTOR LOADING > >> How about an alternator with a load resistor > > I like this idea and think maybe I could actually do it. It does not have to be a special "alternator" - it can simply by a second motor with a shorted output or a resistor across its output. >> Beware that, in some motors, stalling, even for a split second, >> can begin to demagnetize the magnets (if it is a permanent magnet motor). > > My motor is permanent magnet, so I'm going to skip the stall test. (Thank= s, Sean!) You're welcome :) > >> There's no need to actually stall the motor to determine the stall curre= nt. >> You can simply measure the winding resistance and divide that into the b= attery voltage. > > I measure something like .2R, probably plus or minus 100%. > My meter is not that accurate at low values. > Is there some trick to get a more accurate reading for low resistance val= ues? > 0.2 is probably close, but a multimeter is usually very poor for resistance below 1 ohm. Yes, there is a "trick" for this. Do you have an accurate current limited power supply? If you put a controlled current through the motor (say, 1 Amp), and then use your meter in voltage mode to read the voltage drop across the motor, you can divide the voltage drop by the (known) current to get the motor resistance. This is the same thing that your multimeter does but by using a much larger current than the meter does typically, you can accurately measure much smaller resistances. >> time =3D (L*I)/V >> Time is short. > > I have everything but L (inductance). Is there a way to measure that with= a VOM? Not easily. A good motor datasheet lists the inductance. If you do not have that info for this motor, the only way I can see to really test it is to guess, pick a capacitor to resonate with the motor inductance, and then use a signal generator to find the resonant frequency, then back out the inductance value from that. > > > Current sensing is my new highest priority. > I want to add current sensing, and program the PIC to never allow current > anywhere near the maximum (stall) current. > > I don't want to put a resistor in the high current path. > I'd like to use a current sensor like Allegro ACS706 that i've heard disc= ussed on the piclist. > Checking for ACS706. Ok, it's discontinued. > Replacement ACS712. Checking Digikey. Max is 30A. > Searching for current sensors at Digikey - 402 items. > Heven't found anything above 30A, except some expensive modules (~ $100). > Any ideas for current sensor? 100A capability would be really nice. > Doesn't have to be very accurate. > I have used the Allegro current sensors and they are nice. You should be able to find one that works for you. Take a look at their web site. Digikey does sell some which work for much higher currents. Take a look at the ACS756 series. Sean -- = http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist