Mosfet Temp at high PWM frequencies


as you can see i'm new to this forum. as you will soon find out i am also new to arduino projects. :slight_smile:

i am using a mosfet to regulate voltage to a solenoid. i need to be able to vary the intensity of the force of the solenoid. the solenoid operation needs to be silent. using a pwm frequency of 62500.00 Hz keeps the solenoid silent, however it causes an extreme amount of heat in the mosfet. the circuit looks like this:

only change is i'm using an N-Channel mosfet in place of the TIP-120. and i'm using pin 6 instead of 9 to get the higher frequency.

can someone share a better way to solve this?

thank you!

Use a bigger fet or put a heatsink on it?

only change is i'm using an N-Channel mosfet in place of the TIP-120. and i'm using pin 6 instead of 9 to get the higher frequency.

Please don't show schematics for components you don't have. I got as far as loading up a datasheet for the TIP120 before I re-read what you wrote. A pencil sketch photographed with a phone is better than that pretty F**ing diagram.

2.2K might be the correct resistor for a TIP120 but it isn't correct for a MOSFET. Take it out and see how it performs.

Hi Dannydunlop.

What FET are you using and what current does the solenoid take. You may not have enough gate voltage,


When a MOSFET is off, it dissipates no power.
When it is fully turned on it only dissipates low power.

However when you switch it from off to on (or vice versa), it goes through a linear region where it dissipates much higher power.

By using a PWM frequency of 62.5kHz, you are causing it to spend more time in the high dissipation state, hence it gets hot.

You can get around this by making the MOSFET switch faster, by using a MOSFET driver such as the TC4420. - datasheet here.

Most probably you are not using a Logic Level FET, so that it won't turn fully on with a 5V gate signal. It's easy to kill every FET this way :frowning:

wow! thank you all for your responses.

the mosfet i'm using now is an FQP30N06L. at it's maximum the solenoid takes 40V .5A. it does indeed have a heatsink on it.

i will look into the MOSFET driver that JohnLincoln suggested.

apologies for the inaccurate image.

Logic Level MOS-FET

I assume the gate voltage is to low. I tested a IRF640 today (logic level MOSFET).

The power supply was set at 5 Volts. The load was a motor that requires 300 mA.
To test the behaviour of a MOSFET i connected it to a power supply that gives me up to 1A and has a built in Ampere-meter.

  • at 4,0 Volts gate-voltage the MOSFET started to conduct (max. 50mA)
  • at 4,1 Volts I got 100 mA
  • at 4,5 Volts I got 1 Ampere

At a gate volte of 4,3 Volts the motor (300mA) was running at full speed, however, the MOSFET got hot pretty soon.

When I changed the gate voltage to 4,5 Volts it stayed cool, very cool.

MOSFETs can get very hot when you are in the linear operating range.

So 0.2 Volts more (4.5 instead of 4.3V) are like a little miracle. Not really, it is just the way how MOSFETs work.

A MOSFET driver will not help if you cannot get the gate voltage above a certain voltage. So the MOSFET driver will need a higher voltage than 5 Volts.

If you use high frequency PWM you should use a 220 Ohms resistor between the PWM output and the gate to compensate for the gate-source capacitance.

A MOSFET has a certain current per gate-source voltage, typically given in Siemens (S=1/R=I/U). For higher currents a higher gate voltage is required. The 0.2V difference may be adequate for 300mA, but more may be required for 10A.

Did you try no or low 470R gate resistor like MorganS suggested in post #2?

A picture of your project would help too, so we can see your component layout.

The spec says Vgs=5V Rdson = 0.035R
So at max continuos current = 0.5A
P=I2 R = (0.5)2 x 0.035 = 0.00875 Watts, which is very low.

So I think as JohnLincoln has said, you need a driver at that frequency due to gate capacitance.

What voltage are you supplying to the solenoid?

Tom… :slight_smile:

Hi All-

I just wanted to wrap up this thread with a Thank You to everyone who posted here. Thru your suggestions I was able to get my circuit working great! After adjusting the gate voltage to the FET (duh) the overheating problem stopped but the flyback diode started getting hot at which time I changed that out for a fast switching diode and now I'm in business. Thanks again everyone for the support!



How did you adjust the gate voltage?
What flyback diode have you fitted?

Please tell us so this thread will be valuable to someone who may have this problem in the future.

Please tell us all.

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?

Thanks.. Tom... :slight_smile: