方 可, 楊 明, 李 偉
(哈爾濱工業(yè)大學(xué) 控制與仿真中心, 黑龍江 哈爾濱 150080)
儀器設(shè)備研制與應(yīng)用
無人機(jī)作業(yè)系統(tǒng)實(shí)驗(yàn)平臺(tái)開發(fā)
方 可, 楊 明, 李 偉
(哈爾濱工業(yè)大學(xué) 控制與仿真中心, 黑龍江 哈爾濱 150080)
為了使本科生在 “無人機(jī)飛控與作業(yè)系統(tǒng)” 創(chuàng)新課上更直觀地掌握所學(xué)知識(shí),體驗(yàn)學(xué)生自己設(shè)計(jì)的控制邏輯在無人機(jī)上運(yùn)行的效果,設(shè)計(jì)與開發(fā)了一套基于無線電遙控信號(hào)和電子開關(guān)的無人機(jī)作業(yè)系統(tǒng)實(shí)驗(yàn)平臺(tái),采用基于Mega8L單片機(jī)、APM9926場效應(yīng)管等元器件,解決了遙控信號(hào)識(shí)別、作業(yè)通道高速開關(guān)、失控保護(hù)等方面的問題,實(shí)際運(yùn)行情況證明該系統(tǒng)具有良好的快速性和可靠性。
無人機(jī); 作業(yè)系統(tǒng); 遙控信號(hào); 高速開關(guān); 失控保護(hù)
無人機(jī)[1-3]作為一種便捷、安全、低成本的飛行載體,越來越多地應(yīng)用于航拍、地理監(jiān)測、物資投放、植保、軍事等領(lǐng)域[4-6]。本科生的創(chuàng)新課——無人機(jī)飛控與作業(yè)系統(tǒng)旨在為學(xué)生提供一個(gè)平臺(tái),幫助學(xué)生了解和掌握無人機(jī)自動(dòng)駕駛儀和任務(wù)執(zhí)行機(jī)構(gòu)的相關(guān)知識(shí),支持學(xué)生完成相關(guān)方面的科技創(chuàng)新項(xiàng)目,并激發(fā)和滿足其在無人機(jī)方面的興趣愛好。平臺(tái)為課程教學(xué)提供一個(gè)可加載在無人機(jī)上的實(shí)物作業(yè)系統(tǒng),可根據(jù)無線電遙控指令完成多個(gè)通道的作業(yè)。平臺(tái)基于Atmel公司的Mega8L單片機(jī)[7]和APM9926場效應(yīng)管[8]等元器件實(shí)現(xiàn),在完成無人機(jī)作業(yè)示范的同時(shí),也幫助學(xué)生熟悉單片機(jī)編程、數(shù)字電路設(shè)計(jì)等方面的知識(shí),為其后期相關(guān)課程的學(xué)習(xí)奠定了基礎(chǔ)。
無人機(jī)作業(yè)系統(tǒng)實(shí)驗(yàn)平臺(tái)的核心是一片可實(shí)現(xiàn)多通道控制的印刷電路板(printed circuit board, PCB),該P(yáng)CB識(shí)別無線電遙控信號(hào),并根據(jù)控制邏輯高速觸發(fā)所轄通道的電壓驅(qū)動(dòng),激活無人機(jī)上的執(zhí)行機(jī)構(gòu)并完成相關(guān)任務(wù)。PCB周邊包括無線遙控設(shè)備(發(fā)射機(jī)與接收機(jī))、任務(wù)執(zhí)行機(jī)構(gòu)、電源等。除無線遙控設(shè)備的發(fā)射機(jī)以外,其余部件均搭載在無人機(jī)上升空飛行。圖1為無人機(jī)作業(yè)系統(tǒng)實(shí)驗(yàn)平臺(tái)的總體結(jié)構(gòu)。
圖1 無人機(jī)作業(yè)系統(tǒng)實(shí)驗(yàn)平臺(tái)的總體結(jié)構(gòu)
無人機(jī)作業(yè)系統(tǒng)工作時(shí),由地面的無線電發(fā)射機(jī)占用一個(gè)通道發(fā)出指令,接收機(jī)收到指令后,向PCB控制板傳送遙控信號(hào),單片機(jī)遂根據(jù)控制邏輯驅(qū)動(dòng)金屬氧化物半導(dǎo)體場效應(yīng)管[9](metal-oxide-semiconductor field-effect transistor, MOSFET),為激活通道的作動(dòng)機(jī)構(gòu)提供電源輸出,完成無人機(jī)的作業(yè)任務(wù)。從無線電發(fā)射機(jī)指令發(fā)出到作動(dòng)機(jī)構(gòu)開始運(yùn)作,全過程耗時(shí)小于0.35 s。
實(shí)驗(yàn)平臺(tái)需完成的功能包括:遙控信號(hào)識(shí)別、輸出通道數(shù)設(shè)定、數(shù)據(jù)存儲(chǔ)、系統(tǒng)作動(dòng)輸出、失控保護(hù)。
2.1 遙控信號(hào)識(shí)別
無線電遙控系統(tǒng)是2.4 GHz設(shè)備[10],其接收機(jī)輸出的舵機(jī)信號(hào)是一個(gè)小占空比的脈沖寬度調(diào)制波[11](pulse width modulation, PWM),周期為50 Hz,有效占空比為5%~10%。使用占空比表示通道位置,5%對(duì)應(yīng)通道起點(diǎn),10%對(duì)應(yīng)通道行程終點(diǎn),線性調(diào)節(jié)。
實(shí)驗(yàn)平臺(tái)使用Timer1定時(shí)器的ICP1輸入捕捉單元,通過切換信號(hào)的上升沿觸發(fā)和下降沿觸發(fā)中斷來實(shí)現(xiàn)遙控信號(hào)的識(shí)別。具體操作步驟如下:
步驟1:開啟Timer1定時(shí)器,不分頻,即中斷頻率和單片機(jī)主頻相同,設(shè)置TCCR1B = 0x89啟動(dòng)ICP1輸入捕捉單元。
步驟2:在Timer1的輸入捕捉中斷處理例程中判定B0管腳的高低電平狀態(tài)。若高電平則表示遙控信號(hào)PWM波的上升沿到來,設(shè)置TCNT1 = 0x00,清零Timer1計(jì)數(shù),并設(shè)置TCCR1B &=0xBF將輸入捕捉切換至下降沿觸發(fā);若低電平則表示下降沿到來,讀取寄存器ICR1的值,由式(1)計(jì)算遙控信號(hào)的占空比,并設(shè)置TCCR1B |=0x40將輸入捕捉切換至上升沿觸發(fā)。
(1)
式中,H是遙控信號(hào)占空比,ICR1是Timer1定時(shí)器計(jì)數(shù),fclk是單片機(jī)運(yùn)行主頻。
步驟3:重復(fù)步驟2,每完成20次占空比捕獲即進(jìn)入一次數(shù)字濾波子程序,去掉最高、最低各2次捕獲值,并求取剩余16次的均值,作為遙控信號(hào)的實(shí)際占空比,直到遙控信號(hào)撤離。
圖2為實(shí)驗(yàn)平臺(tái)完成無線電遙控信號(hào)識(shí)別的時(shí)序圖。
圖2 實(shí)驗(yàn)平臺(tái)的遙控信號(hào)識(shí)別時(shí)序圖
2.2 輸出通道設(shè)定
實(shí)驗(yàn)平臺(tái)支持n路作業(yè)通道的輸出,n≤8。PCB根據(jù)遙控信號(hào)控制在n路通道間順序切換作業(yè)電壓的輸出,允許在系統(tǒng)初始化周期內(nèi)設(shè)定輸出通道的路數(shù)。如設(shè)定4路輸出,則PCB工作期間只在前4路切換作業(yè)電壓。
實(shí)驗(yàn)平臺(tái)使用Timer0定時(shí)器計(jì)時(shí)系統(tǒng)的初始化周期,通過遙控信號(hào)的低位和高位切換來完成輸出通道設(shè)定。具體操作步驟如下:
步驟1:開啟Timer0定時(shí)器,設(shè)定1024分頻,即中斷頻率是單片機(jī)主頻的1/1024。設(shè)置TCNT0=0xE0,使單片機(jī)每30ms進(jìn)入一次Timer0定時(shí)器溢出中斷,置零變量Setting_Delay=0x00并在中斷例程中累加。
步驟2:使用2.1節(jié)中的遙控信號(hào)識(shí)別方法,持續(xù)捕獲PWM波占空比,使用式(2)計(jì)算遙控信號(hào)高位和低位的判定閾值Th和T1。
Th=Max(Hi)+0.8%
(2)
式中,Hi是在設(shè)置周期內(nèi)捕獲的PWM占空比序列。
步驟3:在Setting_Delay累加到0x64前(3s窗口),若偵測到遙控信號(hào)在Th和Tl之間歷經(jīng)一次且停留于Th之上,則進(jìn)入輸出通道設(shè)定,將綠色發(fā)光二極管(LED)全部點(diǎn)亮,同時(shí)紅色LED慢速閃爍,否則退出輸出通道設(shè)定,步驟截止。
步驟4:在Setting_Delay累加到0x10A前(5s窗口),繼續(xù)判定遙控信號(hào)在Th和Tl之間歷經(jīng)的次數(shù),將其設(shè)定為輸出通道的路數(shù),并從左側(cè)第一個(gè)燈開始熄滅相應(yīng)數(shù)量的綠色LED。
步驟5:Setting_Delay累加到0x10A,退出輸出通道設(shè)定,進(jìn)入正常工作狀態(tài)。
圖3為實(shí)驗(yàn)平臺(tái)輸出通道設(shè)定流程圖。
圖3 實(shí)驗(yàn)平臺(tái)的輸出通道設(shè)定流程圖
2.3 數(shù)據(jù)存儲(chǔ)
西漢時(shí)期,“順天時(shí)、行王政”不僅是對(duì)君主的要求,對(duì)官吏亦是如此。這一點(diǎn)從傳世和出土文獻(xiàn)中都能得到證明。
實(shí)驗(yàn)平臺(tái)需要存儲(chǔ)輸出通道的路數(shù),以便下一次無人機(jī)作業(yè)時(shí)使用。利用Mega8L單片機(jī)的512K電可擦可編程只讀存儲(chǔ)器[12](electricallyerasableprogrammableread-onlyMemory,EEPROM),可實(shí)現(xiàn)實(shí)驗(yàn)平臺(tái)的設(shè)置數(shù)據(jù)存取功能。具體步驟如下:
步驟1:寄存器賦值EEAR=InAddr設(shè)置EEPROM操作地址,其中InAddr是8位存儲(chǔ)器地址值。
步驟2:若向EEPROM存儲(chǔ)數(shù)據(jù),則賦值EEDR=InData傳送數(shù)據(jù),并使用EECR|=0x04;EECR|=0x02完成存儲(chǔ)。
步驟3:若由EEPROM載入數(shù)據(jù),則使用EECR|=0x01完成載入,并從EEDR讀取載入的數(shù)據(jù)。
2.4 系統(tǒng)作動(dòng)輸出
實(shí)驗(yàn)平臺(tái)采用基于遙控信號(hào)的輸出通道順序激活方式完成無人機(jī)作業(yè),即在設(shè)定的輸出路數(shù)內(nèi),遙控開關(guān)動(dòng)作一次,完成一次當(dāng)前作業(yè)通道的輸出,并切換當(dāng)前通道至下一個(gè)輸出通道。具體操作步驟如下:
步驟1:設(shè)置一個(gè)Cur_No和Max_No無符號(hào)整型變量,用以保存當(dāng)前操作的通道標(biāo)號(hào),以及系統(tǒng)設(shè)定的輸出路數(shù)。初始化Cur_No=0x00。
步驟2:識(shí)別遙控信號(hào)判定其動(dòng)作至Th高位,使用PORTx.Cur_No= 1來觸發(fā)APM9926MOSFET(N溝道正邏輯)激活當(dāng)前的輸出通道,其中x為APM9926連接Mega8L單片機(jī)的管腳埠號(hào)。
步驟4:判定Cur_No是否大于Max_No,若為真,則重新初始化Cur_No= 0x00。
步驟5:回到步驟2重復(fù)。
圖4為實(shí)驗(yàn)平臺(tái)系統(tǒng)作動(dòng)輸出的流程圖。
圖4 實(shí)驗(yàn)平臺(tái)的作動(dòng)輸出流程
2.5 失控保護(hù)
當(dāng)遙控信號(hào)意外丟失時(shí)(如受到強(qiáng)電磁干擾、發(fā)射機(jī)斷電等),無人機(jī)需關(guān)閉作業(yè)通道輸出以保證系統(tǒng)安全。通過在Timer0溢出中斷內(nèi)設(shè)置一個(gè)累加變量,并在Timer1輸入捕獲中斷內(nèi)清零的方式,可以實(shí)現(xiàn)遙控信號(hào)丟失的識(shí)別,從而進(jìn)行封鎖作業(yè)輸出的操作。具體步驟如下:
步驟1:在Timer0溢出中斷內(nèi)設(shè)置TX_Delay,并在TX_Delay< 0x0A為真時(shí)累加TX_Delay++。
步驟2:在Timer1輸入捕獲中斷內(nèi)清零TX_Delay=0x00。
步驟3:在Timer0溢出中斷內(nèi)判定TX_Delay==0x0A,若為真,則系統(tǒng)進(jìn)入失控保護(hù)狀態(tài),封鎖無人機(jī)作業(yè)輸出PORTx=0x00。其中x為APM9926連接Mega8L單片機(jī)的管腳埠號(hào)。
步驟4:若遙控信號(hào)找回,系統(tǒng)回到步驟2重復(fù)運(yùn)行。
圖5為實(shí)驗(yàn)平臺(tái)失控保護(hù)的流程圖。
圖5 實(shí)驗(yàn)平臺(tái)的失控保護(hù)流程圖
實(shí)驗(yàn)平臺(tái)支持主流的2.4GHz遙控設(shè)備,能夠使用一路遙控信號(hào)驅(qū)動(dòng)最多8路輸出通道,支持無人機(jī)在飛行中完成多種作業(yè)任務(wù)。使用步驟如下:
步驟1:將實(shí)驗(yàn)平臺(tái)PCB的輸入信號(hào)線插入無人機(jī)接收機(jī)的一個(gè)空閑通道,將無人機(jī)上的作動(dòng)執(zhí)行機(jī)構(gòu)電源輸入端插接到PCB的八聯(lián)雙排輸出埠。
步驟2:打開遙控發(fā)射機(jī),給無人機(jī)接收機(jī)上電,PCB紅色LED會(huì)快速閃爍3s。如果第一次使用實(shí)驗(yàn)平臺(tái),或更換了遙控設(shè)備,則在此窗口期來回?fù)軇?dòng)遙控通道開關(guān)1到2次,幫助系統(tǒng)識(shí)別遙控通道行程。
步驟3:若需要設(shè)置實(shí)驗(yàn)平臺(tái)的輸出路數(shù),則將遙控通道開關(guān)保持在高位,此時(shí)紅色LED熄滅,綠色LED全亮。來回?fù)軇?dòng)開關(guān)一次,即設(shè)置了一路輸出,最多設(shè)置8路輸出。5s設(shè)置周期后,PCB會(huì)閃爍相應(yīng)數(shù)量的綠色LED以提示設(shè)置幾路輸出。
步驟4:將遙控通道開關(guān)撥回低位,紅色LED點(diǎn)亮,綠色LED全滅,實(shí)驗(yàn)平臺(tái)進(jìn)入工作狀態(tài)。
步驟5:將負(fù)載驅(qū)動(dòng)電源插接到PCB的電源輸入端口,撥動(dòng)遙控通道開關(guān)到高位,則激活當(dāng)前的無人機(jī)作業(yè)通道,撥回開關(guān)到低位,作業(yè)通道關(guān)閉。下次再撥動(dòng)遙控通道開關(guān)到高位,則激活下一個(gè)無人機(jī)作業(yè)通道,依次類推,直到推進(jìn)至實(shí)驗(yàn)平臺(tái)預(yù)設(shè)的通道數(shù)為止,此時(shí)無人機(jī)當(dāng)前作業(yè)返回到第一個(gè)通道。
圖6為實(shí)驗(yàn)平臺(tái)使用步驟的流程圖。
使用ProtelDesigner99SE軟件進(jìn)行控制板的PCB制圖,并交由代工工廠產(chǎn)出工業(yè)級(jí)的PCB產(chǎn)品,在實(shí)驗(yàn)室完成元件的手工焊接。PCB的電阻、電容、電感等分立元件使用0805貼片封裝,節(jié)約控制板的布局空間。實(shí)驗(yàn)平臺(tái)的控制板質(zhì)量僅為9g,可以忽略其對(duì)無人機(jī)的飛行重量的影響。圖7為實(shí)驗(yàn)平臺(tái)PCB的Protel電路設(shè)計(jì)原理圖。
分別以四旋翼飛行器和飛翼型固定翼無人機(jī)搭載實(shí)驗(yàn)平臺(tái)的PCB控制板,完成了演唱會(huì)煙花表演作業(yè)和某型火箭發(fā)射作業(yè),取得了穩(wěn)定可靠的應(yīng)用效果。2.4GHz遙控信號(hào)PWM占空比識(shí)別分辨率達(dá)到2048,作業(yè)通道激活時(shí)間小于1ms,作業(yè)通道漏電阻小于20mΩ(可認(rèn)為完全導(dǎo)通),失控保護(hù)啟動(dòng)和信號(hào)恢復(fù)時(shí)間小于10ms,可按編程邏輯實(shí)現(xiàn)最多8路作業(yè),系統(tǒng)理論壽命不小于10萬次作業(yè)。
目前該無人機(jī)作業(yè)系統(tǒng)的實(shí)驗(yàn)平臺(tái)受APM9926的電氣特性限制,最高支持36V的作業(yè)負(fù)載電壓,對(duì)某些需要12串鋰電(標(biāo)稱44.4V/滿電50.4V)驅(qū)動(dòng)的無人機(jī)作業(yè)不適用??煽紤]在之后的版本中選用耐壓50V的MOSFET來解決這個(gè)問題。此外,對(duì)于某些特殊的非順序作業(yè)邏輯(如奇偶通道同時(shí)作業(yè)等),可修改單片機(jī)程序并下載到目標(biāo)板。最后,可設(shè)計(jì)一種串聯(lián)結(jié)構(gòu),允許用戶對(duì)作業(yè)通道路數(shù)進(jìn)行硬件擴(kuò)展。
圖6 實(shí)驗(yàn)平臺(tái)的使用步驟流程圖
圖7 實(shí)驗(yàn)平臺(tái)的Protel電路設(shè)計(jì)原理圖
無人機(jī)作業(yè)系統(tǒng)的實(shí)驗(yàn)平臺(tái)開發(fā),滿足了當(dāng)前的科研需求,同時(shí)幫助學(xué)生了解和掌握遙控信號(hào)識(shí)別、MOSFET負(fù)載驅(qū)動(dòng)等相關(guān)知識(shí),直觀地體會(huì)控制板在無人機(jī)實(shí)際飛行中的運(yùn)行情況,提升了學(xué)生對(duì)電路設(shè)計(jì)、單片機(jī)開發(fā)和對(duì)“無人機(jī)飛控與作業(yè)系統(tǒng)”的學(xué)習(xí)興趣,取得了良好的教學(xué)效果。
)
[1]JeongHJ,ChoiJD,HaYG.VisionbaseddisplacementdetectionforstabilizedUAVcontroloncloudserver[J].LectureNotesinElectricalEngineering,2016: 1-11.
[2]MarantosP,KoveosY,KyriakopoulosKJ.UAVstateestimationusingadaptivecomplementaryfilters[J].IEEETransactionsonControlSystemsTechnology,2015(99): 1-13.
[3]ElfekyM,ElshafeiM,SaifAWA,etal.ModelingandsimulationofquadrotorUAVwithtiltingrotors[J].InternationalJournalofControl:AutomationandSystems, 2016, 14(4): 1-9.
[4]SiebertS,TeizerJ.Mobile3DmappingforsurveyingearthworkprojectsusinganUnmannedAerialVehicle(UAV)system[J].AutomationinConstruction,2014, 41(2): 1-14.
[5]LiuH,LinM,DengL.UAVrouteplanningforaerialphotographyunderintervaluncertainties[J].Optik-InternationalJournalforLightandElectronOptics,2016, 127(20): 9695-9700.
[6]LinKP,HungKC.AnefficientfuzzyweightedaveragealgorithmforthemilitaryUAVselectingundergroupdecision-making[J].Knowledge-BasedSystems,2011, 24(6): 877-889.
[7]ATMel.Mega8LDatasheet[EB/OL]. [2016-11-03].www.atmel.com. 2007: 1-118.
[8] ANPEC.APM9926/C Datasheet[EB/OL]. [2016-11-03]. www.anpec.com.tw. 2002: 1-11.
[9] Na K Y, Baek K J, Kim Y S. N-Channel Dual-Workfunction-Gate MOSFET for analog circuit applications[J]. IEEE Transactions on Electron Devices, 2012, 59(12): 3273-3279.
[10] 周婷婷, 尚浩. 基于2.4G的智能家居控制系統(tǒng)設(shè)計(jì)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012, 12(10): 67-69.
[11] Hoffmann W C, Fritz B. Development of a PWM precision spraying controller for unmanned aerial vehicles[J]. Journal of Bionic Engineering,2010, 7(3): 276-283.
[12] Meng X Y, Yang S, Chen ZJ, et al. Low power EEPROM designed for sensor interface circuit[J]. Chinese Journal of Electronics,2011, 21(4): 642-644.
Development of experimental platform for unmanned aerial vehicle’s operating system
Fang Ke, Yang Ming, Li Wei
(Control and Simulation Center, Harbin Institute of Technology, Harbin 150080, China)
In order to help undergraduate students to master the knowledge more intuitively in the Unmanned Aerial Vehicle Flight Control and Operating System course, and to experience the effect of the control logic on the unmanned aerial vehicle designed by the students themselves, an experimental platform of the unmanned aerial vehicle operational system based on the remote control signal and the electronic switch is designed and developed. This platform adopts the micro computing unit based on Mega8L, the APM9926 field-effect transistor and other components to solve the problems about the remote control signal recognition, the high-speed switch of operation channel, fail-control prolection ,etc. The practical operation proves that the system has excellent promptness and reliability.
unmanned aerial vehicle; operating system; remote control signal; high-speed switch; fail-control prolection
10.16791/j.cnki.sjg.2017.05.018
2016-11-10
國家自然科學(xué)基金項(xiàng)目(61374164)
方可(1977—),男,黑龍江哈爾濱,博士,副教授,主要從事控制系統(tǒng)設(shè)計(jì)、系統(tǒng)仿真方面的教學(xué)與科研.
E-mail:hitsim@163.com
V279;G484
A
1002-4956(2017)5-0068-05