APP下载

基于CC3200的超声波测距

2019-07-25羊日飞黄平

物联网技术 2019年4期
关键词:远程监测数据采集物联网

羊日飞 黄平

摘 要:针对物联网领域距离数据采集与远程监测的需求,设计实现基于TI CC3200的超声波测距系统。该系统采用超声波传感器测距,通过TI CC3200处理器对超声波传感器模块进行控制,并利用内置WiFi功能的网络处理器联网,实现无线方式的数据传输,工作在AP模式下的Web服务器可使用户通过网页远程开启并持续监控距离测量的结果。

关键词:物联网;数据采集;远程监测;TI CC3200;超声波测距;传感器

中图分类号:TP39文献标识码:A文章编号:2095-1302(2019)04-00-03

0 引 言

物联网是融合了传感器、计算机、通信网络、半导体技术实现的物与物之间的互联通信,其核心是“物物互联”[1]。传感器技术是物联网的关键技术之一,承担了对信息的实时采集,而无线网络通信技术则承担了对信息的有效传递。

客观世界里,物体总处在不断的运动变化中,因此物体之间距离的变化经常是需要实时监测的物理量。在物联网领域,距离数据采集与远程监测是常需解决的问题。

利用超声波遇到障碍物反射的原理制成的超声波传感器可用于近距离测量。超声波传感器模块能够将超声波的传输时间转换为电信号脉冲宽度,测量出脉冲宽度与已知声音的传输速度,经过计算转换就能得到待测距离。

TI CC3200是德州仪器推出的一款用于物联网解决方案的单片无线MCU,内部集成了WiFi处理器,可通过CC3200实现测距数据的无线传输与远程监控。本文主要利用CC3200连接超声波测距模块,并在此基础上通过CC3200工作在WiFi无线AP模式,实现用户通过浏览器在网页中控制与实时获取测距结果。

1 总体设计

本文系统由超声波模块、CC3200 Launchpad、客户端浏览器等组成。超声波模块用于发射、接收超声波,并将超声波的传播时间转换为电信号的脉冲宽度。CC3200 Launchpad板是整个系统的核心,其与超声波模块相连接,负责发送触发信号,启动超声波测距,接收脉宽信号,计算并转换为距离数据,同时作为WiFi无线AP服务器,将距离数据传输到客户端浏览器。用户使用时,在浏览器中打开CC3200服务器页面,通过页面中的按钮启动测距,网页中即可实时显示当前距离数据(单位:mm)。系统总体结构如图1所示。

2 系统硬件

2.1 超声波模块

本文系统采用的超声波模块具备如下功能特性:

(1)工作电压为直流5 V;

(2)发射40 kHz超声波进行测距;

(3)最远探测距离为3.5 m,最近探测距离为3 cm;

(4)探测精度为3 mm。

模块接口信号包括VCC电源正极、GND地、Trig触发信号输入、Echo回波信号输出。其中,Trig触发信号用于启动单次测距,由CC3200的I/O口输出到超声波模块;Echo回波输出信号的高电平脉冲宽度表示超声波的往返传输时间,输出到CC3200 的I/O口进行采集,具体时序如图2所示。

2.2 SimpleLinkTM CC3200 Launchpad

本文系统的核心部件是CC3200 Launchpad开发板,CC3200是TI推出的一款以ARM Cortex-M4为核心,集成WiFi网络处理器的MCU,主要应用于物联网解决方案。而CC3200 Launchpad是TI为研发CC3200处理器应用提供的开发板,该开发板上集成有Micro USB接口(可连接电脑用于供電和调试)、FTDI JTAG仿真器(支持串口编程)及40 Pin接口(用于连接外部器件)等。CC3200 硬件概况如图3所示。

CC3200 MCU有多达27个GPIO口,分为4组(GPIOA0~3),可编程为输入或输出引脚,所有GPIO引脚均有中断能力,具有可配置的驱动能力。本文系统使用CC3200的2个GPIO口:其中一个作为输出,用于与超声波模块的Trig脚相连;另一个作为输入,与超声波模块的Echo脚相连。

2.3 3.3 V转5 V接口电路

因为CC3200 Launchpad板的工作电压为3.3 V,而超声波模块的工作电压为5 V,所以当CC3200 GPIO引脚与超声波模块引脚互联时,需要解决3.3 V到5 V的电平转换问题。本文系统采用的方法分为如下两种情况:

(1)CC3200 引脚输出,超声波模块Trig引脚输入。根据CC3200的Datasheet,其GPIO引脚输出逻辑“1”的电压VOH≥2.4 V,因此可以与超声波模块Trig引脚直接相连。

(2)CC3200引脚输入,超声波模块Echo引脚输出。采用电阻分压做电平转换,具体电路如图4所示。

电阻取值为R1=1.2 MΩ,R2=1.2 MΩ时,可保证CC3200输入高电平的电压大于VIH=0.65Vcc=2.132 V,且输入低电平的电压不高于VIL=0.35Vcc=1.148 V(Vcc=3.28 V)。

3 系统软件

本文系统的网络架构采用典型的客户端-服务器模式。CC3200的SimpleLink网络处理器工作在无线AP模式,作为服务器监听客户端发来的请求。用户可使用PC、手机、平板连接该系统的无线AP,用浏览器打开对应网页,网页中的按钮用于发出开启与关闭测距的指令,前端网页设计中采用AJAX技术在不重新加载全部页面的情况下实时更新显示当前测距结果。

3.1 CC3200程序设计

CC3200 MCU程序在CCS集成开发环境下开发,TI同时提供了软件开发包CC3200 SDK,SDK中包含外设驱动库、SimpleLink网络处理器驱动代码、各种网络协议API,TI-RTOS实时操作系统等,用户可充分利用这些已有的API和库更高效地编写CC3200 MCU的各种应用程序。本文系统总体流程如图5所示。

3.1.1 GPIO口配置

正确配置CC3200的GPIO口是连接超声波模块程序的基础。PinMuxConfig()为GPIO引脚复用配置函数,其中调用MAP_PinTypeGPIO()设置引脚类型,MAP_GPIODirModeSet()设置引脚方向,参数GPIO_DIR_MODE_IN为输入,GPIO_DIR_MODE_OUT为输出。

3.1.2 Echo脉冲宽度测量

CC3200内部有4个32位可编程通用定时器,本文程序使用其中的TIMERA0,操作模式由函数Timer_IF_Init()设置为TIMER_CFG_ONE_SHOT,即32位单次定时器。当查询检测到Echo信号被拉高时,调用函数Timer_IF_Start()开始定时器计时,然后等待Echo信号被拉低,再停止定时器计时,调用MAP_TimerValueGet()获取定时时间,该函数返回的时间数值单位为毫秒。本文程序同时设置定时器中断作为Echo信号超时处理。

3.1.3 距离计算

距离计算公式为:被测距离=(Echo信号脉冲宽度×声速)/2。其中,Echo信号脉冲宽度已通过定时器获取,声速一般是340 m/s,该值可根据实际测量时的环境情况校准。

3.1.4 响应GET请求

SimpleLinkHttpServerCallback()是处理HTTP服务器事件的回调函数,其中由case语句分类处理客户端的POST和GET请求。客户端定时发出GET请求获取测距数据,并且该GET请求用“__SL_G_DST”进行标记。“__SL_G_DST”是程序根据预定义标记(Token)规则定义的用户标记,用以标识网页对服务器测距数据的请求。SimpleLinkHttpServerCallback()接收到该标记后,将测距数据的值转换为字符串作为标记值返回至客户端。

3.2 前端网页程序设计

本文应用的网页存储在CC3200内部FLASH中,需要事先使用TI的CCS UniFlash工具进行编程烧录。网页程序使用Javascript语言编写,在客户端设备上执行。为了能够在不重载页面的情况下与服务器交换数据,实时显示测距结果,本文采用AJAX技術。对于程序中编写的标记轮询函数com.TI.tokenPoller(),第一个参数“paramPage”指定调用$.ajax()时的参数网页,第二个参数“refreshRate”控制轮询的周期即数据刷新时间,第三个参数“valueMap”指定调用$.ajax() 函数时包含的GET标记“__SL_G_DST”,同时参数也指定了服务器成功返回时的处理函数,该函数用于获取返回的“__SL_G_DST”标记的值,并更新网页中的测距结果显示。

4 结 语

本文介绍了基于CC3200芯片的超声波测距系统,该系统实现了距离的检测及测量结果的无线传输。本文充分利用了CC3200芯片集成的网络功能,以单芯片方式实现了连接传感器模块测距与HTTP服务器两个功能,使用户能方便地通过网页获取测距结果,在物联网数据采集领域具有一定的应用价值。

注:本文通讯作者为黄平。

参 考 文 献

[1]赵静,喻晓红,黄波,等.物联网的结构体系与发展[J].通信技术,2010,43(9):106-108.

[2] TI.CC3200 SimpleLinkTM WiFi and internet of things solution,a single-chip wireless mcu datasheet [EB/OL].[2015-08-12].http://www.ti.com/product/CC3200MOD/description.

[3] TI.Interfacing the 3 V MSP430TM MCUs to 5 V Circuits.[EB/OL].[2018-05-15].http://msl.gaw.ru/pdf/TI/app/msp430/slaa148.pdf.

[4]郭书军.ARM Cortex-M4+WiFi MCU应用指南[M].北京:电子工业出版社,2015.

[5]刘学飞,胡泽,范维志.一种高精度超声波测距系统研究[J].物联网技术,2013,3(1):18-19.

[6]刘晓玲,丁保全.基于STM32的多旋翼无人机超声波测距系统[J].物联网技术,2016,6(2):13-16.

[7]李琦,徐阳,梁丽.基于CC3200的气象数据采集与远程通信系统[J].计算机工程与应用,2017,53(13):235-239.

[8]郭书军,田志鹏.基于单片WiFi MCU CC3200的无线串口[J].仪器仪表用户,2016(1):24-27.

[9]刘巧利,贺鹏飞,周洋.基于CC3200的远程环境监测与控制系统[J].物联网技术,2017,7(10):56-58.

[10]李剑.基于CC3200的WiFi遥控器设计[D].兰州:兰州大学,2017.

猜你喜欢

远程监测数据采集物联网
基于开源系统的综合业务数据采集系统的开发研究
中国或成“物联网”领军者