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