基于单片机的蓄电池监测系统设计 联系客服

发布时间 : 星期一 文章基于单片机的蓄电池监测系统设计更新完毕开始阅读7a2d9e1ff5ec4afe04a1b0717fd5360cbb1a8d6c

本 科 毕 业 设 计

第 13 页 共 48 页

状态/标志寄存器决定了DS2438的工作状态,单片机通过对特殊功能寄存器进行读/写操作,可实现DS2438的各种功能,因此在对其进行操作之前,必须对这一寄存器进行初始化,即对相应的控制位进行写操作。状态寄存器位于存储器00页的第0字节,该寄存器用于DS2438的功能控制,其中各位的默认值为1,含义如下:

ⅰ)IAD为电流A/D控制位。IAD=I,启用电流A/D和ICA,且以32Hz速率测量电流;IAD=0,禁用电流A/D和ICA;

ⅱ)CA为电流累加器配置位。CA=1,启用CCA/DCA存储数据且可从第7页恢复数据;CA=0,禁用CCA/DCA,第7页可用于普通EEPROM存储;

ⅲ)EE为隐蔽电流累加器位。EE=1,将CCA/DCA计数器数据隐蔽到EEPROM,电量每增加0.32,当前计数器加1:EE=0,CCA/DCA计数器数据将不隐蔽到EEPROM;

ⅳ)AD为电压A/D输入选择位。AD=1,电压A/D选择由VDD端输入;AD=0,电压A/D选择由VAD端输入;

ⅴ)TB为温度转换忙标志位。TB=1,温度转换正在进行;TB=0,温度转换结束; ⅵ)NVB为非易失存储忙标志位。NVB=1,在从可擦除区复制到EEPROM的存储过程中;NVB=0,非易失存储空闲状态。一次EEPROM存储占用2~10ms;

ⅶ)为A/D转换标志位,ADB=1,电压A/D转换正在进行;ADB=0,转换结束或无测量。一次A/D转换占用约10ms;

ⅷ)X为不定位。 b) 电流寄存器

DS2438内含一个可有效测量流入、流出电池块电流的模数转换器,电流的测量是通过测量电流取样电阻RSENS两端的电压来间接测量流过电池的电流。采用10位ADC,其分辨率为O.005C,电流测量值的结果放在2字节的电流寄存器中,其中电流测量符号位S,用于指示充电或放电。

c) 电流积分累加寄存器

DS2438对电池剩余电量的测量是借助其内部的电流积分累加器(ICA)实现的。ICA存放的是流入、流出电池总电流的净累加值,因此,存储在这个寄存器内的值可用于计算电池的剩余电量。

d) 电压寄存器

存放采集的电压值。它的电压输入范围是0~10V,且电压ADC的输入,可通过状态/

本 科 毕 业 设 计

存器中,单位为mV。

e) 温度寄存器

第 14 页 共 48 页

结构寄存器的AD位来选择由VDD输入或由VAD输入。电压A/D转换的结果放在2字节电压寄

存放采集的电池温度值。可在-55~+125℃范围内以0.03125℃的分辨率测量温度值,温度值为补码形式通过2字节温度寄存器输出。其中符号位S指示温度值为正或负;S=0,温度值为正;S=1,温度值为负。

f) 消逝时间记录寄存器

消逝时间记录寄存器记录相对于内部基准时间的电池充电完毕、其脱离系统的精确时刻,便于用户了解电池的使用情况,正确地使用和维护电池。 3.2.3 数据采集板电路

信号采集板电路包括四部分:+5V工作电源、电压采集、电流采集和DS2438单片机通讯电路。其电路图如图3.5所示。

图3.5 信号采集模块 1)+5V工作电源电路

每节蓄电池都有自己独立的采集板,蓄电池电压经LM7805三端稳压芯片稳压滤波后输出5V电压,给自身的采集板提供电源。

2)电压采集电路

蓄电池在浮充状态下电压为12.8V,充电是电压最大可达到16V左右,而DS2438芯片的电压测量范围为0~10V,因而需经精密电阻R3、R4分压,再通过R5、C10滤波电路滤波后输入DS2438的VAD,当DS2438接收到单片机发出的电压转换命令时,片内ADC转换器将

本 科 毕 业 设 计

第 15 页 共 48 页

对VAD管脚上的电压进行数字转换,转换时间为2 ms左右。转换的结果将被保存在两字节的电压寄存器中。当单片机发出读取数据的指令时,测量的数据即从DS2438的DQ端传送出去。因为DS2438其分辨率为0.01V,所以蓄电池的实际电压可由下式计算得出:U=电压寄存器的值*0.01 *(1 + R3/R4)(单位为V)。

3)电流采集电路

串联工作的电池组流经每个电池的电流是相同的, 电流测量只需要一个采集板。在DS2438中,电流是通过测量外部传感电阻两端的电压来实现的。外部传感电阻R7接于 Vsens+ 和Vsens-两管脚间 ,同时,Vsens-端接R6、C11低通滤波电路, 用以消除尖峰电流的干扰,其中R6=100kΩ,C11 =0.1μF。

由于Vsens+和Vsens-两管脚允许的输入电压范围为-122 mV~+122 mV , 因此DS2438能测量的电流很小(毫安级) ,而电池组中的电流一般为十几个安培至几十个安培,需要电流传感器进行转换。系统采用了由LAM公司生产的多量程电流传感器LA-28NP,原边电流提供了5A~25A间5种选择,可通过不同的接线方式灵活设置,副边电流为25mA ,采样电阻R7取4.7Ω。实际电流=±(K*电流寄存器的绝对值)/R7*4096 ,K为互感器变比,±取决于电流寄存器的符号位。

4)DS2438与单片机通讯电路

单片机采用8位的AT89C51,单片机与采样板之间采用单总线通信SBC(Single Bus Communication)解决方案。

由SBC构成的单总线通信系统为主从结构,单片机作为主机,多片DS2438作为节点(从机),总线由一根信号线组成,既可传输时钟,又能双向传输数据。在该总线上可以挂接多个测控对象。这种单总线技术具有线路简单,硬件开销少,便于总线扩展和维护等优点。其传输速率可达到110Kbit/s,在不扩充的情况下,总线距离最远可达到600m,经扩充以后可达到2500m。

由于各监测板不共地,所以发送和接收的信号都需经中速光电耦合器6N135进行隔离,由于DS2438输出电流较小,不能驱动光电耦合器,故增加了驱动/缓冲器74LS07。DS2438的数据输出端DQ为漏极开路,所以需增加上拉电阻R7。数字信号在传输过程中抗干扰能力强,因此提高了测量精度。各检测板并行工作,可以同时监测电池组中的各单体蓄电池的状态。

本 科 毕 业 设 计

3.3 显示电路设计

第 16 页 共 48 页

本设计中采用两种方式进行显示:液晶显示和上位机显示。其中液晶显示选择用1602液晶显示器,可以直观地显示出当前被测电池的电压、电流、温度及剩余电量,除能显示数字外还可以显示汉字。同时用户可根据需要,利用AT89C51的UART串口,通过串口线与上位机相连,利用上位机显示,使人机界面变得更加友好。当被测电池状态过警戒线时,智能系统通过蜂鸣器发出声音报警,同时显示中也会给出警示信号,提示用户做出相应的处理。下面对两种显示方式分别进行介绍。 3.3.1 1602液晶显示

液晶显示器LCD(Liquid Crystal Display)是一种被动发光型的显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的特性,而达到白底黑字或黑底白字或者蓝底白字显示的目的。液晶显示器具有体积小、重量轻、分辨率高、功耗低、抗干扰能力强、驱动电压低等优点,因此被广泛地应用在智能仪器、数字仪表、控制系统及人类生活的各种显示领域中。

1)1602液晶显示的特点

a) 1602液晶显示器为若干个5*8或5*11的点阵显示字符。每个点阵块为一个字符位,字符间距和行距都为一个点的宽度;

b) 1602液晶主控制驱动电路为HDD4780或其他全兼容电路,如SED278(SEIKOEPSON),KS0066(SAMSUNG),NJU6408(NER JAPN RADIO);

c) 具有字符发生器的ROM可显示192种字符(160个5*7点阵式字符和32个5*10点阵字符);

d) 具有64个字符的自定义字符的RAM,可自定义8个5*8点阵字符或4个5*11点阵字符;

e) 具有80个字节的RAM; f) 单+5V电源供电。 2)1602液晶显示器引脚功能

1602工作过程可简析为:液晶显示模块经数据总线接收外部微处理器MCU发来的指令和数据,并存入内部的指令和数据寄存器中,在这些指令的控制下,行、列驱动器对128*64点阵的LCD显示屏进行控制,从而实现所需信息的显示。1602液晶显示模块的各外部引脚名称、功能和用法见表3.3。