7

I am building an RGBW controller for my room. I will be using an ESP32 with four MOSFETs for each channel. I want to know which is best for fast switching. Do I need to use a MOSFET driver IC such as the ICL7667 with IRFZ44n or is it better to use a lower VGS MOSFET such as the AO3400, or something entirely different?

I'm open for suggestions.

What are the cons and pros for both, since it's only one time investment cost is not the issue?

I will make the PCB, so I prefer SMD components.

Peter Mortensen
  • 1,676
  • 3
  • 17
  • 23
Uzair Ali
  • 201
  • 2
  • 10

2 Answers2

14

which is best for fast switching do I need to use MOSFET driver IC such as ICL766 with IRFZ44n or is it better to use lower VGS MOSFET such as AO3400

You don't want fast switching to drive LED strips! If the FET switches in a couple tens of nanoseconds, you will send very high di/dt currents into your wires which will radiate electromagnetic interference and essentially act like a broadband radio jammer. Remember a signal with 10ns edges has bandwidth extending to hundreds of MHz...

On the contrary, you want slow edges, like 0.5µs - 1µs. This increases switching losses, but your PWM frequency is going to be low anyway, so switching losses, which are proportional to frequency, will be low too. Let's check the math:

Conduction losses = RdsON * I^2 * DutyCycle

For 2 amps and a duty cycle of 1 (100%) a FET with RdsON of 40 mOhms dissipates 0.16W -- you can use a FET with lower RdsON if you want.

Switching losses = V * I * SwitchingTime * Frequency

For 12V, 2A, 500ns, 10kHz losses will be 0.12W.

Note these losses are already a bit high for a SOT23 FET. I'd use a SO8 single or dual FET instead, they have better dissipation and they're pretty cheap.

Say you want to switch an AO3400 in T=500ns, total gate charge is Qg=7nC so gate drive current will be roughly Qg/T = 14mA. For this you don't need a specialized gate drive IC.

  • If you have 5V available, you can use a 74HCT logic gate as voltage translator between your 3V3 micro and a 5V "logic level" MOSFET. It's cheap and it'll work.

  • If you only have 3V3 available and no 5V, and you don't want to bother with a separate 5V supply, then it makes sense to use a FET that is compatible with 3V3 drive. Depending on the gate drive current required, and the output drive capability of your micro, you might want to add a logic gate as a buffer too. 74LVC for example.

bobflux
  • 70,433
  • 3
  • 83
  • 203
  • 2
    Using a simple filter component (a Ferrite core) will significantly lower the FET dissipation and reduce EMI. You should not be trying to manipulate or select for FET turn on/off characteristics. I have a bag (lifetime supply) of ferrites like these: https://www.amazon.com/13X8X5mm-toroidal-ferrite-Inductors-Isolators/dp/B07DM3TQN9 …..should be part of every DIY'er toolkit. – Jack Creasey Sep 15 '19 at 16:08
  • @JackCreasey To be useful to Uzair your comment would ideally say how to use the ferrites (obvious to you, not to him perhaps) and maybe put as a comment it on his question or even make a partial answer from it. – Russell McMahon Sep 15 '19 at 21:40
  • 1
    @RussellMcMahon Had I posted an answer I might have added more details. However, for a comment it would seem over the top. The OP says this is a one off it did not seem appropriate. The OP could simply use whatever core cam to hand and be very successful. You can see from the upvotes that most simply don't get the complexity. Even Sunnysky does get it, though over complicates the issue as usual.. – Jack Creasey Sep 15 '19 at 23:08
  • @JackCreasey Besides switching losses, why do you recommend not slowing down FET switching time? – bobflux Sep 16 '19 at 00:00
  • 2
    @peufeu I don't recommend slowing down the FET switching because of the dissipation. If you place a small inductance in series, then the FET can achieve a low VDS on switching since the current ramps up through the inductance. This is much more preferable than having the FET spend an indeterminate time in the linear region. This is particularly true when you use small FETs such as the AO3400 (which I use a lot of). These guys are problematic if you don't turn on quickly. If your load has a large capacitance (a string of LEDs being PWM'd) then you can easily warn them up significantly. – Jack Creasey Sep 16 '19 at 04:35
  • the problem with using 10kHz as an example frequency is that people will read that and start building loud, screeching LED drives :( – user371366 Sep 16 '19 at 05:20
  • @JackCreasey Putting your first and third comments together as paragraphs would already make a decent answer. – Dmitry Grigoryev Sep 16 '19 at 06:52
  • @JackCreasey so should I just add smd inductor in series on each mosfet gate? what value do you suggest? – Uzair Ali Sep 16 '19 at 07:41
  • @peufeu where did you get 10kHz frequency? did you suppose esp32 will be providing 10KHz or it's just the recommended value for me? – Uzair Ali Sep 16 '19 at 09:03
  • @JackCreasey OK, that makes sense. I'll update the answer. – bobflux Sep 16 '19 at 09:47
  • BTW, if OP is using LED strips which include resistors, I'd guess LED capacitance would not be an issue... – bobflux Sep 16 '19 at 10:25
  • @peufeu Even with a series resistor the effect can be readily seen. A really simple way to reduce the voltage swing is to put a single resistor across Drain/Source on the FET (say 10k Ohm) driving the PWM LED string. This means the string always draws some low value current (in this case 1.2mA maximum) which keeps the LED junctions charged. The output voltage swing may now only be in the order of a couple of volts. This has two benefits: 1. VDS is always lower as seen by the FET 2. Surge current is much reduced. – Jack Creasey Sep 16 '19 at 14:49
  • @UzairAli NO, putting the inductor in series with the gate guarantees you slow the turn on/off of the FET. The inductance goes in series with the Drain to slow the risetime of the load current. Putting SMD inductors on your board would seem like overkill (though it certainly would work). The Toroid's I showed are easy to fit on the load wires and much cheaper. – Jack Creasey Sep 16 '19 at 14:56
  • @JackCreasey OK I did a quick simulation, I get what you mean. But now the FET has to dissipate the inductor stored energy at turn-off... unless you add a freewheel diode? How much inductance do you have? – bobflux Sep 16 '19 at 16:02
  • @peufeu It all depends on your inductance. Using the cores I suggested you are likely to have Al (uH/t^2)values in the 25 range. This results in total inductance for two turns of around 20-50 uH. At this level the output capacitance of the FET is enough to control the backEMF and give risetimes in 10-50us range. If your inductor value is too high (into the 100's uH) then you do need to address the backEMF ...typically a diode from the drain to the supply. – Jack Creasey Sep 16 '19 at 19:43
  • @JackCreasey at 20µH, 2A, 25kHz, I get 1W dissipation, either in the FET (avalanche mode) or in the LEDs (reverse breakdown)... Are you sure? With a diode it works very well of course. – bobflux Sep 16 '19 at 21:12
  • @peufeu Not sure of your circuit. The LEDS won't reach reverse breakdown ...they simply have too much junction capacitance. The amount of energy stored in the ferrite core is not enough to heat a FET that much with under 100uH. – Jack Creasey Sep 16 '19 at 21:21
  • OK for LED capacitance, I don't trust the simulation model for that. Still, with 20µH, 2A, LI^2 = 40µJ stored energy times 25kHz = 1W... – bobflux Sep 16 '19 at 21:26
  • @peufeu (sorry, busy elsewhere) You are way off in your calculations. The solution is a COMMOM-MODE CHOKE. Both wires to the LEDS pass through the core. So the forward and ground currents cancel (almost perfectly) and the net current through the core tends toward zero. There is some backEMF, but it is very low, and results in power dissipation increases of only a few tens of mW at worst. I've used cores on FET PWMs without any problems up to 5A, though I do admit to using Avalanche capable FETS. I'd bet your simulation will not help you with common-mode chokes. – Jack Creasey Sep 18 '19 at 14:54
  • @JackCreasey Okayyyyy that explains the misunderstanding, I thought you used the core as an inductor! As a common mode choke it makes perfect sense then. And yeah, it's not possible to simulate it without knowing the leakage inductance. – bobflux Sep 18 '19 at 17:56
4

You cannot design ANY switch properly without specifying the load impedance R, C, L. tR and f rate.

Your switch RdsOn only needs to be < 1% of this load R for efficiency and cool operation with our large heatsink. But cost of FET may become a factor.

Vgs should be be 3x Vgsth for old std 2~4V thresold FETs or Vgs = 12V and only >2~2.5x for low Vth =1V FETs e.g. 3.3V. So your uC levels can consider these options for drivers if a boost is needed in Vgs. But remember that Coss increases as RdsOn decreases, which with cable L affects resonant frequency, so switch rise time, Q, and rep rate needs to be specified also.

For Visual RBW controls, you do not need a very fast rep rate compared to a 1MHz SMPS. Maybe 20kHz with PWM ??

When in doubt, datasheet specs for Vgs @ RdsOn ought to be observed for desired low loss and Coss & L cable to load R, ESR, or incremental R for resonance and series Q values. E.g. LED R ~= 0.5/P. Thus 100W = 5 milliohms , 1 W = 0.5 Ohm. And thus choose a switch that is near 1% of this for cool operation. More Ron demands attention to heat sink 1W/sq.in. of Cu area attached to SMD switch or as specified by datasheet.

For EMI reduction, consider a CM choke and X,Y cap as a PI filter to strip. This can be a Toroid or SMD choke. Use an AM radio to determine if you have EMI.

Bottom line: Compare Ron / R(LED) for loss ratio then decide on FET choices and then Vgs. The P rating of LEDs depends on array voltage and is irrelevant to this. Current and impedance ratio of switch is primary concern. Thus actual load tends to use only a small ratio of rated FET current at max heat sink rating.

Tony Stewart EE75
  • 1
  • 3
  • 54
  • 182