基于CAN总线的蓄电池状态监测设备的设计与实现.docx
《基于CAN总线的蓄电池状态监测设备的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于CAN总线的蓄电池状态监测设备的设计与实现.docx(46页珍藏版)》请在冰点文库上搜索。
![基于CAN总线的蓄电池状态监测设备的设计与实现.docx](https://file1.bingdoc.com/fileroot1/2023-6/22/e4d53377-cf06-4950-a6b4-f6c071e61be1/e4d53377-cf06-4950-a6b4-f6c071e61be11.gif)
基于CAN总线的蓄电池状态监测设备的设计与实现
学号:
常州大学
毕业设计(论文)
(2012届)
题目
学生
学院专业班级
校内指导教师专业技术职务
校外指导老师专业技术职务
二○一二年六月
基于CAN总线的蓄电池状态监测设备的设计与实现
摘要:
蓄电池作为直流备用电源,对系统的安全可靠运行有非常重要的作用。
为避免蓄电池在长期使用中因质量问题出现故障而引发事故带来经济损失,需对蓄电池进行实时在线监测。
本设计主要是基于CAN总线的对蓄电池状态进行检测设备的设计,通过ADC0832这一A/D转换设备采集状态数值,通过LCD1602显示出数值,并在电压较低的时候显示警报。
此设计完成了A/D转换电路的设计,单片机控制电路的设计,LCD1602显示电路的设计,并且完成了CAN总线部分的硬件设计。
完成了A/D转换部分、单片机控制部分、LCD显示部分的软件程序编写与这些部分的系统调试,在CAN总线部分完成了硬件制作。
实现了对大部分蓄电池的电压数值实时显示的功能,运用电子技术长时间检测蓄电池的电压水平,省去了人工检测的工作并且能够在电压值较低时,提供警示显示。
关键词:
蓄电池;单片机;LCD1602;ADC0832;CAN总线
TheDesignandImplementationforBatteryStateMonitoringEquipmentBasedonCANBus
Abstract:
Batteryasdcstandbypower,andthesafeandreliableoperationofthesystemisaveryimportantrole.Toavoidbatteryinuseforalongtimebecauseofqualityproblemshaveproblemsandcauseaccidentsbringeconomicloss,accumulatormusttoon-linemonitoring.
ThispaperisdesignedtodetectthebatterystatusofequipmentdesignbasedonCANbus,throughtheADC0832A/Dconversionequipmentacquisitionbatterystateofthenumerical,throughtheLCD1602showednumericalvalueandinlowvoltagewhendisplayalerts.ThisdesigncompletedtheA/Dconvertercircuitdesign,thedesignofthesinglechipmicrocomputercontrolcircuit,LCD1602displaycircuitdesign,andcompletedtheCANbuspartofthehardwaredesign.CompletedtheA/Dconversionpartsandsingle-chipmicrocomputercontrolpart,LCDdisplaypartofthesoftwareprogramminginthesepartsofthesystemcommissioning,intheCANbuspartcompletedthehardwareproduction.Realizethemoststoragebatteryvoltagevaluesreal-timedisplayfunction,theuseofelectronictechnologylongtimetestbatteryvoltagelevel,telltheartificialdetectionandbeabletoworkinvoltagevalueislower,thatprovidewarning.
Keywords:
Battery;MCU89C51;LCD1602;ADC0832;CANBus
1绪论
近二十年来,以计算机科学,信息学,生命科学为代表的各门新兴学科的迅猛发展,
极大限度的刺激了全球经济的发展,在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
例如:
在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,电能是人们日常生活和工业生产中的重要能源之一,在现代社会中起着越来越重要的作用,而电压、电流是其中最关键的两个因素,是否准确的测量电压、电流对我们的生活和生产有着至关重要的影响,特别
是经常要对电量进行采样测试以了解工作电压的工作情况。
与此同时,蓄电池作为一种重要的电能储存的工具,已经在人们日常生活中起到越来越重要的作用。
蓄电池作为直流备用电源,对系统的安全可靠运行有非常重要的作用。
为避免蓄电池在长期使用中因质量问题出现故障而引发事故带来经济损失,需对蓄电池进行实时在线监测。
就目前的蓄电池国内外最新的研究成果与方向,主要集中在一些蓄电池组中,单个蓄电池的工作状态的检测。
其中,对于单个蓄电池的电压检测就是这些工作的难点与重点。
有人提出用继电器来切换电池组中的每只电池。
用触点式继电器切换的缺点是:
体积大、成本高、寿命短、速度慢,且其电压值计算比较麻烦;有人提出另外一种方法:
在多路输入信号的选择上采用模拟开关进行选通,在模拟信号的转换上采用可编程定时器的V/F转换器。
其中,在解决输入信号电压高于芯片的最大工作电压的问题上存在技术难点,且采用V/F转换作为A/D转换器。
其缺点是响应速度慢、在小信号范围内线性度差、精度低。
关于在线测量单只电池电压的方法,还有人提出用光电隔离器件和大电解电容器构成采样,保持电路来测量蓄电池组中单只电池电压。
此电路的缺点是:
在A/D转换过程中,电容上的电压能发生变化,使其精度趋低,而且电容充放电时间及晶体管和隔离芯片等器件动作延迟等因素,决定采样时间长等缺点。
国内研制并投产的ZXJ24/2-1型蓄电池组智能监测仪,采用浮动地技术测量蓄电池组中各单电池电压,测量的参数还包括电池组电压、2路电流、2路温度。
美国蓄电池监测系统技术(BatteryMonitoringSystem,BMS)发展于电力应用工业。
1989年,美国电力研究所与国家电能研究公司合作,共同研究了无人值守场站PBWC铅酸蓄电池综合在线状态监测系统。
经过4年的研究与开发,耗资200万美元,于1994年完成样机的现场试验。
测定的参数包括:
电池组电压、单体电压、(浮充电)维持电流、电池内部温度、电池组环境温度、电解液比重、电解液液面高度以及电极利用情况等。
其方法是采用安装在每一只电池上的多传感器电池监测模块(叫“电池监测器”,是真空密封的)。
这种模块通过光缆将状态数据传输到蓄电池组监测器,每一电池组监测器可监测256个单电池。
远程控制中心通过MODEMS和公用电话线对电池组监测器进行监测,可监测的电池组监测器的数量不受限制。
控制中心PC机能定期查询所有运行组的监测器,下载并处理储存的数据,存储和显示电池状态及其趋势的信息,
能获得每一节电池的参数。
在当今,计算机技术、通讯技术、大规模集成电路的飞速发展,对远程监测或者多点检测的数据通信提出了更高的要求。
CAN总线就是为了适应这种要求孕育而生的。
CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发,并最终成为国际标准(ISO11808)。
是国际上应用最广泛的现场总线之一。
在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。
运用CAN总线技术能够方便的将电池的工作情况进行远程调控或者是多点数据相互传输。
现在,在全球环境日益恶化的情况下,对于能源的节约使用,以及对环境的保护工作已刻不容缓。
世界上各个国家都在积极的将一些一次能源淘汰掉,大力使用可循环使用的能源,蓄电池就是一种清洁的电能载具。
然而一些蓄电池再生产的过程中难免会加入一些有害,有毒的物质,因而,对蓄电池的合理使用变得尤为重要。
如果能够有效的,实时的对蓄电池进行必要的监控,不仅可以确保其工作的正常,保证不因过度使用对蓄电池造成损伤,更能使蓄电池的使用寿命延长,在一定程度上面,减少的报废蓄电池中的有毒有害物质对环境的影响。
本文的设计,主要是运用51系列的单片机作为控制芯片,ADC0832作为8位A/D转换芯片,加上LCD1602的显示,组成一个能够实时显示蓄电池电压数值的蓄电池检测设备。
它能够显示出当前工作蓄电池的工作电压值,根据这一数值,判断其蓄电池的电量水平,以确定是否需要充电。
或者在出现电压数值变化的异常,来确定其蓄电池是否已损坏。
2总体方案
2.1方案可行论证
本文设计是通过检测蓄电池的电压来确定蓄电池的工作情况,这在原理上是可行的。
蓄电池的种类很多,主要有以下几种:
铅酸蓄电池 :
铅酸蓄电池已有100多年的历史,广泛用作内燃机汽车的起动动力源。
它也是成熟的电动汽车蓄电池,它可靠性好、原材料易得、价格便宜;比功率也基本上能满足电动汽车的动力性要求。
但它有两大缺点;一是比能量低,所占的质量和体积太大,且一次充电行驶里程较短;另一个是使用寿命短,使用成本过高。
镍氢蓄电池 :
镍氢蓄电池属于碱性电池,镍氢蓄电池循环使用寿命较长,无记忆效应,但价格较高。
它的初期购置成本虽高,但由于其在能量和使用寿命方面的优势,因此其长期的实际使用成本并不高。
锂离子电池:
锂离子二次电池作为新型高电压、高能量密度的可充电电池,其独特的物理和电化学性能,具有广泛的民用和国防应用的前景。
其突出的特点是:
重量轻、储能大、无污染、无记忆效应、使用寿命长。
在同体积重量情况下,锂电池的蓄电能力是镍氢电池的1.6倍,是镍镉电池的4倍,并且目前人类只开发利用了其理论电量的20%~30%,开发前景非常光明。
同时它是一种真正的绿色环保电池,不会对环境造成污染。
镍镉电池:
镍镉电池的应用广泛程度仅次于铅酸蓄电池,其比能量可达55W•h/kg,比功率超过190W/kg。
可快速充电,循环使用寿命较长,是铅酸蓄电池的两倍多,可达到2000多次,但价格为铅酸蓄电池的4~5倍。
它的初期购置成本虽高,但由于其在能量和使用寿命方面的优势,因此其长期的实际使用成本并不高。
缺点是有“记忆效应”,容易因为充放电不良而导致电池可用容量减小。
须在使用十次左右后,作一次完全充放电,如果已经有了“记忆效应”,应连续作3~5次完全充放电,以释放记忆。
另外镉有毒,使用中要注意做好回收工作,以免镉造成环境污染。
另外还有钠硫蓄电池、镍锌蓄电池、锌空气蓄电池、飞轮电池 。
在这些蓄电池中,各个方面使用比较广泛的铅蓄电池(车用12V铅蓄电池)就电压与电量而言,放电之后,电压就会下降。
根据电路公式:
V=E-I.R(V:
端子电压(V)I:
放电电流(A)E:
开路电压(V)R:
内部阻抗(Ω));放电时,电解液比重下降,电压也降低;放电时,电池内部阻抗即随之增强,完全充电时若为1倍,则当完全放电时,即会增强2~3倍。
鉴于这些原因,电压与电量的关系一般有如下经验值表2.1:
表2.112V蓄电池剩余电量与工作电压的关系
电压(v)
剩余电量
12.7
12.5
12.4
12.3
12.2
12.1
11.9
11.8
11.6
11.3
10.5
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
还有一种电压与电量测量的实际应用:
那就是手机蓄电池——锂离子蓄电池,在一些比较老式的手机电量是通过屏幕上电量显示格数来表示的。
这其实就是检测出蓄电池的电压,再根据其最大电量是的电压值与最低电量的电压值按一定比例进行划分出来的。
之所以这么设计,很大一部分原因是因为锂蓄电池经过放电之后,电压会随着电量的下降而下降,并且斜率会很大,较其他蓄电池明显。
当然,现在手机中的蓄电池种类繁多,一些新型的智能手机的蓄电池的满额电压与电量都有了明显提高。
各个蓄电池的生产厂家所规定一些标准参数也不尽相同,所以本文在这里只能给一种常见的手机蓄电池电压与电量的关系,如表2.2所示。
这个表在这里只是起到说明锂电池的电压值能比较准确反应出电量的变化与剩余数值,并不是说这个表就是各种蓄电池电压与电量之间的具体关系。
表2.2一般手机锂蓄电池电压与电量关系表
电压(V)
电量(%)
4.20
4.06
3.98
3.92
3.87
3.82
3.79
3.77
3.74
3.68
3.45
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
5%
2.2系统功能综述
本设计能实现对工作蓄电池的电压的实时显示,并且在电压较低时提供警示显示。
主要分为3个部分:
数据采集A/D转换部分,显示部分,CAN总线通讯部分。
A/D转换部分实现了对实地电压采集模拟量到数字量的转变,使单片机可以将这一数据进行处理与传送。
显示部分的作用是使数据直观的表示出来,方便对数据进行的分析与记录。
CAN总线的作用是通过使用CAN总线通讯技术对数据进行的运程传输或者是多点数据互传。
2.3设计方案
总体设计方案框图如图2.1所示:
显示模块
单片机
A/D
转换
电压实地采集
CAN总线模块
图2.1设计总体方案
首先,实地电压采集了以后,通过ADC芯片转换后,进入单片机进行传输,经单
片机处理后,在LCD上进行显示,通过电压这一数值,就能大体确定蓄电池的使用状
况,与是否发生异常。
另外,将单片机与CAN模块连接,就能通过CAN通讯技术,经行数据的通讯与接
收。
电池电压检测的功能是实现对单体电池电压的检测和网络传输。
该单元由电压信号
变换、单片机系统、CAN总线接口和电源组成。
该单元是基于CAN通信的电压检测模
块,检测到的电压模拟信号经处理并数字化后,通过CAN总线传输给控制管理单元。
检测终端采集到蓄电池单体电压信号后,进行放大,滤波、模/数转换和隔离后,送入单
片机,单片机将通过CAN总线与上位机进行数据通信。
3蓄电池检测硬件设计
3.1单片机电路设计
单片机电路主要的作用是控制各个芯片和设备的工作状态和接收ADC采集且转换好的数字信号,对此信号做传输和储存,并将此信号发送到LCD显示设备上,让LCD做后续现实工作。
本设计采用89C51单片机,89C51是一种带4K字节闪烁可编程可擦除只读存储器
(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。
89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图3.1为89C51引脚图。
图3.189C51引脚图
图3.1中的管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H~FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
单片机最小系统如图3.2所示:
图3.2单片机最小系统
图中主要包括了复位电路与晶振电路。
复位电路是从单片机RESET引脚接入电容与电阻后,用一个按钮开关控制电容的充放电,来达到RESET引脚电位的高低变化,达到复位目的。
晶振电路则是在X1与X2引脚接入12M晶振,为单片机提供时序。
3.2蓄电池数据处理部分电路设计
3.2.1ADC数据采集转换电路设计
ADC主要是采集目标的模拟信号,并将这个信号转换为数字信号,传输到单片机。
目前主要的ADC有ADC0832、ADC0809、ADC0804、ADC0808等等。
本设计选用的芯片为ADC0832。
ADC0832是美国国家半导体公司生产的一种8
位分辨率、双通道A/D转换芯片。
由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。
ADC0832具有以下特点:
8位分辨率;双通道A/D转换;输入输出电平与TTL/CMOS相兼容;5V电源供电时输入电压在0~5V之间;工作频率为250KHZ,转换时间为32μS;一般功耗仅为15mW;8P、14P—DIP(双列直插)、PICC多种封装;商用级芯片温宽为0°C~+70°C,工业级芯片温宽为−40°C~+85°C。
图3.3为ADC0832的引脚图。
图3.3ADC0832引脚图
管脚说明:
CS_片选使能,低电平芯片使能。
CH0模拟输入通道0,或作为IN+/-使用。
CH1模拟输入通道1,或作为IN+/-使用。
GND芯片参考0电位(地)。
DI数据信号输入,选择通道控制。
DO数据信号输出,转换数据输出。
CLK芯片时钟输入。
Vcc/REF电源输入及参考电压输入(复用)。
ADC电路如图3.4所示:
图3.4ADC电路设计原理图
图中,ADC0832的1号端口为CS端,它与单片机的P22相接,由单片机的P22脚作为ADC0832的使能控制端。
2号端口为CH0端,作为电压采集的端口,4号与8号分别为电源端与接地端。
5号、6号端口为D1与D0端,分别连接到单片机的P23与P24端口,控制ADC的读写。
7号端口为CLK端,作为ADC的时序输入端。
3.2.2LCD数据显示电路设计
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。
本设计选择LCD1602这一LCD来作为LCD设备。
一般LCD1602字符型液晶显示器引脚如图3.5:
图3.5LCD1602引脚图
引脚接口说明:
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第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
LCD显示与单片机连接电路如下图3.6:
图3.6LCD1602与单片机连接电路原理图
图3.6中,LCD1602的4、5、6号端口分别为R/S、RW、E端,分别由单片机的P30、P31、P32控制,7~14号端口为DB0~DB7,与单片机的P1端口相