本科毕业论文基于STC89C52RC单片机锂电池电压电流及容量检测设计.docx
《本科毕业论文基于STC89C52RC单片机锂电池电压电流及容量检测设计.docx》由会员分享,可在线阅读,更多相关《本科毕业论文基于STC89C52RC单片机锂电池电压电流及容量检测设计.docx(38页珍藏版)》请在冰豆网上搜索。
本科毕业论文基于STC89C52RC单片机锂电池电压电流及容量检测设计
基于51单片机锂电池电压电流及容量检测设计
摘要
锂离子电池是1990年后逐渐发展起来的新一代电池,锂电池较传统的镍镉、镍氢等电池在很多方面具有优势,例如工作电压高、质量轻、能量密度大、体积小、自放电率小、无记忆效应、循环寿命长等特点,因此,锂电池作为主要能源在笔记本、手机等便携式电子设备上的应用已非常普及。
如今,新面市的磷酸铁锂电池拥有非常好的市场前景,因其具有优良的电池性能。
而锂电池容量的检测也是锂电池的重要指标之一,本文主要以STC89C52RC单片机微控制器为核心,针对便携式的小功率产品,设计一个锂电池电量检测系统,并对锂电池组的充、放电过程进行保护。
锂电池组的电流、电压、将被系统控制器及时采集,并以LCD显示。
关键字:
锂电池;单片机;电源电路;充放电电路;显示电路。
第一章绪论
1.1课题背景及其意义
锂离子电池是二十世纪九十年代发展起来的新一代二次电池,九十年代初期,日本索尼公司发明了以炭材料为负极,以含锂的化合物作正极的锂电池,在充放电过程中,没有金属锂存在,只有锂离子,这就是锂离子电池。
在锂离子电池出现以前,市面较为常用的二次电池主要是镍镉、镍氢电池。
镍镉电池发展的比较早,技术也相对稳定,制作成本较低。
但由于镉是有毒金属逐渐被镍氢电池取代。
镍氢电池成本低、环保。
但因其充电状态有记忆效应,实用性不强。
随着二十世纪微电子技术的发展,小型化的设备日益增多,对电源提出了很高的要求。
锂电池随之进入了大规模的实用阶段,因其良好的性能优势得到了迅猛的发展,迅速成为二次电池市场的主流。
最早得以应用的是锂亚原电池,用于心脏起搏器中。
由于锂亚电池的自放电率极低,放电电压十分平缓。
使得起搏器植入人体长期使用成为可能。
锂锰电池一般有高于3.0伏的标称电压,更适合作集成电路电源,广泛用于计算机、计算器、手表中。
现在,锂离子电池大量应用在手机、笔记本电脑、电动工具、电动车、路灯备用电源、航灯、家用小电器上,可以说是最大的应用群体。
目前,新出现不久的磷酸铁锂电池因其优良的电池性能,更是具有非常好的市场发展前景。
1.2 国内外的研究状况
在电化学体系中,将含有金属锂、锂合金和锂离子、锂聚合物的一类电池称
作锂电池。
锂电池包含可充电和不可充电的,其中不可充电的是锂金属电池,不可以作为二次电池投入使用;可以充电的是锂离子电池,因其不含金属态的锂。
本节介绍的是二次电池——锂离子电池。
锂离子电池是从1990年后才逐渐发展起来的新一代二次电池,90年代初,由日本索尼公司发明的锂离子电池迅速占领市场,该电池以炭材料为负极,以含锂的化合物作正极,只有锂离子存在于电池的充放电过程。
当对电池进行充电时,锂离子于电池的正极上产生,并随着电解液运动到电池负极,然后嵌入到层状结构并有很多微孔的负极材料中,随着嵌入的锂离子逐渐增多,充电容量增大。
相同的,我们使用电池的时候(即放电过程),锂离子从负极碳层中的脱出运动回正极,锂离子返回正极的越多,放电容量随之越高。
放电容量就是电池容量,锂离子从正极→负极→正极的运动状态就称为锂电池的充放电过程。
另外,锂电池就像一把两端为电池两极的摇椅,而锂离子在摇椅来回奔跑。
因此,锂电池又被现如今,锂电池现主要应用于以下几个方面:
(1)在便携式设备中应用虽然锂电池只发展了短短10多年的时间,但已经普遍应用于各种便携式电器中,如手机、笔记本电脑、摄像机、掌上电脑等。
如今,便携式电子设备也迅速的增长起来,为锂电池的应用奠定了基础。
(2)在电动车行业中应用
随着人们对环境保护意识的提高,能源危机也日益严重,汽车尾气对人类和
地球带来的伤害日益加剧,人们希望采用“绿色”电池作为出行交通工具的动力,
改善环境污染。
目前,动力锂电池已完全在电动自行车上使用,而且发展情况良好,因此,锂电池在电动汽车上面应用研究也提上日程,虽然技术还尚未成熟,但市面上已经出现了纯电动的汽车和双能源汽车。
另外,国防、航空航天领域也对锂电池的应用非常看好,可作为军事装备中的电源。
在航天事业中,锂电池可与太阳能电池联合组成供电电源,这个电源不管是从外形还是性能方面,都要优于镍镉电池或者锌银电池组成的联合供电电源,而且它的小型化对航天器件的应用非常重要的。
国内外一些小卫星项目上已经开始应用锂电池组作为蓄电池。
随着微电子技术的不断发展壮大,小型化的设备日益增多,对供电电源的要求也在不断提高。
锂电池已进入了大范围的实用,例如,最早出现在心脏起搏器中的能源就是锂亚原电池,因其自放电率极低,放电电压十分平缓,让起搏器植入人体长期使用不再是想象。
另外,广泛用于集成电路的电源是锂锰电池,它有高于3.0V的标称电压,广泛用于计算机、计算器、手表中。
现在,锂离子电池大量应用在手机、笔记本电脑、电动工具、航灯、家用小电器、电动车上,可以说是最大的应用群体。
1.3本文的主要研究内容及论文结构安排
第1章.主要介绍本设计的课题背景及国内外研究状况;
第2章.主要说明系统方案的选择;
第3章.主要介绍硬件电路的组成及使用方法;
第4章.主要介绍软件设计;
第5章.主要介绍硬件调试;
第二章方案的设计与论证
2.1控制方案的确定
本设计由STC89C52单片机电路+分压电路+A/D芯片PCF8591采样电路+ACS712-5A电流检测芯片电路+LCD1602液晶显示电路+电源电路组成。
2.2控制方式的选择
2.2.1单片机芯片的选择
方案一
采用可编程逻辑器件CPLD作为控制器,CPLD可以实现各种复杂的功能、规模大、密度高、体积小、稳定性高、I/O资源丰富、易于进行功能扩展。
采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。
但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。
且从使用及经济的角度考虑,最终放弃了此方案。
方案二
采用ST公司的STC89C52单片机作为主控制器,STC89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
该单片机功耗低、接口丰富,成本低廉,完全能满足本设计要求。
方案三
采用单片机芯片控制MSP430单片机是美国德州仪器(TI)推出的一种16位超低功耗的混合信号处理器(MixedSignalProcessor),主要是针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”混合信号处理的解决方案。
MSP430F149是一个16位的、具有精简指令集的、超低功耗的混合型单片机,具有可靠性高、功耗低、扩展灵活、体积小、价格低和使用方便等优点,广泛应用于仪器仪表、专用设备智能化管理及过程控制等领域,有效地提高了控制质量与经济效益,已成为众多单片机系列中一颗耀眼的新星。
然而其成本太高,故舍弃。
综上所述,故选择方案二。
2.2.2显示方案的选择
方案一
采用LED数码管动态扫描,LED数码管价格适中,对于显示数字十分合适,采用动态扫描法与单片机连接时,虽然占用的单片机口线少,电路简单,性价比较高。
然而,数码管显示的数据有限,本设计显示的数据较多,故舍弃。
方案二
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,若采用在显示数字显得太浪费,且价格也相对较高,所以在此也不用此种作为显示。
方案三
LCD液晶显示,由单片机驱动,它主要用来显示大量数据、文字、图形,能够显示的位数多,显示得清晰多样、美观,同时液晶显示器的编写程序简单,价格便宜,故采用此种方案。
采用1602液晶显示屏,该液晶显示屏的显示功能强大,内置192种字符,可显示大量符号、数字,清晰可见,而且功率消耗小寿命长抗干扰能力强。
综上所述,故选择方案三。
2.2.3A/D采样芯片的选择
方案一
采用ADC0832芯片。
ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。
由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。
方案二
采用PCF8591芯片。
本系统选择PCF8591作为A/D采样芯片。
PCF8591是一个单片集成、单独供电、低功耗、8-bitCMOS数据获取器件。
PCF8591具有4个模拟输入、1个模拟输出和1个串行I²C总线接口。
根据性价比,选择方案二。
第三章硬件电路的设计
3.1系统的功能分析及体系结构设计
3.1.1系统功能分析
本设计由STC89C52单片机电路+分压电路+A/D芯片PCF8591采样电路+ACS712-5A电流检测芯片电路+LCD1602液晶显示电路+电源电路组成。
1、通过51单片机驱动pcf8591采集分压值进行计算获取实际电压值,通过ACS712获取当前电流转化的电压值,进行运算获取电流值。
2、单片机驱动LCD1602液晶显示锂电池的电压、放电电流和当前容量。
3.1.2系统总体结构
本系统具体框图如下图所示:
系统硬件框图
3.2模块电路的设计
3.2.1STC89C52单片机核心系统电路设计
STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
一、STC89C52主要特性如下:
(1)8K字节程序存储空间;
(2)512字节数据存储空间;
(3)内带4K字节EEPROM存储空间;
(4)可直接使用串口下载。
二、STC89C52主要参数如下:
(1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051;
(2)工作电压:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机);
(3)工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz;
(4)用户应用程序空间为8K字节;
(5)片上集成512字节RAM;
(6)通用I/O口(32个),复位后为:
P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻;
(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片;
(8)具有EEPROM功能;
(9)共3个16位定时器/计数器。
即定时器T0、T1、T2;
(10)外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒;
(11)通用异步串行口(UART),还可用定时器软件实现多个UART;
(12)工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级);
(13)PDIP封装。
三、STC89C52单片机相关引脚说明:
(1)VCC:
供电电压。
(2)GND:
接地。
(3)P3.0RXD(串行输入口)
(4)P3.1TXD(串行输出口)
(5)P3.2/INT0(外部中断0)
(6)P3.3/INT1(外部中断1)
(7)P3.4T0(记时器0外部输入)
(8)P3.5T1(记时器1外部输入)
(9)P3.6/WR(外部数据存储器写选通)
(10)P3.7/RD(外部数据存储器读选通)
(11)RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
(12)ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
(13)/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
(14)/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
(15)XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
(16)XTAL2:
来自反向振荡器的输出。
单片机引脚图如下图所示:
STC89C52单片机引脚图
四、STC89C52单片机最小系统说明:
STC89C52单片机最小系统电路由复位电路、时钟电路和电源电路。
拥有这三部分电路后,单片机即可正常工作。
单片机最小系统原理图如下图所示。
单片机最小系统原理图
(1)VCC和GND为单片机的电源引脚,为单片机提供电源:
(2)复位电路由按键S1、电解电容EC1和电阻R1组成。
具有手动按键复位和上电自动复位功能。
系统上电复位按键接口采集到两个高端信号后进行手动复位,就是非自动的按键复位;系统检测到的电压由低电平上升到高电平的一段时间后,在这段时间过后,系统通过电阻与接地之间形成一条通路,然后自动把高电平进行拉低,使得单片机从高电位变为低电位,从而就是给单片机自动进行复位即上电复位。
(3)时钟电路由晶振Y1、瓷片电容C1和C2组成。
有控制芯片的数字电路正常工作是少不了TIME(时钟)电路的,我们需要时钟电路自动发出系统时间,让控制芯片正常工作。
给控制芯片正常工作的时钟信号,一般把这种工作方式称为“拍”,以至于让整个控制系统能正常工作,由于要保证控制系统能正常工作,提高他的工作能力,我们经常用11.0592MHZ晶振和30PF的电容进行组合,电容为了帮助晶振起振的,满足了数字控制器上电以后可以正常工作。
(4)JD1为单片机的下载接口。
3.2.25V电源电路设计
本系统选择5V直流电源作为系统总电源,为整个系统供电,电路简单、稳定。
DC为电源的DC插座,可以直接接USB电源线,一端插在DC插座上,另外一端可以插在5V电源上,如电脑USB、充电宝、手机充电器等等。
LED为红色LED灯,作为系统是否有点的指示灯,电阻为1K电阻,起到限流作用,保护LED灯,以防电流过大烧坏LED灯。
SW为自锁开关,开关按下后,红灯亮,此时系统电源5V直流输出。
开关再次按下后,红灯灭,此时系统电源无5V电源输出。
5V电源电路原理图
3.2.3PCF8591A/D采样电路设计
本系统选择PCF8591作为A/D采样芯片。
PCF8591是一个单片集成、单独供电、低功耗、8-bitCMOS数据获取器件。
PCF8591具有4个模拟输入、1个模拟输出和1个串行I²C总线接口。
PCF8591的3个地址引脚A0,A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。
在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。
一、芯片特性
(1)单独供电
(2)PCF8591的操作电压范围2.5V-6V
(3)低待机电流
(4)通过I2C总线串行输入/输出
(5)PCF8591通过3个硬件地址引脚寻址
(6)PCF8591的采样率由I2C总线速率决定
(7)个模拟输入可编程为单端型或差分输入
(8)自动增量频道选择
(9)PCF8591的模拟电压范围从VSS到VDD
(10)PCF8591内置跟踪保持电路
(11)8-bit逐次逼近A/D转换器
其具体原理图如下图所示。
两个电阻为上拉电阻,让数字信号的读取更稳定。
传感器接口电路原理图
3.2.4分压电路设计
串联分压的原理:
在串联电路中,各电阻上的电流相等,各电阻两端的电压之和等于电路总电压。
可知每个电阻上的电压小于电路总电压,故称串联电阻分压。
在设计中,选择的A/D芯片采集的5V电压,故超过5V的电压需要分压后降压为0-5V才可以经过A/D转换。
其电路原理理图如下图所示。
分压电路原理图
3.2.5ACS712电流传感器模块电路设计
该传感器使用芯片为ACS712-05A,能够检测5A范围内的直流电流。
ACS712芯片专们用于电流检测芯片, 高度集成的制作工艺和专业的电流检测技术可为各种交直流电流检测提供经济实惠且精确的解决方案。
该器件封装便于客户轻松实施。
ACS712芯片的经典应用于开关式电源设备和过电流故障保护、载荷检测和管理系统、电动机控制系统等。
ACS712芯片,使用了精准的,低偏置的线性霍尔传感器电路,且其电流路径强敌了电流路径的阻抗,宁切路径靠近晶片的表面更增加了测量的准确度。
通过该通知的电流路径施加上电流,是芯片内部产生磁场,磁场被集成在内部的霍尔器件获取,并转化为一定比例的电压值。
通过该电压值经过AD转化被微处理器获取,精处理后可以显示,该期间在出厂时已经进行了精确度的校准。
当芯片内部中的电流路径(从引脚 1 和 2,到 引脚3 和 4)的电流持续上升的时候,器件的输出属于正斜率 (>VIOUT(Q))。
这是的 ACS712 电流传感器 IC 可以使用在那些要求电气绝缘但没有使用光电绝缘器以及其它昂贵绝缘技术的应用。
一、传感器模块功能特点
(1)低噪音模拟信号路径。
(2)通过专用的滤波引脚,设置器件的滤波带宽。
(3)5 µs 输出上升时间,对应步进输入电流。
(4)80 千赫带宽。
(5)总输出误差为 1.5%(当 TA = 25°C时)。
(6)采用小体积低厚度 的SOIC8 封装 。
(7)1.2 mΩ 内部传导电阻。
(8)每个管脚之间 有2.1k VRMS及以上的绝缘电压。
(9)5.0 伏特,单电源操作。
(10)输出灵敏度达到66 至 185 mV/A 。
(11)输出电压值与配测量的交直流电流成正比例关系。
(12)出厂时精确度校准。
(13)极稳定的输出偏置电压。
(14)近零的磁滞。
二、使用说明
(1)模块可以测量±5A电流。
(2)电源电压的成比例输出,对应模拟量输出:
185mV/A。
(3)没有检测电流通过时输出电压为VCC/2。
(4)ACS712是基于霍尔检测原理,使用时要注意避开磁场。
对此影响。
三、模块接口说明
(1)VCC接5V
(2)GND接GND
(3)OUT模拟信号输出。
(4)J2端子2孔接输入电流检测线
模块接口原理图如下图所示。
传感器接口电路原理图
模块内部具体原理图如下图所示。
传感器传感器电路原理图
模块实物图如下图所示。
模块实物图
3.2.6LCD1602液晶显示模块电路设计
LCD显示器分为字段显示和字符显示两种。
其中字段显示与LED显示相似,只要送对应的信号到相应的管脚就能显示。
字符显示是根据需要显示基本字符。
本设计采用的是字符型显示。
系统中采用LCD1602作为显示器件输出信息。
与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。
LCD1602可以显示2行16个汉字。
一、LCD1602主要技术参数如下:
(1)显示容量为16×2个字符;
(2)芯片工作电压为4.5~5.5V;
(3)工作电流为2.0mA(5.0V);
(4)模块最佳工作电压为5.0V;
(5)字符尺寸为2.95×4.35(W×H)mm。
二、LCD1602采用标准的14脚,其接口的引脚说明如下:
(1)第1脚:
VSS为地电源。
(2)第2脚:
VDD接5V正电源。
(3)第3脚:
V0为液晶显示器对比度调整端。
(4)第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
(5)第5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
(6)第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
(7)第7~14脚:
D0~D7为8位双向数据线。
(8)第15~16脚:
空脚
三、控制指令说明
LCD1602液晶模块内部的控制器共有11条控制指令,说明下表所示:
序号
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
I/D
S
4
显示开/关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存贮器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志或地址
0
1
BF
计数器地址
10
写数到CGRA或DDRAM)
1
0
要写的数据内容
11
从CGRAM或DDRAM读数
1
1
读出的数据内容
表3.1控制命令表
四、1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:
1为高电平、0为低电平)
(1)指令1:
清显示,指令码01H,光标复位到地址00H位置
(2)指令2:
光标复位,光标返回到地址00H
(3)指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
(4)指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁
(5)指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标
(6)指令6:
功能设置命