BPS - home

construct.gif (3585 bytes)

 

Battery Management System
(Project finished in 2015)

Description
Communication protocol

Fast charging procedure
Central unit (prototype)

Host protocol
Setup utility program for PC
Downloads

As the host computer shares same port on central unit with the cells, it receives the messages for the cells too. Thus the host has to ignore the messages for the cells.

The host messages begin with the character "H", in order to distinguish these messages from the cell messages (cells ignore any message which doesn't begin with "A" ).

In order to avoid collision with cells response, the host first sends the command for stop polling the cells, later on, the host must poll the cells through central module, especially when the charging is in progress. The central unit continues processing data from cell modules as well as forwards the cell response to the host (adding prefix "H")

When the host closes the communication with the central unit, it must release automatic polling the cells in the central unit. This has to be changed in such way that the automatic polling has to be released if host doesn't send any command for defined period of time (e.g. one second).

There are two commands for start and stop polling the cells:

<<CR> - The character <, followed by <CR> stops polling the cells in the central unit and releases the communication channel to host.

><CR> - The character >, followed by <CR> releases automatic polling the cells in the central unit, after sending this command, the host can disconnect from the central module.

The host can communicate with the cells only through central module as it shares the port with them. The commands for the cells can be easily sent to the cells using prefix "C" with the command for particular cell, the central unit removes the prefix and sends the rest. Every response from the cells is sent back to host with the prefix "H".

As host "sees" the messages for the cells too, it has to ignore such messages (beginning with "A").

The host can, after it stops central module polling cells with command "<", send the commands to cells using the prefix "C", e.g. here's the command for count the cell modules:
CA00@<CR>
The central unit removes first character and sends the rest to the cells:
A00@<CR> - The host sees this message, but it has to ignore it
Let's assume 16 cells in the battery, so, the answer from the last cell to central module is:
AF0@<CR>
Finally, the central unit sends this answer back to the host, adding the character "H" in front:
HAF0@<CR> - The first cell in the battery sees this message, but it ignores it as it doesn't begin with "A"

Two more commands are used for central module, for adjusting the charging voltage/current:

+<CR> - Increase the voltage for 10mV
-<CR> - Decrease the voltage for 10mV
These commands were used during development phase of the charger. The charging algorithm has been developed on the PC first (using above mentioned commands for communication with the central module and/or cell modules) and later on the code in the central module has been created.

The host program has been written in MSbasic 7.0 (works fine under Windows XP) and was used with some assembly language routines, initially created for BPSCAD in 1990-1994.

The program has been created in order to ease calibration of cell modules as well as for setting up the parameters in the cell modules (using commands W, H, B and L, see Communication protocol for cell modules). Further information can be found in following paragraph: BMS Setup Utility.


As it is mentioned before, the central unit has not been finished yet (although it is ready for use). The following tasks have to be accomplished before releasing it as final product: