APP下载

基于GSM的远程无线超声波测距控制系统的设计

2013-08-26范蟠果王国斌

机械与电子 2013年9期
关键词:数码管测距命令

范蟠果,王国斌,高 庆

(西北工业大学自动化学院,陕西 西安 710129)

0 引言

在工业生产中,液罐液位的准确测量是生产过程检测和实时控制的基本保障,利用超声波测距可以实现对液位定点连续测量,实际中,最常用的是超声脉冲回波法[1]。

GSM网络[2]通信的通信范围不断扩大,已成为成熟、稳定和可靠的通信网络。因此,利用GSM网络实现手机和无线数传模块DTU[3]的通信,具有快速、安全、可靠和便捷的特点,在市场上有一定的应用价值。

1 原理实现

在系统中,GSM DTU无线数传模块选用DTP-S09,模块集成度高,支持AT命令集[4]。给无线模块插入SIM卡,连接好天线,将DTU模块与电脑通过串口连接,上电后,通过串口调试助手,手动写入AT命令,以测试DTU是否能准确接收并执行AT命令;DTU模块与STC89C52之间采用串口通信,当DTU接收到固定号码的手机发来的短信命令后,通过串口将短信命令返回到控制核心STC89C52,单片机进行短信解码,将其转换成具体的执行命令,通过IIC总线将控制命令送与超声波测距模块,测距模块开始执行测距,测距数据通过数码管显示以进行现场验证,测距完毕,DTU接收单片机发来的AT发送短信命令,将测距数据以短信的形式返回到固定号码的手机。系统总体结构如图1所示。

图1 系统总体结构

2 硬件设计

2.1 控制核心

系统采用STC89C52单片机作为主控制器,部分硬件电路如图2所示。系统上电后,RST引脚进行复位,P2.0脚发送测距启动信号,以进行手动测距,验证测距模块是否正确运行。P1.0脚和P1.1脚分别作为IIC通信的数据线SDA和时钟线SCL,P3.0和P3.1分别作为串行通讯的RXD接收信号线和TXD发送信号线。实际应用中,需要将测距返回来的数据通过数码管显示,以现场验证测距模块测量的数据是否准确,其中,P0.0~P0.7作为数码管的段选信号,P1.5,P1.6,P1.7作为数码管的位选信号,经过38译码器驱动数码管。

图2 部分硬件电路

2.2 执行组件

选用的无线模块DTU(DTP-S09)在硬件全部接好后(插入SIM卡,上电,接上天线),就相当于普通手机。实验中,电脑键盘相当于手机按键,DTU通过串口与电脑通信,在其专用的串口调试助手中写入AT命令,其传送数据就显示在接收区域,以此测试DTU模块是否接触良好。实际应用中,无线模块与单片机通过串口连接,用号码固定的手机给DTU里号码固定的SIM卡发送控制命令,如发送cj,启动测距,测距完毕,将测距数据返回到手机。

系统选用市场上常见的KS103超声波模组。模组探测范围为1~550cm,增加了温度模块DS18B20,其测量精度可高达1mm,仅占用单片机的2个I/O,非常适用于机器人和工业测距等场合。可以通过配置其命令格式,设置其测距量程、温度修正和休眠等待时间等参量。

3 软件设计

短信命令的格式可通过AT命令进行设置,分为Text格式和PDU格式,Text是纯文本方式,可支持数字、字母,各字符可在软件中设置为不同的控制指令;PDU可以使用任何字符集,解码也较复杂,系统选用Text格式。

软件设计之前,利用DTU专用串口调试助手测试AT命令,包括读短信、发短信和删除短信等AT命令。

系统的软件流程如图3所示。软件设计共分为2部分:

a.DTU与单片机的串口通信,要求DTU能实时接收有效号码的短信,单片机能准确迅速地读取短信命令,并进行解码,将其转化为单片机可执行的命令,当接收到错误短信或非法短信,应立即进行删除。

b.单片机与超声波模组IIC总线方式通信,可使用单片机模拟IIC总线通信,编写驱动代码,将测距返回值显示在数码管上。

图3 软件流程

4 结束语

系统中的测距部分选用收发一体的集成模块,方便可靠,在软件实现过程中只需要编写IIC驱动代码,采用IIC总线的通信方式,也方便用户使用最少的I/O口扩展多个超声波模组。采用单片机与DTU模块实现手机远程控制测距模块测距,并返回测试数据到手机。控制系统非常适用于工业中不利于人操作或者布线困难的场合,而且安装调试简单,成本低,精度高,具有一定的实际应用价值。

[1]何建新,黄 静,雷学堂,等.基于AT89C52的超声波测距仪设计[J].电子世界,2012,(23):119-120.

[2]崔晓明,候建军,栗 霖.基于GSM的嵌入式远程电机监控系统的设计与实现[J].仪器仪表用户,2006,13(6):24-25.

[3]张兵涛,时良平.基于GPRS DTU的远程异步电机监控系统的设计[J].科协论坛,2007,(11):62-67.

[4]姜 平,陈虹吉.基于GSM手机的远程无线测控系统设计[J].信息技术,2008,(10):62-64,67.

猜你喜欢

数码管测距命令
只听主人的命令
类星体的精准测距
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
基于Qt的数码管数字编码系统的设计与实现
移防命令下达后
浅谈超声波测距
这是人民的命令
基于PSOC超声测距系统设计