摘 要:文中提出了一種基于物聯(lián)網(wǎng)的激光測(cè)距系統(tǒng),該系統(tǒng)主要由STM32F103單片機(jī)、ATK-MS53L1M激光測(cè)距模塊和ATK-HC05藍(lán)牙通信模塊構(gòu)成。該系統(tǒng)利用ATK-MS53L1M模塊對(duì)目標(biāo)進(jìn)行測(cè)距,數(shù)據(jù)傳給單片機(jī)程序進(jìn)行處理,最終通過(guò)ATK-HC05模塊將目標(biāo)距離信息傳輸?shù)揭苿?dòng)終端。該系統(tǒng)具有數(shù)據(jù)穩(wěn)定性高、精度高、響應(yīng)速度快等特點(diǎn),在室內(nèi)和室外的測(cè)距實(shí)驗(yàn)中,取得了較好的測(cè)距效果,為人們研究和開(kāi)發(fā)更加智能化的物聯(lián)網(wǎng)應(yīng)用提供了一定的參考。
關(guān)鍵詞:STM32;ATK-HC05藍(lán)牙通信模塊;激光測(cè)距;物聯(lián)網(wǎng);ATK-MS53L1M;STM32F103RCT6
中圖分類號(hào):TP39;TN835 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2024)06-00-03
0 引 言
激光測(cè)距應(yīng)用范圍廣泛,目前大部分激光測(cè)距儀器使用的是專用集成電路,但專用集成電路成本高、功能相對(duì)單
一[1]。隨著測(cè)量環(huán)境日益復(fù)雜,對(duì)激光測(cè)距儀測(cè)量功能的要求也在不斷增加,這對(duì)專用集成電路的挑戰(zhàn)無(wú)疑是巨大的。傳統(tǒng)的人工激光測(cè)距不僅精度低、誤差大,而且耗時(shí)費(fèi)力[2]。物聯(lián)網(wǎng)(Internet of Things, IoT)是繼計(jì)算機(jī)、互聯(lián)網(wǎng)之后的信息科學(xué)技術(shù)[3]。其按照約定的協(xié)議,通過(guò)使用RFID、紅外傳感器、激光掃描器等設(shè)備將物體之間的信息進(jìn)行互聯(lián)。物聯(lián)網(wǎng)能夠?qū)ξ锱c物間各自的信息進(jìn)行交換和分析處理,人們可以對(duì)物品進(jìn)行快速識(shí)別、全面定位、跟蹤以及管理[4]。通過(guò)互聯(lián)網(wǎng)的遠(yuǎn)程控制、遠(yuǎn)程數(shù)據(jù)采集、對(duì)數(shù)據(jù)進(jìn)行綜合處理等,都大大為現(xiàn)代化測(cè)量節(jié)省了人力與物力。引入物聯(lián)網(wǎng)后,可以極大拓展激光測(cè)距儀的使用范圍。
1 總體設(shè)計(jì)
系統(tǒng)框圖如圖1所示。該激光測(cè)距系統(tǒng)采用STM32F103RCT6單片機(jī)作為控制芯片,采用ATK-MS53L1M模塊進(jìn)行測(cè)距,具有高度的準(zhǔn)確性和穩(wěn)定性,可實(shí)現(xiàn)0~4 m測(cè)距范圍內(nèi)的高精度測(cè)量,測(cè)量精度可達(dá)±1 mm[5]。
紅外測(cè)距模塊采用標(biāo)準(zhǔn)串口,可以和單片機(jī)、主控板實(shí)現(xiàn)簡(jiǎn)單的串口通信。液晶屏顯示模塊采用TFTLCD,可顯示藍(lán)牙狀態(tài)和測(cè)量的目標(biāo)距離。藍(lán)牙模塊采用HC-05芯片實(shí)現(xiàn)物聯(lián)網(wǎng)功能,該芯片與單片機(jī)通過(guò)串口通信,單片機(jī)將測(cè)量的目標(biāo)距離通過(guò)串口發(fā)送給HC-05,HC-05再通過(guò)藍(lán)牙將數(shù)據(jù)傳送給手機(jī)或電腦等上位機(jī),以實(shí)現(xiàn)遠(yuǎn)程測(cè)距。
2 激光測(cè)距模塊
本研究計(jì)劃使用ATK-MS53L1M以及相關(guān)電路通過(guò)串口與STM32單片機(jī)進(jìn)行數(shù)據(jù)傳輸。激光測(cè)距模塊是一款自帶鏡片光學(xué)過(guò)濾,支持串口通信,具有高分辨率,精度在+3%~+7%之間的半導(dǎo)體激光測(cè)距儀,可以對(duì)4 m范圍內(nèi)的物體進(jìn)行距離測(cè)量[6]。該模塊不但滿足了實(shí)驗(yàn)的測(cè)量要求,還能在保證測(cè)量精度的前提下穩(wěn)定測(cè)量距離數(shù)據(jù)。激光測(cè)距模塊電路如圖2所示。
ATK-MS53L1M模塊通過(guò)1×6排線同外部相連。該封裝有6個(gè)引腳,分別為SDA、SCL、RXD、TXD、GND和VCC,各引腳功能見(jiàn)表1所列。
ATK-MS53L1M與單片機(jī)連接時(shí),需要將TXD、RXD分別和單片機(jī)的I/O口連接,ATK-MS53L1M 與單片機(jī)連接電路如圖3所示。
3 主控模塊
單片機(jī)是激光測(cè)距系統(tǒng)的核心控制部件,它負(fù)責(zé)控制系統(tǒng)的運(yùn)行。單片機(jī)可以實(shí)現(xiàn)對(duì)測(cè)距模塊的控制和數(shù)據(jù)處理,以及將測(cè)距模塊采集的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)并進(jìn)行數(shù)據(jù)傳輸。同時(shí),單片機(jī)還可與外部設(shè)備如藍(lán)牙模塊通信,將處理后的數(shù)據(jù)傳輸給上位機(jī)APP進(jìn)行顯示和處理。
本系統(tǒng)設(shè)計(jì)中,單片機(jī)扮演著控制、顯示、傳輸?shù)戎匾巧?。為了滿足系統(tǒng)設(shè)計(jì)要求,單片機(jī)需至少具備4個(gè)I/O口、TXD、RXD、液晶屏、晶振、定時(shí)器、中斷、I2C總線等。在選擇單片機(jī)時(shí),需要考慮現(xiàn)代社會(huì)對(duì)環(huán)保、綠色的要求,優(yōu)先選擇功耗低、精度高的單片機(jī),以滿足系統(tǒng)設(shè)計(jì)的要求。
綜合考慮各方面因素后,我們發(fā)現(xiàn)STM32F103RCT6單片機(jī)在實(shí)現(xiàn)系統(tǒng)功能的同時(shí)能夠更加高效地節(jié)約能源,而且集成度也更加優(yōu)越。STM32F103RCT6引腳如圖4所示,該單片機(jī)可以滿足本設(shè)計(jì)的要求。
4 藍(lán)牙模塊
HC-05藍(lán)牙模塊是一種基于藍(lán)牙2.0協(xié)議的串口透?jìng)髂K,可以實(shí)現(xiàn)藍(lán)牙通信功能。它由主板與藍(lán)牙芯片組成,支持藍(lán)牙串口協(xié)議傳輸,可以簡(jiǎn)單和單片機(jī)、主控板及其他設(shè)備進(jìn)行串口通信[7]。
HC-05模塊的工作電壓為3.3 V,支持多種數(shù)據(jù)傳輸速率,可使用AT命令配置,具有自動(dòng)連接、自動(dòng)配對(duì)、多點(diǎn)連接等功能。該模塊外形小巧,安裝方便,廣泛應(yīng)用于無(wú)線控制、藍(lán)牙音頻、藍(lán)牙數(shù)據(jù)傳輸?shù)阮I(lǐng)域[8]。
HC-05藍(lán)牙模塊可以使用的模式有兩種,命令響應(yīng)工作模式(AT)和自動(dòng)連接工作模式。在自動(dòng)連接工作模式下模塊又可分為主(Master)、從(Slave)和回環(huán)(Loopback)三種工作模式[9]。
(1)AT命令模式
在AT命令模式下,用戶可以通過(guò)串口向HC-05模塊發(fā)送AT指令來(lái)配置模塊參數(shù)。用戶可以通過(guò)更改這些參數(shù)來(lái)實(shí)現(xiàn)不同的功能,如更改藍(lán)牙名稱、配對(duì)密碼、接收數(shù)據(jù)速率等。需要將藍(lán)牙模塊的EN引腳與VCC相連才能進(jìn)入AT命令模式。
(2)自動(dòng)連接工作模式
在自動(dòng)連接工作模式下,HC-05模塊將接收到的數(shù)據(jù)傳輸?shù)酱谳敵鲆_,用戶可以直接通過(guò)串口將數(shù)據(jù)發(fā)送給其他設(shè)備,并且通過(guò)串口接收其他設(shè)備發(fā)來(lái)的數(shù)據(jù)并傳輸?shù)紿C-05模塊,實(shí)現(xiàn)無(wú)線串口傳輸功能。根據(jù)自動(dòng)連接工作模式在不同情況下的設(shè)置,可以實(shí)現(xiàn)主從藍(lán)牙設(shè)備的連接和數(shù)據(jù)傳輸?shù)裙δ堋?/p>
HC-05模塊默認(rèn)為自動(dòng)連接工作模式,需要輸入AT指令,將模塊切換到AT命令模式下進(jìn)行參數(shù)配置。HC-05模塊可以通過(guò)AT+C命令將自動(dòng)連接工作模式與AT命令模式進(jìn)行切換。
一旦STM32F103RCT6主控模塊和上位機(jī)通過(guò)藍(lán)牙模塊建立了藍(lán)牙通道,雙方即可傳遞采集的數(shù)據(jù),或者上位機(jī)發(fā)送指令讓STM32F103RCT6主控模塊識(shí)別并發(fā)送該數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的傳輸和控制。通過(guò)藍(lán)牙通道可以使數(shù)據(jù)傳輸更加方便、靈活,同時(shí)提高了系統(tǒng)的可靠性和安全性[10]。
HC-05藍(lán)牙模塊與STM32上位機(jī)連接如圖5所示。
5 軟件設(shè)計(jì)
5.1 軟件控制介紹
基于藍(lán)牙的激光測(cè)距系統(tǒng)軟件包括以下部分:
(1)嵌入式軟件:嵌入式軟件以STM32F103RCT6單片機(jī)為核心,使用Keil等工具編寫(xiě),實(shí)現(xiàn)激光控制、返回信號(hào)采集、數(shù)據(jù)處理、通信等核心功能。
(2)激光傳感器驅(qū)動(dòng)軟件:使用ATK-MS53L1M激光測(cè)距傳感器,需要編寫(xiě)相應(yīng)的驅(qū)動(dòng)軟件,運(yùn)用STM32F103RCT6的GPIO、外部中斷等功能,通過(guò)SPI總線與主控單片機(jī)通信,并讀取傳感器返回的距離數(shù)據(jù)。
(3)通信軟件:采用HC-05藍(lán)牙模塊需要編寫(xiě)相應(yīng)的通信軟件,運(yùn)用STM32F103RCT6提供的UART通信功能和AT指令集,實(shí)現(xiàn)藍(lán)牙模塊的配置和數(shù)據(jù)傳輸功能。
(4)上位機(jī)軟件:上位機(jī)程序可以通過(guò)藍(lán)牙模塊與STM32F103RCT6進(jìn)行數(shù)據(jù)交互,獲取傳感器測(cè)量數(shù)據(jù)。
5.2 軟件設(shè)計(jì)流程
單片機(jī)軟件采用C語(yǔ)言STM32的HAL庫(kù)函數(shù)編寫(xiě),其流程如圖6所示。在按鍵KEY0的控制下采集激光測(cè)距的值,采集的值通過(guò)藍(lán)牙模塊把數(shù)據(jù)發(fā)送給上位機(jī)。按鍵KEY1可以用來(lái)控制測(cè)距模塊的工作模式。
6 系統(tǒng)測(cè)試
為了檢測(cè)本系統(tǒng)的準(zhǔn)確度,文中設(shè)計(jì)了準(zhǔn)確度實(shí)驗(yàn),我們選擇可以精確到毫米后兩位的電子游標(biāo)卡尺進(jìn)行對(duì)比,用游標(biāo)卡尺設(shè)置測(cè)量距離70 mm、140 mm、210 mm、
270 mm,使用激光測(cè)距儀測(cè)量。測(cè)量3次取平均值并將數(shù)據(jù)記錄在測(cè)量結(jié)果表中,對(duì)比分析這3種測(cè)距結(jié)果的差距,并計(jì)算誤差率。通過(guò)改變測(cè)試目標(biāo)的距離,測(cè)得的測(cè)距誤差率見(jiàn)表2所列。
根據(jù)實(shí)驗(yàn)所測(cè)得的數(shù)據(jù)進(jìn)行對(duì)比可以看出,測(cè)量存在一定誤差,為2.415%。同時(shí)可以看出,測(cè)試距離越遠(yuǎn)測(cè)試所得的誤差值越小,誤差存在的可能原因是測(cè)距模塊自身存在測(cè)量誤差,且測(cè)量環(huán)境中環(huán)境光線的影響同樣會(huì)對(duì)測(cè)量工具產(chǎn)生影響。從實(shí)驗(yàn)結(jié)果來(lái)看,設(shè)計(jì)的測(cè)距系統(tǒng)雖然存在誤差但基本符合預(yù)期要求。
7 結(jié) 語(yǔ)
文中介紹了一種基于藍(lán)牙的激光測(cè)距系統(tǒng)。該系統(tǒng)精度較高、簡(jiǎn)單小巧,可通過(guò)藍(lán)牙遠(yuǎn)程監(jiān)測(cè)目標(biāo)的距離,可應(yīng)用于電子技術(shù)、建筑、軍事等領(lǐng)域,具有廣闊的應(yīng)用前景。
參考文獻(xiàn)
[1]蔡明威. 脈沖激光定位系統(tǒng)設(shè)計(jì)[D].武漢:華中師范大學(xué),2014.
[2]冉鵬,謝金潔.物聯(lián)網(wǎng)技術(shù)在遠(yuǎn)程醫(yī)療系統(tǒng)中的應(yīng)用現(xiàn)狀[J].物聯(lián)網(wǎng)技術(shù),2022,12(8):88-89.
[3]詹劍.智能物聯(lián)網(wǎng)技術(shù)應(yīng)用及發(fā)展 [J].電子技術(shù)與軟件工程,2019,26(4):10.
[4]楊光照,許春暉,張德浩,等.基于單片機(jī)的激光測(cè)距系統(tǒng)設(shè)計(jì)[J].中國(guó)新技術(shù)新產(chǎn)品,2012,20(10):36-37.
[5]劉綿詩(shī).基于心率信號(hào)的睡眠監(jiān)測(cè)儀的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京郵電大學(xué),2018.
[6]官俊濤,陳程俊,秦夢(mèng)瑩,等.基于ARM的智能公交系統(tǒng)設(shè)計(jì)[J].應(yīng)用科技,2017,44(2):78-83.
[7]吳賡.藍(lán)牙技術(shù)在單片機(jī)控制中的應(yīng)用[J].機(jī)電信息,2021,21(26):60-61.
[8]呂蒙. 微型化高精度數(shù)據(jù)采集模塊的設(shè)計(jì)[D].成都:電子科技大學(xué),2019.
[9]劉綿詩(shī). 基于心率信號(hào)的睡眠監(jiān)測(cè)儀的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京郵電大學(xué),2018.
[10]羅杰.基于STM32的艾灸床監(jiān)控系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)[D].廣州:廣東工業(yè)大學(xué),2021.
基金項(xiàng)目:廣西醫(yī)科大學(xué)“未來(lái)學(xué)術(shù)之星-大學(xué)生課外創(chuàng)新科研課題”(WLXSZX23077)