so I have an IRFZ44N MOSFET that I want to use to PWM-dim an led strip. Since the 5V from the Arduino are not enough, I want to switch the 12V that I also use for the strip itself. I thought I could use a BC337-40 transistor to switch the voltage on the MOSFET on and off, but I am struggling ...
So, what I tried:
Connect the base of the transistor to the Arduino pin with a resistor in between. Since the MOSFET is voltage driven with infinite impedance, I would have expected that the resistor is nearly arbitrary (far to small burns the Arduino/transistor, far too large increases the time to fill the wire capacity).
The collector to 12V, emitter to the gate of the MOSFET with a pulldown to GND.
On the MOSFET side, I connected source to ground (common with 5V) and drain to strip (or, ATM, a test resistor) to 12V.
My reasoning already seems to have failed with the transistor. I seem to have made the same mistake as in http://forum.arduino.cc/index.php/topic,118413.0.html
I watched the video there and I think I understood it, but I am not sure how to apply that to my problem.
I also read
It seems to be similar to my circuit (without the PNP and with 12V on the collector). I also don't understand why we need an additional resistor on the gate (RGATE) despite the infinite impedance.
BTW: In the future I plan to use opto-isolators instead of the transistor. However, I really want to understand what's up with this circuit.
NPN connections:
Arduino thru resistor (270 to 1K) to base, emitter to Gnd, collector to MOSFET gate.
MOSFET connections: 10K pullup to 12V on gate, source to Gnd, drain to LED strip -. LED strip+ to 12V.
With NPN base low, MOSFET gate is pulled high, MOSFET turns on & LED strip turns on.
With NPN base high, MOSFET gate is pulled low, MOSFEDT turns off & LED strip turns off.
The MOSFET gate pullup is needed to provide 12V to turn it on. The Open Collector NPN can not drive the gate high, it can only pull low.
Ok, add that to my wire resistance. I wasn't sure about the orders of magnitude. But doesn't change the principle, does it?
Also, ATM I am only using 1,5kOhm as the base resistor, so there should be enough current.
As I said, the problem is already on my transistor part. Instead of the ~12V (- ~0.1V), I only get 4,4V. That seems to be the Emitter-Spannungsfolger from the other post, which I do not completely understand.
The IRFZ44 has an input capacitance which ranges from 1500 to 2300 pf, which is not unusual for hi power fets.
If you want to PWM the fet, its important that whatever is driving the gate can provide enough current to charge
the gate capacitance in a much shorter time than the pwm rate, otherwise the fet wont ever actually turn on hard
and will get hot.
Indeed - the gate pull-up resistor ought to be about 560 ohms - much smaller and it
will get too hot, much larger and the MOSFET will switch too slowly for PWM.
Values like 10k are only appropriate for switching small loads occasionally.
If you are controlling lots of power (high voltage and high current) then the
safe way to drive a MOSFET gate is with a proper MOSFET driver chip
capable of 100mA or more of gate drive - this is needed to counter the
currents due to the gate-drain capacitance of the device(*). MOSFET drivers go
up to several amps.
(*) Consider the drain switching 100V in 100ns, and gate-drain capacitance of 50pF,
that's 50mA fed-back to the gate, which would put 28V on the gate if it was driven
through a 560 ohm resistor, causing the gate oxide to fail and the device would
explode (that's how high power MOSFETs fail).
Drive the gate with a 500mA driver chip and that 50mA is comfortably swallowed
up by the driver.
Again consider the 100V circuit is switching 20A, then a switching time of 100ns
means about 30 uJ are dissipated on each switching event, ie about 60uJ per PWM
cycle, which at 10kHz is 0.6W. If the switching was slow (due to using a largish gate
resistor) that dissipation increases, maybe giving 2us switching time means 12W loss.
A 10k resistor might mean switching time of 20us, which means at 10kHz 40% of
the time is spent actually switching, and losses are measure in 100's of watts.
The moral is do a back-of-an-envelope estimate of switching time and see if its reasonable.
Switching losses are proportional to the load power as well as switching time.
@JohnLincoln Thanks, that is what I expected. I already mentioned the German term from the other thread. Also I am aware the the signal is inverted.
@mauried, MarkT
Thats a great remark. I was about to ask where those resistor values come from. I'll probably be switching up to 4A/48W. I'll calculate it through.
I am a little unclear about some of the aspects below. Perhaps anybody could clarify a little.
MarkT:
(*) Consider the drain switching 100V in 100ns, and gate-drain capacitance of 50pF,
that's 50mA fed-back to the gate,
Ok, I think I get the numbers here.Q=CU -> C= I = CU/t. However, I am not sure when 50mA have to leave this capacitor. Is this only the case if 100V are switched and the MOSFET is driven bei 100V? Else, the capacitor wouldn't loose all the charge, right? (because the voltage over the capacitor would only change between U_D and U_D-U_G).
MarkT:
which would put 28V on the gate if it was driven
through a 560 ohm resistor, causing the gate oxide to fail and the device would
explode (that's how high power MOSFETs fail).
I totally don't get that. Why do 28V destroy the MOSFET if we just had 100V over the capacitor? Why is it even 28V? I get that we need 28V to get 50mA over the resistor, but where does it come from? How does the system know that it has to decharge in 100ns? I would expect that the capacitor just decharges with a time constant tau=R*C. If the PWM signal switches too fast, it is just not fully uncharged. Then, if I understand the datasheet correctly, the MOSFET has a resistance >> 0 and << infintiy and might get hot.
MarkT:
Again consider the 100V circuit is switching 20A, then a switching time of 100ns
means about 30 uJ are dissipated on each switching event,
I don't get where this comes from. At the resistor, 50mA^2560Ohm100ns=2.8*10^-9J are dissipated, right? (If the above is correct.). But I do not see where the 20A come in.
MarkT:
The moral is do a back-of-an-envelope estimate of switching time and see if its reasonable.
Switching losses are proportional to the load power as well as switching time.
Switching losses are in the source-drain circuit. When the device is in the
process of switching the is both a large voltage across drain and source and
a large current flowing from drain to source. Thus the power dissipation can
be massive (kW even). Hence the need to keep switching time down.
For a resistive load the highest power level is when the device is 1/2 switched,
so that the device gets 1/2 the load voltage at 1/2 the load current, so power =
load power / 4. Averaged over the whole switching time the power dissipation
is a bit lower than this worst case value.
Time formula - you're charging a capacitor through a resistor, time constant t = RC,
or in terms of total gate charge(*) its t = QR/Vgs
(*) The gate isn't an ideal capacitor at all, so the total gate charge is a more
meaningful paramemter - usually quoted in datasheets at Vgs=10V and a
large drain current.
MarkT:
For a resistive load the highest power level is when the device is 1/2 switched,
so that the device gets 1/2 the load voltage at 1/2 the load current, so power =
load power / 4. Averaged over the whole switching time the power dissipation
is a bit lower than this worst case value.
Ok, I get that. The MOSFETs resistance changes continuously between approximately infinite and approximately 0 and you estimate the dissipation with the worst case vale of R_MOSFET=R_load, where the MOSFET doesn't limit the current by orders of magnitude but still has a resistance that dissipates considerable power.
MarkT:
Time formula - you're charging a capacitor through a resistor, time constant t = RC,
or in terms of total gate charge(*) its t = QR/Vgs
(*) The gate isn't an ideal capacitor at all, so the total gate charge is a more
meaningful paramemter - usually quoted in datasheets at Vgs=10V and a
large drain current.
I am still totally oblivious concerning this. How can the switching cycle influence the current through the resistor? The circuit dosn't know when the next switching occurs.
MarkT:
For a resistive load the highest power level is when the device is 1/2 switched,
so that the device gets 1/2 the load voltage at 1/2 the load current, so power =
load power / 4. Averaged over the whole switching time the power dissipation
is a bit lower than this worst case value.
Ok, I get that. The MOSFETs resistance changes continuously between approximately infinite and approximately 0 and you estimate the dissipation with the worst case vale of R_MOSFET=R_load, where the MOSFET doesn't limit the current by orders of magnitude but still has a resistance that dissipates considerable power.
MarkT:
Time formula - you're charging a capacitor through a resistor, time constant t = RC,
or in terms of total gate charge(*) its t = QR/Vgs
(*) The gate isn't an ideal capacitor at all, so the total gate charge is a more
meaningful paramemter - usually quoted in datasheets at Vgs=10V and a
large drain current.
I am still totally oblivious concerning this. How can the switching cycle influence the current through the resistor? The circuit doesn't know when the next switching occurs. I assume it is a similar approximation as above (I am a physicist who has nothing to do with electronics professionally, so I have to derive all the practical formulas from the basics) but I didn't get it yet.
When turning on the transistor the gate goes positive , the drain are at 100 volts and start to be lower.
The capacitans drain-gate couse a current opposit the gate drive current.
With a low gate current the switch time will be longer, there will be a balance between the gate current and the current from the drain-gate capacitans. There will never be 28 volts on the gate beacuse of the balance. The switch time will bee longer.
The gate isolation oxide can on most FET withstand +- 20 volts. The drain-source voltage can in off state be 100-200-300-400-500-600 volts or so. With more than 20 volts on the gate (gate-source) the oxide can be dammaged.
I hope my bad english solved some of your questions
ElCaron:
I am still totally oblivious concerning this. How can the switching cycle influence the current through the resistor? The circuit dosn't know when the next switching occurs.
The R is the total gate resistance (driver resistance, explicit gate resistor, internal
gate resistance - this is what limits the speed the gate capacitance charges).
When charging a capacitance via a resistance the time constant is RC, the switching time
is of very similar value to 1 time constant. Switching time is the time to switch, not the
time between switching events.
Ideally, the best way to drive hi power fets is with a dedicated FET driver, like one of these.
They are pretty cheap, usually around $1 or less, have sufficient current capacity (9 amps for this one) to turn a FET hard on and off in under 10 ns and can be driven by either a CMOS or TTL input , so you can drive them straight from an Arduino output pin.
Fet drivers are pretty common ICs , so lots of manufacturers make them.
@Pelleput: I am not sure if I understand you correctly, but you seem to agree with my posting from September 06, 2014, 10:36:12 am (do you all see the same timestamp, or is that timezone dependent? Doesn't matter, we are in the same zone :))
@MarkT I did understand that. What I don't understand is how a wrong choice of the resistor can blow the MOSFET due to a high voltage:
Consider the drain switching 100V in 100ns, and gate-drain capacitance of 50pF,
that's 50mA fed-back to the gate, which would put 28V on the gate if it was driven
through a 560 ohm resistor, causing the gate oxide to fail and the device would
explode (that's how high power MOSFETs fail).
I understand that you would NEED 28V to drain the capacitor that fast, but I don't see how it could PUT 28V anywhere, that weren't there before. And if they WHERE there before (because the gate voltage is also 100V, for example), I don't understand why they were harmfull just then.
Anyway, in general: For the IRFZ44N, V_GS,max is +-20V. V_DSS is 55V. Say I wanted to switch 50V. Would I still need to supply at least 30V on the gate for the OFF state, because else the V_GS would be higher than 20V?
Also, we are talking about 10kHz PWM and 100ns switching times all the time. The Arduino PWM is only about 500Hz. Do you think that is not enough for PWM dimming and will flicker? What would be the best way to get a higher frequency? Fiddling with the timers seems dirty ...
Is this one OK for a driver chip? ON Semiconductor MC34151D, and, MC34151P datasheet pdf
I can get it a little cheaper than the proposed one above and it has two independent outputs, which especially becomes interesting when switching RGB strips (then I only need two chips instead of 3).
Those are inverting drivers.
They will work , but will reverse the PWM output state of your Arduino so that PWM = 0 will be full on.
Try and find a non inverting driver.