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.