基于单片机的蓄电池检测系统设计内容摘要:

送和接收的信号都需经中速光电耦合器 6N135进行隔离 ,由于 DS2438输出电流较小 , 不能驱动光电耦合器 , 故增加了驱动 /缓冲器 74LS07。 DS2438的数据输出端 DQ为漏极开路 , 所以需增加上拉电阻 R7。 数字信号在传输过程中抗干扰能力强 ,因此 提高了测量精度。 各检测板并行工作 , 可以同时监测电池组中的各单体蓄电池的状态。 显示电路设计 本设计中采用两种方式进行显示:液晶显示和上位机显示。 其中液晶显示选择用1602液晶显示器,可以直观地显示出当前被测电池的电压、 电流、温度及剩余电量,除能显示数字外还可以显示汉字。 同时用户可根据需要,利用 AT89C51的 UART串口,通过 12 串口线与上位机相连,利用上位机显示,使人机界面变得更加友好。 当被测电池状态过警戒线时,智能系统通过蜂鸣器发出声音报警,同时显示中也会给出警示信号,提示用户做出相应的处理。 下面对两种显示方式分别进行介绍。 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液晶显示模块的各外部引脚名称、功能和用法见表。 表 1602液晶显示器的引脚功能 引脚号 符号 状态 功能 1 VSS 电源地 2 VDD +5V逻辑电源 3 V0 对比度控制,通过 1KΩ电阻接地 4 RS 输入 寄存器选择, 1:数据; 0:指令 5 R/W 输入 读写操作选择, 1:读; 0:写 6 E 输入 使能信号,高电平或是下降沿有效 7 D0 三态 数据总线( LSB) 8 D1 三态 数据总线 9 D2 三态 数据总线 10 D3 三态 数据总线 13 11 D4 三态 数据总线 12 D5 三态 数据总线 13 D6 三态 数据总线 14 D7 三态 数据总线( MSB) 15 LEDA 输入 背光 +5V 有些液晶没有背光,有些引脚与此不同 16 LEDK 输入 背光地线 3) 1602与单片机的接线 1602液晶显示器与单片机的接线图如图。 1602与单片机接线图 上位机显示 本系统测量数据可通过串口线将数据送到上位机进行显示,所以需要接口让单片机和上位机进行通信。 目前,通信方式主要分为 两种:串行通信 (RS232C、 RS422A、 RS48USB)和并行通信。 RS232C标准定义了 25根引线,对于一般的双向通信,只需使用串行输入 RXD、串行输出 TXD和地线 GND。 RS232C标准的电平采用负逻辑,规定 +3~ +15V之间的任意电平为逻辑“ 0”电平, 3~ 15V之间的任意电平为逻辑“ 1”电平,与 TTL和 CMOS电平是不同的。 在接口电路和计算机接口芯片中大都为 TTL或 CMOS电平,所以在通信时,必须进行电平转换,以便与 RS232C标准的电平匹配, MAX232芯片可以完成电平转换这一工作。 因为 MAX232具有驱动能力,所以不需要外加驱动电路。 采用 MAX232接口的硬件接口电路如图。 图 串行通讯接口电路 键盘与声光报警电路 键盘电路设计 键盘是单片机系统中的一个很关键的部分,它能实现向计算机输入数据、传送命令等功能,是人工干预计算机的主要手段。 一般情况下,键盘是由一组规则排列的按键组成,一个按键实际上是一个开关元件。 其主要功能是把机械上的通断转换为电气上的逻辑关系( 0和 1)。 常见的种类有:独立式键盘 和矩阵式键盘。 独立式键盘的特点是每个按键单独占用一根 I/O口线,每个按键工作不会影响其他 I/O口线的状态,多用于所需按键不多的场合。 在本系统中, 设计需要用到 0— 9十个数字键, 应采用矩阵式键盘。 4 3键盘结构如下图。 图 键盘电路 图中所示的列线通过电阻接 +5V,当键盘上没有键闭合时,所有的行和列线断开,列线呈高电平。 当键盘上某个键闭合,该键所对应的行线和列线短路。 如果把列线接到微机的输入口,行线接到微机的输出口,那么在微机的控制下,使行线 的输出为低电平,其余三根行线 、 、 都为高电平,然后微机通过输入口读列线的 14 状态,如果 、 、 都为高电平,则 这一行上没有闭合键,如果读出的行线状态不全为高电平,则为低电平的列线和行线 的相交的键处于闭合状态; 如果 的这一行上没有键闭合,接着使行线 为低电平,其余行线为高电平。 用同样的方法检查 这一行上有没有闭合键,以此类推,最后使 为低电平,其余行线为高电平,检查 这一行上有无键闭合。 这种逐行逐列地检查键盘状态的的过程称 为对键盘的一次扫描。 这是识别键盘最常用的方法,其控制方法即:先判断是否有键按下;如有,再判断哪一个键按下,并得到键码值,然后根据键码值转向不同的功能程序。 声光报警电路 作为可以进行蓄电池各个数据参数检测的设备,声光报警电路部分不可缺 少, 当检测到电池状态不在正常范围 就应该通过声光方式发出警报,防止过 放电引起的电池损害和发生的意外事故。 其电路如图。 图 声光报警电路 本设计中的声光报警部分包括蜂鸣器以及红、绿、黄、蓝四个 LED报警指示灯。 单片机本身 I/O的驱动能力不是很高,所以对蜂鸣器的驱动需要加入一个 PNP三极管,这样能够使蜂鸣器的声音更加响亮,起到更好的报警作用。 三极管基极的电路保证了只有在单片机输出低电平时,蜂鸣器才会发声,避免了误报警的发生。 由于动态显示比静态显示更能吸引人的视线,所以本设计发光二极管采用动态闪烁方式,红色二极管闪烁代表电压检测超限,绿色二极管闪烁表示电流检测超限,黄色二极管闪烁表示温度检测超限,蓝色二极管闪烁表示剩余容量超限。 无论哪种数据参数超限,蜂鸣器都产生声音报警。 硬件看门狗电路 微处理器在运行中 会受到各种各样的干扰,如电源及空间电磁干扰,当其超过抗干扰极限时,就有可能引起微处理器死机或程序跑飞。 尤其在实际应用环境中,更容易受到复杂干扰源的干扰影响。 在系统中加入看门狗电路就可以很好的防止这类情况的发生。 该系统中使用的是 XICOR公司生产的可编程看门狗定时器 X25045。 它集合了看门狗定时器、电源监测电路和 512*8的串行 EEPROM。 因而 X25045具有以下功能: 1)看门狗定时器:看门狗定时器对微控制器提供了独立的保护系统。 当系统故障时,在可选的超时周期之后, X25045看门狗将从 RESET信号做 出响应。 用户可以从三个预置的值选择此周期。 一旦选定,即使在电源周期变化之后,此周期也不变化。 2)电源监测:利用 X25045低 Vcc检测电路,可以保护系统,使之免受低电压状况的影响。 当 Vcc降到最小 Vcc转换点时,系统复位。 复位一直确保到 Vcc返回且稳定时为止。 3)串行存储: X25045的存储器部分是 COMS的 4096位串行 EEPROM,它内部按 512*8来组织。 X25045的特点是具有简单的三总线工作的串行外接口 (SPI)和软件协议。 图 为芯片引脚图。 图 X25045芯片引脚图 图 9 4 4矩阵键盘结构 15 各引脚含义如下: CS:片选输入 S0:串行输出 SCK:串行时钟输入 SI:串行输入 WP:写保护输入 RESET:复位输出 Vcc:电源 Vss:地 因单片机没有 SPI接口,则必须通过移位方式实现单片机与 X25043的通讯。 图 为单片机与 X25045的接口电路。 图 硬件看门狗电路 单片机的 ,它控制 X25045的选通; X25045的串行输出相连, X25045的串行输入相连,这两个端口实现单片机与 X25045的数据通讯。 X25045的时钟输入相连,控制串行输入输出的时序。 单片机的 RST引脚与 X25045的 RESET引脚相连, RESET的复位信号可使单片机复位。 硬件总原理图见篇末附图。 16 4 系统软件设计 系统硬件电路设计完成之后,就要进行软件的设计和调试。 如果没有软件来控制硬件电路和外围设备,系统仍然是不完善的。 在监控系统中,软件的编制需要符合以下基本要求: 1) 易理解、易维护。 通常是指软件系统容易阅读和理解,容易发现和纠正错误,容易修改和补充。 由于检测控制系统的复杂性,设计人员很难在短时间内就对整个系统理解无误,应用软件的设计和调试不可能一次就完成,有些问题是在运行中逐步暴露出来的,这就要求编制的软件容易理解和完善。 2) 实时性。 实时性是监测控制系统的普遍要求,既要求系统及时相应外部事件的发生,并及时给出处理结果。 3) 可测试性。 检测控制系统软件的可测试性具有两方面的含义:其一是指比较容易地制定出测试准则,并根据这些准则对软件进行测定;其二是指软件设计完成后,首先在模拟环境 下运行,经过静态分析和动态仿真运行,证明准确无误后才可以投入实际运行。 4) 准确性。 准确性对检测控制系统具有重要意义。 系统中要进行大量运算,算法的正确性和准确性对控制结果有直接影响,因此在算法的选择、位数选择方面要适合要求。 5) 可靠性。 可靠性是检测控制软件最重要的指标之一,它要求两方面的意义:一试运行参数环境变化时,软件都能可靠运行并给出正确结果,也就是要求软件具有自适应性;二是工业环境极其恶劣,干扰严重,软件必须保证在严重干扰条件下也能可靠运行,这对检测控制系统尤为重要。 开发语言和开发环 境 51 单片机的编程语言常用的有两种,一种是汇编语言,一种是 C 语言。 本设计中采用汇编语言编程,下面了解其基本概念和主要优点。 汇编语言是单片机设计的基础语言。 它的特点是使开发人员能够充分的对单片机硬件资源进行管理和操作。 所谓汇编语言就是用助记符、符号和数字等来表示指令的程序语言,容易理解和记忆,与机器语言是一一对应的。 它是为了弥补机器语言不易记忆,不易查错和不易修改而产生的一种低级语言。 所谓程序设计就是用计算机能够识别的语言,把需要解决的问题的步骤描述出来单片机不像其他微型计算机有自己的系统软件,所有的单片 机程序均需要用户自己设定程序。 到目前为止,虽然已经有绝大部分的单片机都能够在一些高级语言环境下编程,但汇编语言也有许多优点是其他高级语言所不具有的。 如:程序结构紧凑、占用的内存和 CPU 资源少;程序简短、执行速度快;与计算机内部硬件结构紧密、能充分发挥硬件的作用;实时性强、适用于实时检测控制系统 [9]。 汇编语言的程序设计步骤主要包括:分析问题、确定思路、画流程图、编写程序、程序调试。 这些步骤在软件设计中将一一体现。 本设计中的软件采用 WAVE公司开发的编译系统进行编写,采用各个子模块组成整个 17 程序。 软件主要功 能包括:设置系统初始状态、电池电压、电流、剩余电量的在线测量,温度的测量、报警的设定和串行通讯、键盘的扫描、电池状态显示、声光报警等。 上述功能主要由:主程序模块、测量模块、键盘扫描模块、 LCD显示模块、串口通信模块等来实现。 主程序模块 系统上电之后要对系统进行初始化设置,在初始化设置时主要对系统中用到的一些标志位和定时器进行设定,如果检查到报警值没有进行设置则设置报警值,对串口进行初始化等工作。 在系统初始化之后要开启中断,开始扫描键盘,等待定时器的中断。 具体框图如图 : 图 主程序流程框图 数据测量程序模块 为了满足监测的实时性,本系统单片机采用定时中断的方式访问 DS2438,进行电池参数采集。 首先设置单片机的计数器为定时方式,开启计数器,定时长短可随需要灵活设定。 然。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。