I'm trying to create a variable wattage heater circuit as shown below. I'm clearly not a trained electrical engineer (simply a hobbyist) so please forgive my crazy idea and general stupidity. You can imagine R1 as a light bulb or a toaster, or whatever you like. The goal of the circuit is the idea that you can replace R1 with a heating element with a resistance of anywhere from 0.05 ohms (uncommon), to 0.1-0.3 ohms, and control the wattage of the heating element to be something like 150-250 watts by only partially turning on the MOSFET via a voltage regulator at the MOSFET's gate.


(power is supplied by two high-drain Li-Ion batteries in series. yes this is a lot of load for these batteries, but yes they can handle it in pulse situations.)

I've built a few prototypes, and as some of you have probably already guessed, I keep blowing MOSFETs. I've been using a MOSFET which supposedly handles around 200a continuous, which would be more than enough for this purpose, but evidently when the MOSFET gate isn't saturated, the resistance it creates dissipates a ton of wattage as heat. After a few seconds, the gate breaks down and the MOSFET conducts (like crazy) regardless of the absence of gate voltage.

So my question is, how do I achieve the goal of this circuit? I assume I could use multiple MOSFETs to disperse the load between them, but the overall dissipation would still be the same, which is unacceptable in a handheld device.

Could I use the rapid switching capabilities of the MOSFET to create perceived adjustable wattage at R1? Would this solve my power dissipation issues? I'm just starting to learn about gate drivers, but are they capable of varying switching times with simple input like adjusting a reference resistance via a potentiometer? Or do they always require an MCU (way beyond my capabilities) to tell them what to do? What kind of switching speed range would I need to achieve my goals?

I know I can use DC-DC converters to get similar results by adjusting the voltage at R1, but there's virtually nothing commercially available that will handle the necessary amperage and cost less than $500 or so. Hence the goal of using a comparably cheap MOSFET to control the current (rather than voltage) in a circuit that simply provides more voltage than I need.

  • 2
    \$\begingroup\$ You're doing it wrong. Calculate the required gate bias voltage for the MOSFET to be fully on (saturation), given the load current. Then, find a way to deliver that bias voltage in bursts (alternating on-off). Varying the duty cycle of the bias signal will vary the supplied power to the load. See "pulse-width modulation" techniques. You can try that out with a 555 timer circuit. \$\endgroup\$ – shimofuri Feb 16 '15 at 0:49
  • \$\begingroup\$ As @shimofuri said, this would put the MOSFET in it's "linear region" making it a voltage controlled resistor. While this will technically do what you want it to do (deliver a specified current to a heating element), the resistance is inside the MOSFET itself (at high current). This drives the MOSFET out of what's called the safe operating area, or SOA. In the datasheet, it will specify a curve showing drain current vs drain-source voltage. You have to operate the MOSFET such that it is inside that curve. \$\endgroup\$ – cowboydan Feb 16 '15 at 1:01
  • \$\begingroup\$ Thanks @shimofuri! It looks like I can control the timing of the 555 by adjusting voltage into it. Could I do something like use my current circuit but add a 555 and a gate driver between my voltage regulator and my MOSFET gate? \$\endgroup\$ – playludesc Feb 16 '15 at 1:08
  • \$\begingroup\$ @shimofuri I'll try to answer my own question, but thanks for the lead! \$\endgroup\$ – playludesc Feb 16 '15 at 1:13
  • \$\begingroup\$ I can't recommend simply PWM'ing the MOSFET. With only 0.05 or whatever Ohms to limit battery current, the MOSFET will still dissipate a lot of power during switching. Also, when the MOSFET is on, it will be subjecting the battery to an abusive and unreasonable load. You don't need to use a fancy buck controller, but you need to use a switch-mode buck topology with synchronous switching for this application. You don't need feedback and closed-loop control. Vout will be equal to VIN * duty cycle. \$\endgroup\$ – mkeith Feb 16 '15 at 7:20

Alternative answer without PWM. (First, I absolutely agree that PWM is better : it's more power efficient, meaning less heat to get rid of, and less stress on the batteries and better battery life).

However, power MOSFETs can be used in their linear mode.

As you've discovered, in their linear mode they dissipate a lot of heat. Let's say for the sake of argument, you're running an 0.1 ohm load, at full power that would be 8 volts, 80A, (640W) with the MOSFET fully on. But you want to control the power - the worst situation would be half power - sharing voltage equally between MOSFET and load, 4V,40A,160W in each. The load can presumably take it - the naked MOSFET can't... unless you dissipate that heat safely in a heatsink.

Basic heatsink math : each part of the system has a "thermal resistance" which drops temperature (not voltage) as heat power (not current) flows through it. Working back from ambient air temp, you can calculate how hot your FET is, and its datasheet tells you what it can tolerate. (I picked the IRF540 as an example, I don't know your FET.)

First test: No heatsink. Datasheet shows: "Thermal Resistance : Max Junction to Ambient: : 62C/W".

So at 160W, and 20C air temperature, the junction could reach 160*62 + 20 = 9940C. Let's check the absolute maximum temperature in the datasheet : 175C, so we have a problem...

Second test : With a heatsink. How big?

First you have to get heat from the junction to the case... Datasheet shows: "Thermal Resistance : Max Junction to Case: : 1C/W". At 160W we need a bigger MOSFET so I'm going to reduce the power to 40W for this calculation - with your MOSFET, YMMV. (You CAN parallel MOSFETs, but each would need slightly different drive voltages so it's not easy, but you could use 4 of these each on its own heatsink).

Anyway : let's keep the junction temp well below abs max - say 140C. At 40W that corresponds to a case temp of (140 - 40 * 1C/W) = 100C. (See Fig 9 in the datasheet - at 100C drain current must not exceed 20A).

So the heatsink must not be allowed to exceed 100C, with air temp of 20C that means the resistance of the heatsink must be less than (100-20C)/40W = 2C/W. Aim for better than this - say 1.5C/W - because I glossed over how well heat got from the case to the heatsink for simplicity.

Now we can look up heatsinks better than 1.5C/Watt. Here's an example: it's about 6 inches long and 2 inches high. For 40W. I'll let you run the numbers for your MOSFET and power levels...

EDIT: to comment on the 555 option.

555 will probably work fine. Keep switching frequency low : for a heater, 1Hz may be good enough - or 10Hz or 100Hz. This minimises switching losses (while the gate is charging, and the MOSFET is somewhere between On and Off.)

Don't bother with a control voltage, just control the ON/Off ratio directly with the pot. (you may add resistors at either end to keep it working with the wiper at each end). Build and test that without the MOSFET, then add the MOSFET and check the gate voltage with a high load (10 ohms) then finally a real load.

And use a heatsink ... though you should be able to get away with a smaller one!

  • 1
    \$\begingroup\$ Just noticed "handheld" in one of the comments to the question. The above suggests "handheld" if you're Arnold Schwarzenegger, but probably points to PWM for the rest of us... \$\endgroup\$ – Brian Drummond Feb 16 '15 at 12:23
  • \$\begingroup\$ Thank you for tip on heatsinks! One thing I worry about is that once the battery voltage gets low enough, the voltage of the PWM signal coming from the 555/dual op amp will be too low, and only turn on the MOSFET to a corresponding level somewhere in its linear range, rather than fully saturating it. If that's the case, I expect it will start dissipating a lot more power. On the flipside, if the voltage of the batteries is that low, the overall power in the circuit will likely be low enough that the MOSFETS dissipation might be manageable. \$\endgroup\$ – playludesc Feb 16 '15 at 21:33
  • \$\begingroup\$ Yet another thing I worry about is that under these (very) heavy loads, the batteries used experience serious voltage drop--frequently something like 25% below their actual charge. Again, I worry that as the batteries reach their minimum safe charge (roughly 3v each, or 6v in series), the drop in voltage while under load will cause the PWM signal to put the MOSFET in its linear range rather than saturate it. I think I'll just have to build it and find out if this is an issue, but any insight in avoiding that situation would be awesome. \$\endgroup\$ – playludesc Feb 16 '15 at 21:43
  • 1
    \$\begingroup\$ Consider running the 555 off a separate supply ... maybe a tiny 12V boost convertor that can tolerate failing battery input (say down to 5V). It won't have to provide much power. Or, for now, use a separate 9V battery... \$\endgroup\$ – Brian Drummond Feb 16 '15 at 22:03
  • \$\begingroup\$ You are right to worry about the battery. I mean, I haven't seen your battery (how many Ah is it anyway?), but I have tested lithium batteries before. All the ones I have tested came from the supplier with a protection circuit. If you applied a 50 mOhm load, the circuit would latch off in microseconds. If you bypass the protection circuit, then you can get very high currents, but not high enough to dissipate 150 Watts in a 50 mOhm load. I think this is nuts and has zero chance of working. But maybe your batteries are much bigger than the ones I have seen. \$\endgroup\$ – mkeith Feb 17 '15 at 6:25

After many tests I found a very simple but efficient way to calc MOSFETs to be used in linear mode.

All we need to know is the RDSon (on-Resistance between Drain and Source) and ID (continuous nominal drain current, I recommend to pick this value @100ºC from datasheet, not the 25ºC one).

With both values in hand we can calc the maximum dissipated power on the MOSFET in it's limits using Ohm's law:

If power is equal to voltage times current: \begin{equation} P=V*I \end{equation} And voltage is equal to resistance times current: \begin{equation} V=R*I \end{equation} Equating: \begin{equation} P=R*I*I \\or\\ P=R*I² \end{equation} So: \begin{equation} P_c=RDS*ID² \end{equation} I'll pick the data on IRFP260N's datasheet to my example: \begin{equation} RDS = 0.04Ω \\ ID@100ºC = 35A \\ PD@25ºC = 300W \\ P_c=0.04*35² \\ P_c=49W \end{equation} The calculated power (Pc) is more than six times smaller than the power shown in the datasheet (300W).

In my tests the MOSFET blown just above the calculated value, but I didn't tried many types of MOSFET, and this calc is to use it without a heatsink (I used a huge heatsink in some tests, but it didn't worked different to me. My guess is that there is too much power getting out the chip itself when you get above calculated power, but I'm not an expert).

Anyway, respecting the calculated power limits it worked very well to me in every test.


As you have found, the problem with a linear regulator is that to soak up the excess voltage it must dissipate a lot of power. This is the same whether you use a MOSFET, bipolar transistor or a rheostat - anything that acts like a resistor must draw the same power as a resistor.

The answer, as you have guessed, is to switch the FET fully on and off so that it is not passing current and dropping voltage at the same time. If you switch it on and off rapidly enough then the heating element will act the same as if it was receiving the power continuously. You can then vary the pulse width ratio between 0% and 100% to control the average power in the load. This is called PWM (Pulse Width Modulation).

Any circuit that produces a square wave of sufficient amplitude and varying on/off ratio will work. An NE555 timer IC could be forced to do the job, but it can be done better using a dual op amp or comparator with a few resistors and capacitors.

Here's an example. U1A generates a triangle waveform on C2, and U1B compares it to the DC voltage on pot2 to create a variable pulse width (Pot1 just adjusts the frequency, and could replaced with a fixed resistor in your application):-

enter image description here

  • \$\begingroup\$ Can you briefly explain why the dual op amp route is better than the 555 timer route? Does it allow for a greater/more accurate adjustment of the duty cycle? Does it use less power? Is it more suited to the amperage requirements of switching a MOSFET? Can you advise how either will react to varying input voltage from the Li-Ion batteries? Will one or both require a voltage regulator to manage the input voltage for their respective circuits? Sorry for the flood of questions, but thank you very much for the useful response! \$\endgroup\$ – playludesc Feb 16 '15 at 3:27
  • \$\begingroup\$ The 555 is primarily a one-shot timer. It has a PWM input but this is only designed for small modulation depth. To get reliable 0~100% PWM you need extra parts (diodes etc.) and some interaction between PWM ratio and frequency cannot be avoided. All in all it's a pain to get working properly unless you add... an op amp! The dual-op-amp circuit is simpler to understand, easier to tune and more flexible. Both the 555 and dual-op-amp circuits are relatively insensitive to power supply voltage variations. \$\endgroup\$ – Bruce Abbott Feb 16 '15 at 19:11
  • \$\begingroup\$ Thank you for the extra info! I like using Texas Instruments ICs because of the wealth of information they supply in the data sheets. It looks like I can use their TL071 as it's a single channel, dual op amp IC. One of their "common application" diagrams shows it as a square wave generator. Unfortunately, compared to the 555, there are a lot less (no) tools for calculating resistance/capacitance needed to generate the desired frequency and duty cycle. I'm going to try and adapt the diagram you gave me to use the TL071 and my own project. I'll post it here as answer when I get it! \$\endgroup\$ – playludesc Feb 16 '15 at 20:55
  • \$\begingroup\$ I got the dual OpAmp PWM circuit running! My timing capacitor is slightly larger than I'd like, so the highest frequency I can get is about 42hz. While this should work for my application, it would be nice to have more adjustability. I can get a duty cycle from about 4% to about 95%, which is also not perfect, but good enough for a solid test. It was my first time using a breadboard, and I spent about two hours trying to figure out why it wouldn't work due to my power rails only being 5 pins each rather than running the full length of the board. Doh! Now to see if my MOSFETs came in! \$\endgroup\$ – playludesc Feb 18 '15 at 16:59
  • \$\begingroup\$ Also, according to my multimeter, my voltage is varying basically 1-to-1 with my duty cycle. Hopefully this is just my multimeter being imprecise. Does that sound about right, though? \$\endgroup\$ – playludesc Feb 18 '15 at 17:02

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.