I'm trying to control a heater coil (resistance ~0.9 Ohm) with PWM using a MOSFET. PWM modulator is based on LM393, MOSFET is IRFR3704 (20V, 60A).

Current schematic

If I place 1k resistor in place of heater everything runs fine and waveforms at testpoints CH1 and CH2 are nearly square. But when I place an actual heater in the scheme, oscillation occurs on the falling edge of pulse at the moment when voltage crosses Vth (channels are mixed here: yellow oscilloscope channel is connected to testpoint CH2 and cyan channel to CH1). Oscillation amplitude is somewhat larger than battery voltage and reaches 16V at its maximum. I'm mostly a microcontroller specialist and my knowledge of this kind of circuits is poor. Is it an effect of the heater inductance or something else? How to oppose it?

Oscilloscope screenshot

  • \$\begingroup\$ I think it would help to see the frequency of these oscillations, the heater may be resonating with one of the MOSFET parasitics, probably drain-source capacitance. What are R1 and R6 for? The opamp is forcing a voltage anyway at all times? \$\endgroup\$ – Mister Mystère Dec 13 '14 at 21:01
  • \$\begingroup\$ Heaters are often controlled as on/off with maybe some hysteresis, because of the long time constants involved. PWM isn't common for heaters \$\endgroup\$ – Scott Seidman Dec 13 '14 at 21:07
  • \$\begingroup\$ PLM is also used (equivalent to PWM on a long timebase - pulse length modulation - for example 50% would be on for 5 minutes, off for 5 minutes). PWM typically uses the frequency response of the load to act as a low pass, so it's at an equivalent to a varying DC value; PLM typically uses the frequency response of the whole system ( e.g. heater + room ) as time constant to give a closer tracking to desired state than just hysteresis would. \$\endgroup\$ – Pete Kirkham Dec 13 '14 at 21:25

It's probably not mostly from the inductance.

More likely, pulling close to 8 Amps from the battery has a significant effect on the battery voltage, and this changes the switching thresholds around the comparator generating the PWM signal.

You probably need to feed the LM393 and R3 from a lower noise supply, either R-C filtered (say 50 ohms and 1000 uf) from the battery, or perhaps better, from a 5V LDO regulator (with decoupling).

You can keep the pullup resistor R1 connected to the full battery voltage to turn on the FET as hard as possible, even with the LM393 supplied from 5V.

And as the voltage peaks exceed the battery voltage, inductance must be having some effect so the flyback diode is definitely recommended.

| improve this answer | |
  • \$\begingroup\$ +1 for flyback diode recommendation. In addition a large (>10kμF) electrolityc capacitor across the battery will improve the waveforms. \$\endgroup\$ – GR Tech Dec 13 '14 at 22:12
  • \$\begingroup\$ +1 A taste of positive feedback wouldn't hurt, but regulation on the pot voltage (at least) first. \$\endgroup\$ – Spehro Pefhany Dec 14 '14 at 3:20
  • \$\begingroup\$ Adding a 2200uF capacitor in parallel to battery and powering a comparator from LDO did the trick. I still see some little oscillation in transition but I think I cannot get rid of it completely anyway when high carrents are involved. Thank you! \$\endgroup\$ – s0me0ne Dec 14 '14 at 10:13

It's very probably the inductance. The mosfet turns off really fast and you get a V = L(di/dt) voltage spike. This turns on the zener protection in your mosfet and then the current runs around the rest of your circuit

A fly-back diode might do the trick.

Put the diode in parallel with the heater element with the cathode connected to the positive terminal.

Now when it is turned off the current will find a harmless path via the diode.

Careful. The diode will heat up with each cycle.

From your oscilloscope trace the oscillation time is about 100us

Current = about 10A

V of diode forward biased = 0.7V

E = VIT = 700 uJ ( I know this calc is cheating, it probably less than half this amount)

P = E*F (F = switching frequency)

if F = 1kHZ then P = 700mW

To select you diode multiply its power rating in Watts by your switching frequency in kHz.

| improve this answer | |

I can see a very significant flaw in your circuit: The LM393 has an open collector output. So when the output goes "high" it effectively goes only "not low" and is pulled up via the R1=10k. The charge current flow into the MOSFET gate is also provided via R1, thus the turn-on is extremely slow. This is not a problem for the 1k dummy load, but with significant load current the MOSFET parasitics (e.g. Miller effect) can cause trouble of the kind you observe.

You need to modify your circuit to charge the MOSFET gate much faster via a low-impedance path, maybe via a bipolar totem-pole driver, see the TI Application Note "Design And Application Guide For High Speed MOSFET Gate Drive Circuits" (SLUP169) for reference.

| improve this answer | |
  • \$\begingroup\$ A very useful application note, thank you for pointing to it! I think after implementing the techniques described I can eliminate the rest of oscillation, although 95% of problem was finally solved by adding an LDO. Sad I cannot accept two answers at a time 8( \$\endgroup\$ – s0me0ne Dec 14 '14 at 10:19

enter image description hereadd small positive feedback (by resistor ) to provide litle hysteresis (in point setting by R3 on point line of sawtooth wafeform

for example resistor 10MB beetween node 3 and 1 U1 positive feedback for histerese - secure fluctuation on power suplly (batery)

add diode + filter RC on supply R3

change voltage battery set another swithing point on R3 and generate flaping Q1

and in resultate positive feedback circuit by supply - frequency of oscilation

(sorry for language)


| 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.