基于单片机的液位测量系统
工作频率:压电晶片的共振频率,波长越长,频率越小,检测距离越大但是精度会降低。
灵敏度:输出功率越高,灵敏度高。
波束角:以传感器中轴线延长线为轴,能量强度减少一半(-3dB)处,这个角度被称为波束角。可以理解为超声波的指向性。该数值越大,容易测到周围物体
盲区:超声波无法检测到的距离值
超声波传感器的种类有很多,根据不同分类方法有以下几类:以使用方法可分为收发一体型、收发分体型(收发各一只);以据结构可分为开放型、防水型、高频型等;以使用环境可分为空气中和水声、固体换能器;
测量原理:
声音在空气中的速度已知,并随温度变化而变化,温度与声速的关系:V=331.3+0.607°C, 超声波传播时间由模块获得,距离就可知。高度h可由h=H-S求得
因为之前做过超声波测量的课程设计,用的是分立元件搭起来的电路,可分为3各部分:第一个为超声波发射电路,用555电路产生的40KHz的方波并上RC非门产生4Hz的方波,产生的波形如下(即模块的多少秒脉冲信号)第二部分为接收电路,将收到的信号进行放大、比较在经触发(器)电路得到返回时间波形。第三部分是功率驱动电路。详细的波形如下图2
当时对模电内容真的不是很了解,对原件的选型都不清楚的,所以大家都会用同一种电路,减少工作量嘛,当时放大器选的op37,op07应该能用,这个要两级放大。这个调试的过程就不详细说了,有点曲折,也是因为不太理解模拟的东西。测出来的有1m多吧,但是要求只看你的波形,不要求精度,所以就完成了。当然自己设计的模拟类的东西是效果肯定是没有人家研究出来模块的好,这是肯定的可能当时也就为了完成这个任务而已。也因为之前做过,比较熟悉,所以才选这个课题,,当然上面的不是毕设的作品,只是简单的课程设计,介绍只是为了让大家先了解了解电路,直接用模块就不是涉及这些了。
回归到正题
超声波模块用的是KS103这款,测量范围大,可选择多种量程测量和多种测量指令可返回时间和距离,模块内含有温度传感器,可进行温度补偿,补偿后精度最高可达到毫米级,系统稳定。使用也比较方便,该模块由两种接口IIC、TTL串口,可通过硬件连接选择。
最简单的是串口模式,串口发送16进制的指令,串口中断要判断高电位且接受完数据后要清除接收寄存器,不然容易造成接收错误,这个就是核心,简单但是容易出错。当然建议先用USB—TTL连接器电脑,用串口助手先调试,弄清楚数据类型,指令发送,最后应用在单片机上。STM32串口发送还是有个小问题,这是我后来才发现的,但不影响该作品的功能,在下个帖子我会涉及到。
显示屏用的是0.91寸OLED屏,屏幕小,IIC接口,就4pin线。
wifi传输数据用的是ESP8266这个模块,把它配置成路由器模式与单片机连接,将数据通过WIFI发送至移动终端。也是先连接到电脑。用串口助手进行AT指令调试。
单片机我用的是stm32F103ZET6,其实用小的芯片就够了比如说48pin的RCT6之类的,双串口就行了。但串口也可以,超声波模块就要改用IIC。
硬件部分就是这样,在作品中软件加入了按键选择测量模式的功能,可选择发送不同的测试指令。
成品:
毕设做的不是做的太好,也很丑,总体的测距功能是能实现的精度也够,这个不一定用来测液面的,正常测距就可以,液面低的时候会测不准。备注下:不同物体对超声波的反射吸收不一样,会有一定的误差。
一种基于单片机的液位控制器设计
吴兴中,屈泽明 (湖南湘潭钢铁集团有限公司,湖南 湘潭 411101)
摘要: 针对湖南湘潭钢铁集团管廊沟潜水泵控制现状和实际要求,设计了一种基于单片机的液位自动控制器。该控制器具有实时监测液位的功能,同时可根据高、低液位设定值,实现自动启停潜水泵。采用RS485总线协议,可实现远程监控功能。实际运行结果表明,该控制器具有成本低、运行可靠、稳定、抗干扰能力强等优点,并具有一定的推广意义。
随着控制技术越来越成熟,芯片运行愈来愈稳定,目前越来越多的各种控制器被应用于工矿企业,用于替代过去的人工操作和控制,并取得了巨大的效益和超越人工控制的令人满意的效果。
湖南湘潭钢铁集团公司五米宽厚板厂水处理车间许多电缆、管道铺设在管廊沟内,由于管廊沟内四壁渗水、水管老化而产生漏水,存在淹没管道和电缆的风险,由此可能造成管道腐蚀或电缆短路“放炮”的重大事故。故原设计时在管廊沟的积水坑内都安装了潜水泵控制器,它通过在水中放置3个电极监测积水坑液位的高水位和低水位,实现高水位自动启动潜水泵运行,低水位时自动停止潜水泵运行。此控制器只能指示高、低两个液位,不能显示液位实际值。目前由于潜水泵控制器投运时间较长,元件老化严重,90%的控制器已经出现电路板元件烧毁不能使用的现象。为了保证管廊沟内积水不淹没管道和电缆,湖南湘潭钢铁集团公司五米宽厚板厂水处理车间员工需要每天3次去管廊沟内点检。如果发现有积水,则需要人工启动潜水泵把水排出管廊沟外,水位低时手动关闭潜水泵,防止潜水泵因无水发热而烧毁潜水泵电机。
基于此,本文设计了一种基于单片机的超声波液位控制器,实现了液位实时监测、潜水泵无人操作自动运行等功能。
原潜水泵控制器通过在水中放置3个电极监测积水坑液位的高水位和低水位,实现高水位自动启动潜水泵,低水位时自动停止潜水泵,此控制器存在如下缺陷。
(1)只能指示液位高低,不能显示液位实际值,由于不知道液位实际值,给在管廊沟内检修作业带来不便。
(2)水中放置的3个电极由于产生电解反应,造成电极腐蚀快或结垢严重,需要定期更换电极。
(3)原控制器成本较高,需要2 500元左右,且维护成本较高。
基于上述情况,设计了基于单片机的超声波液位控制器。此控制器具有实时监测实际液位的功能,由于不直接与水接触,故传感器使用寿命长,控制器具有维护简单、成本低廉的特点。
本系统原理结构图如图1所示,系统主要由单片机、通信接口电路、LED显示电路、键盘电路、超声波模块及控制信号电路组成。
选取 AT89S52单片机作为控制核心, AT89S52单片机是一种低功耗、高性能 CMOS 8位微控制器。它具有以下资源:8KB Flash,256 B RAM,32位I/O端口,2个数据指针,3个16位定时器/ 计数器, 1个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路等[1]。
HCSR04是深圳市捷深科技有限公司的一款超声波测距模块,它有4个管脚,分别是+5 V Vcc,电源地Gnd,控制端Trig,接收端Echo。HCSR04模块如图2所示。其基本工作原理是:给控制端Trig提供一个10 μS 以上脉冲触发信号,模块将发出 8个40 kHz周期波并检测回波,一旦检测到有回波信号则输出回响信号Echo;回响信号Echo的脉冲宽度与所测的距离成正比[2];由此通过发射信号到收到的回响信号时间间隔计算得到距离,距离=高电平时间×声速/2。
键盘电路由数字增加键、数字减少键、确认键、测试键4个键组成,键盘电路采用矩阵式键盘电路设计,4个键占用4个I/O资源。
LED显示电路由4位共阴极LED数码管组成,采用动态扫描方式。利用达林顿集成芯片ULN2008驱动LED数码管以及继电器,这样设计既简化了电路,也使电路板更紧凑、简约。数码管用来显示实际液位以及设定的高低液位值。通过程序控制继电器通、断,实现对潜水泵的启停控制。
通信接口电路采用芯片MAX485,它符合RS485协议,通过它实现了TTL电平转换为RS485电平[1,3]。
工作原理分析:控制器以AT89S52单片机为控制核心,通过单片机I/O端口触发超声波测距模块HCSR04发出40 kHz的超声波信号。利用单片机I/O端口监测HCSR04模块回响信号,一旦回响信号由低电平变为高电平时,启动单片机定时器,开始计时。当回响信号由高电平变为低电平时,停止计时,读出回响信号为高电平的时间。根据HCSR04模块距离计算公式,计算出传感器与液位的实际距离LH。实际液位LACT =LSET-LH,其中LSET为量程,LH为传感器与液位的实际距离。根据实际情况设定高、低液位值,逻辑判断控制继电器的通、断,即潜水泵启、停控制信号。利用LED数码管对实际液位LACT进行显示,实现对实际液位的在线监控。通过RS485接口电路实现远程操作和监控。另外,控制器可以通过键盘电路对高、低液位值进行参数设置操作。为了保证在控制器出现程序“飞跑”的情况下能自动使控制器复位重启,设计了看门狗电路。
1.2液位控制器的程序设计
控制器程序采用模块化结构设计,主要包括主程序模块、键盘程序模块、显示程序模块及通信程序模块等。
在主程序模块中完成定时器的初始化、中断初始化以及测量实际液位等功能,主程序功能如图3所示。
键盘程序模块包括键盘识别部分、参数显示部分以及4个键的处理部分,设计时采用外部中断程序来满足键盘对及时响应的要求。
显示程序采用动态扫描方式实现LED数码管对数据的显示,通过定时中断来保证数码管扫描时间间隔一致,使数码管显示稳定、不闪烁。
通信程序用于液位控制器与PC通信,实现液位控制器与PC数据交换,便于远程操作与监控。
2实验与结果
通过实验板对液位控制器进行了测距精度、显示效果、通信等方面的测试。
实验表明模块的盲区为2 cm,探测距离范围为2~450 cm,控制器有较高的精度,能够满足现场的控制要求。
LED数码管显示稳定、鲜艳 、清晰,非常适合用在光线暗淡的环境。
通过RS485总线与PC连接通信,实现了液位控制器与上位机PC远程通信。利用液位控制器与PC通信界面可对高、低液位进行设定,并可监控液位的实际值,通信界面如图4所示。
参考文献
[1] 吴兴中,朱松林,彭新良.利用单片机实现对云台的控制[J].四川兵工学报,2011,32(3):71-73.
[2] 深圳市捷深科技有限公司.HCSR04超声波测距模块说明书[Z].20110227.
[3] 吴兴中,欧青立.一种PC与单片机多机 RS232串口通信设计[J].国外电子测量技术,2009,28(1):7476.
相关问答
lg洗衣机水位传感器怎么 测量 好坏?判断洗衣机水位传感器好坏方法:1、检查前首先确认洗衣机盛水桶里没有残留水、导气管有无扭结或堵塞的现象。2、电磁式水位传感器(水位传感器):若水位传感器...
单片机 分布式水位控制系统电子电路设计翻译成英语,翻译翻译,...[最佳回答]请放心采用ElectronicCircuitDesignofDistributedWaterLevelControlSystemBasedonMCU(或SCM)请放心采用El...
超声波 液位 计和雷达 液位 计的区别有哪些?我是电子及工控技术,我来回答这个问题。超声波液位计和雷达液位计在水利部门运用的十分广泛,这两种设备主要是对江河湖泊等的水位进行测量的一种监测仪器。虽然...
如何用 单片机 控制开关?就是可以控制开关“打开和闭合”的电路啊通过这些开关的打开或者闭合,可以实现许多控制功能,举个最简单的例子,水箱的进水和出水,各有一个开关,通过传感器...
怎样判断洗衣机水位传感器好坏?判断洗衣机水位传感器好坏方法:1、检查前首先确认洗衣机盛水桶里没有残留水、导气管有无扭结或堵塞的现象。2、电磁式水位传感器(水位传感器):若水位传感器...
如何在线收集数据?在线数据采集系统主要包括:数据采集单片机分机、主机和无线数据传输模块、PC接口。系统可提供各路检测数据曲线拟合功能,对电度参数进行日报、月报、统计造表;...
4-20ma模拟量无线传输有哪些成熟的方案?4-20mA是工业上常用的标准电流信号,但是电流信号是模拟量信号,模拟信号要转化为无线传输需要首先转换为数字量信号。题目要求抗干扰能力强、传输距离远,而且是...
求解C语言编写的51 单片机 用按键实现 暂停 开启-ZOL问答否则不执行该模式里面的内容1程序{};2启/停{用一个标志是否为1或为0,表示启动或暂停};3电源{进入SLEEP,再次按按键就唤醒单片机};4水位{当水位<
全自动洗衣机的水位传感器在哪里?-ZOL问答这种方式比较简单、成本低廉,但存在一些问题:如果浮球被污染或损坏,则会影响测量准确性;同时由于浮球与容器直接接触,容易产生水垢和污垢等问题。现代IC芯片式...
...在座的看官有谁知道么,高炉球团矿使用哪种料位开关 测量 物位?[回答]空闲状态下,无论是TX,还是RX,信号线都是1当出现0时就表示数据传送开始,这是起始位的作用.有个东西叫波特率,其实就是一个同步信号,当起始位出现后,...