国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

固定翼飛機豎直飛行控制系統的設計

發布時間:2010-12-18 18:47    發布者:designer
關鍵詞: 飛機 , 固定翼 , 豎直飛行
固定翼飛機水平飛行是最常見的飛行狀態,讓其做大仰角飛行則動作不能一直保持,如讓其垂直于地面飛行能保持的時間則更短。本項目要實現的是一個可以讓飛機垂直于地面飛行并可以穩定在固定高度的控制系統。利用在機身加入的三軸向加速度傳感器來檢測垂直于地面飛行的飛機的姿態。當檢測到飛機前后搖擺時,控制水平尾翼使飛機保持前后方向的穩定性;當檢測到飛機左右搖擺時,控制垂直尾翼使飛機保持左右方向的穩定性;當檢測到飛機上下竄動時,控制油門的大小(即螺旋槳的轉速)來保持飛機飛行高度的穩定性。當這些控制都很精準到位時,固定翼飛機也可以像直升機一樣穩穩地懸停在空中了。利用本文設計的控制系統可以讓飛機在做垂直飛行減速的同時順時針或逆時針轉90°(投影面積很小),這樣就可以減小暴露給后面飛機的投影面積,減小被擊中的幾率。

設計概述

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

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

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

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







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

硬件描述

硬件電路如圖2所示。







·傳感器MMA7260QT輸出的三個軸的數據分別送入主控MCU的三個A/D輸入端ADP0、ADP1和ADP2,電源接一個電阻電感可防止電源對傳感器的干擾。

·整個電路的電源由J1從接收機引入,通過78FC33變為3.3V后給MCU和傳感器供電,J2、J3、J4分別是左右、油門和前后控制。

·主控MCU的第二路TPM的捕捉輸入端TPMCH1接接收機的信號輸出端。本遙控系統是9通道的,也就是可同時控制9個機構,這種9通道的信號見圖3。它是由間隔為20ms的一個個脈沖串組成,每個脈沖串有9個脈沖,連續兩個脈沖的上升沿的間隔就是遙控器送出的有效控制信號,此間隔最小1ms、最大2ms。TPM捕捉到9個脈沖的寬度后,就可以根據需要直接送給舵機或經PID運算后再送給舵機了。至于如何識別某一脈沖是上一個脈沖串的結尾還是下一個脈沖串的開頭,這里涉及到一個同步脈沖的概念,屬于軟件內容,在此先不作解釋。







·主控MCU的串行輸出端接輔助MCU的串行輸入端。主控MCU想如何控制飛機動作,只要通過串口把數據發送給輔助MCU就可以了,發送格式如表1所示,共8個字符,其中0xAA、0x55為引導位……







·三個LED,D1是電源指示燈,D3用于指示“我是控制電路,我已經開始控制飛機豎直飛行了”,D2是“出錯了,小心出問題,快切換回由你控制吧。”

·輔助MCU有兩個工作:一是讀主控MCU送來的串行數據,找到引導字符后,把前后左右上下(油門)的數據送入相應的數組貯存;二是每20ms把相應的數組里的數據以脈沖形式發送出去。脈沖最小1ms、最大2ms。這個信號送入飛機的執行機構——舵機后對應的輸出規律見圖4。1ms的脈沖使舵機搖臂在最左邊的位置,1.5ms的脈沖使舵機搖臂位于中位,2ms的脈沖使舵機搖臂在最右邊的位置。舵機的搖臂連接飛機的各執行機構,搖臂搖動時飛機的執行機構(如尾翼等)也跟著擺動。







軟件描述

主控MCU部分,流程圖見圖5。







·讀取遙控信號:這個遙控信號見圖5右上角,是9個脈沖組成的脈沖串,每20ms一串,讀取的方法如下,由TPM捕捉到脈沖的上升沿進入模定時器捕捉中斷程序后,先看是不是脈沖串里的第一個,若是就把定時器清零,然后把捕捉值存入數組,這樣9次后,數組里就由低到高地存下了每個脈沖發生的時間,用減法一算,各脈沖寬度就出來了。為防止出錯,附加了脈沖數錯誤預防,就是對脈沖個數進行計數,如果在一個脈沖串里讀到了多于9個脈沖就意味著有干擾了,需要盡快把所有脈寬按中間值1.5ms處理。這樣雖然和遙控器發出的指令不一樣,但減少了出大問題的機會。

·8ms定時中斷:系統有一個模定時器18ms中斷程序,因為正常的脈沖串9個脈沖不會超過18ms,所以可以讓定時器在第一個脈沖開始時計數,計到18ms就認為一個脈沖串結束,把脈沖數計數器清零。模定時器捕捉中斷程序里看到這個計數器被清零了就知道下一個脈沖串開始了。這個中斷還為PID的定時運算提供時間標志,每進入一次中斷就把標志置位,主程序讀到標志被置位就進行PID運算,這樣就保證了PID運算的周期是固定的。

·1.67ms中斷程序和A/D中斷程序:為了讀取MMA7260QT輸出的數據需要用A/D讀值,這里每1.6667ms進入中斷一次設定A/D通道,讀完三個通道用時5ms,在兩個脈沖串的標準間隔20ms內可以各讀4次,用滑動平均值算法后可以濾除干擾。

主程序介紹

雖然傳感器都是水平放置的,但因為溫度電壓等的不同,三個軸的輸出和計算的輸出是不一樣的,會有少許偏差,為了解決這個問題,在上電后先對三個軸的值連續讀64次后平均,把這個平均值作為飛機要穩定的目標值,這樣飛機就基本穩定了。

提到穩定,PID功不可沒,主程序里的PID有兩處要提一下。一是因為傳感器的穩定性問題和飛機的抖動,A/D輸出值差2、3個數是很正常的,所以在主程序里要判斷一下,如果誤差值在3以內,則不進行PID運算,這樣就減少了舵機無謂的抖動;二是因為飛機的前后左右重量不一致,所以在飛機前傾后仰左右擺動時要用不同的P值計算。

主程序每20ms更新一次數據,數據就是前后左右上下的控制脈沖的寬度。這個數據是把模定時器捕捉中斷程序里捕捉到的數直接拿來用還是要拿PID運算的數據來用?這由一個脈寬(決定此時飛機是否要豎直飛行的脈寬)決定,這里用到的是第7個脈沖的脈寬,也就是遙控器的第7通道,這個參數被命名為Helen,當Helen >1500(1.5ms)時就是操縱者要豎直飛行,要把PID運算的數據輸出;當Helen <1500時就是正常飛行,直接把模定時器捕捉中斷程序里捕捉到的數輸出就可以了。

要得到各個脈沖寬度,只要把從低到高的每個脈沖發生的時間做減法就可以了,這個減法運算也是在主程序里完成的。減法完成后還要對脈沖寬度進行出錯處理,要檢查一下,小于1ms的按1ms算,大于2ms的按2ms算,處理完了就可以調用發送中斷發送給輔助MCU了。調用方式是把數組排列好,把發送數據計數器清零,打開發送中斷允許位,這時發送緩沖區是空的,發送中斷一允許,它就立刻進中斷開始發送。

串口發送中斷程序:程序進入本中斷后首先把發送數據計數器指示的數送到發送緩沖區去發送,如發送完了就把發送中斷允許位清零,以防止正在發送的數據發送完后再次進入中斷;如沒發送完就直接退出,等待下次中斷。

輔助MCU程序流程圖見圖6。




串口接收中斷:輔助MCU程序的關鍵在串口接收中斷,接收到的數要存入指定的數組,這個容易實現,而把引導頭找出來就不那么容易了,因為作為引導頭的0xAA、0x55也有可能是數據,只有連起來的才是引導頭,判斷方法詳見圖6。

因為本MCU只有兩個定時器,但需要控制三路脈沖,所以有兩路脈沖用定時器的PWM功能實現,另外一路需要用軟件模擬,本文選用的方法是用一個20ms的中斷,進入中斷后把I/O口置位,然后在主程序里循環判斷定時器的值,當定時器的值大于要送的脈沖值時把I/O復位。
本文地址:http://m.qingdxww.cn/thread-47206-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成a人不卡在线观看| 亚洲精品伊人| 午夜精品久久久久久久99热浪潮| 91区国产福利在线观看午夜| 24小时日本免费看| 米奇在线8888在线精品视频| 亚洲男人天堂网| 亚洲一区欧美日韩| 四虎8848永久在线| 色综合久久91| 佐山爱痴汉theav| 精品视频中文字幕| 手机在线看片国产日韩生活片| 最近免费中文字幕完整版HD| 欧美综合成人网| 婷婷色香| 五月婷婷在线观看| 白洁在线观看| 午夜福利免费视频921000电影| 亚洲欧美黄色片| 色综合久久久久久久久五月| 五月天精品视频在线观看 | 一本大道一卡2卡三卡4卡麻豆| 久久国产欧美日韩精品免费| 午夜 福利 视频| 日韩欧美亚洲综合| 亚洲成a人伦理| 国产无遮挡又黄又爽在线视频 | 365电影成人亚洲网在线观看| 热综合一本伊人久久精品| 四虎国产精品永久在线播放| 偷偷干夜夜拍| 一区二区三区在线观看免费| 魔乳 堕乳漫画acg产卵| 一级黄色毛片子| 日本一区二区在线| 香蕉国产在线观看免费| 草莓AV福利网站导航| 胸太大被男同桌吃好爽| 亚洲精品自拍视频| 亚洲乱码一区二区三区国产精品|