基于nRF24L01和Cortex-M3的無(wú)線測(cè)控系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
在許多工業(yè)或救災(zāi)現(xiàn)場(chǎng),通常都會(huì)存在一些人工無(wú)法直接進(jìn)入或者人工進(jìn)入易出現(xiàn)危險(xiǎn)的場(chǎng)合。此時(shí)就需要一個(gè)智能系統(tǒng)來(lái)實(shí)現(xiàn)無(wú)線遙控并采集前方的物理量,將其回傳至手持測(cè)控端。為此,本文給出了一種基于nRF24L01和Cortex的無(wú)線測(cè)控系統(tǒng)的開發(fā)方法。
1測(cè)控系統(tǒng)功能說(shuō)明
本測(cè)控系統(tǒng)由手持式遙控端、測(cè)控小車端和PC上位機(jī)三部分構(gòu)成,圖1所示是該測(cè)控系統(tǒng)的整體框架圖。
遙測(cè)小車恁Z手持遙控端u=>PC上位機(jī)
圖1測(cè)控系統(tǒng)整體框架圖
本測(cè)控系統(tǒng)的主要功能:一是用手持式遙控端操作遙測(cè)小車全方位移動(dòng);二是用遙控端控制小車來(lái)采集前方的溫度、氣體、氧含量、濕度和是否有人體存在等信息,并回傳至手持遙控端;三是智能小車帶有超聲波避障傳感器,可以自動(dòng)避開障礙物以防損壞小車;四是用手持遙控端通過(guò)串行接口向PC機(jī)回傳小車的行駛路徑。
2硬件模塊
本測(cè)控系統(tǒng)的硬件部分由手持遙控端和測(cè)控小車端兩大模塊構(gòu)成。其中手持遙控端可以操控遙測(cè)小車移動(dòng)并采集數(shù)據(jù),也能通過(guò)串口將實(shí)時(shí)信息發(fā)送至PC端,然后通過(guò)PC端軟件間接操控遙測(cè)小車。
手持遙控端由CPU、LCD顯示屏、用戶操控按鍵和無(wú)線收發(fā)模塊構(gòu)成。測(cè)控小車端由CPU(本系統(tǒng)選用Cortex-M3)、nRF24L01無(wú)線收發(fā)模塊、電機(jī)驅(qū)動(dòng)模塊、超聲波避障模塊和溫濕度氣味傳感器等組成。圖2所示是系統(tǒng)測(cè)控小車端的原理框圖。
圖2測(cè)控小車端原理框圖
nRF24L01無(wú)線收發(fā)模塊是一款真正的單片射頻無(wú)線收發(fā)模塊,其工作于2.4GHz開放頻段。此收發(fā)模塊由集
成頻率同步器、放大器、晶振、調(diào)制解調(diào)器和一個(gè)增強(qiáng)型ShockBurst協(xié)議引擎組成。輸出功率、頻率和協(xié)議配置由簡(jiǎn)單易用的SPI接口來(lái)實(shí)現(xiàn)控制。nRF24L01無(wú)線收發(fā)模塊的功率消耗非常低,只有9mA左右,而且其內(nèi)置的待機(jī)模式控制器使得超低功耗的實(shí)現(xiàn)更加簡(jiǎn)單。此無(wú)線收發(fā)模塊可以用于無(wú)線遙控、門禁、工業(yè)數(shù)據(jù)采集、無(wú)線標(biāo)簽、身份識(shí)別、機(jī)器人控制等領(lǐng)域。
電機(jī)驅(qū)動(dòng)模塊中的電動(dòng)機(jī)正反轉(zhuǎn)控制電路原理圖如圖3所示。該電路由四個(gè)三極管連接成電橋,直流電動(dòng)機(jī)接在橋臂上。當(dāng)IN1、IN2輸入為00時(shí),Q1、Q3截止,電動(dòng)機(jī)兩側(cè)電壓為零,電動(dòng)機(jī)停轉(zhuǎn);當(dāng)輸入為01時(shí),Q3、Q2導(dǎo)通,電動(dòng)機(jī)內(nèi)部電流方向?yàn)樽杂抑磷?,電?dòng)機(jī)反轉(zhuǎn);輸入為10時(shí),Q1、Q4導(dǎo)通,電流方向?yàn)樽宰笾劣遥妱?dòng)機(jī)正轉(zhuǎn)。小車行走控制由兩塊H橋組成,當(dāng)兩個(gè)電動(dòng)機(jī)都正轉(zhuǎn)時(shí),小車直行,一正一反時(shí)小車轉(zhuǎn)彎。
圖3電機(jī)驅(qū)動(dòng)單元電路
超聲波避障模塊的避障功能實(shí)現(xiàn)可以有很多種選擇,可以選擇超聲波傳感器或紅外避障傳感器。紅外傳感器結(jié)構(gòu)簡(jiǎn)單,造價(jià)低廉,但是測(cè)距精度比較低,而且測(cè)距精度與被測(cè)物體的顏色有直接關(guān)系,導(dǎo)致當(dāng)障礙物顏色比較深時(shí),避障效果較差;超聲波測(cè)距精度高,只是成本較高,微控制器程序復(fù)雜。超聲波傳感器有四個(gè)引腳,分別是電源、地、觸發(fā)輸入和回響輸出。首先,微控制器需要向觸發(fā)引腳輸出觸發(fā)脈沖(寬度在10?20us),然后超聲波傳感器就開始向外發(fā)射40kHz的超聲波。當(dāng)接收探頭收到被測(cè)物反射回來(lái)的超聲波后,響應(yīng)引腳輸出一個(gè)高電平,持續(xù)時(shí)間和超聲波從發(fā)射到接收的時(shí)間間隔相等。微控制器只需要統(tǒng)計(jì)回響引腳的高電平時(shí)間,再乘以超聲波在空氣中的傳播速度就能得到被測(cè)物與超聲波傳感器之間的距離。在車架四周安裝有多個(gè)超聲波探頭,微控制器可以周期性地查詢距離四周障礙物的距離,然后再根據(jù)距離信息調(diào)整小車的行進(jìn)方向,從而避免碰撞。
3軟件功能
硬件模塊只是搭建起一個(gè)基礎(chǔ)平臺(tái),具體功能的實(shí)現(xiàn)還必須借助軟件編程。本無(wú)線測(cè)控系統(tǒng)的軟件模塊分為硬件驅(qū)動(dòng)、定時(shí)邏輯和上位機(jī)測(cè)控界面三部分。其中,硬件驅(qū)動(dòng)主要包含nRF24L01的模塊初始化、數(shù)據(jù)收發(fā)函數(shù)、AD轉(zhuǎn)換器初始化和轉(zhuǎn)換控制等。定時(shí)邏輯主要是控制CPU周期性地掃描手持端所發(fā)送的控制指令以及AD的轉(zhuǎn)換結(jié)果等。
上位機(jī)測(cè)控軟件的功能是接收來(lái)自手持操控端的反饋數(shù)據(jù),根據(jù)測(cè)控小車的輪子周長(zhǎng)計(jì)算出小車的行駛路徑,并在PC機(jī)窗口繪出。圖4所示是其測(cè)控系統(tǒng)上位機(jī)運(yùn)行操控面板圖。
圖4測(cè)控系統(tǒng)上位機(jī)運(yùn)行圖
由圖4可見,該面板分為行駛路徑顯示、前方數(shù)據(jù)采集結(jié)果顯示和操控按鍵三部分。其中,行駛路徑顯示部分能將前方測(cè)控小車的行駛路徑繪制到屏幕上,使操控者直觀地看到測(cè)控小車的行駛路徑信息。操控按鍵部分包含8個(gè)按鍵,分別是獲取路徑信息、前后左右移動(dòng)、避障功能開啟、采集前方物理量和停止按鍵。這些按鍵可以控制智能車的方向和采集實(shí)時(shí)物理參數(shù)。采集結(jié)果可以由測(cè)控小車通過(guò)無(wú)線模塊傳輸至手持測(cè)控端,再由其通過(guò)串口回傳至PC機(jī)。
4結(jié)語(yǔ)
本文所述的智能測(cè)控系統(tǒng)可以實(shí)現(xiàn)手持端遠(yuǎn)程控制被測(cè)小車的全方位移動(dòng),并采集前方溫濕度和氣體濃度等物理量。PC端軟件也能通過(guò)串口控制手持端設(shè)備來(lái)實(shí)現(xiàn)相同功能,而且還能根據(jù)電機(jī)轉(zhuǎn)動(dòng)時(shí)間繪出小車的行駛路徑。通過(guò)對(duì)本系統(tǒng)的實(shí)際調(diào)試,上述功能的實(shí)現(xiàn)完全正常。
20210916_614355533a118__基于nRF24L01和Cortex