?

基于CC3200的超聲波測距

2019-07-25 01:44羊日飛黃平
物聯網技術 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請求??蛻舳硕〞r發出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.

猜你喜歡
遠程監測數據采集物聯網
基于開源系統的綜合業務數據采集系統的開發研究
中國或成“物聯網”領軍者
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合