I currently have a very 'dumb' mains battery charger. As you may recall, this is the charger that took my battery up to 15.1v last time I tried it. I don't use this charger much, it was bought in an emergency to charge a start battery once upon a time. I've always believed I didn't need a mains charger as my Sterling B2B and solar panel should keep the batteries in my van in a good state. I've since worked out that it looks like they have been undercharging as whilst they have been OK to do a bulk charge, I never went on drives long enough to get to the 'absorption' stage of the charge.
So I've had an idea to build a PWM solar regulator to replace my Stecca PR3030. But I've realised I can use the same circuit to add some 'smarts' to my dumb mains charger. Mainly I need to to make sure that the voltage once it reaches 14.4v is held at that voltage for a few hours as the absorption stage, then drop down to a float charge. So, all I need to do is have something that can restrict the voltage that the mains charger is supplying to the batteries.
My plan is to use a logic level MOSFET to do this, controlled by a PWM pin on the battery monitor Arduino. In short, the Arduino will already be monitoring the battery voltage and so just needs to adjust the PWM rate, lowering it if the voltage goes above 14.4v and increasing it if the voltage falls below 14.4v.
I picked up some 'logic level' MOSFETs from RS today. This particular MOSFET can dissipate 167W and can go up to 40V or 106A. So should be fine to deal with the max 6A at 14.4v = 87W that my mains charger can put out. The idea of a logic-level MOSFET is that the gate pin can be driven directly by TTL voltages from the Arduino (ie. 5V). It is an N-channel MOSFET so will be connected to the negative lead and do 'low side' switching, as opposed to be connected to the positive lead. Connecting to the positive lead means you need more circuitry as the gate pin on the MOSFET has to be pulled higher than the source voltage (ie. higher than 14.4v).
This MOSFET also has a very low resistance between the source and drain pins. A quoted max 0.008 Ohms or 8 Milliohms. This means that at 6A I would get a voltage loss of 0.048V, which is insignificant for the mains charger. It is a bit of a waste for when I use it for solar panels, but seeing as the solar panels have an open voltage quite a bit higher (around 17-20V) then it should be OK. The regulator will be as close to the batteries as possible, so any voltage loss in the wiring from the solar panel to the regulator should happen before we drop the voltage down to 14.4V. This is one of the issues I think I have with my current solar regulator placement. It is halfway between the batteries and the panel and I think doesn't get an accurate reading of the battery voltage.
My plan is to solder the MOSFET to a small piece of stripboard with some screw terminals on the end. I plan to solder the wires along the tops of the copper tracks to provide some more current carrying ability. I also have a small heat sink to attach to the MOSFET to help with heat dissipation. The proposed circuit will be something like this:
The resistor across the pins of the MOSFET is a pull-down resistor, meaning it will keep the gate of the MOSFET closed if the Arduino is disconnected.