电池电量测量设计_第1页
电池电量测量设计_第2页
电池电量测量设计_第3页
电池电量测量设计_第4页
电池电量测量设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上目录1前言随着生产力和科学技术的发展,蓄电池作为一种性能可靠的化学电源,其应用价值与日俱增,日益广泛地运用在航空航天、交通运输、电力、通信、军事工业等部门的设备中,已经成为这些设备中最重要的关键系统部件之一。蓄电池剩余电量是用户非常关心的一个问题,因为蓄电池电量的多少直接影响整个供电系统的可靠性。而供电系统的可靠性将决定整个系统能否正常运行。因此及时准确的检测蓄电池剩余电量变得非常重要,而检测方法的研究则很有实际意义。 蓄电池是一个复杂的电化学系统,它在不同负载条件或不同环境温度下运行时,实际可供释放的剩余电量不同;而且随着蓄电池使用时间增加,其电量也将下降。通常用来

2、检测蓄电池电量的方法有多种,比如根据蓄电池的电解液密度来估算剩余电量的密度法,该方法精度较低而且有很大局限性:不适合密封的蓄电池;随着蓄电池使用时间的增加,电极的损坏,更加难以准确推算出剩余电量。同时,这种方法也难以适应目前广泛应用的VRLA蓄电池的在线检测。近些年常用的几种蓄电池剩余容量检测方法之中,对在线使用的蓄电池来说,基于单片机的电池电量检测方法对系统产生的影响较小,并且测量精度较高,即使蓄电池电极损坏也能较为准确的检测其电量。本次课程设计主要是对电池剩余电量测量的设计。硬件部分主要由主机电路、模拟量输入/输出电路、人机联系部件及其接口电路、标准通信接口、液晶显示等组成。2整体方案设计

3、2.1方案设计本设计整体思路:通过单片机控制AD测出采样电阻上实时变化的电流,以及对应时刻的电压,再通过Q=It,计算出对应每一时刻段内电池消耗的电量,通过累加及可以测试出电池在任意时间段内消耗的电量。方案一:通过分压电阻分压后将电压信号连接到AD0832的输入端口,利用AD0832将电池电压测试出来,传送给单片机。然后将电流采样电阻上测量到的电压信号经过差分放大后连接到ICL7135的输入端口,测试后ICL7135将对一个的电压值传送给单片机。在单片机定时器每计数到一秒时,将对应时刻的电流值和时间的直接相乘得到当前使用的电量,然后与之前使用的电量相加,即可算出当前使用的总电量,这样可以将对应

4、的时间,当前电流、电压,以及从开始时刻到现在使用的总电量都通过LCD显示出来。电量累计时间用单片机的定时器来计时来实现。图2.1方案一框图 方案二:通过采样电阻采集到干路上的电流信号,经过差分放大,用AD转换器将得到的模拟信号转换成数字信号,然后将数据传送给单片机。根据在确定的时间之内,电流的变化,对时间进行积分来求得电量。由于温度在此过程中会有所影响,根据温度对应电压的变化来修正产生的误差,从而得到准确的剩余电量电池电流检测放大A/D转换器单片机LCD图2.2方案二框图2.2 方案比较与选择两种方案都不错,都能测量使用电量。只是采用不同的计算方法,但存在着计算时的精确程度。方案一同一时刻的电

5、池电压值与电流值相乘,时间间隔较小,对应时刻的电流、电压约等于该时间段内的平均电流电压,误差较小并且可以通过测得的输出电流、电压来修正计算结果,数据比较准确。方案二考虑到了温度对电池的影响,但输出的电量只与输出的电压、电流有关,因此考虑温度的影响有些多余,但可以通过检测电池的温度,在电池温度达到一定值是自动的切断电池供电,对电池进行保护。综上所述,我们采用了方案一。3 硬件电路单元模块设计3.1 特殊器件介绍3.1.1 STC89C52单片机STC89C52是使用STC公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容,是一种低功耗、高性能CMOS8位微控制器,具有8K

6、 在系统可编程Flash 存储器。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得80C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。89C52具有以下标准功能:8位中央处理单元、8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,89C52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保

7、护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。  此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。3.1.2 ADC0832芯片ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。

8、独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。 图3.1.2 AD0832工作时序3.1.3 ICL7135双积分型A/D转换器ICL-7135是4位半双积分A/D转换芯片,可以转换输出±19999个数字量,由STB选通控制的BCD码输出,与微机接口十分方便。ICL7135具有精度高(相当于14位A/D转换),价格低的优点。其转换速度与时钟频率相关,每个转换周期均有:自校准(调零)、正向积分(被测模拟电压积分)、反向积分(基准电压积分)和过零检测四个阶段组成,其中自校准时间为10001个脉冲,正向积分时间为10000个脉

9、冲,反向积分直至电压到零为止(最大不超过20001个脉冲)。故设计者可以采用从正向积分开始计数脉冲个数,到反向积分为零时停止计数。将计数的脉冲个数减10000,即得到对应的模拟量。图3.8给出了ICL7135时序,由图可见,当BUSY变高时开始正向积分,反向积分到零时BUSY变低,所以BUSY可以用于控制计数器的启动停止。图3.1.3 ICL7135时序3.2 单元模块设计3.2.1 STC89C52单片机系统模块设计图3.2.1 STC89C52单片机系统模块电路图在单片机最小系统中,包括晶振电路、复位电路、现在电路、P0口上拉电路等。为了计时的方便我们采用的是12M的晶振。通过R、C电路搭

10、建复位电路,51单片机高电平时复位。MAX232是MAX公司推出的一款232电平转换芯片,MAX232芯片实现EIA电平与TTL电平的转换,通过串口传输线可以与单片机实现串行通讯、程序下载等。由于51单片机P0口内部不带上拉电阻,平时为高阻态,使用时需要外加上拉电阻。这样就可以做为液晶LCD的数据输入端口,P2口可以作为液晶的控制位端口。3.2.2 ICL7135 A/D转换电路模块设计电流信号经过采样电阻后转化为电压信号,再经过差分放大电路后送到ICL7135,由AD将电压信号转化为数字信号,最后由单片机计算出对应的电流大小。ICL7135是双积分型的AD,因有积分器的存在,积分器的输出只对

11、输入信号的平均值有所响应,所以,它突出优点是工作性能比较稳定且抗干扰能力强。双积分型A/D转换器的转换速度普遍不高(通常每秒转换几次到几百次),但是双积分A/D转换器具有转换精度高,廉价,抗干扰能力强等优点,在速度要求不高的实际工程中使用广泛。图3.2.2 ICL7135A/D转换器3.2.3电源模块设计电源模块主要由模拟电源和数字电源两部分组成。模拟电源对系统的差分放大、AD采集模块供电,而数字电源则负责为系统的单片机、MAX232下载电路、放大器选择芯片供电提供电源。模拟地、数字地最后通过磁珠连接起来。模拟电源:由于运放需要正负9V供电,AD需要正负5V电源供电。采用7809、7809、7

12、805、7905等三鍴稳压器件,为模拟电路供电。78xx、79xx三鍴稳压芯片具有输出电压稳定、线性度好、输出电压纹波小等特点。但由于是线性电源。输出电流等于输入电流。这样电源的利用率不高。但由于模拟部分只为运放和AD提供电源,所需的电流减小,综上所述,选择使用线性电源78xx、79xx供电。图3.2.3 模拟电源电路图数字电源:数字电源特点:信息采用数字格式,监控简单。数字引擎要求使用小尺寸处理工艺,简单的电骡配合通信功能只需占用非常少硅片,增加通信功能花费非常低。模糊逻辑控制易于实现,一些额外功能对系统复杂度影响不大。使用更少的元件数。因为数字操作相对简单,所以更容易校准。改变性能时不需要

13、改变硬件,容易实现定时,可以达到很高精度。数字电源是由经变压器变压和电桥整流电容滤波后再由三端稳压器7805转换为+5V的数字电源,为系统数字部分提供电源。 图3.2.4数字电源电路图4 软件设计4.1开发环境与语言设计使用的开发软件为Keil编程环境软件。Keil软件是目前最流行开发MCS-51系列单片机的软件。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。设计采用的是使用最广泛的C51语言进行程序设计。C51语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试、维

14、护和移植。C51语言的表现能力和处理能力极强,能完成较大或较复杂工程的编写。4.2程序设计思想本设计主要功能是对外部信号进行采集,同时控制信号显示和传送。因此在编程中主要涉及三个模块:电池电量的数据采集、A/D控制和数据处理模块、LCD1602显示模块和。由单片机控制A/D进行数据采集后送入单片机内进行处理,再将采集的数据在相应的控制信号实现LCD1602的显示。4.3程序设计结构总流程图图4.3 程序设计流程图程序设计结构主要包括:程序初始化模块、对数据进行存储的24C02寄存器模块、外部数据采集模块、显示程序模块。初始化程序对定时器T0,T1的方式控制寄存器、LCD1602、ICL7135

15、以及24C02进行初始化。定时器T1计数,间隔一段时间采集ICL7135的A/D转化结果并处理,用LCD1602显示程序实现电量随时间的变化。主函数程序清单:void main()uchar miaoge,miaoshi,fenge,fenshi,shige,shishi;miao=0;fen=0;shi=0;init_7135(); /AD7135初始化init_1602(); /lcd1602初始化init_24c02();P1=0X00;fangda2=1;while(1)/*Iw=Q/10000; /Iq=Q%10000/1000;Ib=Q%1000/100;Is=Q%100/10;I

16、g=Q%10; */I=k/10000;write_add_24c02(11,1); write_add_24c02(12,1);write_add_24c02(13,1);miaoge=miao%10; miaoshi=miao/10; fenge=fen%10; fenshi=fen/10; shige=shi%10; shishi=shi/10;write_com_1602(0x80);write_data_1602(0X30+shishi);write_data_1602(0X30+shige);write_data_1602(':');write_data_1602(

17、0X30+fenshi);write_data_1602(0X30+fenge);write_data_1602(':');write_data_1602(0X30+miaoshi);write_data_1602(0X30+miaoge); read_add_24c02(11); read_add_24c02(12); read_add_24c02(13);write_com_1602(0x80+0x40);if(0<Q<)write_data_1602('Q');write_data_1602('='); write_data_1

18、602(Iw+0x30);write_data_1602('.');write_data_1602(Iq+0x30);write_data_1602(Ib+0x30);write_data_1602(Is+0x30);write_data_1602(Ig+0x30);write_data_1602('C');else if(,) write_data_1602('Q');write_data_1602('='); write_data_1602(Iw/10+0x30);write_data_1602(Iw%10+0x30);wri

19、te_data_1602('.');write_data_1602(Iq+0x30);write_data_1602(Ib+0x30);write_data_1602(Is+0x30);write_data_1602(Ig+0x30);write_data_1602('C');delay_1ms(250);/write_data_1602(0X30+Q); 4.4 主要模块软件设计4.4.1 ICL7135A/D转换子程序设计 ICL7135对放大后的电压信号进行A/D转换,采用单片机的ALE引脚作为时钟,晶振采用12MHZ,ALE的时钟频率为2MHZ,经过四分

20、频后,得到500KHZ的时钟,该时钟同时接ICL7135的CLK引脚和单片机的T0计数器引脚,在A/D转换期间,BUSY引脚一直是输出高电平,将BUSY与INT0相连,在高电平期间用T0对时钟信号进行计数,计数个数减去10001,则是电压的数字量。初 始 化中断处理读取计数器数据清零计数器TH0.TL0中断返回处理采集的数据图4.4.1 ICL7135 A/D转换程序ICL7135A/D转换子程序清单:void init_7135() /AD7135初始化TMOD=0x25;EA=1;/PT1=1;IT0=1;TR0=1;EX0=1;IT1=1;ET1=1;TH1=6;TL1=6;TR1=1;

21、void ad() interrupt 0 /7135计数器 k=2.5*(TH0*256+TL0-10000)/18.9;/ 放大倍数/k=j*2/19999;TH0=0;TL0=0;4.4.2 24C02存储器的程序设计 24C02以I²C是串行CMOS E²PROM器件,程序功能是对数据进行储存,延时后,再读数据。void start_24c02() /开始信号sda=1;delay();scl=1;delay();sda=0;delay();void stop_24c02() /停止sda=0;delay();scl=1;delay();sda=1;delay();

22、void respons_24c02() /应答uchar i;scl=1;delay();while(sda=1)&&(i<250)i+;scl=0;delay();void init_24c02() /初始化sda=1;delay();scl=1;delay();void write_byte_24c02(uchar date) /写数据uchar i,temp;temp=date;for(i=0;i<8;i+)temp=temp<<1;scl=0; delay();sda=CY;delay();scl=1;delay();scl=0;delay()

23、;sda=1;delay();uchar read_byte_24c02() /读数据uchar i,k;scl=0;delay();sda=1;delay();for(i=0;i<8;i+)scl=1;delay();k=(k<<1)|sda;scl=0;delay();return k;void write_add_24c02(uchar address,uchar date) / 向对应地址写数据start_24c02();write_byte_24c02(0xa0);respons_24c02();write_byte_24c02(address);respons_2

24、4c02();write_byte_24c02(date);respons_24c02();stop_24c02();uchar read_add_24c02(uchar address)/读对应地址的数据uchar date;start_24c02();write_byte_24c02(0xa0);respons_24c02();write_byte_24c02(address);respons_24c02();start_24c02();write_byte_24c02(0xa1);respons_24c02();date=read_byte_24c02();stop_24c02();re

25、turn date;4.4.3 LCD1602液晶显示子程序设计在主程序中调用LCD显示子程序。LCD显示程序分两个步骤:一是写命令,二是写显示数据。写命令和写数据时序不同,写命令时:先将命令字送P0口,然后设置时序RS=0,R/W=0,E下降沿,读取忙标志位BF,等待命令字写入完毕。写数据时:先将欲显示的数据送P0口,然后设置时序RS=1,R/W=0,E下降沿,读取忙标志位BF,等待数据写入完毕。进入子程序写LCD命令 写LCD显示数据 返回主程序图4.4 LCD1602液晶显示子程序流程图LCD1602液晶显示子程序清单:void write_com_1602(uchar com)/lcd

26、1602写指令lcdrs=0;P0=com;delay_1ms(5);lcden=1;delay_1ms(5);lcden=0;void write_data_1602(uchar date)/lcd1602写数据lcdrs=1;P0=date;delay_1ms(5);lcden=1;delay_1ms(5);lcden=0;void init_1602() /lcd1602初始化lcdrw=0;lcden=0;write_com_1602(0x38);write_com_1602(0x0c);write_com_1602(0x06);write_com_1602(0x01);write_c

27、om_1602(0x80+0x10);5 仿真与调试5.1 仿真本设计的仿真是基于ISIS仿真软件平台上进行的。图5.1 系统仿真示意图5.2 调试调试所使用工具包括:万用表、+、-12V、7V的电压源、示波器、干电池信号源。5.2.1 模拟电路电源调试电源分模拟电源和数字电源两部分。分别为系统模拟部分和数字部分提供电压。模拟电源部分将交流市电变压、稳压后分别产生+9V,-9V,+5V,-5V电压。其中+9V,-9V是为放大器TL084提供电压的。+5V,-5V为ICL7135芯片供电。接通模拟电源,在不连接集成芯片条件下,测各器件电源管脚处的电压。5.2.2 数字电路电源调试数字电路电源主要

28、通过对外部输入的9V交流电压进行稳压后输出5V电压。提供单片机电源、CD74HC74芯片电源、MAX232芯片电源和LCD1602电源。将数字电源通电后测试各个数字芯片的电源电压。5.2.3 数字电路调试测量芯片电源电压正常后,插上数字芯片。将LCD1602的1到16引脚通过插针引出,LCD1602的3脚直接接地,15脚背光正极接VCC,16脚背光负极接地,其它管脚插到STC89C52RC单片机对应I/O口上。检查电路连接正确后,接上电源。测试到LCD1602的1脚为0V,2脚为+5V,通过串口下载接口,下载LCD测试程序到单片机进行测试。测试单片机ALE管脚有2M频率的信号输出,程序运行后L

29、CD1602显示字符。说明数字电路块调试通过。5.2.4 ICL7135A/D转换电路调试 接通电源,测量ICL7135芯片第11脚电压为+5.01V,第1脚电压为-4.92V。再检测CLKIN管脚有信号输入,频率为500KHz,而且BUSY信号有电平变化。证明ICL7135芯片工作正常。此时调节ICL7135参考电压输入为1V。5.2.5 TL084放大电路调试接通电源,在TL084放大器的信号输入端加上一个0-2V之间的信号作为输入。然后测量第1脚、第7脚、第8脚、第14脚的电压输出,对照TL084连接电路计算出所测输出与输入关系与放大系数基本满足。但是当无输入时依然存在一定输出电压,说明

30、电路中有一定干扰信号。5.2.6 整体系统调试连接上LCD1602和各个集成芯片,确定电路连接正确后,接通电源。通过串口接口将总程序从PC机上烧写入单片机中,选择一个放大倍数,并将电路板上选择A/D输入短接接口用短接帽短接到ICL7135A/D转换芯片输入。然后并观察LCD显示上时间和电量是否有数据变化。5.2.7系统上电状态此设计系统整体调试通过后,将各个器件连接好后,打开电源。开始对电池电压进行采集,转换为相对应的电信号后经过A/D转换后送入单片机,由单片机处理后显示所测量的电量。图5.2 系统上电状态图6系统功能、指标参数6.1 系统实现功能系统主要实现的功能是实时显示电池电量,通过AD

31、将蓄电池的模拟信号转化为数字信号后后,利用单片机控制,同时实现对电池电量进行显示的功能。6.2 测试数据及参数分析6.2.1模拟电路测试参数及参数分析测试数据参数表1:(注:U4:7809,U5:7909,U6:7905,U7:7805,U1:TL084,U2:ICL7135,U8:CD4066)引脚电压(V)参考值(V)误差(%)J4插针1、3脚19.03185.72U4 (3脚)9.2592.78U5 (3脚)-9.11-91.22U6 (3脚)-5.06-51.20U7 (3脚)4.9351.40U1 (14脚)000U1 (11脚)-9.12-91.33U1 (4脚)8.9690.44

32、U2 (1脚)-4.92-51.60U2 (11脚)5.0150.2U8 (7脚)000U8 (14脚)4.9850.40通过表中参数可以看出模拟电路中各个管脚处的电压与参考值比较接近,虽然存在一定的误差,但是都在正常范围之内。所以模拟电路电源调试通过。6.2.2 数字电路测试参数及参数分析测试数据参数表2:(注:U12:7805,U3: CD74HC74,U9:STC89S51,U11:MAX232)引脚电压(V)参考值(V)误差(%)J210.02911.33U12 (3脚)4.9750.60U3 (1脚)4.9650.80U3 (4脚)4.9351.4U3 (7脚)0.0000U3 (1

33、0脚)4.9850. 40U3 (14脚)4.9650.80U9 (20脚)000U9 (40脚)4.9650.80J7 (1脚)0 00J7 (2脚)4.8952.2U11 (15脚)000U11 (16脚)4.9551.00通过上表的参数可以看出数字电路中各个芯片的电源电压基本与参考电压一致,存在的误差都在正常范围之内。所以可以确定数字电路电源调试通过。7 结论系统采用89C52单片机和LCD1602,ICL7135为核心器件来完成电池的使用记录和电量管理的设计。该系统能够实时监测电池的电量,较为精确地估计出电池的剩余电量,并且进行实量显示。通过芯片的P0口接入LCD来实现电量显示的功能; 运算电路电源的供给采用78XX和79XX来控制;稳压器的+ 5V输出为整个系统提供电源。系统设计简便、操作简单、程序设计简便。系统的不足之处是不能很精确地进行电量的显示。这是由

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论