新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 多單片機通信的無人機飛行安控器設計

        多單片機通信的無人機飛行安控器設計

        作者: 時間:2008-03-11 來源:網絡 收藏
        摘要 介紹的工作原理和實現。以AT89C52為核心處理器,輔以2片AT89C405l,通過并行方式擴展其串行口,使其可以裝訂安控區域數據并且接收GPS或者仿真GPS數據信息,并將GPS數據信息廈解算后的結果實時下傳,通過科學的安控算法和蓑略,控制在失控的情況下墜毀在安控線附近。實際應用表明,是有效和可靠的。
        關鍵詞 無人機GPS


        某國產大型高亞音速無人機采用的是遙控+自動駕駛儀體制控制飛行,該型無人機目前還不具備自主導航飛行能力,主要依靠接收地面遙控指令完成飛行任務。在遙控系統發生故障等不受控情況下,有可能飛出預定區域,給周邊大城市或重要目標帶來威脅甚至造成重大損失。為此了一種無人機飛行安控器,當無人機飛出預定區域時,安控器執行安控指令,使無人機自行墜毀在預定區域邊沿。
        由于無人機對安控器執行安控的可靠性要求較高,為了保證該系統的安全使用,對系統軟硬件進行了合理設計,并采取了多種可靠性措施。


        1 工作原理
        無人機飛行安控器通過控制舵機離合器供電線路的通斷達到安全控制的目的。首先給安控器裝訂一個安全區域,存入EEPROM。安控器的主控微處理器通過并行方式與輔助微處理器,獲取GPS數據,并計算和判斷無人機是否在預先裝訂的安全區域以內。當飛出安全區域時,安控器向執行電路輸出控制信號斷開舵機離合器供電線路,使升降舵處于最大正舵面,無人機在空氣動力的作用下,處于失速狀態,快速墜毀。
        安控器的主控微處理器還可以通過并行方式與另一輔助微處理器進行,向其輸出GPS的解算數據,通過數傳電臺或數據線發送給地面監控微機。生成無人機飛行航跡,供領航參考;或者接收地面監控微機發送的GPS仿真數據,以驗證裝訂的預定區域是否正確。


        2 硬件設計
        安控器主要由GPS接收機、主控電路、執行電路、加溫電路和數傳電臺組成,如圖1所示。其中,主控電路和執行電路組成主機板,完成安控判斷和決策任務。

        2.1 主控電路
        主控電路由3片單片機及其外圍電路組成,實現與GPS接收機和地面監控微機的同時通信,以及進行浮點運算和判斷處理。
        主控單片機采用Atmel公司的AT89C52,2片輔助單片機則采用AT89C4051。它們之間通過并口進行數據交換,其硬件連接如圖2所示。圖中U3只向主控單片機U1傳送GPS數據,所以除數據線外只用到了3根信號線,分別是中斷申請信號線、讀信號及寫信號線。U4與Ul的通信是雙向的,所以多了一根數據傳送方向信號線F_WR。具體的數據交換操作見后面的相關程序片段。
        在設計中,主控單片機的串口用于與地面監控微機通信進行安控區域的數據裝訂和讀取。一個輔助單片機的串口與GPS接收機進行通信,獲取相關的GPS信息,包括日期、時間、經緯度、速度、航向和高度等,并轉換成固定格式提供給主控單片機進行是否在預定區域的數據計算。另一個輔助單片機的串口則與地面監控微機或者數傳電臺通信,一方面下傳GPS信息及解算結果,另一方面也可以獲取仿真GPS數據從而驗證預定區域裝訂的正確性。
        2.2 執行電路
        執行電路采取了雙冗余度設計,即構建兩路完全相同的執行電路:通過主控單片機的P0.4腳和P0.5腳分別控制兩個光耦,進而控制兩個大功率MOS管IRF9540。只有兩路執行電路都工作才能斷開舵機離合器電源,保證了執行安控的可靠性。


        3 軟件設計
        3.1 并行通信實現
        下面以圖2中的Ul與U4通信為例說明并行通信編程實現方法。U1首先向U4發中斷請求信號,U4接收到中斷請求信號后進入中斷服務程序,并判斷數據傳送方向。如果是要求發送數據,則當數據準備好后應答U1并將數據送到數據線上,等待U1取走數據,U1在接收到應答信號后,即從總線上取走數據并回應U4,U4即可準備下一個數據。下面為用Keil C51語言編寫的數據交換程序的相關片段。

        主控單片機Ul中的相關程序片段:

        3.2 安控判定算法
        側偏距是指無人機到矢量航線的垂直距離。設(xa,ya)、(xb,yb)為矢量航線兩端點坐標,(x,y)為無人機當前坐標,航線方程可表示為Az+By+C=0。其中,A=ya-yb,B=xa-xb,C=xayb-xbya,則側偏距△Z為:


        若側偏距為負,則無人機位于航線的左側;若側偏距為正,則無人機位于航線右側。
        設定一個由矢量航線按順時針方向組成的封閉凸邊形,組成判定區域。若無人機當前位置位于所有矢量航線的右側時,無人機在判定區域內;若無人機當前位置只要位于一條矢量航線左側,則無人機在判定區域外。
        實際使用的判定區域由二個凸邊形組成,稱為“安全區域”,如圖3所示。其中,內凸邊形稱為“安控預警線”,外凸邊形稱為“安控警戒線”。

        3.3 主控單片機程序流程
        主控單片機AT89C52主要完成判斷當前位置是否在預先裝訂的安全控制區域內。如果超出預警線,則發出警告,并繼續判斷是否超出警戒線,在連續十次判斷超出警戒線后則執行安控動作。圖4為其主程序流程框圖。

        4 實驗結果
        將安控器進行動態距離試驗,地面軟件監測結果如圖5所示。圖中的兩個凸多邊形區域即為裝訂的安全區域。圖中顯示的是安控器在警戒線之外執行安控的結果,此時舵機離合器電源斷開。
        在某次無人機供靶試驗中,因遙控接收機故障出現了無人機不受控的危險情況,安控系統正確執行了安控,使無人機成功墜毀于警戒線外圍附近,表明無人機飛行安控器達到了實際應用要求。


        5 結論
        本設計利用單片機多機通信實現了串口的擴展,可應用于無人機關鍵部位的飛行安控器,實際應用表明,單片機多機通信硬件結構簡單,編程靈活方便,系統工作可靠。本文所介紹的設計思路對于無人飛行器的可靠性設計具有較高的參考價值。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 高安市| 三都| 磐石市| 枣庄市| 辽宁省| 清镇市| 沁源县| 宿松县| 光山县| 东源县| 修文县| 巴青县| 报价| 繁峙县| 正镶白旗| 齐齐哈尔市| 泸西县| 黔西县| 嘉黎县| 汕头市| 大安市| 古浪县| 伊川县| 原平市| 揭东县| 兴和县| 新蔡县| 航空| 许昌市| 香格里拉县| 广元市| 容城县| 饶平县| 晋宁县| 宽甸| 嘉善县| 金川县| 高陵县| 会宁县| 灯塔市| 宿迁市|