水位遥测自控系统dou.docx
- 文档编号:5205507
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:20
- 大小:318.10KB
水位遥测自控系统dou.docx
《水位遥测自控系统dou.docx》由会员分享,可在线阅读,更多相关《水位遥测自控系统dou.docx(20页珍藏版)》请在冰豆网上搜索。
水位遥测自控系统dou
水位遥测自控系统
[摘要]本系统以AT89S51单片机为主控单元,通过超声波传感器和液位变送器实现液位实时数据的检测和自动控制。
系统分主控站与测控站,通过主控站的键盘可以实现对测控站的水位上下限的控制和显示。
主控站与测控站之间的无线实时数据传输的解决方案采用广泛应用于无线抄表、工业数据采集系统和水文气象监控等领域的无线通信芯片nRF24L01组成无线高速数据收发模块。
系统实现对所监控水位的短矩离无线测量与自动控制,利用GFSK实现数据高速传送以及较低的功耗。
从测控站传送过来的数据通过人性化人机交换界面LCD1602实现数据的实时数据显示以及实现相应的报警提示。
本系统通过单片机串口与电脑串口的通讯功能和利用互联网可以实现水位的远程测量与自动控制,这对江河水位的实时监控非常实用。
本系统可能通过简单地调整就可以移植到其它物位系统与无线抄表系统,非常有研究价值。
系统利用功能强大的C语言开发,并在软硬件设计中分别使用了Protel99se、keilC51开发平台。
结果表明,该系统具有有性价比高、操作简便、可视化操作等优点.
关键字:
AT89S51单片机,nRF24L01,超声波传感器,GFSK
1绪论
在工农业生产过程中经常需要对水位进行测量和控制。
但是,在一般的情况下。
往往需要测量的水池或水塔和控制室都有相当长的距离,常常需要架设上百到近千米的输电和控制线路,十分麻烦和费用大。
给测量和控制带来了极大的不方便。
本系统设计了一种利用单片机的无线测量和自动控制系统。
不需要架设电缆。
而且可以实现水位的远程自动控制和遥测,对于工业和生产生活非常实用。
1.1选题背景与意义
随着无线通信技术的发展,遥测及遥控技术已经深入人们的生活与工作当中,在工业与生活中水位的测量与控制是经常要测控的一个因素。
仪器自动一体化,短距离无线抄表技术已经成为下一代无线技术发展的一个重要分支。
应此势要求,本设计就以一水位遥测自动控制系统,对于无线技术的研究只是作个抛砖引玉。
2、系统原理框图
图2-1、主控站原理框图
图2-2、测控站原理框图
3、方案比较
3.1、总体方案论证
水位控制在日常生产、生活中经常用到。
目前,常用的液位控制方案主要有以下几种:
方案一:
基于PLC的水位自动遥测自控制系统:
利用PLC为主控制核心,控制水位传感器实现水位的测量与自动控制,可以通过按键设置其水位的上下限实现实时报警。
利用现有的配电网络和互联网实现水位遥测和传输,其原理框图如下3-1所示:
互联网
图3-1、PLC水位自动遥测自控制系统框图
此方案主要具有以下的优点:
(1)实现成本低。
由于可以直接利用已有的配电网络和互联网作为传输线路,所以不用进行额外布线,从而大大减少了网络的投资,降低了成本,充分利用PLC内部资源,就可以利用少量外部扩展就可以把所测得数据显示于数码管。
(2)范围广。
电力线是覆盖范围最广的网络,它的规模是其他任何网络无法比拟的。
PLC可以轻松地渗透到每个家庭,为互联网的发展创造极大的空间。
(3)高速率。
PLC能够提供高速的传输。
缺点是PLC系统复杂,对于要实现精确水位控制的算法实现比较复杂,不能做得很高的精确度,而且PLC价格高。
方案二:
基于AT89C51单片机的水位遥测、自动控制系统:
通过单片机为主要控制核心,构建成两个无线短矩离通信数字电台,利用软件控制水位传感器测量出实时的水信息。
而数据的无线传送应用Nordic公司的高速无线单片无线射频芯片nRF24L01通GFSK调制以最高达1Mbit/s的速度快速发送出去。
通过设置在主控制站的键盘可以远程设置水位的上下限,主控制站采用易于人机交换的LCD1602作为数据显示。
通常对于配套功能较多的项目,采用单片机系统具有成本低、效益高的优点。
另外,单片机控制系统在灵活性和程序的可移植性好。
应用单片机控制的水位遥测自控系统的原理框图如下图3-2:
图3-2、单片机水位遥测自控系统原理框图
3.2、键盘模块
方案一:
采用Intel8279可编程键盘/显示接口芯片。
Intel8279是一个专用的显示器键盘接口,它用硬件完成对显示器和键盘的扫描,大大方便了用户,使程序变得简洁、易读和模块化。
但其缺点是8279为并行接口芯片,占用CPU端口多,需要CPU有比较强的负载携带能力。
方案二:
采用了HD7279A数码管/键盘串行接口芯片。
HD7279A可同时驱动8位共阴式数码管,同时还可连接多达64键的键盘矩阵,单片机可完成显示键盘接口的全部功能。
其优点是采用串口通讯,占用CPU端口少,对CPU负载携带能力要求低。
方案三:
采用独立式键盘。
因为AT89C51的IO口具有位驱动能力,而且所用按键数目不多,可以通过单片机软件利用查询或中断方式简单地实现各种控制。
考虑到该控制软件系统和硬件系统都比较复杂,CPU需要驱动较多的电子器件,要利用到单片机内部的资源较多,故本系统采用了方案三。
3.3、显示模块
方案一:
多路LED数码管显示系统具有硬件设备简单,可移植性好,成本低廉的特点。
74LS164是8位并行输出门控串行输入移位寄存器,利用74LS164和单片机IO口可以方便地实现实时数据的显示。
但是这将增加系统硬件的复杂度和程序编写的难度。
方案二:
使用使用专用的LCD1602显示驱动器和LCD1602显示模块。
其中,LCD显示模块LCM(Liquid Crystal Display Module)是把LCD显示器、背景光源、线路板和驱动集成电路等部件构成一个整体,作为一个独立的部件使用,具有功能较强、易于控制、接口简单等优点,在单片机系统中应用较多。
LCD1602显示模块通过这个接口接收显示命令和数据,并按指令和数据的要求进行显示。
外部电路通过这个接口读出显示模块的工作状态和显示数据。
LCD显示模块一般带有内部显示RAM和字符发生器,只要输入ASCII码就可以进行显示而且不用一直扫描显示,可以减轻CPU的工作负担,使其可以去做其它更重要的处理。
考虑到题目要求及实际应用价值,我们选择方案二。
3.4、液位传感器
方案一:
使用电容传感器测量测位,利用容器中的水为介质再用容器组成一个电容器,经过V/F转换,把要测量的电容量转换频率使单片机可以通过对频率计数方式实现对频率测量,电容水位传感器可以做到测量纯净水精确度较高液位器。
可是当水中含有大量矿物质时候测量就有比较在的误差,而且所用的容器一般都固定,不方便仪器移植,灵活性小,一般只适用于实验性用,对实际生产不适用。
方案二:
使用浮球式液位变送器,这种变送器杆内设有多点磁簧开关,当浮球处在磁簧开关相关位置时,开关依次闭合,输出信号发生相应变化。
由于相邻磁簧开关的距离最小为1厘米,即这种变送器测量液位的精度是1厘米。
虽然这种液位传感器的造价较低,但精度达不到题目要求,而且它测量的盲区比较大,低于2厘米时无法检测。
方案三:
使用超声波液位传感器,这种传感器是通过测量超声波在空气中行走时间来计算液位的实时高度。
因为超声波测量时与被测物体无直接接触,能够清晰稳定地显示测量结果,而且超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。
而且它的造价也不高,且安装方便,实用性好。
因此,结合题目的要求本测量系统选择了的方案三。
3.5、远程测量与控制
有关远程测量控制的选择,一般有以下三种方案:
方案一:
采用GSM模组进行数据传输,在GSM中,唯一不需建立端到端通道的业务就是端消息业务(SMS),在移动设备处于点与点通信状态下,还能同时实现短消息业务。
短消息只能传送一句话,这种通信是异步进行的。
作为GSM系统,每条短消息都是作为单独的时间来处理的,短消息的传送都是经过短消息服务中心进行周转的。
利用已建成的GSM网络传输,可靠性高,但是设备价格昂贵。
方案二:
采用以太网进行传输,通过专用调制解调芯片,以单片机为控制核心,利用单片机的串口可以方便地实现与上位PC机的通信,从而利用现成的、衰减量小的光纤网络系统实现水位的遥测和自动控制。
但是此种方法设备复杂,在实验设计阶段是不适用的。
方案三:
采用无线RF射频模组进行数据传输。
采用Nordic公司的收发一体的无线RF芯片nRF24L01,通过简单的几个外部连接元件可以实现最高2Mbit/S的速率传输。
nRF24L01工作在全球开放2.4~2.5GHZ波段,只要通过SPI把配置字写到nRF24L01里,就可以把所要传送的数无线传送出去,还以实现自应答和自动重发。
其操作简单,成本低,且能够满足本设计要求。
综上所述,采用RF射频技术传输数据代价小且能满足本设计要求,故在此选用方案三。
4、方案设计论证
4.1总体硬件系统电路设计[5]
主测控站系统设计原理详图如图4-1所示:
图4-1、主测控站系统设计原理
从测控站系统设计原理详图如图4-2所示:
图4-2、从测控站系统设计原理详图
4.2各模块的实现
4.2.1单片机系统[6]
单片机最小系统是整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。
我们采用了ATMEL公司的AT89C52单片机。
它是一款低功耗、高性能的CMOS型8位单片机,其内含256个字节的RAM,8KBFLASHROM,2个16位定时器/计数器。
4.2.2键盘显示模块
本系统用采用独立式键盘。
因为AT89C51的IO口具有位驱动能力,而且所用按键数目不多,可以通过单片机软件利用查询或中断方式简单地实现各种控制。
LCD显示器采用LCD1602A点阵式液晶显示屏。
该液晶模块可以显示字母、数字符号,具稳定显示和反应快功能。
LCD1602显示模块通过这个接口接收显示命令和数据,并按指令和数据的要求进行显示。
外部电路通过这个接口读出显示模块的工作状态和显示数据。
LCD显示模块一般带有内部显示RAM和字符发生器,只要输入ASCII码就可以进行显示而且不用一直扫描显示,可以减轻CPU的工作负担,使其可以去做其它更重要的处理。
采用8位并行接口与AT89S52单片机口和三个控制线就可以通过并行方式把所要数据和指令写入LCD1602A的存储器,使用非常方便,连线连线较为方便。
LCD1602的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:
1为高电平、0为低电平)指令1:
清显示,指令码01H,光标复位到地址00H位置指令2:
光标复位,光标返回到地址00H指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电平时双行显示F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符指令7:
字符发生器RAM地址设置指令8:
DDRAM地址设置指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据指令11:
读数据DM-162液晶显示模块可以和单片机AT89C51直接接口,电路如图1所示。
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。
采用LCD显示,可以避免光线较弱时使用不便。
键盘和显示电路如下图4-3所示[7]:
图4-3键盘显示电路
4.2.3水位测量传感器
超声波传感器及其测距原理:
超声波是指频率高于20KHz的机械波。
为了以超声波作为检测手段,必须产生超生波和接收超声波。
完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。
超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。
超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。
超声波测距的原理一般采用渡越时间法TOF(time of flight)。
首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离。
因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。
由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。
利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。
超声波发生器可以分为两类:
一类是用电气方式产生超声波,一类是用机械方式产生超声波。
本课题属于近距离测量,采用常用的压电式超声波换能器来实现。
超声波因其方向性好、测量精度高,已广泛应用于液位、流量、物距等方面的检测。
本系统采用单片机输出40KHZ的方波经过74HC04所组成的几个与非门放大发射出去,经过一定时间延时以后再打开外中断。
CX20106A接收到40KHz的信号时,会在第7脚产生一个低电平下降脉冲,这个信号可以接到单片机的外部中断引脚作为中断信号输入。
超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差△T,然后求出距离S。
在速度V已知的情况下,距离S的计算,公式如下3-1:
S=V△T/2(3-1)
在空气中,常温下超声波的传播速度是334米/秒,但其传播速度V易受空气中温度、湿度、压强等因素的影响,其中受温度的影响较大,如温度每升高1oC,声速增加约0.6秒。
因此在测距精度要求很高的情况下,应通过温度补偿的方法对传播速度加以校正。
已知现场环境温度T时,超声波传播速度V的计算公式可近似如下:
V=331.5+0.607T(3-2)
这样,只要测得超声波发射和接收回波的时间差△t,以及现场环境温度T,就可以精确计算出发射点到障碍物之间的距离[1]。
超声波收发原理图如下图4-4所示:
图4-4掉电存储模块
4.2.4遥测自控收发模块
nRF24L01主要特性如下:
GFSK调制:
硬件集成OSI链路层;
具有自动应答和自动再发射功能;
片内自动生成报头和CRC校验码;
数据传输率为lMb/s或2Mb/s;
SPI速率为0Mb/s~10Mb/s;
125个频道:
与其他nRF24系列射频器件相兼容;
QFN20引脚4mm×4mm封装;
供电电压为1.9V~3.6V。
4.2.4.1引脚功能及描述
nRF24L01的封装及引脚排列如图4-5所示。
各引脚功能如下:
图4-5nRF24L01引脚图
CE:
使能发射或接收;
CSN,SCK,MOSI,MISO:
SPI引脚端,微处理器可通过此引脚配置nRF24L01:
IRQ:
中断标志位;
VDD:
电源输入端;
VSS:
电源地:
XC2,XC1:
晶体振荡器引脚;
VDD_PA:
为功率放大器供电,输出为1.8V;
ANT1,ANT2:
天线接口;
IREF:
参考电流输入。
nRF24L01概述:
nRF24L01是一款新型单片射频收发器件,工作于2.4GHz~2.5GHzISM频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。
nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。
寄存器配置:
通过配置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作模式,如表1所示。
表4.2.4.1-1nRF24L01模式配置
空闲模式1主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作的;空闲模式2则是在当发射堆栈为空且CE=1时发生(用在PTX设备);在空闲模式下,配置字仍然保留。
在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留。
工作原理:
本系统选用了nRF24.L01是一款新型单片射频收发器件,工作于2.4GHZ~2.5GHZISM频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。
nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。
工作原理:
发射数据时,首先将nRF24L01配置为发射模式:
接着把地址TX_ADDR和数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号。
如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从发送堆栈中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC_CNT)达到上限,MAX_RT置高,TX_PLD不会被清除;MAX_RT或TX_DS置高时,使IRQ变低,以便通知MCU。
最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。
接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。
当接收方检测到有效的地址和CRC时,就将数据包存储在接收堆栈中,同时中断标志位RX_DR置高,IRQ变低,以便通知MCU去取数据。
若此时自动应答开启,接收方则同时进入发射状态回传应答信号。
最后接收成功时,若CE变低,则nRF24L01进入空闲模式1[2]。
图4-6nRF24L01写数据时序
图4-7nRF24L01读数据时序
4-8图SPI读写时序
遥测自控收发模块电路原理图如下图3-5:
图4-9无线传送模块
5、系统软件流程图
5.1软件流程图[4]
(1)测控站主程序流程图如图4-1所示:
(2)超声波测距流程图如图4-2所示:
(3)主控站流程图如图4-3所示:
(4)无线发射流程图如图4-4所示:
图4-2超声波测距流程图
图4-1测控站主程序流程图
图4-5、无线发射流程图
图4-3主控站流程图图4-4按键流程图
5.2系统操作说明
键盘示意图如表一所示
表5.2-1:
键盘示意图
各键解释:
“+,-”:
执行加一或减一操作。
设置键:
进入设定界面。
确认键:
确认设置。
6、系统设计原理图(见附图)
7、功能测试
7.1测试仪器
PROTEUS软件PC机
带盛水容器直尺
7.2测试方法
根据方案设计的要求,电路按模块测试,各模块逐个测试通过后再联调。
7.2.1主站
✧数值设定、显示模块:
在PROTEUS软件里按原理图接好线,再把主控制站的程序加到里面测试按键和显示;LCD1602显示正确,按键功能也能够实现设置水位上、下限警的高度。
键盘与仿真器联机状态下,在键盘中断子程序中设定断点。
运行程序,按键测试,程序正常运行到断点处产生中断。
读入键值正确。
将程序改为读键值然后送到LCD上显示,继续测试键盘。
当程序运行时所按键的键值都能正确的显示到液晶屏上。
继而进行脱机测试,测试结果正常。
键盘显示测试完成。
✧无线通讯模块:
将单片机控制模块与无线模块连接起来,设置上下限报警水位,测量水位实时水位,看与主站上LCD显示,能否实时显示从站上测量的水位,不能通信测再排除问题。
✧报警提示模块:
在主控制站上先把上限水位设低于实际水位,若主站上的上限水位报警指示灯亮则报警提示模块功能实现。
7.2.2从站
从站的测试方法雷同主站的测试方法。
系统联调:
将系统的主站与从站连接,脱机运行,系统稳定工作,测试完毕。
8、数据测试
测试数据如下表8-1:
表8-1、数据测试
设定液位值
(mm)
实测液位值
(mm)
误差
(cm)
0.0
10
20
30
40
60
80
100
140
180
200
220
从测试数据可以看出精度达到了题目要求,液位测量误差主要是1、超声波传感器安装是测得与容器顶部距离与实际有误差使得计算出来的结果有偏差。
2、超声波在空气中的传播速度与环境温度有关,在不同的环境下速度不一样,使得测量出来的水位与实际水位产生一定的偏差。
9、总结
本水位遥测自动控制系统完成了题目要求的基本功能和发挥功能,对于小型水泵的控制采慢速汲水,以确保超声波传感器测量的精度和水位控制的精度,在测量水位时,安装超声波传感器时要离容器正上方一定高度再按装,以消除超声波测量的盲区。
本系统是安装在容器正上方十厘米处。
整套设备结构简洁,操作方便,具有比较好的稳定性,能够精确的测量液位,遇警时能自动调至正常,并且可以在允许范围内任意设定液位。
通过按键可以在允许范围内任意设定水位报警的上下限,使得这套装置更加智能化。
致谢
首先,我要感谢我的指导教师黄际乐老师制定的定时任务,和随时抽查我的毕业设计进度,使我感到了时间的紧迫,也激起了我的热情,黄老师给我们提供的软以及人文氛围也是我们这个课题能愉快并顺利完成的坚实基础,尤其感谢黄老师经常抽出他宝贵的时间与我们共同讨论交流,使我们受益匪浅!
其次,我要感谢我们系的老师:
彭建盛老师、宋华宁老师、邹清平老师,他们在我单片机的入门阶段给予了很多指导并在理论上给了我很多帮助,没有他们的帮助,我也无法完成这个毕业设计题目。
四年本科生活即将结束,回顾学习和生活上的点点滴滴,我感觉到是河池学院造就了我,感谢我的母校!
还有电子竞赛实验室的伙伴们,他们在我的学习过程中给予了很大的帮助和启发,最后我感谢我的父母和家人二十多年来对我精神和物质上的鼓励和支持。
参考文献
[1].朱爱红朱宁文等,《基于AT89C2051的超声波测距系统》
[2].求是科技,《单片机通信技术与工程实践》,361页,人民邮电出版社,2005.1
[3].徐晋赵俊逸黄勇,《ET13X210/221射频收发芯片原理及应用》
[4].赵亮侯国锐编著,《单片机C语言编程与实例》,人民邮电出版社,2003
[5].房小翠王金凤编著,《单片机实用系统设计技术》,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 水位 遥测 自控 系统 dou