BM3 Monitor for Li-Ion / Li-Poly Battery Packs 

with cell balance connector

BM3 for 3SxP battery pack

BM3 V2.0  12F675   (  2005/12/12 )

The resistors R3,4,5, used to divide the input voltage to 1/3, and R6,7,8 divide the input to 1/2 to fix the operation range of PIC12F675 ADC, 

Use 1% resistors for R4,5,7,8 and LM 7805L as regulator, the average deviation error well be better than 0.05V

 So....

Voltage AN0 = cell 0
Voltage AN1 = cell (0+1)/2
Voltage AN2 = cell (0+1+2)/3


 and transfer to :

Voltage cell 0 = AN0
Voltage cell 1 = (AN1*2)-AN0
Voltage cell 2 = (AN2*3)-(AN1*2)

If you want to change the cut-off voltage, just change the ASM code LOW_VOLTAGE EQU D'xxx'

and UNBAL_VOLTAGE EQU D'xx'  to change the unbalance detector

;---- VARIABLES DEFINE ----
;
LOW_VOLTAGE EQU D'153' ; (3.0V/5.0V)*255= 153
;LOW_VOLTAGE EQU D'158' ; (3.1V/5.0V)*255= 158 
;LOW_VOLTAGE EQU D'163' ; (3.2V/5.0V)*255= 163
;
UNBAL_VOLTAGE EQU D'10' ; (0.2V/5.0V)*255= 10
; ;nominal 0.2V, actually 0.1~0.15V
----------------------------------------------------------------------¡@

I use the ADC at 8 bits resolution, For more precise detection, you may try to rewrite the program to 10 bits resolution.

Keep the wiring short, to prevent interference from speed controller and motor, otherwise add 0.1uF capacitor between PIC pin 5,6,7 and Vss, respectively.

¡@

BACK

=================================================================================         

You MAY duplicate, modify, give away or sell the original files in the web site or anything you derive from it.

ATTENTION : It is your own responsibility, if any damage cause by using the web site.

Philip Sun / TAIWAN

ilufa@yahoo.com

copyright 2004

Free Web Hosting