(重慶工業(yè)職業(yè)技術(shù)學(xué)院 機械工程學(xué)院,重慶 401120)
飛艇是一種由發(fā)動機驅(qū)動的、輕于空氣的、可操縱的航空器。飛艇的靜浮力由氣囊中的氦氣提供,飛艇由氣囊、動力裝置、起落架、水平尾翼、垂直尾翼、控制系統(tǒng)等組成,可廣泛應(yīng)用于城市交通監(jiān)控、市政建設(shè)航拍、高空大氣采樣、城市森林火警監(jiān)控、地質(zhì)勘探、軍事和廣告等領(lǐng)域[1]。飛行控制系統(tǒng)作為飛艇機電部分的核心,它的性能決定了飛艇的功能、穩(wěn)定性、安全性以及遙控和自動飛行的可實現(xiàn)性。
本人所研究的飛艇是ST-3型無人飛艇,控制系統(tǒng)的核心是dsPIC30F4013及其外圍電路。Microchip公司推出的dsPIC30F系列單片機是一種集16位單片機控制特點和DSP功能于一身的新型芯片。飛行控制裝置主要包括信號接收裝置、信號處理裝置、電機驅(qū)動裝置等幾部分,總控制方案原理框圖如圖1所示[2]。

圖1 總控制方案原理圖
信號接收裝置主要功能是接收遙控接收機傳來的各種控制指令、接收GPS接收機發(fā)來的信號以及接收參數(shù)注入時來自PC機的數(shù)據(jù)。信號處理裝置則是對接收裝置傳來的數(shù)據(jù)進(jìn)行運算處理,然后輸出控制信號給動力系統(tǒng)驅(qū)動裝置,控制各電機按照要求動作,實現(xiàn)各種飛行要求。
推力轉(zhuǎn)向控制是一個開環(huán)控制系統(tǒng),無絕對起始點,手動調(diào)“零”。推力轉(zhuǎn)向系統(tǒng)主要由遙控接收機、控制芯片及外圍電路、步進(jìn)電機驅(qū)動電路、步進(jìn)電機及渦輪渦桿傳動裝置等幾部分組成。步進(jìn)電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu),可以通過控制脈沖個數(shù)來控制角位移量,同時可通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度。步進(jìn)電機驅(qū)動裝置為低壓驅(qū)動的高起動轉(zhuǎn)矩、高運行頻率裝置。
對推力轉(zhuǎn)向裝置的控制是手動遙控的,控制前要將控制狀態(tài)切換為手動遙控。選擇遙控接收機第7通道(CH7)為推力角度控制通道,該通道為比例控制通道,輸出PWM信號。經(jīng)測試,CH7的脈寬為0.8~1.6 ms,故可按表1設(shè)定這三個過程,指令由單片機來識別。

表1 脈寬與指令狀態(tài)的關(guān)系
2.1.1 升遙控的實現(xiàn)
當(dāng)單片機收到地面發(fā)來的“上升”遙控指令時,飛控裝置即輸出“上升”脈沖組控制步進(jìn)電機正向轉(zhuǎn)動,步進(jìn)電機帶動由渦輪渦桿組成的機構(gòu),按照設(shè)定的控制規(guī)律改變渦桿的角位移量,使發(fā)動機正向轉(zhuǎn)動到所要求的位置。當(dāng)飛艇處于“上升”狀態(tài)時,可執(zhí)行的唯一飛行控制命令為“平飛”。遙控器發(fā)出“平飛”信號后,由單片機的輸出口輸出設(shè)定好的“-90°”序列脈沖,發(fā)動機反轉(zhuǎn)90°,完成由“上升”到“平飛”的任務(wù),并將飛行狀態(tài)標(biāo)志置為“平飛”。
2.1.2 下降遙控的實現(xiàn)
當(dāng)飛控裝置收到“下降”指令時,將輸出“下降”脈沖組控制步進(jìn)電機反向轉(zhuǎn)動,使渦輪連桿轉(zhuǎn)動到負(fù)的規(guī)定位置。當(dāng)飛艇處于“下降”狀態(tài)時,可執(zhí)行的唯一飛行控制命令為“平飛”。遙控器發(fā)出“平飛”信號后,由單片機的輸出口輸出設(shè)定好的“+120°”序列脈沖,發(fā)動機正轉(zhuǎn)120°,完成由“下降”到“平飛”的任務(wù),并將飛行狀態(tài)標(biāo)志置為“平飛”。
2.1.3 平飛控制的實現(xiàn)
在遙控系統(tǒng)停發(fā)“上升”和“下降”指令的區(qū)間,飛控裝置即輸出“平飛”控制信號,電動機螺旋槳推力方向保持0°位置,使推力方向保持向前平推。當(dāng)飛艇處于“平飛”狀態(tài)時,可執(zhí)行的遙控指令為“上升”、“下降”以及“自動飛行”。 在自動飛行時,方向舵和升降舵的控制權(quán)將交給自動飛行系統(tǒng),手動遙控失去對方向舵和升降舵的控制權(quán),直到收到“解除自動飛行”命令才可遙控。
對方向舵和升降舵的遙控不經(jīng)過單片機控制器,“遙控信號”和“自動控制”信號通過繼電器進(jìn)行隔離。伺服電機是飛行控制系統(tǒng)的執(zhí)行機構(gòu),可以通過控制周期性脈沖的正脈沖寬度來控制轉(zhuǎn)角位置。地面遙控發(fā)射機可以發(fā)出用來控制舵機的脈沖信號,該信號被裝在飛艇上的遙控接收機收到,然后通過遙控信號支路的繼電器導(dǎo)通去控制伺服電機。
在自動飛行中,定高時需要用到飛艇飛行中實時的高度信息。定向時則需要實時的經(jīng)緯度信息和飛艇飛行的方向信息。高度、經(jīng)緯度以及方向這些數(shù)據(jù)都可以從GPS接收機發(fā)來的數(shù)據(jù)串中找到。
GPS輸出數(shù)據(jù)標(biāo)準(zhǔn)格式為NMEA-0183[3],它是美國國家海洋電子協(xié)會為海用電子設(shè)備制訂的標(biāo)準(zhǔn)格式。每個數(shù)據(jù)段都是由許多組信息組成,每組信息都以“$”開頭作為標(biāo)志符。這些信息有很多種,以“$”后面緊跟5個字母表明信息的類型,如“$GPGGA”、“$GPVTG”等。“$GPGGA”表明這是GPS定位所需的位置信息,后面內(nèi)容中包含緯度和經(jīng)度等數(shù)據(jù);“$GPVTG”表明后面的數(shù)據(jù)是方位角和對地速度信息。知道了GPS接收機發(fā)過來的數(shù)據(jù)格式,就可以編寫程序從這些數(shù)據(jù)串中檢取需要的信息。
當(dāng)控制系統(tǒng)收到“自動飛行”信號后,升降舵[4]的控制權(quán)切換給自動飛行系統(tǒng),自動飛行包含“定高”和“定向”,兩者同時工作。“自動飛行”命令由遙控接收機第5通道CH5提供,CH5也是比例控制口,設(shè)定脈寬在0.8~1.2 ms為“自動飛行”命令, 1.2~1.8 ms為“解除自動飛行”命令。
可編寫單片機程序從實時GPS數(shù)據(jù)中檢索到“高度”信息,單片機接收到“自動飛行”命令后將設(shè)定的飛行高度與實時高度相比較,其差值經(jīng)PID運算得到控制脈沖。由單片機輸出該脈沖,經(jīng)過放大,經(jīng)繼電器導(dǎo)通去控制升降舵機。當(dāng)CH5輸出的命令為“解除自動飛行”時,遙控器掌握水平舵機的控制權(quán)。
在定高飛行時,如果飛艇發(fā)生意外故障,自動上升后其高度超過預(yù)定上限高度時,高度保險裝置即輸出檢測信號,控制電磁閥放出部分氦氣,降低飛艇靜浮力后使飛艇自行下降回收。
在飛行的路徑上設(shè)置幾個關(guān)鍵點,飛艇在兩相臨點之間按照直線路徑自動飛行,多點路徑飛行可以看成是兩點間路徑飛行的擴(kuò)展。“定向飛行”采用雙PID控制,即距離PID和偏角PID控制,最后的控制量是這兩個PID控制的合成[5]。
全球各地同一經(jīng)線上緯度1°的間隔長度都相等,為111.317 km,而各緯線則是從赤道向兩極遞減。我們研究的飛艇飛行的范圍在30 km左右,在這個小范圍內(nèi)飛行,可以把大地經(jīng)緯網(wǎng)視為平面網(wǎng),并認(rèn)為在小范圍內(nèi)各緯線長相同,在平面中解決問題,經(jīng)緯坐標(biāo)模型如圖2所示。

圖2 經(jīng)緯坐標(biāo)模型
對于距離PID控制,需要知道飛艇飛行中采樣時刻的實時位置距離兩點直線路徑之間的距離。如圖2,ac之間的長度是均勻的,把經(jīng)緯度坐標(biāo)原點平移到兩點路徑的起始點a,很容易求出e 點和f點在坐標(biāo)平移后的經(jīng)緯度坐標(biāo)值,由于經(jīng)線上單位緯度的間隔長度是已知的,為111.317 km,設(shè)d點和f點的緯度分別為w1和w2,那么有|df|=(w1-w2)×111.317。由于ac之間的長度是均勻的,則|ef|=|ac|×(e經(jīng)-f經(jīng))/(c經(jīng)-a經(jīng)),其中e經(jīng)、f經(jīng)、c經(jīng)和a經(jīng)分別為各對應(yīng)點處在坐標(biāo)平移后的經(jīng)度值。|ac|為ac兩點間的距離,這個值可以在高級軟件中算出后通過串口通信發(fā)到dsPIC30F4013相應(yīng)的寄存器中。則|de|2=|df|2-|ef|2,可以根據(jù)這個平方值進(jìn)行距離PID計算。
對于偏角PID控制,需要知道飛艇飛行的方向信息以及設(shè)定飛行路徑的方向與正北方向之間的夾角。對于前一個數(shù)據(jù),可以從GPS接收機傳來的數(shù)據(jù)中獲取飛艇飛行方向相對于正北方向的角度,對于后一個數(shù)據(jù),則可以在高級軟件中計算出這個角度,然后通過串口發(fā)送到芯片相應(yīng)的寄存器中。通過這兩個角度就可以知道實時飛行方向相對于飛行路徑的夾角,根據(jù)這個角度可以進(jìn)行偏角PID計算。
為了正確控制伺服電機的轉(zhuǎn)動方向,有必要判斷d點位于ac的哪一側(cè)。可以通過比較坐標(biāo)平移后d點與f點緯度坐標(biāo)的絕對值大小來判斷d點位于哪一側(cè)。需要注意的是,從a到c坐標(biāo)原點在a,從c到a坐標(biāo)原點則在c。
當(dāng)單片機檢測到“自動飛行”命令后,在單片機內(nèi)部對距離和偏角分別進(jìn)行PID運算,運算的結(jié)果進(jìn)行合成,控制輸出PWM脈沖的占空比,得到最終的控制脈沖。該脈沖由單片機輸出,經(jīng)過放大,經(jīng)繼電器導(dǎo)通后控制伺服電機的轉(zhuǎn)動方向和轉(zhuǎn)角大小。
為了得到實時的點到直線的距離以及實時飛行方向與直線路徑間的夾角,用上述方法計算,需離線計算并通過串口通信把結(jié)果送到芯片相應(yīng)寄存器中的數(shù)據(jù)包括:①路徑上關(guān)鍵點上的經(jīng)緯度坐標(biāo);②飛行路徑上兩關(guān)鍵點之間的距離;③飛行路徑所在直線與正北方向的夾角。可以通過建立PC機與dsPIC30F4013芯片之間的串口通信來實時注入這些數(shù)據(jù)。

[1] 宗捷,王赤民.從適航審定實踐看我國飛艇發(fā)展[J].通用航空,2005(60).
[2] 范珉一.小型無人飛艇飛行控制系統(tǒng)設(shè)計[D].南京:南京理工大學(xué),2007:17-21.
[3] 田輝. NEMA 0183格式簡介[EB/OL].[2017-10].http://www.sgg.whu.edu.cn/isa/php/viewart.php?ID=91.
[4] 姜篤慶.伺服電機(舵機)及其在各領(lǐng)域的應(yīng)用[J].電子報,2004.
[5] 曲東才.飛艇研制及發(fā)展[J].航空科學(xué)技術(shù),2005(2).
張新亮(碩士),主要研究方向為智能制造技術(shù)、數(shù)控技術(shù)與數(shù)控系統(tǒng)、PLC應(yīng)用。