【某蓄电池性能检测系统的硬件和软件设计案例7500字】_第1页
【某蓄电池性能检测系统的硬件和软件设计案例7500字】_第2页
【某蓄电池性能检测系统的硬件和软件设计案例7500字】_第3页
【某蓄电池性能检测系统的硬件和软件设计案例7500字】_第4页
【某蓄电池性能检测系统的硬件和软件设计案例7500字】_第5页
已阅读5页,还剩13页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

某蓄电池性能检测系统的硬件和软件设计案例目录TOC\o"1-3"\h\u251121系统的硬件设计 179651.1单片机最小系统设计 229651.2电压检测电路设计 375591.3电流检测电路设计 4235101.4温度检测电路设计 556081.5液晶显示电路设计 6216041.6报警电路设计 7122332系统的软件设计 75762.1系统软件主程序设计 885342.2电压子程序设计 9295182.3电流子程序设计 10224422.4温度子程序设计 1192112.5数模转换子程序设计 12313112.6显示子程序设计 1338873系统调试与分析 15276263.1系统调试 1568683.2功能展示测试及分析 161系统的硬件设计本次设计的系统是蓄电池性能检测仪的设计,其检测系统的硬件电路主要是对电压检测电路设计、电流检测电路设计、温度检测电路设计、液晶显示电路设计以及报警电路设计等几部分。对其进行分析讲解。蓄电池检测系统框图如上章节的图2.1所示。其检测系统是以单片机STC89C52为核心,对蓄电池的各个性能参数检测采集后,经过相对应的芯片A/D模数转换传输到单片机,然后由单片机内部的ADC转变照应后的数据,再传送到显示模块进行对蓄电池的各个性能参数显示。电压测量部分用来测量蓄电池的端电压,温度测量部分采用温度传感器DS18B20进项测量温度,单片机作为整个系统的控制单元,报警部分是当温度和电压参数超正常范围时报警,液晶显示部分用来显示所测蓄电池各项性能参数。1.1单片机最小系统设计在一个系统项目当中,如果想提升单片机的处理速度的话,就必须把晶体振荡器电路添加到XTAL1、XTAL2这两个端口进而连接到单片机的18、19两个接口上。对晶体振荡器电路中的工作运行情况,整个系统所设计的电路当中电容C2以及C3对振荡器的频率有着调谐的作用,其调谐取值范围一般都是在30+10pF之间选取;可以选择6MHz或者是12MHz这两个频率[9],只是频率的大小不同。这样只是简简单单的机器周期时间不一样而已,对电池在检测的过程当中其性能参数的初测值以及处理速度稍微有一些影响。系统晶体振荡器电路图如图1.1所示。图1.1晶体振荡器电路图在整个单片机构成系统当中都有着最基本的系统构成,其最小单片机系统统组成是由晶体振荡器电路电源和复位电路以及电源、接地等几部分组成。在此对剩余的几部分来简单的进行对其解说。(1)复位电路设计本次系统设计所采用的复位电路是差分重置电路,其电路图如图1.2所示。在整个电路工作运行当中例如高电平,在上电的时候,Vcc可以视作为复位端子上的电压,处理器R1的终端电阻通常是小于0.3V。换而言之,在平时的运用过程当中,Vcc可能不是太理想的阶跃信号[10]。图1.2复位电路图最终的原因就是往往在已经经过设计过后的电路,但是又为了确保电源的电压稳定性,一般都会把大电容并联组合到电源的输入端,进一步的造成Vcc不能视为阶跃信号的特性,最终这就影响了复位电压的复位特性。(2)电源、接地其系统主控芯片STC89C52在这里选择的是3~6V的移动电源,并且其能够直接由稳压电源进行供给,接地则可直接进行接GND。(3)单片机的最小系统在此可以通过以上几部分晶体振荡器电路和复位电路以及电源,接地这几部分连接组装而成得单片机最小系统,如图1.3所示。图1.3单片机最小系统电路图1.2电压检测电路设计在本系统检测电池电压这一部分,选取了性能比较好的一款芯片PCF8591。而在检测电压时因为输出的是模拟信号,不能直接进行查看,只能通过模数转换过后再经由中央处理器单片机的处理,最后由显示屏进行显示出来。为了对蓄电池的电压参数进行检测,得到准确的电压参数,来判断蓄电池是否需要进行充电。除了对电池的电压进行检测之外,同时也对电池的容量进行着检测判断其大小,而在检测蓄电池容量采用的是放电电压分析法,其根据电池在使用的过程当中所流出电压的大小,对电池电压的变化进行检测,进一步的依据电压的变化量来预算电池的剩余电量,如果有些轻微的变化表明剩余的电量很大[11],否则,反之亦然。以A/D转换结构输入到单片机里,通过A/D转换器和单片机的处理,对蓄电池的电压进行采集,在检测电压的基础上采集蓄电池电压的大小,并且以此来判断蓄电池容量的大小。在本系统当中所设计的电路图如图1.4所示。图1.4电压检测电路图单片机Stc89C52的P1.0引脚与PCF8591输入端进行连接,而数模转换的输出端口与中央处理器的P1.1引脚进行连接,在检测的过程当中由模数转化部分采集过的数据传送到单片机里面[12],进而通过A/D转换器和单片机的处理,来实现电池电压的数据采集工作,并对其进一步的进行分析,通过检测电池电压的大小,来对电池容量的大小进行判断,最后通过显示屏显示出来。1.3电流检测电路设计蓄电池的电流部分,在其检测的过程当中也起着非常重要的一个环节。电流的大小,也反映着蓄电池的性能的好坏问题。本次系统设计,电流检测部分,采用Allegro公司新推出的一种线性电流传感器,该仪器内置有精确的低偏置的线性霍尔传感器电路,能够检测出电流与电压的比例关系。其电流检测电路原理如图1.5所示。单片机STC89C52的P1.0引脚与该芯片的输入引脚端口进行组合,单片机P1.1引脚与其输出端的引脚端口相连接,IP+口的1号接线是连接的是被测电池的1号端口,通过电池的放电,进一步而通过A/D转换器和单片机的处理,来对蓄电池的电流进行采集。图1.5电流检测电路图1.4温度检测电路设计因环境温度而造成电池起火等事故不在少数,所在温度检测方面要更加的细致。对蓄电池造成影响的因素有很多种,但温度是其外部因素最重要的一种,其直接对电池乃至整个系统都有着很大的影响。其工作的原理可以简单地理解为就是在检测电池时所采集到的数据一开始是模拟电信号经由单片机内部的ADC进行处理过后转变成数字信号[13],以简单快捷的方法可以更快的检测出电池的温度。这就是本次系统设计之所以选择其的根本原因所在。其温度检测接口电路图如图1.6所示。由于其本身就可以从总线上来进行获取电源能量,因此其根本不需要外部为其进行供电。其自身的DQ端口可以与中央处理器的P10引脚进行组合,来对温度的一些检测数据进行处理和分析等。其一方面总线上的电平选择的是高电平的时候,自身就会把一些多余的能量进行保存到其内部的电容器当中。另一方面其总线的电平选择的是的低电平的时候,这时候电容会对多余的能量进行开释。反过来当其再一次选择的电平为高电平的时候[14],其就会对整个放电的过程进行提前结束。而且在特定的场景下,通过增加外部电源为其进行提供电源,但是其外部电源的大小一般都控制在3到3.5v之间。图1.6温度检测电路图1.5液晶显示电路设计蓄电池性能检测仪的监测系统可以显示蓄电池的各项性能状态参数指标,本设计采用的LCD1602液晶显示器,其不仅仅就是一种非常平凡的字符显示模块。而且还具备着和液晶一样的物理特性,对显示区域的操作是利用电压来进行操控的,并且以流过的电流显示显示该区域,以达到显示图像的作用功能。其主要组成的部件有字符型液晶显示屏、控制驱动主电路HD44780以及少量的电阻、电容元件和结构部件等几部分组装在PCB板上而制造完成。STC89C52的输入和输出方向由单片机的P1.0和P1.1控制。该芯片上的RS、R/W和E这三个引脚在连接单片机的时候主要与其P2.0和P2.1以及P2.2这三个引脚进行连接组合[15],从而达到单片机对其的读写的功能操作,最后就是把处理分析过后的数据经过显示屏进行显示出来内容。其接线原理电路图如图1.7所示。图1.7LCD1602液晶显示电路图1.6报警电路设计本次系统设计当中,检测蓄电池性能的过程当中,单片机对检测到的蓄电池的数据进行分析处理后,如过检测到的相关参数超过了之前设定的正常蓄电池性能状态参数的上下限值,这时单片机发出报警指令,LED指示灯亮起,蓄电池欠压黄色LED灯亮起,温度高于40°红色LED灯亮起。具体电路如图1.8所示。图1.8报警指示灯电路2系统的软件设计本次整体的系统设计不仅有硬件电路设计,而且也有系统软件的设计两部分的组合而成。设计当中,独特的硬件电路设计仅仅是供给基本的操作支持从来实现系统的一些操作。该识别系统设计的是以单片机STC89C52为中心进行操作的,系统中所有的电路操作和功能都是通过单片机来加以实现的。其对各部分的芯片所采集到的数据进行处理分析以及最后对数据进行显示,达成系统所要求的功能。整个系统运行当中不仅是依靠硬件电路能够在其中可以高速有效的运转,而且也要对硬件电路进行软件编译,两者进行结合相得益彰。其次就是在软件设计的过程当中,就应该对其认真对待研究。整个电路系统的设计需要两者的完美结合,才能够使其电路高效的工作,进一步实现最初所设计的功能,表现出其出色的成效。系统软件部分的设计,本次的系统软件设计在选择编译软件的时候也考虑几款设计软件,但是唯独选择了KeiuVision3软件。主要是因为独特的软件开发环境方便于单片机的应用,其各种功能应有尽有十分全面。其中不仅仅含有单片机的主要汇编语言以及可以与C语言进行连接编译[16],其还可以抛开硬件部分单独的进行对一些程序进行软件的模拟仿真与调试的工作,这在软件设计的时候操作十分快捷,可以更高效的来完成软件设计的工作。2.1系统软件主程序设计硬件电路设计好之后,就要开始设计软件电路,而软件电路的设计主要是对程序进行编写,我们在编写软件程序的时候,首先应该先要了解蓄电池检测其哪几部分。本身所设计的这个是对电池进行日常的运用情况检测与下一步的维护做出判断,其中检测的参数包含对蓄电池的电压的检测和对温度参数的检测,以及蓄电池放电电流大小的检测。对电压设置有报警提示系统,超出设置范围时系统会进行报警提示。同样,当蓄电池因周围环境温度的变化而引起的温度变化,超过设定的温度上限,进而触发温度报警,通过红色LED指示灯报警提示。这些检测的操作都是需要自己进行控制和检测。最后就是通过对检测到的数据进行处理分析后,传送到显示模块进行显示。每个系统的设计之处都有着一定设计步骤来完成,本次的软件系统设计部分主要是由以下几部分组合而成:程序初始化、电压程序、电流程序、温度程序、AD转换子程序和液晶显示子程序。在系统运行之前要对主控芯片进行上电复位,通过单片机程序主函数调用子函数对各个设定的程序进行执行,调用相应的功能模块,对被测的实物数据进行采集,经过对数据的处理分析过后,最后就是把其传输到显示模块进一步显示出其具体的性能参数数据,来完成最初的设定。其主程序流程图如图2.1所示。开始开始初始化电压子程序电流子程序温度子程序显示子程序数模转换子程序图2.1主程序流程图2.2电压子程序设计这部分的电压子程序流程图如图2.2所示。这部分的程序设计可以分为两部分,一部分就是将蓄电池的检测到的数据传输给中央处理器,经过其对数据的处理分析过后,通过LCD液晶显示屏显示出来,而另一部分检测蓄电池的容量,是以通过检测蓄电池的电压大小,来根据剩余电压来判断蓄电池的容量的大小[17]。从一开始的对通道的选取,经过内部的数模转换过程以及被检测到的数据和预设值进行对比分析,然后发出报警提示,最终达到系统所设计的要求。2.2电压子程序流程图在软件查询A/D转换完成标识位工作方式下,当启动A/D开始转换后,通过单片机反复查询A/D转换完成标识位,只要查询到其变为高电位,说明A/D转换已完成,这样单片机可以从结果寄存器中读取结果值,读取结果时自动清除完成标识位为低电位。2.3电流子程序设计此次系统检测电流部分选择的是功耗极低且具有8位的CMOS数据采集设备,其具备的A0、A1和A2这三个地址引脚则运用于编程硬件地址,在此期间可以最大限度的连接外部器件,最大可以达到8个器件连接到I2C总线从而不再连接一个片选电路[19]。这部分的电流程序就是将蓄电池的电流模拟量转化为数字量送给单片机STC89C52。这部分的设计首先就是对该程序进行初始化,在检测采集的过程当中经过数模转换,然后等待系统子程序的运行结束,当下次需要重新检测电池的时候就要重新开始运行子程序,最后就是通过显示屏进行数据的显示。在软件查询A/D转换完成标识位工作方式下,当启动A/D开始转换后,通过单片机反复查询A/D转换完成标识位,只要查询到其变为高电位,说明A/D转换已完成,这样单片机可以从结果寄存器中读取结果值。读取结果时自动清除完成标识位为低电位。其电流子程序流程图如图2.3所示。图2.3电流子程序流程图2.4温度子程序设计温度程序就是将蓄电池周围的环境温度检测出来,并将其转换为数字量送给单片机。其检测的流程主要是对DS18B20传感器在检测之前进行初始化程序,通过内部的操作指令发出ROM指令,即对采集的数据进行储存分析。然后对采集温度采取数模转换,看能否转换完毕,否则重新对其发出ROM指令,反之则采取下一步的指令操作,就是再次初始化之后,发送出报警搜查命令,来判断温度是否超出最初的预定值,其次就是做出相应的判断,最后就是把检测到的数据经过处理分析之后通过显示屏显示出来。在其中有着ROM命令和暂存器命令是其最基本的两种指令。ROM命令主要是对其内部的进行操控,有读取其序列号、搜索等。另一指令就是其便笺式存储器一些相连的掌握[18],有对温度进行转变以及上下限值的获取等。一般都是两种指令结合着使用,来实现其所设定的功能。其流程图如图2.4所示。图2.4温度子程序流程图2.5数模转换子程序设计单片机不能接收模拟量数据,只能接收数字量数据,所以必须经过数模转换。单片机内部就有数模转换器,然后经过对数据进行处理,来最终实现系统最初所要求的的功能,在使用是对其进行供电,启动完成之后就会自动运行。首先起动数模转换器时要对其进行通道做出选择,开始采集8位数据,所设计的模数转换程序系统在检测的过程当中该芯片会对所检测到的电池性能数据进行采集传输到中央处理器,由其进行处理分析,然后等待数据的转换完成,子程序进行返回,下次检测重新启动该程序。该流程图如图2.5所示。图2.5数模转换子程序流程图2.6显示子程序设计对于最后一部分的系统显示程序的设计,先首先对其模块的第一次运行要进行初始化,系统把经过处理过后的数据通过其显示出来,第一次初始化之后往后在使用的过程当中不再初始化第二次。其有着和液晶一样的物理特征,连接好电源后,该显示区域部分被电压所控制。本次设计的显示部分主要用于实时监测蓄电池参数的值。根据系统的设定要求,要求检测电池的各个性能参数并通过显示屏显示出来。系统所检测到的电池参数这些都是不断变化的,所以这些要根据不同的状态下来进行相对应的修整。其进入工作的环境之后就代表着系统的整个运行的状况,然后则通过显示屏会出现相应的设置信息等内容[20]。最后就是对其进行编程依靠自身的指令来完成。其显示子程序流程图如图2.6所示。图2.6显示子程序流程图5系统调试与分析整个系统整理好设计之后,接下来就是硬件电路设计和软件设计这两部分进行调试,发现其中的问题所在并加以修正,来结合着所设计的系统本身的特点,来逐步进行调整,到达最初的设想,最后加以完善。3.1系统调试(1)硬件电路的调试工作系统的整个硬件电路也是重中之重,而其主要是为了消除电路组件当中的一些设计错误和各种连线错误以及元器件的故障问题。此设计的关键的硬件电路调试包括:①第一步是在设计之初,确保每一个组件的实际封装是否线路板上的封装相匹配,确保无误的情况之下再连接线路。②第二部是要确保每个电源的尺寸均符合组件规格。在这里要注意组件的电压是否小于其电源电压,反过来说[21],如果电源电压高于组件的额定电压,就需要通过增加稳压管来对其进行控制。而且还要注意线路的正负极,从而防止电路出现短路的情况。③在其焊接电路的时候,要确保组件的规格大小、型号以及安装是否相匹配。使用线路图来判断电路连接的正确与否,并及时纠正出现的错误。④对每个组件的电气功能都要进行检查确保其无误。确保无误的状态下,对整个电路进行上电,仔细观察各个组件的工作运行情况。⑤单片机在本次的系统设计之中采用了上电复位电路的方式。因为电容的不固定,其数值小会对复位的时间大大缩短,从而造成不能正确进行复位的情况出现,所以要在此之间就要对电容的大小进行查看,这样确保其正常复位。(2)软件程序的调试工作整个系统不仅要进行硬件电路的调试,而且还要进行软件的调试,在这里是通过电脑上的仿真软件对其进行模拟调试。首先要选择的开发环境是我们常用的KeiluVision3编译软件。其可以用于编译、修改以及程序的调试工作[22],在汇编语言方面有着极其大的功能,一般的程序汇编不在话下,操作简单。在调试软件程序的时候一般有一下几个问题:①进入编译程序的过程当中,时不时的都会出现一些错误。单单的靠肉眼去进行修改,不光花费时间久,而且还不能够完全保证修改正确。而这个软件自身都有修改错误的这一项功能,方便快捷,可以帮助其更加高效的来完成对程序的调整。②使用模拟调试器的过程当中,要对每个子模块进行调试,设置微控制器的工作模式和输入的条件,同时也要检查每个模块的工作情况等问题,并确保过程结果符合最初设定的设想。③当子模块调试正确的时候,这是把子模块和主模块进行连接用以调试整个程序。确保程序可以实现之前设定的功能。但是程序出现错误的时候,要进行对其检测[23],检查完成之后把其汇编形成目标文件,然后将目标文件下载到单片机当中,对其进行统一调整。3.2功能展示测试及分

温馨提示

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

评论

0/150

提交评论