Choosing between two designs for driving a Mosfet - Page 1
Forum section: electronics / beginners

author: Byonnem
author_rank: Newbie
timestamp: August 12, 2019, 10:30:27 am
content: Hi All,I am designing an Arduino based LED strip driver (DMX Control!). I know, it has been done 100 times, and i can find many solutions online. However, I am starting this thread because i want to "understand" good design.I made 2 designs, both are working on a breadboard.The schematic includes the input of the 12V and Buck converter to 5V for the arduino. To the right there are the two designs for a single channel of the RGB led strip.Both include a "test load" of 3 ohm, leading to a current of roughly 4A. Both designs are based on the IRFZ44N N-channel MOSFET. Dimming the lights will be done by PWM, around 1kHz.Schematic A:+ Uses optocoupler (pc827) so Vgs is higher (9V)- More parts, thus more expensive+/- Does not isolate the arduino completely, i should use an isolated DC/DC Converter if i want to achieve that.Schematic B:+Cheaper, less parts.- Low Vgs: only 5V, but is enough to saturate the MOSFET Vgs threshold maximum =4V (correct me if I'm wrong!)I also considered using a MOSFET Driver chip, but (with my limited knowledge) it seemed overkill. What would be the advantage of using a mosfet driver in this situation?The final question is, which one is better? Or are they both rubbbish?Thank you,Menno Spitteler

author: MagicSmoker
author_rank: Super Contributor
timestamp: August 12, 2019, 10:49:12 am
content: Neither driver is good, really. But see this thread discussing pretty much the same thing:https://www.eevblog.com/forum/beginners/picking-a-transistor/

author: Byonnem
author_rank: Newbie
timestamp: August 12, 2019, 12:30:28 pm
content: Quote from: MagicSmoker on August 12, 2019, 10:49:12 amCould you tell me what is wrong exactly? Since it appears to be working... It is not safe/durable I assume then?I'm keeping my eye on the other thread too, thanks

author: Siwastaja
author_rank: Super Contributor
timestamp: August 12, 2019, 12:59:37 pm
content: A classical trap for young players: the Vgs(th) spec has absolutely nothing to do with saturating the FET, and actually is almost never used for any design purpose, yet shines in the datasheet.The most modern FETs nowadays tend to quote the actual Vgs required for switching applications on the front page - finally - but especially for older generation devices, you still need to go to the curve sets. It depends on current, but for IRFZ44, it's surely more than 5V for anything else than very small currents.Now to the schematics:A)You drive the FET on through 1k, and off through 4.7k. For such large capacitance MOSFET, this is going to be ridiculously slow, and likely leads to thermal problems during switching, especially if you switch often. For some purposes, it may be just fine. Hard to give a generic answer.B)* 5V from the Arduino is not enough to put the IRFZ44 into fully conducting state. Expect high Rds(on).* Driving the large capacitive load of IRFZ44 is very stressful for the IO pin, and may cause Vcc fluctuation inside the MCU as well, leading to surprising stability problems. Add a series resistor of between about 47 - 100 ohms. This will slow the gate down a bit more, but not much, since your MCU already has approx. 20-30 ohms of equivalent resistance inside. Without a resistor, the peak current would be around 5V/25ohms = 200mA, seriously exceeding the MCU ratings.This will still be much faster than A because now you have fairly low impedance (say 100 ohm-ish, with added external resistor) in both turn-on, and turn-off as well.You can increase the value of the pulldown resistor by an order of magnitude - it's only function is to keep the gate from floating away when the MCU is booting up and the pin is still configured as input.You may want to specify what you are doing. If your load is only 4A at 12V, you can find a lot of smaller MOSFETs that switch on properly at Vgs=5V, with a lot less Qg(tot) than the massive IRFZ44; thus easily driven off the MCU pin directly (with a small series resistor, of course). For a parametric search site, look at Vds(max) = 25 or 30V, and Idmax = about 8A.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: August 12, 2019, 01:24:28 pm
content: You don't gain anything using an opto, because it's low voltage and common ground. You could do the same thing with discrete transistors (2N3904, etc.) though.If you use an NPN then a PNP, cascaded, each in common-emitter configuration, then you get a 12V output with a hard pull-up (faster turn-on) and a resistor pull-down (slow). The logic is noninverting. The resistor can be improved with a PNP emitter follower (connect a diode from pull-up transistor collector to gate, to shunt turn-on current around the emitter follower).You could skip the PNPs, and then you have slow pull-up (resistor) and hard pull-down (NPN collector), but inverting logic (so you have to modify your PWM generator to go from MAXVAL-1 to 0, instead of 0 to MAXVAL-1). And use an NPN emitter follower to improve turn-on (same idea, put a diode from gate to collector).This only uses two transistors, which is about as much bother as the opto IC. They can be duals (e.g. BC847BD) if you're into that sort of thing.You can also do it noninverting, with a slight reconfiguration. Instead of common-emitter (emitter grounded, resistor divider from logic input to base to GND), common-base can be used (resistor divider from +V to base to GND, logic input to emitter). This forces load current through the MCU pin, so has the same limitations mentioned above -- but as long as this current is limited to, say, 20mA (say by crudely limiting base current to ~0.2mA, or using a series gate resistor), it's not a problem.And again, logic level FETs are an option, certainly for 5V. IRFL44 say? If your Arduino is 3.3V, that's harder, but there are a few options even for that, now.Tim

author: Byonnem
author_rank: Newbie
timestamp: August 12, 2019, 01:43:16 pm
content: Thank you both for your thoughfull replies! I really apreciate it. I will go and study itI will try to make (and test) a new design and will post again with a new solution hopefully somewhere in the coming days!M.D.S

author: rstofer
author_rank: Super Contributor
timestamp: August 12, 2019, 04:11:38 pm
content: MOSFETs aren't easy to apply when you get down to it.Consider a design with fairly slow turn on and turn off. The current waveform will look like a trapezoid with slopes on the leading and falling edges. It is during these times that the device is not fully on or off and is working like a heater.Now, increase the frequency of PWM and that area at the leading and trailing edges becomes a more significant percentage of the total period. Going high enough in frequency will result in nearly zero true on time.And that's why they invented MOSFET drivers. They try to dump AMPS into the gate, not mere mA. Of course there will still be limitations on the maximum PWM frequency but that is less of a problem.There are some logic level MOSFETs and they shout about a Vgs of 3V or 5V but they don't talk about drain current at the same time. You have to really read the datasheet (mostly the curves) to see what is actually happening.