基于单片机的锂离子电池电量检测系统设计论文Word文件下载.docx
《基于单片机的锂离子电池电量检测系统设计论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的锂离子电池电量检测系统设计论文Word文件下载.docx(32页珍藏版)》请在冰豆网上搜索。
微处理器技术的发展与电池电量检测方法的不断改善,为提高锂离子电池电量检测系统的性能和降低其制造成本提供了可能。
针对该要求,本文设计了一种基于单片机的锂离子电池电量检测系统,该检测系统的设计对全面掌握锂离子电池的电量状态,提高其利用率具有现实意义。
本设计的研究成果如果能够得到大家的一致认同,以致今后被广泛应用于我们的日常生活当中,比如应用于生活中常用的或常见的便携式电子产品领域,这必将提高人们的日常生活质量,并且还能起到提高锂离子电池利用率的作用,从另一方面看,这也是从某种程度上响应了国家“节能减排”政策。
1.2本课题研究容
该课题是设计一个锂离子电池电量检测系统,研究对象为符合国标GB/T18287-2000的锂离子电池,其主要参数有:
标称电压3.7V,标称容量1050mAH,充电电压4.2V。
在做毕业设计的这段时间里,自己通过互联网查询、图书馆书籍资料搜索等多种途径,对该课题的研究容进行了充分的理解与学习,使我对锂离子电池的电量检测原理,以及一些基于单片机的C程序编写等容,都有了进一步的了解与掌握。
本课题研究如何设计一个满足我们日常生活要求的锂离子电池电量检测系统,要求适用于日常使用,必须控制成本,并且需要满足精度的要求。
本文的设计思路是利用单片机及一些市场上常见的功能芯片,经过综合所有应考虑的重要因素后,最终确定了该检测系统里的一些重要器件类型,其中单片机部分就选用W78E系列中的W78E365A40PL,锂离子电池的电量检测部分就选用流行于目前市场上并且较专业的电池电量检测芯片BQ2040,输出部分决定采用TM1629驱动控制LED数码输出显示。
TM1629是一款专业用于驱动控制LED数码输出显示的芯片,已经被广泛应用于目前的市场中,其次,输出采用数码显示,易于用户读取所需要的锂离子电池的电量信息,更加人性化。
综上,最终设计出基于W78E365A40PL,利用电池电量检测芯片BQ2040,并且数码输出显示我们所需数据的锂离子电池电量检测系统,该系统由模拟量参数采集部分、电量检测部分、中央处理控制部分(单片机)以及LED驱动显示等相应模块组成,前两部分可由BQ2040完成。
至此,该基于单片机的锂离子电池电量检测系统的整体框架便已明了。
本文重点介绍了该锂离子电池电量检测系统的硬件设计和软件设计。
硬件设计的主要职责就是将系统分割成的各个功能部分组合成一个合理的可行性方案;
软件设计则负责根据系统相关的功能要求,进行模块的编程等,最后用Protel等相关软件画出原理图,并利用Proteus仿真,对检测结果的准确性进行测试。
1.3锂离子电池的放电及温度特性
(一)放电特性
本文必须先对锂离子电池的放电特性进行简单说明,因为如果要检测锂离子电池的电量,对锂离子电池进行放电检测是检测过程中必须经过的一道程序,大部分我们所需要的参数都是在对锂离子电池进行放电过程中得到的,但是对锂离子电池进行放电测试时,其放电力度必须要得到精确的控制,锂离子电池对过放电相当的敏感,一旦放电电压或放电电流超过了本身的承受围,将会导致锂离子电池自身快速升温,影响锂离子电池的使用寿命及使用性能。
(二)温度特性
虽然在检测过程中需要控制锂离子电池的温度在一定的围之,因为不适合的温度,将导致锂离子电池部生成许多影响检测结果的无用化合物,这是锂离子电池部化学反应的结果,而且温度影响着锂离子的迁移速度,但是日常生活中的环境温度不会超过锂离子电池正常使用的温度围,在进行锂离子电池电量检测的过程中,我们不用对锂离子电池所在环境温度进行严格控制。
不可以将锂离子电池置于温度过高或过低的环境中存储或使用,不然严重影响锂离子电池的使用寿命及使用性能。
另外附带一句,如果我们要存储锂离子电池时,必须将温度围控制在(-15一+55)℃,如果是使用锂离子电池或对其进行放电测试,最好将温度围控制在(-35一+75)℃。
1.4锂离子电池电量检测系统的发展方向
人性化设计是任何产品能否面向市场并取得成功的决定因素之一。
需要为用户提供直观易懂方便操作的界面,锂离子电池电量检测系统的发展方向应从以下几个方面考虑:
1 人机互动。
在用户进行操作使用的过程中,系统会根据用户的操作反馈显示出诸多的相关提示信息,用户使用起来简单,提升该系统的用户体验。
2 系统的部结构须采用插板式形式。
这样就可以打消用户担心产品不易维修的顾虑,对于自己有相关维修经验及能力的用户,也提供了让用户维修的机会,解决了与维修相关的一连串问题。
3 相关功能的延伸。
善于挖掘、开发出锂离子电池电量检测系统应具备的功能,使产品具备更多有实用价值的相关功能,以适应不同用户对锂离子电池电量检测要求,进一步完善用户体验。
当然,在锂离子电池的使用过程中,还存在诸多的实际性问题,比如说老化,诸多其他不确定性因素也会对检测结果有所影响。
未来在开发锂离子电池电量检测系统时,必须全面考虑会对检测过程中或者检测结果造成多多少少影响的因素。
这样才能使该锂离子电池电量检测系统一直发展下去,随着时间的推移而不被淘汰。
第二章系统总体结构设计
2.1系统总体结构框图
该系统总体结构可以划分为几个重要部分:
锂离子电池模拟量参数采集部分、电量检测部分、中央处理控制部分(单片机)和LED驱动显示部分。
每个部分重要器件的选型已经在前面具体说明,将系统总体结构分为以上各部分后,整个系统的工作原理及重要模块等信息便简单明了,系统每个部分都有着其自己重要的责任,只有系统的每个模块都按其职责正常运行,整个锂离子电池电池检测系统才能正常工作。
如图2-1所示,该图为锂离子电池电量检测系统的总体结构框图,其中模拟量参数采集部分负责通过传感器及测量电路等来采集锂离子电池的模拟量参数,这些参数包括锂离子在放电过程中的电流(压)大小、检测到的温度值等相关参数;
电量检测部分主要负责依据上部分已经采集到的参数,对锂离子电池的电量进行检测与计算,这两个部分可由BQ2040完成;
中央处理控制部分即单片机负责对整个系统进行控制;
LED驱动显示部分负责驱动LED,并对被测锂离子电池的剩余电量信息进行数码输出显示。
图2-1系统总体结构框图
2.2单片机的选择
2.2.1W78E365A40PL引脚说明
在能够满足锂离子电池电量检测系统相关功能的前提下,如何选择一款合适的单片机是关键。
本设计采用了W78E系列中的W78E365A40PL,其引脚如下图所示
图2-2W78E365A40PL引脚
表2.1W78E365A40PL引脚说明
引脚符号
引脚名称
引脚描述
EA
外部访问使能端
接低电平时,只读取外部程序存储器中的容;
接高电平时,先读取片存储器,若地址超出,自动读取片外程序存储器中的容。
PSEN
程序存储使能端
片外程序存储器读选通信号
ALE
地址锁存使能端
CPU访问外部ROM或RAM时,输出低八位地址锁存信号。
RST
复位端
高电平复位
XTAL1
晶体振荡器输入端
由一个外部时钟驱动
续表2.1
XTAL2
晶体振荡器输出端
XTAL2是XTAL1的反相端
VSS
接地
VDD
电源
接电源工作电压
P0.0-P0.7
端口0
功能与标准8052相同
P1.0-P1.7
端口1
功能与标准的8052相同
P2.0-P2.7
端口2
带有部上拉电路的双向I/O口,扩展外部存储器时,作为高八位地址总线。
P3.0-P3.7
端口3
P4.0-P4.3
端口4
分时复用功能的双向I/O口
2.2.2W78E365特性介绍
(1)电气特性:
表2.2W78E365电气特性
参数
符号
最小值
最大值
单位
直流电源电压
VDD−VSS
-0.3
+6.0
V
输入电压
VIN
VSS-0.3
VDD+0.3
工作温度
TA
70
℃
贮存温度
TST
-55
+150
注释:
使用过程中若长时间超出最大额定值,将会对器件的使用寿命、使用性能、使用可靠性等多方面均造成严重损害。
(2)功能特性:
Ø
全静态设计的CMOS8位微处理器
64KB带ISP功能的FlashEPROM
4KB辅助FlashEPROM用于存储装载程序
4个8位双向I/O口,一个附加4位I/O口
3个16位定时器
一个增强型全双工串行口
看门狗定时器
8个中断源,2级中断能力
电源管理带空闲模式和掉电模式
代码保护
2.3电池电量检测芯片BQ2040
2.3.1BQ2040引脚说明
BQ2040引脚分布如下图所示:
图2-3BQ2040引脚分布
表2.3BQ2040引脚说明
VCC
电源电压输入端
电源电压输入
ESCL
时钟存储端
与外部存储器间进行传输
ESDA
地址数据存储端
双向传输
LED1~LFD4
指示灯1-4显示端
LED数码输出显示
逻辑地端
SR
电阻器检测输入端
接锂离子电池负极和检测电阻
续表2.3
DISP
显示控制输入端
接高电平时LED显示无效;
接低电平时LED显示有效。
SB
第二电池输入端
监测锂离子电池的充电参数
PSTAT
数据保护输入端
锂离子电池保护
SMBD
SM数据总线,即数据总线连接端
地址和数据的双向传输
SMBC
SM时钟总线,即时钟总线连接端
双向传输,锁定数据传输
REF
基准电压,即参考电压端
为场效应管输出提供参考电压
VOUT
供电输出端
为外围电路提供电压
2.3.2BQ2040的检测原理
BQ2040的电量检测原理我们也需要做简单的了解,BQ2040置了温度传感器,它通过置的温度传感器和部计数器来估算被测锂离子电池的放电程度,放电的同时还可以根据温度需要进行温度补偿,并且能够通过锂离子电池的放电周期,校准锂离子电池的实际容量,外接部写有初始化程序的EEPROM,负责控制电池的管理工作,串口和外部EEPROM可以用来编程。
在日常生活中,使用锂离子电池是一般都不需要进行温度保护,因为日常情况下,锂离子电池工作所在环境温度不会超过其工作温度围之外,除非需要该锂离子电池一直处于长期的持续的工作状态,这时候应该采取适当的温度保护措施。
但是BQ2040是一款流行与目前市场上相当专业的电池电量检测芯片,BQ2040对被测锂离子电池进行电量检测的同时,会检测锂离子电池的温度情况,因为BQ2040置了温度传感器,可以进行过热保护等控制措施,不需要外接热敏电阻,如果检测到温度过低,这时候BQ2040还可以进行温度补偿,不需要外接谐振器等相关器件,进一步减少了器件,降低了设计成本。
2.4LED驱动控制芯片TM1629
2.4.1TM1629引脚说明
图2-4TM1629引脚分布
表2.4TM1629引脚说明
DI0
数据输入/输出端
在时钟上升沿从低位开始输入/输出串行数据
STB
片选端
STB为低电平时,其后的第一个字节作为指令;
STB为高电平时,CLK被忽略。
CLK
时钟输入端
在时钟上升沿输入/输出串行数据。
K0~K3
键盘扫描输入
输入该脚的数据在显示周期结束后被锁存。
SEG1/KS1~SEG8/KS8
段输出端
段输出
SEG9~SEG16
GRID1~GRID8
位输出端
位输出
续表2.4
逻辑电源端
5V±
10%
接系统地
NC
空脚端
部未连线
注意:
在DIO端口输出数据的时候,该引脚需要外接一个带有一定阻值上拉电阻,推荐使用10K的上拉电阻,并且读数时要选择在时钟的上升沿进行,这样才能保证读数的稳定性。
读数时若选择在时钟的下降沿,此时读数并不稳定,影响数据准确性。
图2-5芯片部电路
2.4.2TM1629特性介绍
采用功率CMOS工艺
显示模式16段×
8位
键扫描(8×
4bit)
辉度调节电路
串行接口(CLK,STB,DIO)
置上电复位电路
采用QFP44封装
2.5数据传输存储芯片24C64
2.5.124C64概述
24C64芯片属于24C系列里面常见的一款,该系列的主要功能是数据的存储及传输。
既然是数据传输存储芯片,那么就会有每款芯片带有多少存储位的问题,该系列的芯片拥有多少存储位可以从24C后面的数字读出来。
如ATMEL的24C64,从后面的数字可以读出其存储位为64K。
这个系列的芯片具有许多的优势,例如能重复擦写1百万次以上,并且在其部已经存储成功的数据能够长期保持,时间达100年之久。
24C64具有多种封装形式可供选择,现如今已被广大电子行业从业者所接受,广泛应用于电力电子各个领域。
ATMEL的24C64是I2C总线的EEPROM,I2C总线(InterIntegratedCircuit部集成电路总线)是两线式串行总线,只占用微处理器的2个I/O引脚,仅需要时钟和数据两根线就可以进行数据传输,令用户使用起来十分便捷。
2.5.224C64引脚说明
图2-624C64引脚分布
表2.524C64引脚说明
A0到A2
地址输入端
确定连接器件的地址
SDA
串行数据端
需要附加一个上拉电阻,双向引脚,可以输出或输入地址及数据。
SCL
串行时钟输入端
产生串行同步时钟信号
电源输入端
GND
接地端
2.5.324C64特性介绍
低功耗器件
2线串行接口
双向数据传输协议
写保护引脚用于硬件数据保护
高可靠性
2.6时钟芯片DS1302
2.6.1DS1302概述
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
通过简单的串行接口,采用三线接口与CPU进行同步通信,部有一个31×
8的用于临时性存放数据的静态RAM。
它具有主电源/后备电源双电源引脚,VCC1为后备电源,VCC2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由VCC1或VCC2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,DS1302由VCC2供电;
当VCC2小于VCC1时,DS1302由VCC1供电。
DS1302功能:
①日期时间信息;
②每月的天数和闰年的天数可自动调整;
③通过AM/PM指示决定采用24或12小时格式;
④保持数据和时钟信息时功率小于1mW。
2.6.2DS1302引脚说明
图2-7DS1302引脚分布
表2.6DS1302引脚说明
X1、X2
晶振引脚
32.768KHz
接地引脚
CE
复位脚
在读/写数据期间必须为高
I/O
数据输入/输出
三线接口时的双向数据线
SCLK
串行时钟引脚
控制数据的输入与输出
VCC1、VCC2
电源供电引脚
VCC1:
主电源;
VCC2:
备份电源
第三章硬件系统设计
3.1单片机与时钟电路部分
3.1.1W78E365概述
W78E365是带有在线编程(InSystemProgram)功能的低功耗8位微控制器。
在线编程功能使其具有开发门槛较低的便捷性,只需要一条ISP并行下载线,就可以把程序写入单片机。
W78E365既含有主ROM,同时也带有从ROM;
既含有片RAM,同时也带有从RAM。
从ROM为FlashEPROM,这些存储器的存储容量分别为:
64K字节主ROM;
4K字节从FlashEPROM;
256字节片RAM;
1K字节从RAM。
W78E365具有高速和高可靠性,其I/O口功能强、驱动能力大,并且低功耗。
同时具有程序保护性好等诸多有点,当用户写入了程序后,单片机会对其进行数据保护,使用户编写的程序不被读出,防止用户的成果被窃取。
3.1.2电路图设计
单片机与时钟电路部分的电路图如图3-1所示,W78E365A40PL接口分别与DS1302时钟电路部分、BQ2040锂离子电池电量检测部分及LED驱动显示部分相连,构成一个完整的锂离子电池电量检测系统。
DS1302与单片机的连接也仅需要3条线:
CE引脚、SCLK串行时钟引脚、I/O串行数据引脚,图中VCC1为备用电源。
外接32.768kHz晶振,为芯片提供计时脉冲。
此处添加DS1302时钟电路部分的目的是为了定时读取测锂离子电池电量时对应的时间,然后存储于24C64芯片中,以便在我们需要的时候,如系统出错,需对其进行检修时,就可以把这些时间结果全部调用出来,为排查故障提供条件。
图3-1单片机与时钟电路原理图
3.2BQ2040部分
3.2.1BQ2040概述
作为一款电池电量检测芯片,BQ2040负责完成锂离子电池的电量检测模块的功能,它先采集所需被测锂离子电池的信号参数,然后按照原先已经设定好的算法检测计算出被测锂离子电池的电量,通过I2C总线与单片机部分进行数据交换,最终通过LED驱动显示部分数码输出显示锂离子电池的电量信息给用户。
电量检测结果用LED数码输出显示,从而让我们及时了解电量信息,完全掌握锂离子电池的用电状态,提高利用率。
本系统电量检测部分采用电池电量检测芯片BQ2040,除了支持对锂离子电池的高精度电量检测,还满足其他多种电池的电量检测工作,比如能够很好的检测镍镉电池、镍氢电池的电量。
3.2.2电路图设计
图3-2BQ2040电路图
3.3TM1629驱动控制LED显示部分
3.3.1TM1629概述
TM1629是一款专业LED驱动控制的芯片,支持驱动的点数较多,其部集成了串行接口、RC振荡器、键盘扫描存储单元、命令译码器、显示存储器、辉度调节