何德伍
DOI:10.16661/j.cnki.1672-3791.2016.27.025
摘 要:该液位监测控制系统主要是通过传感器将液位的高度测量出来,然后发送到上位机,通过静态和动态图形显示的方法来对液位进行监测;上位机上面设定相应的按钮可以对下位机进行控制,让下位机去完成指定的动作。上位机和下位机采用蓝牙进行通信。上位机是在PC端运行的应用程序,下位机是由单片机组成的执行和反馈系统。
关键词:单片机 蓝牙 上位机
中图分类号:TP273 文献标识码:A 文章编号:1672-3791(2016)09(c)-0025-02
液位监控技术是近几年才发展起来的一项新技术。它的诞生标志着科学技术又向前迈进了一大步。此技术主要用来监测一些如高压,易爆的特殊液体。
该系统使用STC89C51单片机作为下位机的主控芯片。通过它来读取液位值,接收和处理上位机的命令,以及对外部电路的控制。
1 硬件以及电路
该系统硬件主要由单片机最小系统、继电器电路、DS18B20电路构成。使用到的模块有:蓝牙模块HC-06、超声波模块HC-SR04以及USB转TTL模块。
1.1 下位机控制电路
下位机控制电路是以单片机作为控制核心,通过使用继电器来控制液体进出开关的打开与关闭。其电路原理图如图1所示。
单片机通过拉低自身与继电器相连的引脚,使继电器内部的线圈产生磁力来带动衔铁的吸合,继而让液体进出开关打开或者关闭。继电器是一种常用的弱电控制强电元件。该次使用的是5 V的直流电控制220 V的交流电,使用它最大的好处就是能让人安全的控制设备,不会造成事故。
1.2 指示灯电路
指示灯电路主要用来体现整个硬件的工作状态。他由LED和电阻串联在一起构成,其中电阻起到一个限流的作用,用来保护指示灯不被损坏。当它们所指示的电器电路没有工作时,就不会发光,反之就会发光。
1.3 液位测量电路
液位的测量主要使用超声波模块HC-SR04来测量。此模块共有4个引脚,除了两个正负极引脚外,另外两个分别是TRIG、ECHO。这种模块在配合单片机进行测距时,首先给与TRIG引脚1个10us的高电平,然后等待ECHO引脚拉高,一旦拉高就开启单片机的定时器进行计时。最后测量出来的距离就等于声速乘以时间最后除以2。
上面所做的只是粗略的测量,大家知道声速受到温度的影响很大,所以要进行温度补偿,并要使用温度传感器。最后声速的大小修改为:声速=334.1+0.61×温度。
1.4 上位机下位机的通信
上位机与下位机的通信实际是串口通信。上位机和下位机实时的数据交换就是通过串口实现。下位机向上发数据时,先把液位值发送到缓冲区然后上位机会识别此数据,最后进行处理。上位机向下发数据也是发送到缓冲区,下位机检测到上位机发下来的数据就进行判断,然后进行相关的控制动作。
2 软件设计
2.1 下位机程序流程
下位机中只要一打开电源开关,整个下位机就开始测距然后一直向上位机发送液位的距离。当上位机有数据发下来时,下位机就产生中断,在中断里匹配此数据对应的程序命令,进而执行上位机的命令,直到中断结束,最后又重复进行测距和发送液位数据的步骤(如图2)。
2.2 上位机制作
上位机采用软件visual studio进行开发,开发所用到的语言是C Sharp。其界面如图3所示。
由于电脑的串口有很多,所以要使用一个comboBox(下拉框)选择通信的串口,当串口选择后要对串口进行控制,因此使用button(按钮)来打开或者关闭串口。上位机的第一个功能是对液位进行监测。理所当然要能够动态的显示液位的高度值。实现此功能是则需要一个标签来显示液位的高度值,但光是一个标签显示还不够,最好还要加上一个图形来动态显示,所以内嵌一个了progressBar。progressBar来显示液位的变化趋势。而上位机实现控制下位机硬件是通过button来实现的,上位机中总共设计了4组开关,其中两个是液体进入和液体排出开关。另外两个是留着扩展的,方便以后进一步的升級。
上位机只要没有打开串口或者是串口打开错误时就一直等待,直到打开串口就开始工作。串口只要一打开马上显示串口数据,然后就等待是否有相关的按钮被点击,如果有就发送与此按钮相关的命令到串口上。
3 系统测试
测试采用上位机和下位机先分开测试,再合起来测试的思路看该系统是否符合要求。其测试方法与结果如表1所示。
4 结语
进过测试该系统完全符合要求。上位机可以显示液位高度值以及液位的变化趋势,同时还可以通过点击上位机的相关按钮来控制下位机中的硬件。下位机能实时发送液位值到上位机中,当接收到上位机命令时,下位机也能执行此命令。
参考文献
[1] 甘勇,尚展垒.C#程序设计[M].北京:人民邮电出版社,2016.
[2] 郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2009.
[3] Robin Heydon.低功耗蓝牙开发权威指南[M].北京:机械工业出版社,2014.
[4] 明日科技.C#入门到精通[M].3版.北京:清华大学出版社,2012.
[5] 黄杰勇.Alrium Designer实战攻略与高速PCB设计[M].北京:电子工业出版社,2015.