I initially tried the MOSFET without the heat sink but it got finger-burningly hot. Attaching the heat sink meant you could touch it.
The Arduino was set to start the PWM pin at 0 and whilst the voltage was less than 14.4V increase the PWM output by 10, up to a max of 255 (100% duty cycle, ie. full on). If the voltage is greater than 14.4V reduces the PWM output by 10 to a min of 0 (0% duty cycle, ie full off).
Below is the graph of the current/voltage results:
|PWM charging attempt, current and voltage|
My original intention was to hold the battery in absorption stage for a number of hours and watch what happens with the amount of current it accepts. It should get to a point where the change in the rate of current accepted flattens out. At that point I think that battery has taken all it can and the rest is just being converted to heat.
So I'll go out and switch it back on again so it can get some absorption charge. According to this page:
The Absorption time for my 110Ah battery being charged at 2A is 31 hours! That is way higher than I've seen elsewhere, but may explain why my batteries have not been getting enough charge in the past!