background image

图 4 均衡模块简图

均衡模块工作时, 电流从电池正极流出, 经过一个反向阻塞二极管,

一个限流电阻, 一个功率晶体管。在充电时, 将该电池的充电电流分流,
减小该电池的实际充电电流; 在放电情况下, 将增加该电池的放电电流,
两种情况都将使该电池电压降低, 趋近于整组电池的平均电压, 从而达
到荷电状态的均衡。

( 2) 控制电路设计
单片机作为智能控制芯片, 已经广泛应用于各种控制系统, 具有操

作简便, 控 制 精 确, 易 于 扩 展 等 特 点。 本 文 所 设 计 的 控 制 电 路, 以 M icrochip 公 司 的 微 处 理 器

PIC16F877A

[ 1]

作为核心控制元件, 完成电池电压采集、计算, 输出控制信号等任务。该处理器具有内置

8 个通道, 分辨率为 10 位的 A / D, 具有 L CD 驱动、异步串行通信接口和 PWM 输出等多种功能, 具有 8K
的程序存储器和 33 个 I/ O 口, 系统资源满足设计要求。

图 5 控制电路原理框图

图 6 主程序流程图

如图 5 所示, 单体 电池电压 经过 差分放

大, 输入 到 P IC16F877 的 A/ D 通 道 ( AN0~

A N 7) , 控制信号从 B 口输出, 经过光电隔离,

控制分流电路的通断, 同时, C 口输出显示信
号。本设计中, 时钟频率选取 8 M , 每 10 ms 完
成一次通道扫描, A/ D 转换结果累计 20 次求
平均值, 该值计为单体电池电压。当有一只或
几只电池电压超过平均值 20 mV 时, 开启相应的分流电路, 对单体电池进行均衡。

( 4) 软件设计
由于本设计采用了微处理器作为控制核心, 所以控制软件的设计非常重要。为了增加程序的可读

性和可维护性, 方便今后的程序移植, 采用 C 语言来编程。这里的 C 语言编译器选用的是 P ICC。软件
的流程如图 6 所示。A/ D 转换采用软件查询的方法实现, 通过计
算、

比较, 判断各个单体电池的荷电状态, 通过 B 口输出控制信

号, 控制相应的分流电路。然后进入周期间隔, 等待一段时间后,
重新进行 A/ D 采样。考虑 到外部干 扰可能引 起电池电 压不稳
定, 在判断电池电压过高时, 需要连续 3 次都满足条件才会触发
均衡模块。

( 5) 需要注意的事项

a) 在充电期间测量电池电压并不准确

[ 1]

, 充电器的电压转换

和感应谐振会造成输出电压毛刺, 引起测量误差, 会引起过早的
电池均衡。因此, 必须周期性地停止充电以便测量电池电压。

b) 为了保证输入电压的精度, 在输入通道上, 应选用温漂尽

量低, 输入失调电压小的运算放大器, 本文中选用的是 CA3140。
另外由于电池电压经过了差分放大处理, 所以在放大环节, 电阻
的精度应达到 1 , 以减小误差。

c) 与充 电时 不同, 在 电池 组的 放电 后期 电池 电 压下 降很

[ 3]

, 因此为了避免电池过放电, 当 1 只或多只电池电压小于某

个电压值后, 所有的均衡模块将停止工作, 以节约能量, 当 1 只或
多只电池电压小于保护电压后, 切断断负载, 直到充电状态才解
除。

d) 均衡电路设计时必须注意功率晶体管和限流电阻的选择

71

第 2 期