Help with FET and PWM signal

RexLan

Senior Member
I have been using this circuit to turn on an intake motor in my race car for 2 years. Recently I have experienced two failures of the FET which I think is heat related.

I need some help getting the PWM values right. I am supplying ground via the FET to the motor to turn it on and keep it on/off at set engine RPM's.

I need a pretty strong turn-on torque/current then not too much to hold it on.

The FET is a IFRZ44V. I've tried various PWM settings but really I'm just guessing what the FET is happy with.

Help appreciated.
Code:
RPMActions:
	'Sets the SPIMotor signal depending on the Av RPM value.
	
	'ON ENTRY: AvValue holds the new Average RPM value

      'If the new Average RPM is greater than the RPMHigh threshold then output
      'a PWM signal. If it's below the RPMLow threshold then turn the PWM signal
      'off. This gives it some hysterisis and stops the motor from oscillating on and
      'off when the value is hovering around the threshold.  
      If AvValue > RPMHigh Then
      	PWMout SPIMotorPin,199,520  
      	'high LEDOutput
      Elseif AvValue < RPMLow Then
      	PWMout SPIMotorPin,0,0
      	'low LEDOutput
      Endif
Return
 

manie

Senior Member
You could set the PWM on with pwmout command. Thereafter, you can turn it off with the pwmduty command, setting duty to 0 and back on to whatever value you require.
 

gengis

New Member
Working for two years with nary a problem? No changes?


Your post is unclear to me. If the pwm is working the way it is supposed to there should be minimal heating in the fet. Have you checked it with a scope?

Also you think you have a problem turning it off? Heat and motor growling when it is supposed to be biased off?

I take it the thing is running 5,000 HZ with 65% duty and that's where it fails? (assuming a 4 MHZ clock)

How is the MOSFET driven? Most hobbyists tend to under drive them and consequently run the thing in its linear region part of the time or the whole time - dissipating more power than is healthy. It is easy to apply a MOSFET for slow on/off control, fast switching is something else again.

Assuming an ordinary brush type motor, how are you protecting the mosfet against inductive transients? Fast diode across the fet and motor, or snubbers? Are the brushes in good condition? Worn brushes or springs can cause arcing at the armature and that increases the high voltage spiking on the FET. You want to give the high energy transients a safer place to go than back to the FET's intrinsic diode.
 

RexLan

Senior Member
Morning:

This is a very small DC motor used to open the secondaries on an intake manifold. It draws ~ 300 mills and I have a catch diode across it as well.

The FET is being directly driven by the Picaxe with an 8 MHZ clock and without issue (10,000 @ 65%). I tried to post the schematic but I don't know how to get a picture out of Eagle from my schematic. None of the ULP's have worked.

So I am only concerned if I am not driving the FET at a proper frequency (since I don't know what is best). At what freq. are these happy?

Yes, these have worked a couple of years but for some reason two have failed lately and there is some evidence of heat on the PCB. I replace the FET and it works fine again. ???
 

BeanieBots

Moderator
The best frequency to run at depends on what your FET drive circuit is and the characteristics of your motor. It's impossible to advise other than to recommend that you experiment.

Lower frequencies tend to give more torque at lower speeds but induce vibrations which can wear out bearings. Higher frequencies can give annoying audible tones. Frequencies above ~8kHz will require higher current rated drive electronics to avoid the FET linear region during switching.

As for FET failures after several years OK, well, this is in a car isn't it?
Only to be expected unless all precautions required for the hostile environments found in a car's electrical system have taken into account.
Ignition spikes, brownouts during starting, 30v long duration surges when loads are switched off, etc. etc.

Both FET drive requirements and car electical issues have been covered here countless times so have a search around the forum for suggested solutions to both.
 

gengis

New Member
Morning

Oh car like in automobile. I had envisioned something like an RC or slot "car."

Small motor like that you should not be having problems and shouldn't see any heat. That's a 55 amp or so mosfet and you're asking it to switch 300 ma. The on resistance works out to a whopping 5 millivolts dropped across the mosfet when it is on, dissipating ~2 milliwatts. Not enough to matter or measure.

I think it may have just operated at the hairy edge of failure for two years.

Can you work the motor continuously with no load - as in program it to come on and stay on (assuming the rotor isn't stalled!) and measure the voltage drop across the mosfet?

The problem is most likely: Directly driven. Carefully peruse the datasheet for the mosfet and see what the pulse performance is like. I see the threshold voltage is 2-4 volts. That's the voltage where the mosfet BEGINS to turn on. You really want to insure it is fully into "saturation" (that point, where more drive, doesn't make it conduct any harder).

The mosfet gate is a large capacitor. The goal with PWM and mosfets is to turn it on fully and turn it on quickly. (that's where a scope comes in handy) the measly 4.4 volts 20 ma of an 'axe running at 5 volts, 10KHZ (assuming 'direct' means no resistors in series) just isn't enough in terms of voltage or current to charge and discharge the gate cap at that rate.

Slow it down and it may improve the operation. A motor turning at 6000 RPM is only making 100 revolutions per second. The drive frequency is trial and error - or you get into a lot of math and sophisticated testing trying to figure the dynamic impedance and number of commutator segments to see how it should work in theory.

Best solution is to bite the bullet and find a driver designed to work from the logic level of the axe. Your car has 12 volts to run this motor? - that voltage is enough to turn the mosfet on hard.

Or you might just drop a small NPN Darlington transistor in place of the mosfet (with the appropriate C.L . base drive resistor). Bypass the current limiting resistor with a small cap ~.1 uf or so, to switch the transistor faster.

If the motor stalls or stops and starts a lot - size the Darlington transistor to deal with the over current condition. Don't have one? Two NPN transistors; one power and one small signal is all it takes. And if it never goes over 300 ma those would be two TO92 case transistors.
 

RexLan

Senior Member
Thanks guys ... I get the idea and had not really considered that the FET wasn't really turning on enough because it is directly driven by the Picaxe. So, it may indeed have just been working on the edge all along.

BB: I know all about the car environment and that isn't the issue this time. My controller gets the information (accurately) from the car ECU to calculate the RPM precisely so I have good clean power and signal. The only failure is the FET itself.

Flooby I chose that FET because of the very low on resistance as you have pointed out (cheap too!). Unfortunately, this little motor does lock on and then it will draw almost 3 amps. Normally it is controlled from the car computer but I am using an aftermarket ECU for engine management without this feature so I made my own.

I will try slowing it down to 8KHZ and see how it works.

I had also considered using a TIP 32 transistor too but I don't have a proper circuit for that at the moment.

Thanks again.
 

Andrew Cowan

Senior Member
Slower = cooler
Faster = better quality output (in terms of pulses)

The IFRZ44V isn't a logic level FET, so you might want to use a higher gate voltage if you use a driver (12V?).

A
 

lbenson

Senior Member
>The IFRZ44V isn't a logic level FET

Maybe replace with IRLZ44N if it is otherwise suitable? Although I think there have been suggestions that logic level is not ideal for fast PWM. Others could advise more definitively.
 

gengis

New Member
The better part is the IRLZ44. Threshold is 2 volts max. RDS is slightly higher.

Put both datasheets in side by side windows for an easy comparison.
 
Top