Creating a Low Internal Resistance Switch Using N-Type MOSFET


I am trying to use an IRF640N N-type MOSFET as a low-side switch for a small device. While the concept seems straightforward, I'm encountering issues when I move from simulation to a real-world breadboard setup.

In my Proteus simulation, everything works as expected. However, on the breadboard, I'm seeing a significant voltage drop across the MOSFET when running 2A through the drain. Additionally, the MOSFET heats up rapidly and seems like it can't sustain the load for more than 10 minutes due to excessive heat.

I'm struggling to understand why this is happening and how to resolve it. Any insights or suggestions would be greatly appreciated.

Here is the picture of my circuit.

Here is the Proteus simulation picture
Figure 1: Here is the Proteus simulation picture

Here is the picture before I started my load cell
Figure 2: Here is the picture before I started my load cell

Here is the picture when load cell starts to use 2A current
Figure 3: Here is the picture when load cell starts to use 2A current

Best Answer

From the IRF640N datasheet, on page 3, we have these two graphs:

enter image description here

The red dots show the point on the \$V_{GS}=7V\$ line where current is 2A. Fig. 1 is good for when the transistor is cool, at 25°C, and you can see that it will develop a drain-source voltage of a little over \$V_{DS}=0.2V\$. This corresponds to a power dissipation of:

$$ P_{25} = I \times V = 2A \times 0.2V = 0.4W $$

This will obviously cause the transistor to heat up, quite slowly at first. From fig. 2 it's clear that as temperature rises, so does \$V_{DS}\$. If current is kept constant at 2A, then as \$V_{DS}\$ rises, so does power dissipation, causing the transistor to heat faster. This leads to \$V_{DS}\$ rising faster still, causing even faster heating.

If ever the temperature of the transistor were to rise to 175°C, fig 2. shows that with 2A of drain current \$V_{DS}=0.6V\$, and power would then be:

$$ P_{175} = I \times V = 2A \times 0.6V = 1.2W $$

By then, the transistor would surely be cooking itself very quickly indeed, unless you could remove that heat as quickly as it's generated, with a heatsink.

This problem occurs when drain current is kept constant, and the phenomenon is called thermal runaway. Thermal runaway generally does not occur if the load is a fixed resistance, instead of something that varies resistance to maintain constant current. That's because if the load was resistive, the voltage across it would fall as \$V_{DS}\$ rises, causing current to fall also, preventing the transistor's power dissipation from rising over time.

I think you'll have less destructive results using your programmable load in constant resistance mode instead of constant current.