Lithium Battery Pack Discharger

I'm trying to build a circuit that balance each cells from lipo battery by discharging them until all of the higher voltage cells are the same voltage as the cell lowest in voltage. Most of the time around 3.8V.

Arduino will be used to monitor the voltage of each cell and to control the mosfets. My electronics knowledge is near to nothing, so I would be glad if someone can help me verify if the circuit below would work.

Will be using a 1Ω 20W clay resistors to discharge each cells, with 1Ω resistance, the highest it would discharge is 4.2A (Max voltage of a lipo would be 4.2V), around 18W at 4.2V.

Mosfets I'm having in mind is FQP30N06L or CEP6030L, both a logic level mosfet, which doesn't matter at the moment until I can figure out whether the circuit would work.

• How you drive those MOSFETs is the really tricky bit but yes, the circuit could work but you have no detail shown about the hard bits. Nov 21, 2016 at 14:40
• @Andyaka Planning on using Arduino output pins to drive logic-level MOSFETs. Nov 21, 2016 at 14:42
• @Infrasonic How? Draw a diagram? Just connecting the gates to your MCU will set fire to your Arduino and/or battery pack due to the difference in voltage between them. Nov 21, 2016 at 14:46
• @winny Right..I totally overlooked it, just realized there is no place for the ground of my arduino to go to in order to drive the MOSFETs. Thanks for pointing it out. Nov 21, 2016 at 14:53
• The hard part is driving the gate. You cannot just "drive it with an Arduino". You need to drive the gate above Vgs-threshold (2.5V for the first datasheet) to turn it on. If your bottom cell is on GND, then this means the gate of the topmost FET Q1 has to reach 23.5V (4.2V*5 cells+2.5V = 23.5V) to turn on. And you can't just ground the gate to turn it off else you will exceed the +/-20V absolute max Vgss. You show the easy part. Biasing and driving is the tricky part :) Dec 23, 2016 at 0:27