固定翼飛機(jī)豎直飛行控制系統(tǒng)的設(shè)計(jì)
引言
本文引用地址:http://www.ex-cimer.com/article/86409.htm固定翼飛機(jī)水平飛行是最常見的飛行狀態(tài),讓其做大仰角飛行則動(dòng)作不能一直保持,如讓其垂直于地面飛行能保持的時(shí)間則更短。本項(xiàng)目要實(shí)現(xiàn)的是一個(gè)可以讓飛機(jī)垂直于地面飛行并可以穩(wěn)定在固定高度的控制系統(tǒng)。利用在機(jī)身加入的三軸向加速度傳感器來(lái)檢測(cè)垂直于地面飛行的飛機(jī)的姿態(tài)。當(dāng)檢測(cè)到飛機(jī)前后搖擺時(shí),控制水平尾翼使飛機(jī)保持前后方向的穩(wěn)定性;當(dāng)檢測(cè)到飛機(jī)左右搖擺時(shí),控制垂直尾翼使飛機(jī)保持左右方向的穩(wěn)定性;當(dāng)檢測(cè)到飛機(jī)上下竄動(dòng)時(shí),控制油門的大小(即螺旋槳的轉(zhuǎn)速)來(lái)保持飛機(jī)飛行高度的穩(wěn)定性。當(dāng)這些控制都很精準(zhǔn)到位時(shí),固定翼飛機(jī)也可以像直升機(jī)一樣穩(wěn)穩(wěn)地懸停在空中了。利用本文設(shè)計(jì)的控制系統(tǒng)可以讓飛機(jī)在做垂直飛行減速的同時(shí)順時(shí)針或逆時(shí)針轉(zhuǎn)90°(投影面積很小),這樣就可以減小暴露給后面飛機(jī)的投影面積,減小被擊中的幾率。
設(shè)計(jì)概述
為了讓飛機(jī)能豎直飛行,控制電路需要有以下功能:
判斷飛機(jī)是否要豎直飛行 對(duì)于真飛機(jī),它可能只是一個(gè)可防止誤觸發(fā)的撥動(dòng)開關(guān);在本項(xiàng)目的實(shí)驗(yàn)品遙控飛機(jī)里,它就是某一個(gè)通道的脈寬信號(hào)。當(dāng)脈寬大于某一設(shè)定值時(shí),控制電路就知道它該上場(chǎng)了。
判斷自身姿態(tài) 這是本控制電路的核心部分之一,在控制飛機(jī)保持豎直飛行之前必須先判斷自身的姿態(tài)。本項(xiàng)目用MMA7260QT傳感器檢測(cè)飛機(jī)的姿態(tài)。
控制 這是本項(xiàng)目設(shè)計(jì)制作過(guò)程中最耗時(shí)的部分,但其原理很容易理解:姿態(tài)電路已經(jīng)了解了飛機(jī)的姿態(tài),控制電路只要做相應(yīng)動(dòng)作就可以了。飛機(jī)前傾它就讓飛機(jī)向前移動(dòng)一些,后傾就向后移動(dòng)一些。還有一個(gè)需要控制的量——高度,飛機(jī)在做此動(dòng)作時(shí)高度是要保持穩(wěn)定的,機(jī)身上沖時(shí)要減小油門,下降時(shí)要加大油門。要完成如此控制,要用兩片MC9S08QG8。為了達(dá)到上述功能,本項(xiàng)目應(yīng)有如圖1所示的電路框圖。
選用兩片MC9S08QG8是因?yàn)樵诒卷?xiàng)目里有兩處對(duì)時(shí)間要求比較嚴(yán)格的地方:一是讀從遙控器送出的脈寬;二是把經(jīng)過(guò)運(yùn)算的脈寬精確地發(fā)送出去,兩處都要10μS以內(nèi)的誤差,如用一片來(lái)做即使用中斷也會(huì)有沖突。本項(xiàng)目里兩片MC9S08QG8工作的大體分配是:一片作為主控,用于讀取遙控器送來(lái)的由接收機(jī)收到的脈寬(高實(shí)時(shí)性)、讀取飛機(jī)姿態(tài)(低實(shí)時(shí)性)、控制運(yùn)算(PID運(yùn)算)和數(shù)據(jù)發(fā)送(把需要對(duì)飛機(jī)如何控制的數(shù)據(jù),也就是PID運(yùn)算的結(jié)果送給另一片MCU);另外一片作為輔助,只要把讀到的數(shù)據(jù)實(shí)時(shí)發(fā)給飛機(jī)的執(zhí)行機(jī)構(gòu)就可以了。
硬件描述
硬件電路如圖2所示。
·傳感器MMA7260QT輸出的三個(gè)軸的數(shù)據(jù)分別送入主控MCU的三個(gè)A/D輸入端ADP0、ADP1和ADP2,電源接一個(gè)電阻和電感可防止電源對(duì)傳感器的干擾。
·整個(gè)電路的電源由J1從接收機(jī)引入,通過(guò)78FC33變?yōu)?.3V后給MCU和傳感器供電,J2、J3、J4分別是左右、油門和前后控制。
·主控MCU的第二路TPM的捕捉輸入端TPMCH1接接收機(jī)的信號(hào)輸出端。本遙控系統(tǒng)是9通道的,也就是可同時(shí)控制9個(gè)機(jī)構(gòu),這種9通道的信號(hào)見圖3。它是由間隔為20ms的一個(gè)個(gè)脈沖串組成,每個(gè)脈沖串有9個(gè)脈沖,連續(xù)兩個(gè)脈沖的上升沿的間隔就是遙控器送出的有效控制信號(hào),此間隔最小1ms、最大2ms。TPM捕捉到9個(gè)脈沖的寬度后,就可以根據(jù)需要直接送給舵機(jī)或經(jīng)PID運(yùn)算后再送給舵機(jī)了。至于如何識(shí)別某一脈沖是上一個(gè)脈沖串的結(jié)尾還是下一個(gè)脈沖串的開頭,這里涉及到一個(gè)同步脈沖的概念,屬于軟件內(nèi)容,在此先不作解釋。
·主控MCU的串行輸出端接輔助MCU的串行輸入端。主控MCU想如何控制飛機(jī)動(dòng)作,只要通過(guò)串口把數(shù)據(jù)發(fā)送給輔助MCU就可以了,發(fā)送格式如表1所示,共8個(gè)字符,其中0xAA、0x55為引導(dǎo)位……
·三個(gè)LED,D1是電源指示燈,D3用于指示“我是控制電路,我已經(jīng)開始控制飛機(jī)豎直飛行了”,D2是“出錯(cuò)了,小心出問(wèn)題,快切換回由你控制吧。”
·輔助MCU有兩個(gè)工作:一是讀主控MCU送來(lái)的串行數(shù)據(jù),找到引導(dǎo)字符后,把前后左右上下(油門)的數(shù)據(jù)送入相應(yīng)的數(shù)組貯存;二是每20ms把相應(yīng)的數(shù)組里的數(shù)據(jù)以脈沖形式發(fā)送出去。脈沖最小1ms、最大2ms。這個(gè)信號(hào)送入飛機(jī)的執(zhí)行機(jī)構(gòu)——舵機(jī)后對(duì)應(yīng)的輸出規(guī)律見圖4。1ms的脈沖使舵機(jī)搖臂在最左邊的位置,1.5ms的脈沖使舵機(jī)搖臂位于中位,2ms的脈沖使舵機(jī)搖臂在最右邊的位置。舵機(jī)的搖臂連接飛機(jī)的各執(zhí)行機(jī)構(gòu),搖臂搖動(dòng)時(shí)飛機(jī)的執(zhí)行機(jī)構(gòu)(如尾翼等)也跟著擺動(dòng)。
評(píng)論