High Current fan controlled with Arduino pwm

I'm having trouble trying to design a circuit to control 2 fans with a combined max draw of 20A (I'm saying 30A just to be safe)
i originally wanted to use mosfets that could take 30A (IRL540) but ive read that the back emf or capacitance (cant exactly remember) will cause the current drawn from the arduino to be too high and possibly fry my arduino when using PWM
I want to be able to use the fans at 50% speed
Ive also read that i can possibly use an H bridge. but im not sure how i would do so.
The solution i have come up with is to trigger(PWM) for my mosfets for my fans with another mosfet linked to the arduino, therefore isolating the high current draw mosfets from my arduino (these will all be using external 12v battery except for the gate on the mosfet connected to my arduino)
and sorry for my terrible formatting lol

This post has a high current low voltage PWM control circuit

You will need to add a flywheel diode across the motor to prevent the back emf on switch off from causing problems.
Note this circuit needs 24V. The opto will not run on 12V so that may be a problem for you.

i thought an opto will not be able to keep up with PWM, i heard theyre just too slow.

To be able to see if i can just run mosfets ill think i just need help with calculating how much current the mosfets will draw to see if the arduino can handle it
And if the arduino is unable to handle the draw from the mosfet taking care of my 30A load, i can add another mosfet to control those mosfets

The data sheet for the vod3120ab suggests it will handle >0.5Mhz frequencies.
The max Arduino PWM freq (DUE) seems to be ~1Khz
Allowing for 255 steps the shortest 1 step pulse is ~4uS > ~1.1uS up/down propagation delay of the opto so a single pulse should give at least 2.8uS of output.

Actually not sure how the motor will respond to a PWM drive.
May someone else has experience with that.

im not too familiar with optos either, even though i just installed one at work lol

Heres my incredibly simple dumbed down, circuit diagram, yes i know its missing diodes and resistors, im just looking to see if my basic concept will work.

Yes you can use a n-channel mosfet instead of the opto to drive the main fet harder and faster.

and this should be saving my arduino but im still concerned how much current a mosfet will draw just on its own as arduino can only put out 40mA

Since a voltage of 12V is available, you may consider using a gate driver with level shift and totem pole output.
It drives large MOSFETs powerfully and makes the interface with uC very easily.
It is also not-insulation but durable as it is specifically designed for MOSFET drives with large input capacitance.

In addition, since the gate driver has a totem pole output, the MOSFET can be turned on and off at high speed, greatly reducing switching loss when using PWM.
Also since their input signal is a small signal, it can be insulated by using a high-speed optocoupler together if you need.

By the way I often use ICs like IR4427 and MIC4416.

im not exactly sure how to use the IR4427 but ill take a look into it, the reason ive gone with the mosfets is because i find them easier to understand but that totem pole output has me intrigued

It's not a question of either the mosfet or the mosfet driver; you use a mosfet driver to interface with a mosfet easily and effectively, so you'd use both. However you can also use a small signal mosfet like you proposed in your second hand drawn schematic (although it needs some minor modification in order to work!)

The main thing you'll have to figure out is what pwm frequency these fans like. Something like 1kHz may or may not work well, and it may produce a hell of a lot of audible noise.

what would it need to work, im aware i need to pull the gate to ground with a resister and add a couple diodes, im going to try the stacked mosfet sollution simply because i have mosfets

The gate of the power mosfet needs to be pulled up to e.g. 12V; that's the most important one.

Good luck with this one; it may be slightly trickier than it looks at first glance.

When using one additional drive MOSFET, as you say, pulling the gate to ground or gate voltage is done by a resistor.
This is a significant shackle for MOSFETs with large input capacitances.
This is because the gate charge only discharges through its pull-down(up) resistor during main MOSFET turn-off(on).
This can cause significant switching loss and overheat the MOSFET.

This is why I prefer totem pole output gate drivers.
The totem pole output drives both turn-on and turn-off powerfully.
Of course, you can make your own totem pole output using two MOSFETs, but I prefer packaged ICs.

Which is mostly an issue with high switching frequencies. 1kHz or thereabouts is usually not a big issue. Allowing the gate pullup resistor to draw a bit more current already helps quite a bit, but is of course somewhat inefficient.

1 Like

I'm mainly designing SMPS circuits, so there may be some misthinking there...
But I think 1kHz PWM will probably make a lot of noise. Yes, It's even audible to human.
Also, when using tens to hundreds of amps, the MOSFET Ciss has a considerable capacitance.
So I don't recommended even at low frequencies switching.
Yes, this is in my oponion.
I agree that lowering the gate pull resistance will improve it to some extent, but I think it's a fairly inefficient approach.

i only want to be using 50% speed not sure how to calculate frequency lol

I agree that a totem pole driver will be superior overall. It may not be a strict necessity in this case, however. It really depends on the power mosfet that's used, the switching frequency OP actually ends up using and the pwm resolution required.

as i said 50% speed on the fans at 30A as absolute max load which is 10A of a safety buffer, im still looking into totem pole drivers, hopefully i dont need to much hand holding to understand how to use them