电池巡检技术的应用设计
表3 MAX397真值表
EN | A2 | A1 | A0 | ONSWITCH |
---|---|---|---|---|
0 | X | X | X | NONE |
1 | 0 | 0 | 0 | 1A、1B |
1 | 0 | 0 | 1 | 2A、2B |
1 | 0 | 1 | 0 | 3A、3B |
1 | 0 | 1 | 1 | 4A、4B |
1 | 1 | 0 | 0 | 5A、5B |
1 | 1 | 0 | 1 | 6A、6B |
1 | 1 | 1 | 0 | 7A、7B |
1 | 1 | 1 | 1 | 8A、8B |
当电源监控系统运行时,单片机的P3口输出数据00~FF到总线接口的DC0~DC7,其中,DC7选定两块巡检板中一块,DC3~DC6(0000~1111)选定16个BSU中的某一个,DC0~DC2(000~111)把已选定BSU上外挂的8节蓄电池中的某一节的电压输送到VC+与VC-上,具体的巡检原理如表4所列。
表 4 单 片 机 的 P3口 的 数 据 与 所 巡 检 的 蓄 电 池 的 对 应 关 系
P3口数据 | DC7 | DC6 | DC5 | DC4 | DC3 | DC2 | DC1 | DC0 | 巡检板号 | 电池号 | VC+ | VC- |
---|---|---|---|---|---|---|---|---|---|---|---|---|
00H | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | +C1 | -C1 |
01H | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 2 | +C2 | -C2 |
02H | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 3 | +C3 | -C3 |
03H | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 4 | +C4 | -C4 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
FCH | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 2 | 253 | +C253 | -C253 |
FDH | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 2 | 254 | +C254 | -C254 |
FEH | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 2 | 255 | +C255 | -C255 |
FFH | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 256 | +C256 | -C256 |
3.4 信号处理电路
设计思路是单片机不仅需要识别每节电池的电压,还需识别每节电池的极性,因此,把采样总线VC+和VC-上的信号处理成单片机所需的模拟信号和数字信号。
如图5所示,VC+和VC-经PART1_A(差分比例运算放大器)处理后的模拟信号,作为PART1_B的输入信号。PART1_B是绝对值电路和比较器的合成电路,从PART1_B的比较器输出的正负信号经PART2_B(由比较器、二极管和电阻构成的电平转换电路)处理后得到每节电池的极性数字信号(高电平:正极性,零电平:负极性);从绝对值电路输出的正值信号Vco(0~12V)经PART2_A(跟随器)输出到由R1~R6和X3跳线构成的电阻网络。此电阻网络经X3跳线来对不同型号的蓄电池采样电压进行调整,比如:如果R1~R6阻值为10kΩ,X3不跳线时,适合采样2V电池;X3的1-4跳线,模拟信号的幅值则为Vco的1/2,适合采样4V电池;X3的2-5或3-6跳线,模拟信号的幅值则为Vco的1/3,适合采样6V电池;X3的全部跳线,模拟信号的幅值则为Vco的1/6,适合采样12V电池。
图 5 信 号 处 理 电 路
在巡检120节、容量200Ah、单节2V蓄电池的情况下,图6和图7分别是模拟信号测试点和数字信号测试点波形。
图6 Analog测试点波形图
图7 Digital测试点波形图
4 软件设计
电源监控系统的软件包括键盘处理、液晶显示、交流监测、直流监测、电池巡检、绝缘监测、环境监测、电气控制、集中监控、整流模块通信和控制、告警回报等软件。电池巡检主要汇编程序清单如下:
DATA;外部RAM
CellV DS5 12 ;每节蓄电池电压采样数据区首址
CellPol: DS2 56 ;每节蓄电池极性采样数据区首址
AuxFP: EQU 0EC00H ;74HC574的入口地址
RSECT;内部RAM
ax: DS 2 ;暂存寄存器定义
bx: DS 2
cx: DS 2
al: EQU ax
ah: EQU (ax+1)
bl: EQU bx
bh: EQU (bx+1)
cl: EQU cx
ch: EQU (cx+1)
Pointer DS 2 ;蓄电池地址指针
Px DS 1 ;蓄电池组数(用户设置)
Py DS 1 ;每组蓄电池节数(用户设置)
Pz DS 1 ;每节蓄电池额定电压(用户设置)
BatEn DS 1;电池巡检功能使能(用户设置)
Bat1En DS 1;电池巡检板1使能(用户设置)
Bat2En DS 1;电池巡检板2使能(用户设置)
Num DS 2;整个电源系统蓄电池的总节数
i DS 2
CODE;程序代码部分
ld Pointer,#0;相关变量初始化
ld i,#1
ld ax,#CellVo
Init1: st #0,[ax]+;蓄电池电压采样数据区初始化
inc i
cmp i,#256
jlt Init1
ld i,#1
ld bx,#CellPol
Init2: st #0,[bx]+;蓄电池极性采样数据区初始化
inc i
cmp i,#128
jlt Init2
评论