信 息 技 术
2009 NO.05
SCIENCE & TECHNOLOGY INFORMATION
科技资讯
基于 A T 8 9 C 5 1 的智能充电器的设计
( 福建师范大学协和学院 福建福州 3 5 0 1 0 8 )
钟 伟 雄
摘 要:现代的社会手机数量的迅速增多,而各个手机厂商所出的手机充电接口又各不相同,与此同时,市场上手机充电器种类繁多,但其
中也有很多质量低劣的不合格产品。其主要问题出现在: 与交流电网电源的连接, 电源端子骚扰电压, 辐射骚扰场强和充电电压几个方
面。本充电器的设计调整充电策略, 进行智能控制, 从而实现数字化、智能化、通用化和低功耗的特点。
关键词:充电器 手机 智能
中图分类号: T N 9 1
文章编号:1672-3791(2009)02(b)-0031-03
文献标识码:A
1 选题的背景
现 代 社 会 , 人 们 使 用 便 携 式 设 备 包 括
手机、M P 3 、数码相机等的机会越来越多,
而 这 些 设 备 大 部 分 都 使 用 充 电 电 池 , 不同
设备的充电电压、电流不同使得我们要对
不 同 的 设 备 电 池 购 买 不 同 的 充 电 器 , 造成
不 便 和 浪 费 。
通 过 该 题 目 的 实 施 , 可 以 实 时 采 集 和
计 算 电 池 的 参 数 , 根 据 不 同 的 电 池 调 整 充
电策略, 进 行 智 能 控 制, 从而实现数字化、
智 能 化 、 通 用 化 和 低 功 耗 的 特 点 。
1 . 1 本课题在国内外的发展概况及存在的
问 题
目前, 市场上手机充电器种类繁多, 但
其中也有很多质量低劣的不合格产品。其
主要问题出现在: 与交流电网电源的连接,
电 源 端 子 骚 扰 电 压 , 辐 射 骚 扰 场 强 和 充 电
电 压 几 个 方 面 。 另 外 , 一 些 产 品 的 低 温 性
能、额定容量、放电性能、安全保护性能
等方面存在质量问题。这些质量问题会影
响 到 手 机 的 正 常 使 用 , 还 会 影 响 手 机 的 使
用寿命, 严重时还可能伤害消费者。
2 智能充电器的硬件设计
智能充电器如图 1 所示。主要包括电源
变换、采样电路、处理器、脉宽调制解调
器和电池组等, 形成了一个闭环系统。
2 . 1 处理器
● 1000 次擦写周期
●全静态操作: 0 H Z ~2 4 M H Z
● 三 级 加 密 程 序 存 储 器
● 1 2 8 * 8 字节内部 RAM
● 3 2 个可编程 I / O 口线
● 2 个 1 6 位定时 / 计数器
● 6 个中断源
●可编程串行 U A R T 通道
● 低 功 耗 空 闲 和 掉 电 模 式
( 2 ) 管脚功能( 引脚图见图 2 ) 。
V C C : 供电电压; G N D : 接地
P 0 口: P 0 口为一个 8 位漏级开路双向
I / O 口, 每脚可吸收 8 T T L 门电流。
P 1 口: P 1 口是一个内部提供上拉电阻
的 8 位双向 I / O 口。
P 2 口: P 2 口为一个内部上拉电阻的 8
位双向 I / O 口。
P 3 口: P 3 口即可以作通用 I / O 口使用,
又 可 以 作 第 二 功 能 使 用 。
R S T : 复位输入。
A L E / P R O G : 当访问外部存储器时, 地
址锁存允许的输出电平用于锁存地址的地
位 字 节 。
/ P S E N : 外部程序存储器的选通信号。
/ E A / V P P : 当 / E A 保持低电平时, 则
在此期间外部程序存储器(0000H-FFFFH),
不管是否有内部程序存储器。
X T A L 1 : 反向振荡放大器的输入及内
处理器采用 51 系列单片机 AT89C51 。
部 时 钟 工 作 电 路 的 输 入 。
单片机内部有两个定时器、两个中断和一
个串口终端、三个八路的 I / O 口, 采用 1 1 .
0592HZ 的晶振。
单片机的任务是通过采样电路实时采
集 电 池 的 充 电 状 态 , 通 过 计 算 决 定 下 一 阶
段 的 充 电 电 流 , 然 后 发 送 命 令 给 控 制 器 控
制电流的大小。单片机通过串口 R S 2 3 2 和
上位机相连, 用于存储数据和虚拟显示。
2 . 1 . 1 单片机 A T 8 9 C 5 1
( 1 ) 主要性能参数。
●与 M C S - 5 1 产品指令系统完全兼容
● 4K 字节可重复擦写 Flash 闪速存储
器
X T A L 2 : 来自反向振荡器的输出。
2 . 2 电源变换电路
电源变换电路图见图 3。220V 交流输入,
一端经过一个 1N4007 半波整流,另一端经过
一个 1 0 欧的电阻后, 由 1 0μ F 电容滤波。这
个 1 0 欧的电阻用来做保护的, 如果后面出现
故障等导致过流, 那么这个电阻将被烧断,
从而避免引起更大的故障。右边的 1N4007 、
图 1 智能充电器电路模块图
图 2 AT89C51 引脚图
①作者简介: 福州大学 2 0 0 8 级电子与通信工程专业研究生。
4700pF 电容、82K Ω电阻,构成一个高压吸
收电路, 当开关管 1 3 0 0 3 关断时, 负责吸收线
圈上的感应电压, 从而防止高压加到开关管
13003 上而导致击穿。13003 为开关管(完整
的名应该是 MJE13003),耐压 400V,集电极最
大电流 1 . 5 A , 最大集电极功耗为 1 4 W , 用来
控制原边绕组与电源之间的通、断。当原边
绕组不停的通断时, 就会在开关变压器中形
成变化的磁场, 从而在次级绕组中产生感应
电 压 。
左端的 5 1 0 K Ω为启动电阻, 给开关管提
供启动用的基极电流。13003 下方的 10 Ω电
阻为电流取样电阻, 电流经取样后变成电压
(其值为 10 × I),这电压经二极管 4 1 4 8 后,加
至三极管 C 9 4 5 的基极上。当取样电压大约
大于 1.4V,即开关管电流大于 0.14A 时,三极
管 C945 导通,从而将开关管 13003 的基极电
压拉低, 从而集电极电流减小, 这样就限制了
开关的电流, 防止电流过大而烧毁( 其实这是
一个恒流结构, 将开关管的最大电流限制在
140mA 左右)。变压器左下方的绕组(取样绕
组)的感应电压经整流二极管 4148 整流,22uF
电容滤波后形成取样电压。
为了分析方便, 我们取三极管 C 9 4 5 发
射极一端为地。那么这取样电压就是负的
( - 4 V 左右) , 并且输出电压越高时, 采样电
压越负。取样电压经过 6 . 2 V 稳压二极管
后, 加至开关管 1 3 0 0 3 的基极。当负到一定
程度后, 6 . 2 V 稳压二极管被击穿, 从而将
开关 1 3 0 0 3 的基极电位拉低, 这将导致开关
管 断 开 或 者 推 迟 开 关 的 导 通 , 从 而 控 制 了
能 量 输 入 到 变 压 器 中 , 也 就 控 制 了 输 出 电
压 的 升 高 , 实 现 了 稳 压 输 出 的 功 能 。而 下
方的 1K Ω电阻跟串联的 2700pF 电容,则是
正反馈支路, 从取样绕组中取出感应电压,
加到开关管的基极上, 以维持振荡。
右边的次级绕组, 经二极管 R F 9 3 整流,
220uF 电容滤波后输出 6V 的电压。RF93 是
一个快速回复管, 例如肖特基二极管等, 因
为开关电源的工作频率较高, 所以需要工作
频 率 的 二 极 管 。 这 里 可 以 用 常 见 的
1N5816、1N5817 等肖特基二极管代替。同
样因为频率高的原因, 变压器也必须使用高
频 开 关 变 压 器 , 铁 心 一 般 为 高 频 铁 氧 体 磁
芯, 具有高的电阻率, 以减小涡流。
2 . 3 采样部分
采样电路连接图 4 所示。电压和电流
采样采用模 / 数换器 AD574 为± 15V 双电
源供电, 1 2 位输出, 最大误差为± 4 b i t , 合
计电压 0 . 0 1 V。
充电电流通过电流传感器 MAX471 转换
为电压值。电流采样的电压值和电池组的
端电压值两者经过模拟开关 CD4051,再经过
电压跟随器输入到 A D 5 7 4 , 分别进行转换,
科技资讯 S C I E N C E & T E C H N O L O G Y I N F O R M A T I O N
31
科技资讯
2009 NO.05
SCIENCE & TECHNOLOGY INFORMATION
图 3 电源变换电路
图 4 采样电路
图 5 AD574 引脚图
图 6 MAX471 引脚图
图 7 MAX471 功能图
其结果由单片机读取, 并进行存储和处理。
+5V 或 0V 连接
2 . 3 . 1 模 / 数转换器 A D 5 7 4
其 主 要 功 能 特 性 如 下 :
●分辨率: 1 2 位
●非线性误差: 小于± 1 / 2 L B S 或±
P i n 5 ( ) 为读转换数据控制端
Pin6(CE)为使能端
P i n 7 ( V + )为正电源输入端, 输入 + 1 5 V
Pin8(REF OUT) 为 10V 基准电源电压
1LBS
输 出 端
●转换速率: 2 5 u s
●模拟电压输入范围: 0 ~1 0 V 和 0 ~
20V,0~± 5V 和 0~± 10V 两档四种
●电源电压: ± 1 5 V 和 5 V
●数据输出格式: 1 2 位 / 8 位
● 芯 片 工 作 模 式 : 全 速 工 作 模 式 和 单
Pin9(AGND)为模拟地端
Pin10(REF IN)为基准电源电压输入端
Pin(V-)为负电源输入端,输入 -15V 电
源
P i n 1 ( V + )为正电源输入端, 输入 + 1 5 V
电 源
一 工 作 模 式
Pin13(10V IN) 为 10V 量程模拟电压输
A D 5 7 4 A 的引脚说明( 引脚图见图 5 ) :
Pin1(+V)为 +5V 电源输入端
P i n 2 ( ) 为数据模式选择端, 通过此引脚
可选择数据纵线是 1 2 位或 8 位输出
Pin3()为片选端
P i n 4 ( A 0 ) 为字节地址短周期控制端。
与 端 用 来 控 制 启 动 转 换 的 方 式 和 输 出 格
式。须注意的是, 端 T T L 电平不能直接
入 端
Pin14(20V IN) 为 20V 量程模拟电压输
入 端
Pin15(DGND)为数字地端
Pin16-Pin27(DB0-DB11)为 12 条数据
总 线
Pin28(STS)为工作状态指示信号端, 当
S T S = 1 时, 表示转换器正处于转换状态, 当
32
科技资讯 S C I E N C E & T E C H N O L O G Y I N F O R M A T I O N
信 息 技 术
S T S = 0 时, 声明 A / D 转换结束
当 A D 5 7 4 工作在单极性输入电路。当
输入电压为 VIN=0V--+10V 时, 应从引脚
“1 0 V I N ”输入。输入数字量 D 为无符号二
进制码, 计算公式为
D=4096VIN/VFS 或 VIN=DVFS/4096
式中 V I N 为输入模拟量( V ) , V F S 为满
量 程 , 如 果 从 “ 1 0 V I N ” 引 脚 输 入 ,
VFS=10V。
2 . 3 . 2 电流传感器 M A X 4 7 1
MAX471 采用 8 脚 DIP 封装,具有如下
特点(MAX471 的引脚排列如图 6 所示)。
● 内 含 精 密 的 内 部 检 测 电 阻
(MAX471)。
● 具 有 完 美 的 高 端 电 流 检 测 功 能 。
●在工作温度范围内, 其精度为 2 % 。
● 具 有 双 向 检 测 指 示 , 可 监 控 充 电 和
放 电 状 态 。
●内部检测电阻和检测能力为 3 A , 并
联 使 用 时 还 可 扩 大 检 测 电 流 范 围 。
●电压范围为 3 V ~3 6 V ;最大电源电流
为 100 μ A;关闭方式时的电流仅为 5 μ A 。
M A X 4 7 1 的电流增益比已预设为 5 0 0
μ A / A , 由于 2 k Ω的输出电阻( R O U T ) 可
产生 1 V / A 的转换, 因此± 3 A 时的满度值
为 3V。用不同的 ROUT 电阻可设置不同的
满 度 电 压 。
M A X 4 7 1 电流传感放大器的独特布局
大大简化了电流监控的设计。M A X 4 7 1 包
含两个放大器,如图 7所示。传感电流 Isense
通过传感电阻 Rsense 从 RS+ 流向 RS-(反
之亦然)。输出电流 Iout 流过 RG1 和 Q1 还
是 R G 2 和 Q 2 取决于传感电阻中电流的方
向。内部电路( 图中没有画出来) 不允许 Q 1
和 Q 2 同时打开。
以图 7 为例, 若传感电流 I s e n s e 从 R S +
经精密传感电阻 R s e n s e 流向 R S - , 输出端
OUT 通过输出电阻 ROUT 接地(GND)。此
时, Q 2 断开, 放大器A 1 工作, 输出电流 I o u t
从 Q 1 的发射极流出。由于没有电流流过
RG2,A1 的反向输入端的电位就等于 Rsense
和 R G 2 交点的电位;因 A1 的开环增益很大,
其正向输入端与反向输入端基本上保持同
一电位。所以, A 1 的正向输入端的电位也
近似等于 Rsense 和 RG2 交点的电位。因此,
传感电流 Isense 流过 Rsense 所产生的压降就
等于输出电流 Iout 流过 RG1 所产生的压降,
即 Iout × RG1=Isense × R;Iout=(Isense ×
Rsense)/RG1;Vout=(Iout × Rout)=(Isense ×
Rsense × Rout)/RG1。
同理, 若传感电流 I s e n s e 从 R S -经传
感电阻 R s n s e 流向 R S +, 则可得
Vout=(Isense × Rsense × Rout)/RG2
综合上述两种情况, 可得 M A X 4 7 1 输
出电压方程 V o u t = ( I s e n s e × R s e n s e ×
Rout)/RG。
其中 V o u t 为期望的实际输出电压;
Isense 为所传感的实际电流;Rsense 为精密
传感电阻; R o u t 为输出调压电阻; R G 为增
益电阻(RG = RG1 = RG2)。
对于 M A X 4 7 1 , 所设定的电流增益为:
Rsense / RG=500 × 106,Vout = 500 ×
106 × Isense × Rout
当输出电阻 R o u t = 2 k Ω时, 在传感电
流 Isense 允许变化范围(- 3A ≤ Isense ≤
3A)内, 输出电压 Vout 的变化范围为:- 3 V
≤ V o u t ≤ 3 V , 即满标电压值为 3 V 。
信 息 技 术
2009 NO.05
SCIENCE & TECHNOLOGY INFORMATION
科技资讯
图 8 PWM 控制电路
图 1 0 充电终止判别流程框图
图 9 单片机控制程序流程图
特定的满标范围所对应的输出调压电
阻 Rout 为
Rout=(Vout × RG)/(Isense × Rsense)
对于 MAX471,Rout=Vout/Isense ×
500 × 10-6。
但 要 注 意 , 变 化 R o u t 时 , 须 保 证
M A X 4 7 1 输出电压的上限值不能超过
V R S + 1 . 5 V ; 对于 M A X 4 7 2 , 其输出电压的
的上限值不超过 V c c - 1 . 5 V 。
2 . 3 . 3 控制器
控制器采用脉宽调制( P W M ) 方式控制
供电电流的大小, P W M 控制电路如图 8 所
示。P W M 发生器由 2 0 H Z 的单片机构成,
主 控 制 器 和 它 采 用 中 断 的 方 式 进 行 通 讯 ,
控制其增大或减小脉宽。P W M 信号通过
光电隔离驱动主回路的 M O S F E T 。开关
管、二极管、L C 电路构成开关稳压电源。
用 P W M 方式控制的开关电源可以减小功
耗, 同时便于进行数字化控制, 但母线的波
纹 系 数 相 对 较 大 。
本方法的基本思想就是利用单片机具
有的 P W M 端口, 在不改变 P W M 方波周期
的 前 提 下 , 通 过 软 件 的 方 法 调 整 单 片 机 的
P W M 控制寄存器来调整 P W M 的占空比,
从 而 控 制 充 电 电 流 。
在调整充电电流前, 单片机先快速读取
充电电流的大小, 然后把设定的充电电流与
实际读取到的充电电流进行比较, 若实际电
流偏小则向增加充电电流的方向调整 P W M
的占空比; 若实际电流偏大则向减小充电电
流的方向调整 P W M 的占空比。在软件
P W M 的调整过程中要注意 A D C 的读数偏
差和电源工作电压等引入的纹波干扰, 合理
采用算术平均法等数字滤波技术。
3 智能充电器的软件设计
3 . 1 程序功能
( 1 ) 检测电池的电压, 如果低于一个阈
值电压, 就要进行涓流充电。
( 2 ) 电池充到一定电压( 一般设置为 2 .
9 V ) 时, 进行全电流充电。
( 3 ) 当电池电压达到预置电压( 锂离子
电池一般为 4 . 2 V ) 时, 开始恒压充电, 同时
充 电 电 流 降 低 。
( 4 ) 当电流逐渐减小到规定的值时, 充
电 过 程 结 束 。
3 . 2 单片机控制程序设计
对 于 不 同 的 电 池 , 单 片 机 需 要 设 定 不
同 的 充 电 参 数 , 选 择 不 同 的 充 电 策 略 。 另
外, 程 序 需 要 在 电 池 过 电 流 、 过 电 压 等 异
常情况下强制终止充电。其充电控制程序
流程图如图 9 所示。
3 . 3 充电终止综合控制法
3 . 3 . 1 L I 电池
在恒压充电状态下不断检测充电电流。
由于 L I 电池会随着充电的进行内阻不断上
升, 所以在恒压充电阶段, 电流会随着充电
的进行而不断下降。当检测到充电电流下
降到恒流充电时, 认为电池已经充满, 进入
浮充维护状态。同时在充电过程中, 用单片
机的定时器设定定时, 时间为 5 小时。充电
开始时启动定时器, 当计时 5 小时到达后电
池还在恒流或恒压充电阶段, 充电器转入浮
充维护状态; 同样在充电过程中当电池温度
超过 4 0 ℃, 充电器也转入浮充维护状态。充
电终止判别流程框图见图 1 0 。
3.3.2 GH/NH 电池
GN/NH 电池是以负(零)增量检测为主,
时间、温度和电压检测为辅的方式。单片机
在充电过程检测有无负( 零) 增量出现, 作为
判断电池已充满的正常标准, 同时判断充电
时间、电池温度及端电压, 是否超过预先设
定的保护值作为辅助检测手段。当电池电
压 超 过 检 测 门 限 时, 单 片 机 会 检 测 有 无 负
( 零) 增量出现, 若出现△ V , 则认为电池正常
充满, 进入浮充维护状态; 在充电过程中, 单
片机会一直判断充电时间、电池温度及端
电 压 是 否 己 到 达 或 超 过 了 充 电 保 护 条 件 。
若其中有一个条件满足, 单片机会终止现有
充电方式, 进入浮充维护状态。
3 . 4 系统软件抗干扰措施的设计
3 . 4 . 1 利用冗余指令
当 前 所 用 单 片 机 指 令 均 不 超 过 3 个字
节, 且 多 为 单 字 节 指 令 。 单 字 节 指 令 仅 有
操作码, 隐含操作数; 双字节指令第一个字
节是操作码, 第二个字节是操作数; 三字节
指 令 第 一 个 字 节 是 操 作 码 , 后 两 个 字 节 为
操作数。C P U 取指令过程是先取操作码,
后取操作数。C P U 复位后, 首先取指令的
操作码, 而后顺序取出操作数, 这些操作时
序完全由程序计数器 P C 控制, 因此, 一旦
P C 因干扰而出现错误, 程序便脱离正常运
行轨道, 出现“乱飞”。
为了使“乱飞”程序在程序区迅速纳入
正轨, 应该多用单字节指令, 并在关键地方
人为地插入一些单字节指令 N O P , 或将有
效单字节指令重写, 称之为指令冗余。
3 . 4 . 2 设置软件陷阱
所谓软件陷阱, 就是一条引导指令, 将
强行捕获的程序引向一个指定的地址, 在那
里有一段专门对程序出错进行处理的程序。
若该程序段入口标一号为 E R R , 则软件陷阱
即为一条“LJMP ERR ”指令。软件陷阱一
般 安 排 在 下 列 地 方: ① 未 使 用 的 中 断 向 量
区。当干扰使未使用的中断开放, 并激活这
些中断时, 会引起系统程序的混乱, 如果在
这些地方布上陷阱, 就能及时捕捉到错误中
断。②未使用的大片程序 R O M 区。对于剩
余的大片未编程的 R O M 空间, 一般都维持
原状。程序飞到这一区域后, 将顺流而下,
不再跳跃( 除非受到新的干扰) 。这时只要每
隔一段设置一个陷阱, 就能捕捉到弹飞的程
序。③程序区。程序区是由一系列执行指令
构成, 不能在其间任意安排陷阱, 否则, 正常
执行的程序也可能被抓走。
3 . 4 . 3 设置运行监视系统( W D T )
利用 CPU 内部的 WDT(看门狗)可以实
现系统的定时复位。在程序正常运行时, 每
隔一段时间对 W D T 清零, 一旦程序运行不
正常, 没有及时给 W D T 送清零信号, 则在
W D T 计数溢出时系统自动复位。
4 结语
在 智 能 充 电 器 控 制 系 统 设 计 过 程 中 ,
主要侧重点是保证充电器对充电电池电压
的 精 确 控 制 , 设 计 中 元 器 件 的 选 型 也 都 是
围绕着这个重点来完成的经过实验电路的
实际测试, 由电源变压器、整流电路、滤波
电路及稳压电路构成 A C / D C 变换电路。
在 AT89C51 与 MAX471 的配合控制下可
实 现 很 高 的 系 统 精 度 。
科技资讯 S C I E N C E & T E C H N O L O G Y I N F O R M A T I O N
33