Solar Battery Management System Controller

The microcontroller used is the STM32F103. The STM32F series of ARM microcontrollers provide 12 bit A/D conversion which enables a wide dynamic range for measurements. The ET-STAMP-STM32F card from Futurlec is used in this version.

The microcontroller connects to the interface boards in the system through 10 pin header cables: 6 in all, and a 14 pin header cable to the switch (which has a different interface). The controller card provides some hardware protection of batteries and loads through immediate reaction to overload and underload conditions. It also provides on-board regulated power as needed by the microcontroller. The board serves to distribute power from the switch to the interface cards.

Included on the board is an SD card connector. This is used to record the state of the internal operation of the system every second. A serial interface at RS-232 is provided on the ET-STAMP-STM32F card, while the serial signals are also provided in 3.3V digital form on a connector on the board. Also provided is a JTAG (SWD) debug connector which requires a specially compiled version of the firmware that frees up the SWD pins at the expense of some of the digital signals from the interface cards.

On the board is a temperature sensor circuit for providing ambient temperature to the battery charger algorithm. As the battery currents are small compared to the battery capacity, this temperature measure is adequate.

This version of the board was created using gEDA PCB. Its only disadvantage is that the temperature sensor calibration variable resistor is a bit awkward to get to when the board is in place.


First created
30 August 2013
Last Modified 8 September 2014
Ken Sarkies 2013