基于nRF24L01和Actel FPGA的智能探測系統(tǒng)設(shè)計
3、系統(tǒng)軟件設(shè)計
3.1車載控制系統(tǒng)軟件設(shè)計
車載系統(tǒng)是本系統(tǒng)的核心部分,它擔負著現(xiàn)場環(huán)境探測,遠距離數(shù)據(jù)傳輸以及未知區(qū)域檢測等重要功能。因此該部分的設(shè)計對可靠性和穩(wěn)定性要求較高。系統(tǒng)的軟件流程圖如圖4所示。
圖4車載控制系統(tǒng)流程圖
車載系統(tǒng)軟件包含兩部分功能:采集現(xiàn)場各種參數(shù)和實現(xiàn)各種運行模式。通過溫濕度傳感器和人體紅外傳感器采集溫濕度值以及現(xiàn)場環(huán)境是否有人信號;通過無線返;回參數(shù)決定當前小車的運行模式,包括自動運行模式、半遙控模式和全遙控模式。自動運行模式下小車會根據(jù)采集到的光電對管組信息分析當前的路況,從而作出相應(yīng)運行路徑修正處理;半遙控模式下通過鼠標控制Windows界面的參數(shù)來控制小車的行動;全遙控模式下通過操控鍵盤可直接操控小車運行。
車載系統(tǒng)自動運行時,通過內(nèi)部算法進行路徑選擇和障礙規(guī)避。由于光電對管組信息相對較少,故采用查表映射法進行舵機電機驅(qū)動控制,即將光電對管組采集到的信息進行分類,根據(jù)不同的信息賦予小車不同的電機和舵機驅(qū)動值,而光電對管組采集得到的信息為6 bit數(shù)據(jù),也就是數(shù)值為0~63,將其作為數(shù)組的下標,在數(shù)組內(nèi)容中根據(jù)下標所表征的類型設(shè)置不同的經(jīng)驗值,通過大量的運行測試即可得到比較理想的參數(shù)。車載系統(tǒng)檢測到小障礙物時,查表得到舵機電機參數(shù),轉(zhuǎn)過一定角度繞開障礙物繼續(xù)運行;檢測到較大障礙物且無法繞過時,車載系統(tǒng)倒車回到安全區(qū)域繼續(xù)運行。
由于光電對管組存在干擾信號,在算法上進行了如下濾波處理:利用記憶功能將前幾次的行進路線保存,通過與當前輸出狀態(tài)的比對,判斷是否為干擾信息以決定是否摒棄當前控制量。
以上算法保證了車載系統(tǒng)在運行中出錯概率降到最低。
3.2人機交互界面設(shè)計
A機交互界面是采用微軟基礎(chǔ)類(MFC)開發(fā)的基于對活框架構(gòu)的應(yīng)用程序。采用CMSComm類處理中轉(zhuǎn)板與PC之間的串口通信,同時通過截獲軟件系統(tǒng)的消息傳遞函數(shù)來實現(xiàn)對鍵盤值的判斷。
本文詳細介紹了nRF24L01無線芯片的DPL和ACKPAYLOAD等功能,實現(xiàn)了車載系統(tǒng)與上位機之間的雙向通信,使用Actel公司的CoreConsole工具構(gòu)建SoPC片上系統(tǒng),同時設(shè)計了PC機上人機交互界面,完善了系統(tǒng)的運行和控制,實現(xiàn)了具有實時數(shù)據(jù)傳送、自動避障、遠程操控等功能的智能探測系統(tǒng)。
評論