多單片機(jī)通信的無(wú)人機(jī)飛行安控器設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
關(guān)鍵詞 多單片機(jī) 飛行安控器 無(wú)人機(jī)GPS
某國(guó)產(chǎn)大型高亞音速無(wú)人機(jī)采用的是遙控+自動(dòng)駕駛儀體制控制飛行,該型無(wú)人機(jī)目前還不具備自主導(dǎo)航飛行能力,主要依靠接收地面遙控指令完成飛行任務(wù)。在遙控系統(tǒng)發(fā)生故障等不受控情況下,有可能飛出預(yù)定區(qū)域,給周邊大城市或重要目標(biāo)帶來(lái)威脅甚至造成重大損失。為此設(shè)計(jì)了一種無(wú)人機(jī)飛行安控器,當(dāng)無(wú)人機(jī)飛出預(yù)定區(qū)域時(shí),安控器執(zhí)行安控指令,使無(wú)人機(jī)自行墜毀在預(yù)定區(qū)域邊沿。
由于無(wú)人機(jī)對(duì)安控器執(zhí)行安控的可靠性要求較高,為了保證該系統(tǒng)的安全使用,對(duì)系統(tǒng)軟硬件進(jìn)行了合理設(shè)計(jì),并采取了多種可靠性措施。
1 工作原理
無(wú)人機(jī)飛行安控器通過(guò)控制舵機(jī)離合器供電線路的通斷達(dá)到安全控制的目的。首先給安控器裝訂一個(gè)安全區(qū)域,存入EEPROM。安控器的主控微處理器通過(guò)并行方式與輔助微處理器通信,獲取GPS數(shù)據(jù),并計(jì)算和判斷無(wú)人機(jī)是否在預(yù)先裝訂的安全區(qū)域以內(nèi)。當(dāng)飛出安全區(qū)域時(shí),安控器向執(zhí)行電路輸出控制信號(hào)斷開(kāi)舵機(jī)離合器供電線路,使升降舵處于最大正舵面,無(wú)人機(jī)在空氣動(dòng)力的作用下,處于失速狀態(tài),快速墜毀。
安控器的主控微處理器還可以通過(guò)并行方式與另一輔助微處理器進(jìn)行通信,向其輸出GPS的解算數(shù)據(jù),通過(guò)數(shù)傳電臺(tái)或數(shù)據(jù)線發(fā)送給地面監(jiān)控微機(jī)。生成無(wú)人機(jī)飛行航跡,供領(lǐng)航參考;或者接收地面監(jiān)控微機(jī)發(fā)送的GPS仿真數(shù)據(jù),以驗(yàn)證裝訂的預(yù)定區(qū)域是否正確。
2 硬件設(shè)計(jì)
安控器主要由GPS接收機(jī)、主控電路、執(zhí)行電路、加溫電路和數(shù)傳電臺(tái)組成,如圖1所示。其中,主控電路和執(zhí)行電路組成主機(jī)板,完成安控判斷和決策任務(wù)。
2.1 主控電路
主控電路由3片單片機(jī)及其外圍電路組成,實(shí)現(xiàn)與GPS接收機(jī)和地面監(jiān)控微機(jī)的同時(shí)通信,以及進(jìn)行浮點(diǎn)運(yùn)算和判斷處理。
主控單片機(jī)采用Atmel公司的AT89C52,2片輔助單片機(jī)則采用AT89C4051。它們之間通過(guò)并口進(jìn)行數(shù)據(jù)交換,其硬件連接如圖2所示。圖中U3只向主控單片機(jī)U1傳送GPS數(shù)據(jù),所以除數(shù)據(jù)線外只用到了3根信號(hào)線,分別是中斷申請(qǐng)信號(hào)線、讀信號(hào)及寫(xiě)信號(hào)線。U4與Ul的通信是雙向的,所以多了一根數(shù)據(jù)傳送方向信號(hào)線F_WR。具體的數(shù)據(jù)交換操作見(jiàn)后面的相關(guān)程序片段。
在設(shè)計(jì)中,主控單片機(jī)的串口用于與地面監(jiān)控微機(jī)通信進(jìn)行安控區(qū)域的數(shù)據(jù)裝訂和讀取。一個(gè)輔助單片機(jī)的串口與GPS接收機(jī)進(jìn)行通信,獲取相關(guān)的GPS信息,包括日期、時(shí)間、經(jīng)緯度、速度、航向和高度等,并轉(zhuǎn)換成固定格式提供給主控單片機(jī)進(jìn)行是否在預(yù)定區(qū)域的數(shù)據(jù)計(jì)算。另一個(gè)輔助單片機(jī)的串口則與地面監(jiān)控微機(jī)或者數(shù)傳電臺(tái)通信,一方面下傳GPS信息及解算結(jié)果,另一方面也可以獲取仿真GPS數(shù)據(jù)從而驗(yàn)證預(yù)定區(qū)域裝訂的正確性。
2.2 執(zhí)行電路
執(zhí)行電路采取了雙冗余度設(shè)計(jì),即構(gòu)建兩路完全相同的執(zhí)行電路:通過(guò)主控單片機(jī)的P0.4腳和P0.5腳分別控制兩個(gè)光耦,進(jìn)而控制兩個(gè)大功率MOS管IRF9540。只有兩路執(zhí)行電路都工作才能斷開(kāi)舵機(jī)離合器電源,保證了執(zhí)行安控的可靠性。
3 軟件設(shè)計(jì)
3.1 并行通信實(shí)現(xiàn)
下面以圖2中的Ul與U4通信為例說(shuō)明并行通信編程實(shí)現(xiàn)方法。U1首先向U4發(fā)中斷請(qǐng)求信號(hào),U4接收到中斷請(qǐng)求信號(hào)后進(jìn)入中斷服務(wù)程序,并判斷數(shù)據(jù)傳送方向。如果是要求發(fā)送數(shù)據(jù),則當(dāng)數(shù)據(jù)準(zhǔn)備好后應(yīng)答U1并將數(shù)據(jù)送到數(shù)據(jù)線上,等待U1取走數(shù)據(jù),U1在接收到應(yīng)答信號(hào)后,即從總線上取走數(shù)據(jù)并回應(yīng)U4,U4即可準(zhǔn)備下一個(gè)數(shù)據(jù)。下面為用Keil C51語(yǔ)言編寫(xiě)的數(shù)據(jù)交換程序的相關(guān)片段。
主控單片機(jī)Ul中的相關(guān)程序片段:
3.2 安控判定算法
側(cè)偏距是指無(wú)人機(jī)到矢量航線的垂直距離。設(shè)(xa,ya)、(xb,yb)為矢量航線兩端點(diǎn)坐標(biāo),(x,y)為無(wú)人機(jī)當(dāng)前坐標(biāo),航線方程可表示為Az+By+C=0。其中,A=ya-yb,B=xa-xb,C=xayb-xbya,則側(cè)偏距△Z為:
若側(cè)偏距為負(fù),則無(wú)人機(jī)位于航線的左側(cè);若側(cè)偏距為正,則無(wú)人機(jī)位于航線右側(cè)。
設(shè)定一個(gè)由矢量航線按順時(shí)針?lè)较蚪M成的封閉凸邊形,組成判定區(qū)域。若無(wú)人機(jī)當(dāng)前位置位于所有矢量航線的右側(cè)時(shí),無(wú)人機(jī)在判定區(qū)域內(nèi);若無(wú)人機(jī)當(dāng)前位置只要位于一條矢量航線左側(cè),則無(wú)人機(jī)在判定區(qū)域外。
實(shí)際使用的判定區(qū)域由二個(gè)凸邊形組成,稱為“安全區(qū)域”,如圖3所示。其中,內(nèi)凸邊形稱為“安控預(yù)警線”,外凸邊形稱為“安控警戒線”。
3.3 主控單片機(jī)程序流程
主控單片機(jī)AT89C52主要完成判斷當(dāng)前位置是否在預(yù)先裝訂的安全控制區(qū)域內(nèi)。如果超出預(yù)警線,則發(fā)出警告,并繼續(xù)判斷是否超出警戒線,在連續(xù)十次判斷超出警戒線后則執(zhí)行安控動(dòng)作。圖4為其主程序流程框圖。
4 實(shí)驗(yàn)結(jié)果
將安控器進(jìn)行動(dòng)態(tài)距離試驗(yàn),地面軟件監(jiān)測(cè)結(jié)果如圖5所示。圖中的兩個(gè)凸多邊形區(qū)域即為裝訂的安全區(qū)域。圖中顯示的是安控器在警戒線之外執(zhí)行安控的結(jié)果,此時(shí)舵機(jī)離合器電源斷開(kāi)。
在某次無(wú)人機(jī)供靶試驗(yàn)中,因遙控接收機(jī)故障出現(xiàn)了無(wú)人機(jī)不受控的危險(xiǎn)情況,安控系統(tǒng)正確執(zhí)行了安控,使無(wú)人機(jī)成功墜毀于警戒線外圍附近,表明無(wú)人機(jī)飛行安控器達(dá)到了實(shí)際應(yīng)用要求。
5 結(jié)論
本設(shè)計(jì)利用單片機(jī)多機(jī)通信實(shí)現(xiàn)了串口的擴(kuò)展,可應(yīng)用于無(wú)人機(jī)關(guān)鍵部位的飛行安控器,實(shí)際應(yīng)用表明,單片機(jī)多機(jī)通信硬件結(jié)構(gòu)簡(jiǎn)單,編程靈活方便,系統(tǒng)工作可靠。本文所介紹的設(shè)計(jì)思路對(duì)于無(wú)人飛行器的可靠性設(shè)計(jì)具有較高的參考價(jià)值。