for my project I want to drive about 12 x IRLl014 FETs with an ESP32. To get more pins I want to put a IO-expander, either a MCP23017 or MC23008 onto the I2C and out onto the gate. I know that driving the IRL directly works with an IO but what about the expander?
The maximum current can be 20mA per IO or 150mA total. So using the 16 channel would get me a really low current to charge the FET?
The FETs either drive SSRs or motors.
simulate this circuit – Schematic created using CircuitLab
I tried to make a simplified schematic. It works like this ESP32 > I2C/MCP23008 or MCP23017 > MOSFET (either IRLL014 or IRF3704). > SSR or Pumps directly I use exactly 12x IRL014 and 4x IRF3704 right now it's set up like this:
FET1-8 on MCP23008_1, FET9-12 on MCP23008_2, PFET1-4 on MCP23008_3
On the load side there is either 24V or 12V depending on the jumper/load (whatever it needs, as I have 12V pumps or 24V pumps). Other than pumps there are also DCAC SSR(RLY1 in the schematic) to switch.
I got some questions there:
- Would that even work? I don't really know how much current the gate of the FET draws. If every FET draws more than the MCP could deliver for a long while it makes smoke. Would I need a resistor in series to MCP to reduce the maximum current drawn? (And protect from on-off switching currents?)
- Would I notice the charging times with <20mA?
- Do I need a level shifter if I power the MCP with 5V?
- I know I could also just control them with 3v3 Volt but I read that more voltage makes the FET switch better. Is that correct?
- Do I need to watch anything specific aswell if I set it up like that (something that I didn't thought of)?
Thanks!