The switcharger lacks one important feature that could affect the lifespan of the battery on the long run. That is the voltage compensation.
The acid solution in flooded lead-acid batteries, as it gets exposed to the ambient temperature, expands or contracts in the cell enclosure. The solution is made of sulphuric acid and water, both having different densities, thus different thermal expansion coefficients. As a result, at different temperatures the volumetric concentration of the mix varies. On the other hand, both charging and discharging involve an electrochemical reaction. The speed of the reaction is also influenced by the temperature. Both facts indicate that the battery voltage and current will be temperature dependent.
Unless the battery is exposed to considerable temperature variations, you could skip it. However, for larger variations, one should take it into consideration. The first phase of charging involves taking the battery at the gassing voltage while the second phase keeps it just below it, to prevent self discharging. If the charging voltages, both the VMAX and VFLOAT, are not adapted accordingly, the gas accumulation could escape the regulating valve which is detrimental to the battery.
Few words of warning:
• The lead-acid battery can produce enough quantities of hydrogen and oxygen to produce an explosion! It is highly recommended to keep the battery in a well ventilated place.
• The lead-acid batteries, as the name suggests, contain lead. As a precaution measure, do wash your hands after handling them.
The voltage/temperature ratio is small and should be given by the battery manufacturer. It averages at -5mV/°C for a lead-acid cell.
The compensation function can be added with little to no effort to the charger. The Arduino will have to monitor, besides the voltage, the temperature of the battery through a voltage divider setup where the bottom resistor is replaced by a thermistor. A thermistor is a temperature variable resistor and for this purpose I'll be using an NTC. This time the VCC is used as a reference.Temperature measurement - an NTC used in a voltage divider circuit