引言
現代飛行器在社會各領域都有廣泛的應用,其中利用飛行器進行物資的運輸投放也頗為常見。例如,在發生重大自然災害時,由于路面交通的損壞,將使得空中運輸成為受災區域各物資來源的唯一途徑[1]。以往飛行員在投放物資時,往往根據經驗通過目測來確定投放時機,但是這樣往往會給地面人員的物資拾取帶來很大的不便,尤其是在地理環境復雜的山區[2]。GPS傳感器是一種能夠全天候、實時地提供載體位置信息的傳感器,在很多領域均有廣泛應用[3]。若能利用GPS傳感器采集詳細的飛行器位置信息,并通過飛行器中央處理單元依據這些信息快速計算出拋物的準確時機,則可以有效地提高物資投放的準確性。此外,飛行器拋物系統在軍事上也有廣泛用途,如利用無人飛行器進行投彈等。
本設計將GPS數字傳感器整合到小型無人飛行器上,經ADuC7026單片機精確運算處理后,對目標位置進行準確拋物。
總體方案設計及飛行拋物算法
總體設計
本文設計的飛行器拋物系統的拋物過程如圖1所示,為了能精確地將物體投擲到目標點,必須在飛行器距離目標點一定距離時便提前開啟拋物裝置,使物體在空中以一定的初速度做自由落體運動直至到達目標點。
飛行器拋物系統主要分為測量傳感單元、主控單元和執行單元,如圖2所示。測量傳感單元采用Trimble公司生產的C2626型GPS數字傳感模塊和ADI公司生產的ADXRS612型MEMS陀螺儀,主要用于獲取飛行器的空間坐標及俯仰角信息。主控模塊采用ADI公司生產的ADuC7026單片機,用于實現對位置坐標的采集及解算,并結合拋物算法輸出控制指令驅動執行模塊拋物。
本設計中,將欲投擲目標點的坐標信息預先寫入單片機,然后由ADuC7026單片機接收GPS的導航電文,解碼出當前位置的經緯度、高度、水平速度,并結合陀螺儀檢測出當前的俯仰角。最后根據飛行高度、水平速度、俯仰角以及飛機與目標點的相對位置信息,計算出最佳拋物時機所處的位置,當飛機到達此位置時,由ADuC7026單片機產生的PWM信號控制舵機使之打開擋板開關,最終實現自動拋物。
飛行拋物算法為了更全面地分
析飛行器拋物過程,可以將一個隨機的拋物過程可以分為兩種類型,即斜上拋物和斜下拋物(水平拋物可以看作上述兩種類型的特殊情況),這兩種類型分別對應俯仰角α>0和α<0,二者對應的運動軌跡如圖3所示。其中橫軸代表水平距離,縱軸代表豎直高度。
從起拋點到目標點的水平距離即為提前拋擲閾值,根據拋物運動的相關知識不難得出以下公式:
斜上拋物時提前拋物距離閾值D1
俯仰角的修正
雖然MEMS陀螺儀具有體積小、成本低、易于集成等優點,但是它的速率輸出易受溫度等環境因素影響而產生漂移,這會給俯仰角的測量帶來隨時間不斷積累的誤差[4]。而通過GPS傳感器的修正可以較好地彌補這一不足,修正方法如下:
利用GPS傳感器求取俯仰角的方法如圖4所示。只要計算出飛行器當前時刻與前一時刻的高度差H?和水
若設定G P S信息更新頻率為5Hz(即每200ms導航電文更新一次),那么單片機每隔200ms就將通過GPS傳感器的信息對俯仰角進行一次修正。相對于采用單一傳感器測量的方式而言,這種采用MEMS陀螺儀與GPS傳感器結合測量俯仰角的方式即保證了實時性又提高了測量精度。
本系統采用電壓為12V的大容量鋰聚合物電池供電,經穩壓芯片處理后供給各單元電路,主要硬件單元連接框圖如圖5所示。
主控單元
本設計中主控芯片采用的是ADI公司的ADuC7026單片機。ADuC7026集成了ARM7TDMI內核,其外設包括一個比較器,可編程邏輯陣列(PLA)和3相脈寬調制(PWM)發生器,40個通用I/O口,1個UART等。當工作在41.78MHz時,其功耗一般是120mW[5]。可見,ADuC7026單片機具有較低的功耗和優越的性能,滿足本系統設計要求。
傳感器單元
GPS傳感器采用Trimble公司生產的C2626型GPS模塊,它具有體積小、定位快速準確等優點,并提供多種格式的導航電文輸出,它可以通過UART串口把坐標信息傳送給ADuC7026單片機進行處理。陀螺儀采用ADI公司生產的ADXRS612型陀螺儀,它的測量范圍可達±300°/s,采用模擬電壓輸出,可以通過單片機的ADC進行數據采樣。
執行單元
執行單元采用Futaba S3003型舵機來驅動機械投擲裝置。舵機的驅動信號是一個周期為20ms,脈寬在1ms至2ms之間變化的PWM信號,脈寬為1ms時對應舵機的左極限位置,對應機械裝置閉合。脈寬為2ms時對應舵機的右極限位置,對應機械裝置開啟。利用ADuC7026單片機的PWM發生器編程產生的驅動信號如圖6和圖7所示,兩信號分別對應機械裝置閉合和開啟,信號采用RIGOL DS5202型數字示波器測量。可見通過設置單片機輸出PWM的脈寬就可以控制拋物裝置的開關狀態。
軟件流程設計
GPS的解碼
GPS的解碼是本次設計的關鍵,Trimble C2626型GPS數字傳感模塊提供基于NMEA-0183協議的5種格式的導航電文輸出,分別為GPGGA、GPRMC、GPGSA、GPGSV以及GPGLL。為了即獲取足夠的導航信息又能提高系統的實時性,本設計僅對GPGGA格式的導航電文進行接收解碼。設置單片機串口波特率為9600bit/s,8位數據位,1位停止位,無奇偶校驗。當接收到衛星信號時,一條GPGGA格式的導航電文如下例所示:
$GPGGA,081545.00,4544.7518,N,1 2317.5230,E,1,08,1.6,140.0,M,14.2,M,,*4 A。
對一些關鍵數據的說明如下:
$GPGGA:數據幀頭,代表GPS固定數據
輸出語句;081545.00:24小時制UTC時間,格式為hh/mm/ss/.ss;
4544.7518:當前緯度值,度分格式;
N:緯度方向,N(北緯)或S(南緯);
12317.5230:當前經度值,度分格式;
E:經度方向,E(東經)或W(西經);
140.0:接收機天線所處位置海拔高度;
M:代表單位米。
分析可以看出,導航電文以“$”符開始,回車符結束,各種信息間以逗號“,”分開,根據這個規律,可以編寫解碼程序將各種導航信息分類存儲,軟件流程如圖8所示。
飛行拋物的控制
拋物控制的軟件流程如圖9所示。系統首先裝載目標位置坐標信息,然后采集傳感器信息并進行運算處理,當距目標距離d小于等于提前拋擲距離閾值D時,開始拋物。拋物結束后,延時5秒鐘,當飛行器飛出投擲目標范圍后舵機擋板自動閉合收起。
實驗與調試
為了減小高大建筑物對信號的遮蔽和反射,實驗選在郊外開闊的廣場,在近似無風的天氣下進行測試。拋投物體分別選擇重量為200g的布袋、水袋和沙袋以盡可能全面地模擬實際情況。實驗結果如表1所示,表中數據是重復實驗十次后取平均值所得。
結語
本文分析了飛行拋物算法公式,制定了各參量的求解方法,并且針對MEMS陀螺儀測角誤差隨時間積累的不足,利用GPS傳感器進行了俯仰角的校正,設計了飛行器拋物的控制流程。最后經過多次調試實驗,結果表明,對于一些密度較大,受風力影響較小的物體可以實現準確定點拋物。如何減小或補償風力的影響是下一步研究的方向。
參考文獻:
[1] 朱延波等.一種新型空投用緩沖裝置的設計[J].機械設計,2011,28(6):67-68
[2] 孫愛軍.空拋物資搜尋指揮系統的解決方案[J].無線電通信技術,2003,29(2):6-7
[3] 李文新等.基于ARM9與WindowsCE的車輛GPS定位信息采集系統[J].電子設計工程,2010,18(6):80-81
[4] 翁海詮等.基于最小分辨率的MEMS陀螺漂移抑制方法研究[J].儀器儀表學報,2011,32(10):2372-2373
[5] Analog Devices, Inc. ADuC7026 Datasheet[Z].2006