PWM Motor Control, MOSFET getting VERY hot? - SOLVED!!!
Hi all, it's been a while since I've posted, but I hope someone can shed a little light on my latest project.
This is a simple project using a 20X2's PWM function on C.5 to manage the speed of a fairly high powered blower motor. The motor is rated at 12V 6A max.
The code is very simple. the PWM duty varied by two switches, the period is set at 250 for a PWM cycle of 4Khz, which I thought would be fine.
I have a realable 5v signal at the chip, and have added a large 4700uf Cap to ensure stability.
I am using a P36NF06 MOSFET by STmicro as the fan control, switching it with a simple 2N222A npn signal transistor, fired by pin5(pwm) from the 20x2.
When I use the setup to just test (using an LED and resistor as the load) all is well. When I use the motor, the MOSFET seems to be fine at either full power or no power, but the moment that a PWM signal is used to vary the motor speed, the MOSFET gets quite hot - so hot you can't touch it. This MOSFET is rated at 60V, 30A, with a gate threshold of between 2 and 4 volts, so it should be sufficient. Can anyone give me an idea as to what I'm doing wrong or what is missing in the schematic below? (The LED shown just flashes each cycle to let me know the picaxe is running)
Many thanks!
Here's the code:
Hi all, it's been a while since I've posted, but I hope someone can shed a little light on my latest project.
This is a simple project using a 20X2's PWM function on C.5 to manage the speed of a fairly high powered blower motor. The motor is rated at 12V 6A max.
The code is very simple. the PWM duty varied by two switches, the period is set at 250 for a PWM cycle of 4Khz, which I thought would be fine.
I have a realable 5v signal at the chip, and have added a large 4700uf Cap to ensure stability.
I am using a P36NF06 MOSFET by STmicro as the fan control, switching it with a simple 2N222A npn signal transistor, fired by pin5(pwm) from the 20x2.
When I use the setup to just test (using an LED and resistor as the load) all is well. When I use the motor, the MOSFET seems to be fine at either full power or no power, but the moment that a PWM signal is used to vary the motor speed, the MOSFET gets quite hot - so hot you can't touch it. This MOSFET is rated at 60V, 30A, with a gate threshold of between 2 and 4 volts, so it should be sufficient. Can anyone give me an idea as to what I'm doing wrong or what is missing in the schematic below? (The LED shown just flashes each cycle to let me know the picaxe is running)
Many thanks!
Here's the code:
Code:
Symbol Duty = W0
Duty = 400 ' start with medium duty
PWMOut C.5, 249, Duty
TOP:
GoSub Flash ' flash the LED on Out0
SerTxD (#Duty, 13, 10) ' used for debugging student programs
If PinB.0 = 0 and PinB.1 = 0 Then StopPWM ' if both pushbuttons depressed
If PinB.0 = 0 and PinB.1 = 1 Then Slower ' if one depressed
If PinB.0 = 1 and PinB.1 = 0 Then Faster ' if other depressed
' no change if neither depressed.
GoTo TOP ' continually loop
StopPWM:
PWMOut C.5, 0, Duty ' zero the period
GoTo TOP
Slower:
If Duty < 20 Then Top ' minimum floor
Duty = Duty - 15 ' decrease duty
PWMOut C.5, 250, Duty
Pause 100
GoTo TOP
Faster:
If Duty > 984 Then Top
Duty = Duty + 15 ' increase duty
PWMOut C.5, 250, Duty
Pause 100
GoTo TOP
Flash: ' flash LED on Out0
High C.7
Pause 100
Low C.7
Pause 100
Return
Last edited: