Revised 3/5/2015
This project is a Battery monitoring (optional Management) System (BmS/BMS**) designed to be part of a larger system based on Arduino's IDE and utilizing CAN (Control Area Network) as a way to communicate and coordinate the charging of batteries from multiple sources. I am mostly focusing on 'house' type storage batteries - mostly covering Marine, RV, and off-grid segments. Over the next few weeks I will expand this blog some with details, but for now here is a summary of some of the goals of this project:
Overall Features:
This project is a Battery monitoring (optional Management) System (BmS/BMS**) designed to be part of a larger system based on Arduino's IDE and utilizing CAN (Control Area Network) as a way to communicate and coordinate the charging of batteries from multiple sources. I am mostly focusing on 'house' type storage batteries - mostly covering Marine, RV, and off-grid segments. Over the next few weeks I will expand this blog some with details, but for now here is a summary of some of the goals of this project:
Overall Features:
- monitor battery voltage, temperature, and current draw (in or out).
- Track total Wh's contained in the battery to provide SOC estimate
- Communicate above with other projects on the CAN bus
- Optionally interface with existing simple cell-level monitors and/or cell balancing, to protect out of balances batteries from over / under charge (delivering the full BMS - Battery MANAGEMENT System)
- Output drivers to control external devices: cooling fans, safety disconnects, etc.
I intend to migrate the Arduino Alternator Regulator as well as the Arduino DC Generator Engine Control and Regulator projects to make use of this BmS/BMS, along with creating a new Solar MPPT controller. All with the idea of simplifying installation by reducing the number of wires needed to one CAT-5 cable. In addition, the BmS/BMS will be configured with its' batteries desired charge profile, and pass that on to any associated charging source(s). In this way all the charging sources can work in a well coordinated fashion towards the needs of the battery.
http://arduinoalternatorregulator.blogspot.com/
http://smartdcgenerator.blogspot.com/
http://smartmppt.blogspot.com/
http://arduinoalternatorregulator.blogspot.com/
http://smartdcgenerator.blogspot.com/
http://smartmppt.blogspot.com/
Some likely future enhancements will include:
- Inclusion of a local panel display - showing a verity of status.
- Ability to interface with larger tables / PCs to provide status as well as configuration of system.
All works are being released under the Creative Commons licensing agreement with the only restrictions around commercial use. I have selected the Open Source KiCAD tool for Schematic capture and PCB layout and posted those CAD files. Links at the top of this Blog provide details of each portion of this project. Click on the Link-to-Files area to download the schematic and well as PCB layout and parts list (when posted).
The Design Elements section goes into more details of each sub-segment.
Comments and advice are always welcome! It is my hope this project can be the basis for others works in intelligently controlling the care and feeding of batteries used in energy storage applications.
** To reduce, or perhaps increase, confusion I will try to use two nomiclatures: BmS and BMS:
- BmS = Battery monitoring System: This will monitor the batteries status, SOC, as well as coordinate charging sources via the CAN. It however will not have a key function of active cell balancing. A BmS will protect the battery and inform the world as to its status and needs.
- BMS = Battery Management System: Adds to the above the ability to actively preform cell level monitoring and/or balancing. Will likely be enabled by an add-on card (or cards) to connect to each cell providing details feedback on the cells status, and perhaps also allowing for some type of passive balancing.