I've fried 3 MOSFETs today, quite frustrating.
When I connect the gate directly to positive, it's pretty happy, the motor runs and the FET temp stays below 40 deg C.
When I connect the gate to negative, the motor turns off, and it still stays below 40 deg C, great!
I measured the gate voltage with a multimeter and noticed that when I connect gate to positive, the voltage is between around 0.01V and 0.001V (fluctuates a lot.) This doesn't make much sense to me, as I thought the gate had to be at least 4.5V to trigger. When connected to negative it's -0.01V.
When I connect it to the Arduino, the MOSFET temperature explodes and reaches over 100 deg C in no time. If I'm quick I can cut the power and save the MOSFET, but I've managed to fry 3 of them today.
When the Arduino is in the circuit, the multimeter shows the Arduino giving the gate 5V when digitalWrite uses HIGH and around 0V when digitalWrite uses LOW. So, I'm wondering if I need to get the Arduino to match the voltages in the non-Arduino scenario to avoid frying the MOSFET. But, apparently it isn't possible to get the Arduino to produce a negative voltage on the pins.
Here's the Arduino code:
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
pinMode(11, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(11, LOW);
delay(5000);
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(11, HIGH);
delay(5000);
}
Edit: The multimeter is in series from the gate. Full part number is IRLB8721, which is N-chan.
Edit 2: Though the fan is a 12V 200W motor, I'm driving this from a bench power supply at about 5V 5A. I tried driving it from a 12V 20A power supply, but it apparently trips the overcurrent protection. Maybe it's a +240W fan.






digitalWritewithLOWparam; here it only supplies 0V to the gate and it heats up. Without the Arduino, if I connect the gate to negative/ground, it supplies -0.001V which seems to close the gate successfully. – Nick Bolton Jul 01 '21 at 23:40