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