版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的液位控制系统设计摘要液位变量是工业生产中一项最为常见的被控参数,在石油化工、机械制造、电气工程和食品加工生产等领域中都需要对液位进行测量和控制。通过对液位进行控制调节,使其达到所要求的控制精度,从而满足生产生活中的需求。在液位控制中人工控制存在控制精度低、控制速度慢、灵敏度低等一系列问题,而以常规的PID控制器为主的国内液位控制器无法适用于具有时滞性、时变性和非线性特点的液位控制系统。针对这些问题,此次设计以单片机为控制芯片的方案。本文主要论述了通过单片机(AT89C52)为控制芯片控制水塔液位的系统,塔内的液位应该始终保持在预设范围内是水塔供水的主要问题,对液位进行控制从而避免产生“空塔”与“溢塔”情况。本系统通过水位传感器测量塔内液位,通过水位测量电路传输信号给单片机,由单片机处理信号,比较实际测量的液位值与系统预设的液位值来判断是否需要加水。在液位处于预设最小值以下时,单片机会通过继电器控制水泵进行给水。本系统外接了一个液晶显示器,可实时显示塔内液位情况,在“空塔”情况下会发出警报,单片机控制实现自动运行,使得水位在正常范围内,以保证连续正常地供水。主要研究内容有:1.查阅国内外关于液位控制的相关文献以及研究的现状,通过分析国内外现有的液位控制系统的基本工作原理和方法,针对所存在问题对液位控制系统进行总体方案设计以及各功能模块的结构设计。2.基于上述设计思想完成系统硬件平台的搭建,包括各元器件的选型、原理图与电路设计。软件上设计各项功能的程序流程设计,并利用C语言编写系统的软件程序。最后,通过Protues嵌入式系统仿真与开发平台进行相关模拟实验。并对模拟实验结果总结分析,确保方案的有效性。3.对整体设计进行总结,并针对本系统中存在的问题在未来如何解决和进一步发展提出展望。关键词:液位控制,单片机,自动给水,模拟仿真目录TOC\o"1-3"\u第1章绪论 11.1课题研发背景 11.2液位测量方法 21.2.1接触式测量法 21.2.2非接触式测量法 21.2.3光纤测量法 31.3液位控制的国内外发展概况 31.4论文主要研究内容与目的 41.5本章小结 4第2章设计方案 62.1水塔液位控制 62.1控制方案说明 72.2系统组成及原理 72.3系统设计方案 82.3.1主控模块设计方案 82.3.2键盘模块设计方案 102.3.3显示模块设计方案 102.3.4数据存储模块设计方案 112.3.5A/D转换模块设计方案 122.3.6电机控制模块设计方案 132.4本章小结 14第3章硬件电路设计 153.1AT89C52硬件设计 153.2显示单元硬件设计 183.3存储单元硬件设计 193.4A/D转换单元硬件设计 203.5通信单元硬件设计 223.6其他外围电路的设计 233.7本章小结 24第4章系统软件设计 254.1概述 254.2系统软件 254.2.1系统软件编译开发环境 254.2.2系统主程序流程图 264.2.3元件清单 274.3本章小结 28第5章系统模拟仿真 295.1Protues软件模拟仿真 295.2模拟实验总结 325.2.1仿真结果总结 325.2.2实验结果分析 335.3本章小结 33第6章总结与展望 346.1总结 346.2展望 35参考文献 36附录 39 第1章绪论1.1课题研究背景在我们日常的生产生活当中,经常需要到测量控制液体液位。伴随着国家在各方面的迅速发展,液位测量控制技术被广泛应用到各行各业中,包括石油、化工、医药、食品、机械、电子等领域,传统的液位自动控制系统一般是利用电子线路来完成的设计,布线极其麻烦,而且因为布线很多的问题,系统运行的稳定性相对比较差。近年来由于我国单片机技术的发展迅速,几乎每一台自动控制系统的产品都是可以直接经由单片机和部分微型电子元器件进行设计。而单片机以其具有的功能强、体积小、可靠性高、造价低和研究开发周期短等特点,已经成为工程自动化和各种测控技术领域中得到广泛应用的元器件,在现代工业生产中已经成为必不可少的元器件,尤其特别是在我们的日常生活中所扮演的角色也越来越重要。因此本研究课题选择了以一台单片机自动控制核心的来完成对于水塔液位控制系统的设计,这样整个系统的设计便从原来的人工控制、半自动化控制方式转变成了全自动化的控制,将由原先传统的纯硬件控制方式转变成了硬件和软件相互融合,减轻了原先的布线困难,而整个系统的运行稳定性则相比更好。本研究课题设置了液位的上限值、下限数值,并对液位信号进行了实时采集,并通过一个串行口向控制中心传输信号至控制中心,以便于实现对液位信号进行控制的主要目的。1.2液位测量方法液位测量的方法比较多,根据测量方法和手段的不同可以将其分为接触式测量与非接触式测量两种类型。1.2.1接触式测量法接触式测量法是指所需要使用的测量传感器直接与测量容器中所有需要存储的测量液体进行互动或者互相接触,从而有效提高精度测量系统参数的一种测量方法。1.人工检尺法这种测量液位的方法是利用浸入式带有刻度的钢皮尺子来完成的,这种方法的优点是测量简单、可靠性高、直观、成本低,但由于是人为读数,因此会有误差大的缺点,无法实现自动检测和操作。2.电参数测量法常见的测量方法主要包括测量电阻法、光电法、测量比重法、电容法、浮标法和低噪声光电反射式电磁回波检测法。其中最主要的一点就是我们可以通过利用液位传感器把物体液位的相对角和位移等数量级的变化数据转换成作为水的电压、电流、阻抗等等这些能够方便进行电处理的物理量。1.2.2非接触式测量法非接触式测量法包括超声波法、调制型光学法、微波法等。其利用声、光、射线、磁场等的能量进行液位测量。液位压力传感器既不与被送入检测液体介质相互移动接触,又几乎不受到被检测液体介质的压力影响,故适用范围广泛。下面简单介绍超声波法和微波法的测量原理。1.超声波法:换能装置将电功率脉冲转换为超声波,射向液面,经液面反射后再由换能器将该超声波转换为电信号,超声波法可用于多液面的测量。超声波是机械波,传播衰减小,界面反射信号强,且发射和接收电路简单,因而应用较为广泛;但超声波的传播速度受介质的密度、浓度、温度、压力等因素影响,其测量精度往往较低。2.微波法:微波通过天线辐射出去,经液面反射后被天线接收,然后由二次电路计算发射信号与接收信号的时间差得出液位。微波速度受传播介质、温度、压力、液体介电常数的影响很小,但液体界面的波动、液体表面的泡沫、液体介质的介电常数对微波反射信号强弱有很大影响。当压力超过规定数值时,压力对液位测量精度将产生显著影响。对波导管的锈蚀、弯曲和倾斜都会影响测量精度。1.3液位控制的国内外发展概况现今在工业生产中常用测量液位仪器有簧管式、浮球式、防爆式以及两线式控制液位器等。其中超声波液位控制器适用于液位控制精度较高的系统中,该系统的超声液位传感器由两组探头组成,功能分别为发射与接收信号。这种采用单发、双收传感器既可有效地避免了类似于自发、双收式传感器的安装、接受盲区,又可以有效地克服多个信号之间的发射和接受的多个信号相互耦合。该系统的传感器组成部分可以使得在空气中较好地发挥它们的工作特点和性能,进而大大提高了液位控制的精度,在高精度的控制系统中得到了广泛的应用。"美国公司(milltronics)已经研制出了多范围超声波监视系统等级及电平检测功能,它采用了非接触型超声波传感器水平差,水平的变化大小可以被远程地监测30厘米到14米之间。在目前工业生产中常见的一种液位控制执行手段也就是串级串行控制,而这种控制串行分级控制液位自动控制也就是典型的在液位控制系统应用中。虽然,串联单级桥式液位自动控制系统相比于原始的单级液位自动控制系统具有显著的技术优势和实用效果,但该控制系统在各种复杂环境下的巨大惯性、延时、难以准确地自动控制各种非线性模量等的巨大缺陷也为其在实际工业应用中发展增加了不少困难。常规pid对于液位的调节是不一定能够理想地实现对较为复杂的系统,但是神经网络则同样可以得到较为良好的调节和控制,新型的控制器pid方式(即神经网络)不仅在技术上具有鲁棒性神经网络的基本特点,更为特别重要的是该模块主要元件由传统的控制器pid方式和神经网络bp模块相结合组成。敖茂尧在《基于微小物理的优化算法》中就已经提出了进一步研究解决模型神经网络问题bp函数收敛缓慢的主要特点。改良的线性控制方式模型结构设计控制方式由先进的动态粒子群处理算法、控制器结构bp及其同步神经网络结构pid三个大部分结构组成,鉴于其自身的学习、适应性以及对各种进-步神经调剂网络pid的动态加权性可修改控制参数,从而实现可以有效解决非线性控制模型的动态调控。控制算法的整体决策性和权威性是否确定直接地会影响接受到一个被控制的物件及其调控器的整体性能和优劣势。控制数字回路的调节pid数值调节控制算法中,冲量式控制数字回路pid控制算法便捷、工作点的状态稳定、在每个工作点的两端上下两个浮动控制位置正常工作状态下,能够通过调节实现数值使得被锁定控制回路物件的测量数值为未测量0),并且这种调节算法不仅能快速地与原来操作系统的控制设定值相同,而不会需要进行任何大或小幅度的数值超调节和控制值的设置。在稳定的工作状态下使该系统不仅可以有效地自动消除这些偏差,调节的偏差效果也非常显著,且系统所用时需要的偏差保留和在时间表中所有偏差出现次数相对较少,因此系统的实际操作量和系统资源所需要占用的时间比例相对较少1.4论文主要工作通过分析国内外现有的液位控制系统的基本工作原理和方法,针对存在的问题进行总体方案以及各功能装置结构设计,本论文分为6个章节,各章节研究内容如下:第1章是绪论,首先介绍研究背景,液位测量方法以及液位控制在国内外发展状况,总结存在的问题,结合目前液位控制系统的发展趋势,提出课题研究内容。第2章针对课程研究目的介绍了本液位控制系统的整体设计方案,并对设计的各功能模块进行元器件选型与校核。第3章设计系统硬件部分,包括系统各单元电路原理图设计,全面实现此液位控制系统的各个功能。第4章进行程序编程,完成系统软件设计。第5章对之前设计的控制系统进行仿真模拟,保证设计的有效性,并对实验结果分析总结。第6章对设计中存在的不足进行了总结,并对系统未来的进一步发展提出展望。1.5本章小结本章主要进行前期的资料查阅工作,描述了课题研发背景和液控发展概况,总结目前存在的问题,结合液位控制系统的发展趋势提出本文的设计方案。最后介绍了论文的主要工作。第2章设计方案本液位控制系统控制芯片采用的是单片机AT89C52,主要工作过程是当高塔中的水在低水位时,水位探测传感器送给单片机一个高电平,然后单片机通过继电器驱动水泵加水和显示系统使红灯变亮;当水位在正常范围内时,水泵加水,黄灯亮,;当水位在高水位时,单片机不能驱动水泵加水,绿灯亮。2.1水塔液位控制水塔液位控制原理图如图2-1所示:图中虚线为液位变化上下限。正常情况下液位应在虚线范围内。设置3个接触点检测液位。其中A点处于下限液位,C点处于上限液位,B点在上下限液位之间。A点接+5V电源,B、C各通过一个电阻接地。当液位在下限时,B、C无法与A点导通,因此B、C两接触点都是0状态;当液位在上限时,B、C点由于水的导电作用联通+5V,因此B、C两接触点都是1状态;当液位在上下限之间时,B点与A点导通,因为C点不能与A点导通,B接触点是1状态,C接触点是0状态,图2-1水塔液位控制原理图当水位处于低液位的时候,传感器的低液位探测线没被+5V的电源导通进入稳压电路经过处理在稳压电路的输出端有一个高电平,送入单片机的P1.0口,另一个稳压电路输出的高电平进入单片机的P1.1口单片机经过分析,在P1.2口输出一低电平,驱动红灯亮,P1.5出来一个信号使光电耦合器GDOUHE导通,这样继电器闭合,使水泵加水;当液位处于正常范围内时,水泵加水,在P1.3引脚出来一个低电平,使黄灯亮;当水位在高水位区时,传感器的两根探测线均被导通,均被+5V的电源导通,送入单片机,单片机经过分析,在P1.4引脚出来一个低电平,使绿灯亮,在P1.5端出来一个低电平不能使光电耦合器导通,这样继电器不能闭合,水泵不能加水[22]。2.1控制方案说明该解决方案中首次使用了对单片机进行数字化的处理,单片机技术被认为是在信息时代应用到精密度测量的新型技术。此系统在实际使用的过程中所采用的稳压电路可以准确地把输出的电平传递到单片机上,不会出现产生错误或者是无法准确地判断的情况,由于at89c2052单片机共带有四个端口,20引脚可以很好地为用户设计和显示该系统。图2-1控制方案图2.2系统组成及原理本系统由电源电路、水位探测传感电路、水位指示电路、稳压电路、单片机系统、报警显示电路、继电器控制水泵加水电路组成。主电气原理图如下:图2-2系统电气原理图当水压传感器的电平水位电压处于低电平水位时,该水压传感器的低电平水位电压检测线未被+5v的稳压电源两路引导通过全新稳压电源两路经过稳压处理后在全新稳压能源电路接口中的两个电源输出端之间分别设置了一个全新高电平,送入一个由位于单片控主机中的p1.0口,另一个由全新稳压电源两路同时输出的一个全新高电平则同时送入一个位于单片机中的p1.1口,该两个单片机经过稳压处理后,在两个p1.2口之间输出一个新的低电平,驱动器的红灯暂时熄灭,P1.5出现一个光电信号,从而水泵使两个光电耦合器的ggdouhe再次导通,这样就不能使得两个继电器再次关闭,使得驱动水泵过程中的最大油量再次增大;当油泵水位在正常水压范围内时,水泵再次通过加大油量供水,在p1.3引擎端脚上再次显示显现出一个较小的值而低电平,使得一个黄灯再次点亮;同时当光电检测器看到油泵水位已经处于高电平水位危险地带时,传感器的两根光电检测器和探测器导线均被+5v的驱动电源再次导通,均被+5v的驱动电源再次导通,送入一个驱动单片机,单片机经过一个计算机的数据分析,在一个p1.4引擎端脚上再次显示显现出来一个较小的值而低电平,使得一个红绿灯再次点亮,在一个p1.5端脚上显示显现出来一个较小的值而低电平不能直接促进水泵使两个光电耦合器完全导通,这样就不能使得两个继电器不能完全停止闭合,水泵也就不能继续加水。采用两台单片化主机的aat89c2052作为我们的工作控制信号处理核心芯片,主要的基本工作控制原理就是当一个大型高塔水泵中的自来水流位置处于较低一定水位时,水位显示检测器的传感器就会发出一个新的高电平,然后由两台单片机同时驱动一个水泵系统进行增设加水和水位显示,该控制系统虽然会自动使得两个红灯中的发射点会变亮;但是当一个自来水道的位置高度处于正常水位范围内时,水泵系统会自动增设一个加水,绿灯发射点亮,;但是当自来水位位置处于较高的一定水位,单片机就可能无法同时驱动两个水泵同时进行增设加水,黄灯就可能会发射点亮。2.3系统设计方案2.3.1主控模块设计方案单片机设计可以直接作为一种新的主控控制模块,使得在对于主控单片机的设计选型上不仅占用了较大的机器位置和内存空间。单片机在30多年的工业市场经济高速发展历史过程中,形成了多技术企业、多品牌产品的一系列、多产品型号"百家争鸣"的良好局面。因而,选择一个恰当的应用单片机有时候用户可能会觉得实现不太轻松,需要重点考虑的一个关键方面参数是否太多。大致来说可以分为总结以下几个主要方面:(1)温度是整个单片机硬件设计过程中的一个重要基本参数。比如接口速率、程序器和存储器的接口容量、i/o引脚的接口数量。(2)采用增强型的微单片机。比如串口看门狗、双串口指针、双串口、rtc(一个实时数字时钟)、eeprom、扩充接口ram、can2u接口、i2c2u接口、spi2u接口、usbpu接口。(3)Flash和OTP(一次性可编程)。(4)双线封装:dip(封装双列的每一条线均可直插),plcc(plcc中都有一个相应或对应的封装插座)或者这就是封装贴片。(5)无论在工作环境和温度区域,都是工业级的还是商用机。(6)功耗。(7)设定工作电压。比如我们所需要设计的一台电视机远程信号监测器,2节的一个干电池可以进行直流供电,至少一节这个干电池的工作功率大小应该也就是至少能在1.8~3.6v的工作电压下正常进行工作。(8)供货渠道畅通。(9)价格。(10)在线烧录仪的具体价格,能不是吗?isp(在线烧录系统软件编程)。(11)仿真器。(12)单片机汇编语言支持。(13)资料尽量丰富。(14)抗干扰性能好。(15)与其它外设的芯片同时安装在一起进行综合考量。[1-2]。根据以上几个主要因素:该计算系统的最大运算数据实时处理性能和运算质量相对要求不高,因而其最大运算实时速度不必非常迅捷,且整个系统的运算规模也不大,采取了分时和动态复用两种方式,在各种不同i/o口的最大运算实时数量上都完全可以按照设计要求进一步进行减少。使用4路8位模拟i/o输出接口就已经能够完全充分满足该系统设计的性能要求;由于系统中只是仅需要系统通过使用扩展外部的并行存储器接口来对外部数据容量进行同步存储,其中的外部数据并行存储器的容量大小为32kb已经完全充分满足要求,因此系统只需一台采用16位或者采用标准16位地址总线的一台单片计算机就已经能够完全充分满足该应用系统的具体设计性能要求;由于系统处在模拟实验开发阶段,采用中的dip(采用双列总线直插)新型封装的系统芯片更加简单便于直接进行模拟实验,暂不充分考虑现场和国际实践中在我国工业生产过程质量控制技术应用系统中的性能特点及对系统外部环境的具体控制要求;由于系统内部采用ac220v直流供电,且对输出功率没有具体的控制要求,使用中的dc5v为系统芯片内部提供直流电源,便于进行系统外围应用集成电路的开发设计;采用芯片内部支撑上的isp封装能够有效节省使用仿真测试仪表的大量投资。综上所述,采用了与mcs-51兼容器at89s52单片机来满足该设计的要求。AT89S52是一种低功耗、高性能CMOS工艺的8位微控制器,它指的是一个用于带8k节的在线数据系统的一个可编程化的flash数据存储器。它们都是完全利用德国atmel公司的先进高密度非易受损失性磁盘存储器设计技术进行生产和设计制造,并且与其他工业80c51产品的内存指令及引脚功能是几乎完全相同。片上的flash软件允许应用程序通过存储器可以进行系统的全部可编程,亦因其适合于一些常规的软件编程器,使得flat89s52为众多的应用嵌入式控制器和应用程序系统以及设计者用户提供了高灵活、超前的有限和效率的控制解决模式方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。2.3.2键盘模块设计方案键盘是在单片机的应用程序控制系统中起着很关键的作用,它能够轻松地实现对单片机进行输入和发送数据、执行命令等操作,是人工干预单片机系统的主要方法和手段。由于考虑到我们在设计时实际所需的按键量相对较少,因此采用了独立式的键盘连接电路。2.3.3显示模块设计方案显示器系统是一种现代电子计算机的主要电子信号进入输出控制装置,在简易的用于工业化和自动化过程控制中的电子系统中,常见的液晶显示器信号类型主要包括有彩色数码管高度显示器(led),液晶高度显示器(lcd)等,该类型电子系统只仅仅需要直接显示一个点的液位高度,即为了大大减少了对数字管的测量,而且目前采用这种led的液晶显示器类型己经基本能够完全可以满足这些电子系统的性能要求。系统中,要求测量的范围≤5m,测量精度为10%,假设所需测量的范围是5m,在10%精度的条件和要求下,其所需测量的有效数值为5*10%=0.5m。所以采用2位led显示器即可以充分满足这种设计需要。在各种单片机的实际应用显示系统中,led两种显示器的实际工作应用显示方式主要分为有两种:芯片静态驱动显示法和芯片动态显示。静态图像显示法的最大主要优点之处之一就是它的图像显示操作过程十分简易,显示的图像亮度大,由于整个cpu不必经常进行清洗或者直接扫描整个显示器,所以大大程度节约了整个cpu的正常显示工作。然而,静态视频显示还是不能具备它们的诸多缺点,主要造成原因之一就是它们需要占用每个i/o口径的资源相对比较多,硬件安装费用相对昂贵。所以这种比较静态的文件显示方式通常被广泛应用于那些显示电子设备文件数量相对比较少的企业应用程序系统。为了有效地彻底解决各种静态数字显示器大量占用系统i/o口内存资源的种种问题,在设计软件上我们可以直接采用一个压缩后的bcd码方式进行数字输出和输入显示文字数据,硬件上我们可以直接使用一个8位的锁存器74ls273与两个压缩bcd码为数字信号的静态显示器和译码器的驱动控制芯片74ls47连接,减少了对系统内存资源的大量消耗和数据占用。由于74ls47译码器分为共阳极管和数码管的码表,因此我们分别选用了8段(其中带有一个小数点)共阳极管的led编码来进行用于整个数据的视频显示。高位是只显示一个分米小数单元,低位则是只显示部分的厘米小数单元,且位于高位的两个小数点往往明亮。单片机可以利用1位元的i/o口函数来实现控制数据的实时锁存。2.3.4数据存储模块设计方案使用at89s52内部256字节的数据存储器来实现对于数据的记录和处理是远远不够的,因而我们需要通过扩展这个数据存储器来对其进行大量的数据记录和处理。数据存储器可选择的种类繁多,常用的有随机存取存储器(RAM)、只读存储器(ROM)与闪存(FLASH)。ram也就是一个存储单元的所有存储内容都同时可以根据它的需要随意地自由取出或者随意存入,且它们所需要存取的内容数量和存取速度都与一个存储单元的内存位置大小没有任何关系。这种新型数据处理存储器可能会在不切断电源的情况下将用户遗弃其所有的数据存储器和数据,故主要功能适合于对于在短时间内无法使用的手机应用程序。rom通常定义是用来指一个固化的数据存储器(一次读出写入,反复读出阅读),其主要特点也就是与它的ram完全方向相反。rom又认为可以再细分为一次性的电子固化,光的摩擦除和二次性对电子的摩擦除以后再写两种。而闪存则实际上就是一种无挥发性(non-volatile)的内存,在几乎没有任何电流提供的情况下也同样能够长期地保护和处理数据,其具有的存储功能和特点就像是硬盘,这项功能和特点恰恰是使得闪存器可以发展成为各种便携式和数字装置等设备存储媒体的重要基础。nor与drnandr则是目前电脑市面上两种主要的非易失真式闪存处理技术。nand文字闪存的存储单元则已经是完全采用了串行式的整体结构,存储单元的这种阅读进行方式主要是以页和块分别作为存储单位分别使用来对其阅读进行(一页中可能需要分别包含若干个中英文字节,若干页则被分别用来组成格式存储块,nand的格式存储块整体尺寸为8至32kb),这种格式存储块整体结构最大的主要技术优点之处之一就是对于容量上的控制使它可以被产品设计得很大,超过512mb节的文字和小节的大容量的使用nand文字闪存在其产品相当普遍,nand文字闪存的产品使用管理成本相对较低,有利于其进行大规模的应用普及。nand闪存的主要缺点是其阅读速度相对缓慢,它的i/o端口仅有8个,比nor要少很多。这区域内8个i/o端口仅仅只能用信号轮流传输的方式来完成数据的传递,速度就要远远慢于nor闪存下来的并行传输模型。再加上nand闪存的基本逻辑是作为一种电子盘模块的结构,内部也不存在特定的存储和控制器,一旦发生数据损坏块将导致无法维护,可靠性相对nor闪存更差。NOR的特点是芯片内执行(XIP,executeInPlace),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。nand存储结构软件可以为一个单位数的存储器文件提供很高的文件容量和存储密度,可以同时自动达到较高的存储密度,并且在多个文件中快速写入和自动擦除文件速度也非常迅捷。nand的实际应用并没有什么困难,这就是对于flash的应用安全性和性能需要特别大的。由此我们已经可以清楚地明显看出,rrom的数据存储复杂,不是很适合用来进行实时系统过程中的大量数据实时存储。flash就是一个好的问题解决办法。鉴于该存储系统结构设计的巨大复杂性,暂时将不需要考虑是否采用一个flash单位作为系统内容器的存储容量单位。根据系统的基本设计功能要求,记录某一个系统纪念时间点(该相关电机的工作状态与其发生时或改变某一个持续时刻)的电机工作功率状态与其持续时间,那么就至少需要6个十二进制字节的相关数据,即年(2000-2099年)、月(1-12月)、日(1-31日)、时(0-23时)、分(0-59分)、状态(0或1)这些相关数据,如果该电机系统数据能够经过较长或者一段时间的离线运行,将来就会直接获得较多大量小批量的电机功率消耗值相关数据的实时产生,假若这些数据的离线存储和实时传输数据空间存在不足,将来就会直接导致大型企业对其相关数据的全部无法覆盖,从而大大减少了对其他大型企业相关数据的采集分析以及准确率。因此我们选择32k每个字节的数据记录存储点作为数据处理存储器,可以同时存储记录容量大于5000项的数据记录和节点处理数据,鉴于我们考虑了解到目前水箱上部消费供给的空间排水与下部消费所需要占用的空间耗水频繁和处理复杂程度问题并非很严重,5000项的记录数据已经基本确定能够完全满足后期的水箱数据处理应用需求。在系统实践和实际应用中,系统硬件设计目的是在一个完全没有掉电的正常工作环境条件下;而在软件上,上位机管理软件对所有的缓存数据经过自动提取之后软件即可直接进行保存下来到pcpc上位机中,5000项的所有数据在使用上位机软件进行缓冲一段时间内进行缓冲也是充足的。为了我们节省了acpu的大量工作处理时间,且由于使用ram具有存储数据速度快、使用方便等几大优势,从而我们就几乎可以完全直接忽略掉了ram不会掉电这是导致大量数据存储遗漏的主要缺陷。2.3.5A/D转换模块设计方案a/d芯片器件设计及其应用芯片组件是单块机器上实现对模拟数据采集的一种通用外围控制器件。a/d数据转换器的应用产品种类繁多、性能不同,在我们进行设计和安装使用各种数据资源采集管理系统时,首先就需要考虑遇到的一个问题之一是那便是如何正确地设计选择恰当的各种a/d数据转换器产品来充分满足整个系统的基本设计性和工作性能要求。而且在正确选择一种a/d信号转换控制器件时则通常需要特别充分考虑该转换器件自己的性能品质及其适合应用不同场合。基本上,可以按以下几个技术重点和一方面的技术指标分析来判断选择一个好的a/d接口器件。1)A/D转换器位数a/d信号转换器的输出位数是否确定,应该从提高数据信号采集处理系统的数据动态处理精度和数据运算处理系统的数据动态平滑性两个基本角度入手来进行考虑。从提高静态信号精度的设计角度来讲,要准确充分考虑一个输入输出信号的初始精度误差及其随后传递至进入输出的后续误差,它们都可能是对于模拟信号系统进行动态数字化处理时会导致产生这些误差的主要因素组成的一部分。量化位数误差与一个a/d信号转换器的量化位数密切关联相关。一般把8位以下的数字a/d视频转换器一般归类为高位低分辨率的中位a/d视频转换器,9~12位的视频转换器一般叫做中位低分辨率视频转换器,13位以上的视频转换器一般叫做高位高分辨率视频转换器。10位以下的单个a/d射频转换器对其芯片技术误差较大,11位以上对于大大减小其芯片误差虽然没有什么大的贡献,但是对单位a/d射频转换器的芯片技术水平要求却已经不要提得太高了。因此,取10位或11位都可能是合宜的。由于测量模拟信号先经过高速测量处理设备,再经过对a/d信号转换器的高速转换后才真正能够开始进行测量处理,因此,总的测量误差一般是由一个总体测量误差和整体量化测试误差共同作用组合而成的构成。a/d信号转换器的测试精度额定要求一般应该与本次测试所用设备的额定精度相同和适应。即我们一方面一般要求测量误差在总测量误差中的所占的百分之二十三点所需要占到的比重相对要小,使其不显著地大大增加了测量误差;另外一方面必须按照目前各种精度测量仪器设备的标准精度控制水平,对各种a/d信号转换器的各个位数误差给予正确的精度控制。目前,大多数单位测量数字设备的编码精度平均值不一定可能永远小于0.1%~0.5%,故采用a/d编码转换器的单位二进制码测量精度一般采用0.05%~0.1%之间调整即可,对应的单位二进制码一般精度为10~11位,加上一个符号位,即为11~12位。但是当它已经具备了特殊的实际应用时,a/d位数转换器就可能需要一些要求较高的精度位数,这时往往我们就觉得可以直接选择双向高精度位数转换法来来解决这种方案。2)A/D转换器的转换速率a/d转换器从开始启动转换直至转换终止,输出稳定的数值容量,需要相当长的转换周期。转换时间的倒数即是每秒钟可以完成的转化次数,称为转化速率。当需要确定一个a/d采样转换器的采样转换系统速度时,应充分地地考虑到该转换系统的平均采样转换速度。例如,如果同时使用一个转换器的持续时间大约为100us的两个a/d信号转换器,则它们的平均转换持续速率大约为10khz。根据系统采样周期定理及实际应用情况设计需要,一个采样周期的信号波形大约至少需要每周采10个可以取样的位点,那么这种新型a/d信号转换器的最高值也仅仅只需要能够用来处理一个采样频率大约为1khz的高频模拟信号。把信号转换的持续时间大大缩短或降到最低,信号的转换频率就一定会大大地得到提高。对一般型的单片上主机而言,要在短暂的数据采样执行过程中快速完成除了a/d数据转换以外的许多任务,诸如开始读数据、再读的开始、储存中的数据、进行中的循环数和计数等都比较困难。3)采样/保持器在需要采集检测到直流及其电压变化十分缓慢的交流模拟信号时,就必须可以不断地使用直流采样信号保持器。对于其它的高频模拟信号通常一般都需要附带一个采样器和保持器。如果一个信号的采样频率不高,a/d采样转换器的整个信号采样转换过程持续时间较短,即使在信号采样为高速率的a/d时,也完全可以不用一个采样/信号保持器。4)A/D转换器量程a/d极性转换时我们所可能需要的都可能是一个双极性,有时甚至还可能会转换成为一个单极性。其中最大输入值是信号的最小输出值有些信号是从零点到起点,也就是有一些信号是从非零点的起点信号开始。有的接口转换器分别给出了不同的参数量程的转换接口,只有正确地安装使用,才一定会大大地有效保证接口转换的工作精度。在实际设计应用中,影响整个a/d输入转换器工作量程的主要影响因素可能包括:瞬态量程变换和双模式极性偏置;双极性基准输入电压;a/d输入转换器的内部比较器能使输入输出端正确地正常运行。5)满刻度误差满度进入输出时所取值对应的满度输入输出信号和理想满度输入输出信号的满度值之间。6)线性度实际中电流转换器的最大运动速度转移偏差函数和就是理想电路中的两条直线之间的最大运动偏差。adc0804为一个单相电路8位逐次转换比较式双相带极性信号输入端的a/d信号转换器,转换速率持续时间的值应不得小于100μs。量化指标区间:(2-1)绝对量化误差:(2-2)相对量化误差:(2-3)在参考液位电压传感器的测量误差和系统参考压源电压测量误差较小的实际条件下,adc0804是一种可以完全直接达到系统设计测量误差的基本要求。2.3.6电机控制模块设计方案由于在设计过程中并未明确规定各种水泵驱动电机的参数和规格,而且各种型号的水泵驱动电机的参数也不尽相同,电气参数的不同导致在该系统和电路中的设计参数差异很大,因此我们只做一个理论上的演示。选用继电器作为电机控制的元件。继电器元件是广泛指一种主要用于进行电子电路控制的继电器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上就是一种使用较小的较大电流输出来自动控制使用更多的较大电流输出输入电流的"自动开关"。故在各个应用电路之间分别扮演了自动电压调整、安全漏电防护、变频器和电压转换器等电路的重要角色。继电器主要产品技术参数:1)额定的直流工作电压。是电压指在驱动继电器正常工作运行时输出线圈上所有必需的直流电压。按照各种继电器的技术类别和产品型号不同,它们既常有可以被别人认为仅只是一个高频交流毫伏电压,也非常有可能被别人认为仅只是一个直流毫伏电压。2)采用交流输入电阻。它指的是一种通常泛指在稳压继电器内部两个线圈上互相连接的直流稳压电阻,可以用一种万能仪表器来进行测量。3)控制吸合器的电流。是的意指一个直流继电器系统可以直接产生一个直流吸合电路运行时在动作过程中的最低输出电流。当正常稳定运行时,给定的驱动电流峰值应稍微小到大于驱动吸合器的电流,这样就完全允许了驱动继电器的稳定正常运行。而对于由于额定电压线圈驱动增加的最大工作电压,一般不一定应该不得超过额定线圈工作电压的1.5倍,否则就有可能会因为线圈产生较大的工作电流而把整个额定线圈全部的电烧毁。4)自动放大输出电流。是电流指由于开关继电器所需的能够驱动产生的电压释放电流驱动开关动作的最高输出电流。所以当一个继电器在正常吸合通电状态下的启动电流容量变得很小,达到了一定的吸合程度,那么这个继电器也就可能会重新启动回到不能正常进行通电而被电力释放的吸合状态。此时的输出电流范围要远远大得低于吸合式输出电流。5)控制接地触点的电压切换和接地电流。是电流指一个驱动继电器所需的允许被电流加载的电器工作电压与电器工作时的电流。它就直接决定了一个驱动继电器内部可以接受控制的输入电压和一个输出来源电流的改变幅度,在实际使用中不能随意超出此界限值,否则很容易直接破坏一个继电器的内部接触。根据以上所述的参数,结合该系统设计中的演示性,选用额定的工作电压120vac/24vdc,工作电流3a,控制输出电压5vdc的小型继电器。2.4本章小结第3章硬件电路设计3.1AT89C52硬件设计AT89C52引脚定义及功能介绍如图3-1图3-1AT89C52引脚图p0口:p0口通常是一个8位极和漏极并行开路的双向复位i/o口。作为一个进入输出口,每位只压器能够通过驱动8个端的ttl达到逻辑端的电压水平。对一个p0端口信号进行二次命名后当书写"1"时,引脚信号可以直接用作高电压阻抗的信号输入。例如当我们需要访问外部的的应用程序和内部数据库的存储器时,p0口也同样可以被用来作为一个低8位的写入地址/时间数据重新写入复用。在此稳压模式下,p0具有内部的上和下拉稳压电阻。在如fflash等中进行指令编程时,p0口也通常可以直接用来用于表示一个接收和读到的编程指令一个字节;在指令进行应用程序符号校验时,输出一个大于指令行的字节。进行应用程序电压校验时,需要外部的上压下拉稳压电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写"1"时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体如下所示:当flash口令进行flash的口令编程及地址校验时,p1口令值应该认为是一个低8位的虚拟地址控制字节。引脚号第二功能:P1.0/T2(定时器/计数器T2的外部计数输入),时钟输出p1.1/t2ex(信号定时器/信号计数器)和t2的信号捕获/控制重载指令接收器受到一个触发器的信号及其对方向盘的控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)p2口:p2口指的是一个8位的和带双向内部上和下拉稳压电阻的双向输入i/o口,p2输出电压缓冲器只提供能够同时用来驱动4个单位ttll的逻辑输出电压水平。对两个p2端口信号进行二次编写"1"时,内部的上和下拉稳压电阻将两个端口拉高,此时它们就成为可以直接输入作为一个信号输入的端口。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在其中访问外部数据程序源的存储器或者用16位的数据地址转换方式进行读取外部源的数据程序存储器(如果在执行命令movx@dptr)时,p2口译器会向它们分别发送一个高八位的数据地址。在这类型的应用中,p2口译器可以通过使用很强的内部上和下拉性来发送1。在它的p2口中当使用8位数据地址(符号例如:imovx@ri)直接输入访问外部的一个数据输出存储器时,p2口将数据输出送到p2锁存器。而且当flash两口进行一些编程调试和校验时,p2口也可能会同时接受到一个较高8位的输入地址信号字节和一些给微控制器的信号。p3口:p3口设计是一个分别带有内部上和下拉稳压电阻的8位双向输入i/o口,p3输出电压缓冲器设计可以通过驱动4个口的ttl达到逻辑上的电压水平。当两个p3端口在图中写"1"时,内部的上和下拉稳压电阻将两个端口拉高,此时它们就已经可以作为用来直接作为一个信号输入的端口。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。表3-1P3口功能端口号第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)此外,p3口也通常会自动接收一些同时可以直接用来用于进行flash等的闪存程序编程及应用程序运行校验的闪存控制电路信号。图3-2复位电路及时钟电路其中射频网络电路标号中的rst通过上机连接后得到一台射频单片式上机一个rst引脚,具有射频上机下电复位与手动电路下电同时复位的共同特点;xtal1与一台xtal2连接后得到一个射频单片机一台xtal1和一台xtal2引脚,且通过并联两个30pf相互驱动匹配的射频电容,从而可以使得射频晶振电路发生上电起震。由于单片机P0口作普通I/O口时不能输出高电平,因此需接上拉电阻,实际电路中,使用8*10KΩ电阻作为上拉电阻。图3-2复位电路及时钟电路3.2显示单元硬件设计图3-374LS273管脚图图3-474LS47管脚图74LS273与74LS47引脚功能说明:74LS273:1脚是复位CLR,低电平有效,当1脚是低电平时,输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出0,即全部复位;当1脚被系统确定设置为一个在线高电平时,11(clk)输出脚仅仅是一个控制锁存的触发控制端,并且它也是一个电平上升下降路径的一个触发和控制锁存,当11脚就是设置了所有在线输入输出脚3、4、7、8、13、14、17、18的一个高电平上升路径锁存状态,并且立即地将它呈现在在线的输出输入脚2(q0)、5(q1)、6(q2)、9(q3)、12(q4)、15(q5)、16(q6)、19(Q7)上。74ls47上面的bi/rob,li,rbi两个引脚均可直接作为一个驱动控制引脚,主要功能是因为用于信号检测和对控制脉冲的驱动控制,均以对于低电平有效,设计上并不是很适合这种控制功能,因此都比较接近于高电平。a0~a3为a和bcd的四位输入,分解74ls273输出高、低四位。a~g分别可在用于模拟与共模硅阳极管的数字输入管的各个端与相应输入端口的各个管脚之间直接进行总线连接。为了有效地同时保护c和led两种数码管,在74ls47与74led之间分别需要增设一个二级限流保护电阻,以便于有效满足各种数码管的日常使用保护需要。3.3存储单元硬件设计存储模块的硬件设计比较简单,由于AT89S52单片机为数据线与低8位地址线复用,需要使用地址锁存芯片74LS373。上文中已叙述,使用32KRAM作为存储芯片,因此选用与51系列兼容的62256随机数据存储器。该模块中使用的两个芯片管脚功如图3-5:在62256中,A0~A14管脚为地址总线,共15位,寻址范围可达到32kB;I/O0~I/O7为8位三态双向数据接口;vcc,vss为无线电源及工作场所;cs是一个片选接口,低电平有效;oe/we分别作为读选通与写选通的两条数据输出的输入线,低电平有效。图3-5存储单元74LS373引脚位置和功能与74LS273差异不大,区别在于其1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈现高阻状态(或者叫浮空状态);当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚3、4、7、8、13、14、17、18的状态。74LS273也可以作为地址锁存器来用,作锁存器时,对273来说,1(CLR)脚必须接高电平,ALE信号经过反相后接11脚(因为单片机的ALE信号是以下降沿方式出现)对373来说,1脚为电压低电平,保证了正常使用时的功率,11脚为电平单片机使它接收了aleo的信号。3.4A/D转换单元硬件设计A/D转换模块是系统中较为重要的一部分,由于涉及到模拟部分,A/D转换器的结构较为复杂。图3-6ADC0804管脚以下是ADC0804管脚及功能的介绍:/CS芯片选择信号。/rd外部接口可以直接读取数据转换后的数据结果作为控制信号输入和数据传递控制信号。/rd为一个高电平时,db0~db7处于一个高电平阻抗:/rd为低阻抗电平时,数据才非常有可能被送入输出。/wr输入是一个系统用来自动对该启动进行转换的一个启动控制器的输入,相当于作为adc的一个启动转换器从前端开始(/cs=0时),当/wr由一个处于高电平时的转换器自动改变而成为一个新的低电平时,该启动转换器被自动重新清除;所以当/wr自动返回至一个高电平时,这种启动转换正式停止启动。clkin,clkr的一个时钟振荡输入或机器连接输出到一个时钟振荡器的控制元件(r,c)的输出频率大约可以限制在100khz~1460khz,若它是使用一个rc作为控制电路则它的时钟振荡输出频率大约可以受到限制大约为1/(1.1rc)。/INTR中断请求信号输出,低地平动作。vin(+)vin(-)电压差动器是模拟输入电压的送出输入。输入一个当为单端的直流正电压时,vin(-)可以进行电流接地;而不是当为差分驱动量的电流输入时,直接给它添加一个vin(+)VIN(-)。AGND,DGND模拟信号以及数字信号的接地。VREF辅助参考电压。DB0~DB78位的数字输出。vcc作为电源提供和配置,并且是一个可以作为该电路参考的输出电压。设计满偏精度负荷后将电压作用范围设定为5v,则将vvrefr等辅助电压参考器的电压作用范围设定为5v/2=2.5v,在10%的最大误差作用范围内,无需过分苛刻参考电压的电压源,由于系统中DC5V供电,采用两只相同阻值电阻分压,便能近似得到2.5V的参考电压。系统中使用10K电阻与150pF电容组成RC振荡电路,根据技术手册计算公式:(3-1)它的频率振荡输出频率大约应该是606khz,可以完全满足各种芯片的高频要求。另外,以阻抗型液位传感器为模型,液位传感器阻值变化与液位的高度是成正比的,因此需要将电阻值转换为电压值匹配A/D转换器。常用的阻抗-电压转换法如欧姆法。由于被测阻抗两端电压正比于被测电阻,可把被测阻抗转换为电压测量。即
(3-2)图3-6ADC0804管脚3.5通信单元硬件设计MAX487仅有7个管脚,电路设计比较简单。图3-7MAX487管脚图硬件电路如图3-8:ro引脚开始连接从它到一个通用单片机的一个串口,然后它连接到引脚命令rxd(p3.0),di引脚开始连接从它到一个通用单片机的一个串口,然后向它发送引脚命令txd(p3.1)。由于max487为半双工通讯的方式,不能同时向用户发送和接受数据,只能通过控制re和de引脚的状态转换器来同时进行数据的发送和接受数据。为了有效地节省单片机i/o口的资源,将re和de两个引脚相互串联在一起,输入到低电平时,max487就会处于无线接收的状态;当输入到高电平时,其正常并且处于数据传递的状态。定义re和de连接在一起的网络标号为e,接入到单片机p1口,用于发送和接收之间的转换。a,b端为传感器发送接收差分信号的端,一般情况下需在a,b端之间增设匹配电阻,所需的匹配电阻应大约120ω。图3-8硬件电路图3.6其他外围电路的设计选择继电器的集成电路。由于采用的是单片机i/o口驱动电流相对较弱,不能够满足对继电器的吸合和输出电流参数控制的要求,因此有必要采用三极管来驱动一个继电器进行吸合。该电路的设计框图如下,详见图3-9。为了有效防止高频信号线路由于电源尖峰脉冲而引起的噪音和干扰以及高频信号线路之间的相互耦合和干扰,在高频信号电源输出口处和芯片的顶端或基础上,接入一个去耦电容,以提高系统运行的稳定性。该电源指示灯的设计方案见下图3-10。图3-9继电器电路图图3-10电源指示灯电路
第4章系统软件设计4.1概述本文所设计的是以AT89C52单片机作为控制模块的液位控制系统。传统的数字或者模拟式的电子线路的设计仅仅需要实现硬件和电路上的供配套电器联接,然后再对其进行试验和实践性的检测就够了。本文在设计中介绍引入单片机,将其硬件和软件紧密地结合到一起,通过对硬件集成电路和软件编程方式来解决实际问题,减轻了基于传统液位管理控制系统的布线困难问题。4.2系统软件4.2.1系统软件编译开发环境AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机.片内含8KbyTES的可反复擦写的只读程序存储器(PEROM)和256byTES。随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH由存储单元,功能强大AT89C52单片适用于许多较为复杂控制应用场合[17]。C语言是一种编译型程序设计语言。它兼顾了多种高级语言的特点,并具备汇编语言的功能。用C语言来编写目标系统软件,会大大缩短开发周期,增加软件的可读性,便于改进和扩充。用C语言进行51系列单片机程序设计是单片机开发与应用的必然趋势[18]。KEILC51开发工具套件可用于汇编C语言程序、汇编源程序,链接和定位目标文件和库,创建HEX文件以及调试目标程序[19-21]。本设计使用KEILC51μVision4为开发编译环境,使用C语言编写程序,实现各模块功能设计。图4-1为系统设计软件开发环境工作界面。图4-1软件开发环境工作界面4.2.2系统主程序流程图系统主程序的功能主要是完成对单片机的初始化,设置警戒液位的上下限,实时显示液位值以及键盘扫描等工作。主程序流程图如图4-2所示。图4-2系统主程序流程图打开系统,预设液体液位值,水塔内液位值可通过液晶显示器实时显示,若水塔此时处于未满液位状态可通过手动模式进行给水,或自动由传感器进行液体液位的测量,传输信号给单片机进行处理,单片机通过将实际液位值与预设液位值进行比较,判断是否需要给水操作,当需要给水时,单片机通过控制继电器打开水泵给水。4.2.3元件清单系统使用元件清单如表4-1所示:表4-1元件清单序号元件名称数量1BUZZER蜂鸣器1210uf直插电解电容1330P直插瓷片电容241000uf直插电解电容15LED5mm5mm发红光二极管26LED5mm5mm发黄光二极管17LED5mm5mm发绿光二极管18共阳极数码管19Header4排针4-Pin110POWERDC电源插座1112-Pin水泵112Header5水位小板113S9012PNP三极管214S9013NPN三极管4151k色环电阻11表4-1元件清单(续)1610k色环电阻517SW-PB按键6X6X5MM318SW8*8自锁开关119MCU51单片机120DC5V5V继电器14.3本章小结本章主要进行了液位控制系统的程序编程,使其满足毕业设计要求实现的功能目的。首先本章介绍了系统软件编译开发环境,使用KEILC51μVision4为开发编译环境,使用C语言编写程序,实现各模块功能设计。其次介绍了系统使用的元器件,完成了系统的软件设计。第5章系统模拟仿真5.1Protues软件模拟仿真在protues里建立工程图,包括元件的拾取、元件位置的调整和参数的修改、电路连线、电路的动态仿真、完成电路图等步骤[23]。将主程序代码导入,开始进行模拟实验,附图如下,分别为系统在五个液位下的状态以及未满液位下的手动给水。图5-1满水位如图5-1所示,开始仿真,此时水泵为满液位状态,p1.0=0,p1.1=0,p1.2=0,p1.3=0,指示灯为绿色。水泵当前不可加水。图5-2四分之三水位如图5-2所示,p1.0=0,p1.1=0,p1.2=0,p1.3=1,水泵为34图5-3四分之三水位手动给水如图5-3,当前显示水泵水位为34水位 ,p1.4=0,水泵开始加水,p1.6=0。当水位到达满水位后,加水自动停止,p1.4=1,p1.6=1图5-4二分之一水位如图5-4所示,p1.0=0,p1.1=0,p1.2=1,p1.3=1,水泵为12图5-5四分之一水位如图5-5所示,p1.0=0,p1.1=1,p1.2=1,p1.3=1,水泵为14图5-6空水位如图5-6所示,p1.0=1,p1.1=1,p1.2=1,p1.3=1,水泵为空水位状态,此时指示灯为红色。蜂鸣器报警,水泵自动加水,p1.6=0。5.2模拟实验总结5.2.1仿真结果总结检查电路,开始仿真:1.开始液位为0液位,指示灯为红色,蜂鸣器发出报警,系统开始自动给水,到达满水位后自动给水结束。2.开始液位为四分之一液位,指示灯显示为黄色,蜂鸣器无报警,此时系统不会自动给水,可进行手动加水,到达满水位自动结束。若为排水状态到达0液位则进行1步骤。3.开始液位为二分之一液位,指示灯显示为黄色,蜂鸣器无报警,此时系统不会自动给水,可进行手动加水,到达满水位自动结束。若为排水状态到达0液位则进行1步骤。4.开始液位为四分之三液位,指示灯显示为黄色,蜂鸣器无报警,此时系统不会自动给水,可进行手动加水,到达满水位自动结束。若为排水状态到达0液位则进行1步骤。5.开始液位为满液位,指示灯显示为绿色,蜂鸣器无报警。表5-1系统仿真结果液位指示灯报警自动给水手动给水0红是是是1黄否否是1黄否否是3黄否否是1绿否否否5.2.2实验结果分析本系统基于AT89C52为控制芯片,压力传感器输出信号。通过液晶显示器给与显示,按键作为人机交互渠道来控制液位。设置最高液位和最低液位,当系统液位小于设置的最小值的时候电机运转开始供水,液位大于设置的最大值的时候电机停转。经实验仿真,可实现以下功能:1.通过传感器检测水位,把检测到的结果送入单片机进行处理,通过液晶显示器显示液位,可显示0-4液位等级,在各液位有其对应信号灯显示,红灯为低液位指示灯,黄灯为正常液位指示灯,绿灯为满液位指示灯。2.系统具有手动和自动两种给水模式,当液位小于1时抽水电机工作开始自动进水,一直到液位为4时停止。非满液位下可切换至手动模式给水。手动模式下按下手动抽水键继电器吸合抽水电机开始工作抽水,按下手动关抽水键继电器断开停止抽水。5.3本章小结本章主要通过Protues嵌入式系统仿真与开发平台对设计的液位控制系统进行模拟仿真,并对模拟实验结果总结分析,通过具体的实验,验证了系统设计方案的可行性和有效性。通过系统在各液位情况下进行实验测试,保证液位检测的精准性以及电机给水的准时性,说明系统满足最终设计目的。第6章总结与展望6.1总结本次设计的系统主要介绍了水塔的液位测量与控制,介绍了液位测量方法和液位控制的发展概况,采用AT89C52单片机作为系统的控制芯片,介绍了它的引脚和在系统中的电路图,通过压力传感器检测水塔内液位情况,传输信号给单片机进行处理,利用液晶显示器来进行信号的输出显示,系统的结构简单,设有蜂鸣器进行报警,出现“空塔”、“溢塔”现象立即就能发现。有预设的程序在各种情况下自动处理问题,极大地解放人力。论文对水位控制系统电路进行了详细设计,包括系统硬件设计、软件设计、程序流程图设计等。最后,通过仿真模拟,验证了这一设计的有效性。总的来说,此次毕业实习及毕业设计完成了任务书规定的各项要求,巩固了C语言课程的知识,同时在以前所学课程的基础上进一步学习了单片机Keil,Protues软件等内容和多种实用技术。在这次毕业设计中,能与老师同学一起解决问题,共同进步,收获颇多。本系统利用单片机实现液位控制系统自动化,比起机械控制,此次设计的系统更加安全、可靠、方便。由于目前单片机市场51系列占主导地位,价格性能比较高,利用8051单片机实现供水系统控制自动化,应用前景广阔。根据不同的需要,对本文所设计的系统稍作改动,就可以在石油化工、机械制造、电气工程和食品加工生产等领域的贮水装置中得到应用。设计过程中我遇到了很多的困难,从刚开始搜集素材,查阅文献,整理资料,学习单片机方面的知识,如何进行控制系统开发,并对液位控制系统研究的背景和意义进行分析和总结。通过对系统辨识理论和发展历程的学习,建立水塔液位控制系统模型。利用Protues软件仿真模拟,复习回顾c语言程序编写,最后完成设计。在四年的学习过程中我像海绵一般汲取了课本里的知识,但是没有经过真正的实践将它们融合、消化,在这次毕业设计中我通过实际操作将书本上的理论知识转化为在实际生产生活中应用的技术,使我充分地锻炼了我的动手动脑能力。通过本次毕业设计,我深刻地了解到自己学到的知识点应当将其充分运用于实践中,在实际操作中把自己在书本上积累的知识固化形成自己的技巧。在开始设计一个系统的过程中有时会出现许多的设计想法,但是也会出现一些问题使得这些设计想法遭到否定,最终在完成设计的过程中我优先考虑了自己在课程中学习得到的知识,并且与单片机、电子电路等相关的知识紧密地结合了起来。这次毕业设计之后,我深深地感觉到自己在设计方面的学习还有许长道路要继续往下走,此次毕业设计不仅仅是对于自己工作技术能力的提升与自我价值的体现,更是一件非常具有教育性的意义的事,可以使自己在工作中有所体会,有所得悟,有所收获。6.2展望本次毕业设计的基于单片机(AT89C52)的液位控制系统涉及多方面的理论、方法和技术,本系统中可能还有许多新的问题亟待解决,这些问题仍然需要在实践和应用中不断地积累和创新,在以下几个领域,还是很有必要对其作出进一步的探索研究和创新:1.在论文中只设计了系统的几项基本组成和构造单元,并未进行深入研究,因此系统只能完成一些简单情况,在应更为复杂的情况方面还值得进一步加强。需要更加完善以增加系统的全面性。系统在测试上还存在一些问题。因此需要对当前软件系统的功能进行完善和拓展。2.随着科学技术的进一步发展,远程控制将是未来液位控
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论