<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 固定翼飛機豎直飛行控制系統(tǒng)方案設計

          固定翼飛機豎直飛行控制系統(tǒng)方案設計

          作者: 時間:2012-02-15 來源:網(wǎng)絡 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/161120.htm

            水平是最常見的狀態(tài),讓其做大仰角則動作不能一直保持,如讓其垂直于地面飛行能保持的時間則更短。本項目要實現(xiàn)的是一個可以讓垂直于地面飛行并可以穩(wěn)定在高度的。利用在機身加入的三軸向加速度傳感器來檢測垂直于地面飛行的的姿態(tài)。當檢測到飛機前后搖擺時,控制水平尾翼使飛機保持前后方向的穩(wěn)定性;當檢測到飛機左右搖擺時,控制垂直尾翼使飛機保持左右方向的穩(wěn)定性;當檢測到飛機上下竄動時,控制油門的大?。绰菪龢霓D(zhuǎn)速)來保持飛機飛行高度的穩(wěn)定性。當這些控制都很精準到位時,翼飛機也可以像直升機一樣穩(wěn)穩(wěn)地懸停在空中了。利用本文設計的可以讓飛機在做垂直飛行減速的同時順時針或逆時針轉(zhuǎn)90°(投影面積很?。?,這樣就可以減小暴露給后面飛機的投影面積,減小被擊中的幾率。

          設計概述

            為了讓飛機能飛行,控制電路需要有以下功能:

            判斷飛機是否要飛行 對于真飛機,它可能只是一個可防止誤觸發(fā)的撥動開關;在本項目的實驗品遙控飛機里,它就是某一個通道的脈寬信號。當脈寬大于某一設定值時,控制電路就知道它該上場了。

            判斷自身姿態(tài) 這是本控制電路的核心部分之一,在控制飛機保持飛行之前必須先判斷自身的姿態(tài)。本項目用MMA7260QT傳感器檢測飛機的姿態(tài)。

            控制 這是本項目設計制作過程中最耗時的部分,但其原理很容易理解:姿態(tài)電路已經(jīng)了解了飛機的姿態(tài),控制電路只要做相應動作就可以了。飛機前傾它就讓飛機向前移動一些,后傾就向后移動一些。還有一個需要控制的量——高度,飛機在做此動作時高度是要保持穩(wěn)定的,機身上沖時要減小油門,下降時要加大油門。要完成如此控制,要用兩片MC9S08QG8。為了達到上述功能,本項目應有如圖1所示的電路框圖。

            

            選用兩片MC9S08QG8是因為在本項目里有兩處對時間要求比較嚴格的地方:一是讀從遙控器送出的脈寬;二是把經(jīng)過運算的脈寬精確地發(fā)送出去,兩處都要10μS以內(nèi)的誤差,如用一片來做即使用中斷也會有沖突。本項目里兩片MC9S08QG8工作的大體分配是:一片作為主控,用于讀取遙控器送來的由接收機收到的脈寬(高實時性)、讀取飛機姿態(tài)(低實時性)、控制運算(PID運算)和數(shù)據(jù)發(fā)送(把需要對飛機如何控制的數(shù)據(jù),也就是PID運算的結(jié)果送給另一片MCU);另外一片作為輔助,只要把讀到的數(shù)據(jù)實時發(fā)給飛機的執(zhí)行機構就可以了。

          硬件描述

            硬件電路如圖2所示。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();