電子設(shè)計大賽四旋翼設(shè)計報告最終版_第1頁
電子設(shè)計大賽四旋翼設(shè)計報告最終版_第2頁
電子設(shè)計大賽四旋翼設(shè)計報告最終版_第3頁
電子設(shè)計大賽四旋翼設(shè)計報告最終版_第4頁
電子設(shè)計大賽四旋翼設(shè)計報告最終版_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、四旋翼飛行器(A 題)參賽隊號:20140057號四旋翼飛行器設(shè)計摘要:四旋翼作為一種具有結(jié)構(gòu)特殊的旋轉(zhuǎn)翼無人飛行器,與固定翼無人機(jī)相比,它具有體積小,垂直起降,具有很強(qiáng)的機(jī)動性,負(fù)載能力強(qiáng),能快速、靈活的在各個方向進(jìn)行機(jī)動,結(jié)構(gòu)簡單,易于控制,且能執(zhí)行各種特殊、危險任務(wù)等特點。因此在軍用和民用領(lǐng)域具有廣泛的應(yīng)用前景如低空偵察、災(zāi)害現(xiàn)場監(jiān)視與救援等。多旋翼無人機(jī)飛行原理上比較簡單,但涉及的科技領(lǐng)域比較廣,從機(jī)體的優(yōu)化設(shè)計、傳感器算法、軟件及控制系統(tǒng)的設(shè)計都需要高科技的支持。四旋翼無人機(jī)的飛行控制技術(shù)是無人機(jī)研究的重點之一。它使用直接力矩,實現(xiàn)六自由度(位置與姿態(tài))控制,具有多變量、非線性、強(qiáng)耦

2、合和干擾敏感的特性。此外,由于飛行過程中,微型飛行器同時受到多種物理效應(yīng)的作用,還很容易受到氣流等外部環(huán)境的干擾,模型準(zhǔn)確性和傳感器精度也將對控制器性能產(chǎn)生影響,這些都使得飛行控制系統(tǒng)的設(shè)計變得非常困難。因此,研究既能精確控制飛行姿態(tài),又具有較強(qiáng)抗干擾和環(huán)境自適應(yīng)能力的姿態(tài)控制器是微小型四旋翼飛行器飛行控制系統(tǒng)研究的當(dāng)務(wù)之急。一、引言:1.1 題目理解:四旋翼飛行器,顧名思義,其四只旋轉(zhuǎn)的翅膀為飛行的動力來源。四只旋轉(zhuǎn)翼是無刷電機(jī),因此對于無刷電機(jī)的控制調(diào)速系統(tǒng)對飛行器的飛行性能起著決定性的作用。在本次大賽中,需要利用四旋翼飛行器平臺,實現(xiàn)四旋翼的起飛,懸停,姿態(tài)控制,以及四旋翼和地面之間的測

3、距等功能。1.2 設(shè)計思路:為了滿足飛行器的設(shè)計要求,要使用以微控制器為核心的控制系統(tǒng),使本系統(tǒng)以MC9S12XS128模擬出控制信號,用STM32 MMC10接收模擬信號,然后翻譯出模擬信號,利用加速度與陀螺儀傳感器采集飛行器的飛行數(shù)據(jù),加以閉環(huán)調(diào)控和精準(zhǔn)的控制算法。進(jìn)行上升、下降以及懸停等動作。1.3 特點:本飛行器脫離遙控器控制,用微處理器實現(xiàn)整個飛行過程全自動控制,控制精度高。二、方案設(shè)計:系統(tǒng)主要由STM32模塊,微處理器MC9S12XS128模塊,電源模塊,電機(jī)模塊,超聲波模塊,加速度陀螺儀模塊等構(gòu)成。系統(tǒng)總體框圖如下圖(圖2.0): 圖2.0 其中微處理器MC9S12XS128模

4、塊的外圍電路見附錄一 2.1 控制系統(tǒng)選擇方案:2.1.1 方案一:選擇Coldfire系列芯片作為系統(tǒng)控制的主控板,因為在以往隊員們做過飛思卡爾智能車競賽,對此系列的芯片做的比較熟悉,芯片功能強(qiáng)大,但以往做的核心板較大,所需的電路較多,考慮到四軸飛行器的輕便,故而不太是一個很理想的選擇。2.1.2 方案二:主控板使用STM32。STM32板子的I/O口很多,自帶定時器和多路PWM,可以實現(xiàn)的功能較多,符合實驗要求。Stm32迷你板在體積和重量上也不是很大,對飛機(jī)的載重量要求不是很高。綜上所述,我們一致決定使用STM32 MMC10作為此次大學(xué)生電子競賽的主控板。2.2 飛行姿態(tài)的方案論證:2

5、.2.1 方案一: 十字飛行方式。四軸的四個電機(jī)以十字的方式排列,x軸和y軸成直角,調(diào)整俯仰角和翻滾角的時候分開調(diào)整,角度融合簡單,適合初學(xué)者,能明確頭尾,飛行時機(jī)體動作精準(zhǔn),飛控起來也容易。  2.2.2 方案二: X行飛行方式。四軸的四個電機(jī)以X字的方式排列,靈活性和可調(diào)性較高,調(diào)整的時候應(yīng)該相鄰兩個融合調(diào)節(jié),融合復(fù)雜。X型飛行方式非常自由靈活,旋轉(zhuǎn)方式多樣,可以花樣飛行,也可以做出很多高難度動作,但是控制上相對比較困難。綜合以上兩種方案鑒于我們是初次嘗試,所以選擇了方案一。2.3 角度測量模塊方案論證 2.3.1 方案一:

6、60;光纖陀螺儀。光纖陀螺儀是以光導(dǎo)纖維線圈為基礎(chǔ)的敏感元件, 由激光二極管發(fā)射出的光線朝兩個方向沿光導(dǎo)纖維傳播。光傳播路徑的變化,決定了敏感元件的角位移。光纖陀螺儀壽命長,動態(tài)范圍大,瞬時啟動,結(jié)構(gòu)簡單,尺寸小,重量輕,但是成本較高,鑒于我們這是初次嘗試,需要多次實驗,破壞較大。 2.3.2 方案二: MPU6050三軸陀螺儀。MPU6050三軸陀螺儀就是可以在同一時間內(nèi)測量三個不同方向的加速度、角速度、角度。單軸的話,就只可以測定一個方向的量,那么一個三軸陀螺就可以代替三個單軸陀螺。它現(xiàn)在已經(jīng)成為激光陀螺的發(fā)展趨向,具有可靠性很好、結(jié)構(gòu)簡單不復(fù)雜、重量很輕和體

7、積很小等等特點,但是其輸出數(shù)據(jù)需要大量的浮點預(yù)算才能保證較高的精度,這樣會影響主控板對最終的姿態(tài)控制的響應(yīng)速率。  綜合以上兩種方案,我們選擇了方案二2.4 飛行器距地距離顯示的方案論證:2.4.1 方案一:選用LCD液晶顯示:LCD液晶顯示在顯示效果上較豐富,可以顯示字母,數(shù)字等等需求,但在我們實際編寫的時候發(fā)現(xiàn)驅(qū)動代碼稍顯復(fù)雜,顯示效果在實際光線較亮的時候外界不容易清晰的看到LCD顯示的內(nèi)容,尤其是當(dāng)四軸飛行器在實際飛行的過程中,顯示效果并不理想。2.4.2 方案二:選用LED數(shù)碼管顯示:實際的觀察中,發(fā)現(xiàn)數(shù)碼管的顯示比較單一,但顯示內(nèi)容清晰可辨認(rèn),實際使用中對系統(tǒng)的占用資源也比

8、較少??紤]比賽要求只要求看到實際的顯示效果,因而我們決定使用數(shù)碼管來顯示四軸飛行器距離地面的距離。2.5 確定方案之后,針對題目要求,最終編寫出合適算法,進(jìn)行控制。程序流程圖如下(圖2.1): 圖2.12.6 程序部分核心代碼見附錄二三 、設(shè)計實現(xiàn):3.1 超聲波測距模塊:由于競賽要求需要四軸飛行器懸停在一個距離,因而在我們做的過程中,選用超聲波傳感器用于測量四軸飛行器距離地面的距離,測量誤差實際保證在1cm一下,基本做到精確測量,在寫超聲波模塊的驅(qū)動時,開始我們只想通過在程序中寫一個無限循環(huán)的延時程序來測量超聲波往返的時間,這種方法在開始單步調(diào)試測距的時候表現(xiàn)正常,可以讀到正確數(shù)據(jù),但在單片

9、機(jī)中加入中斷優(yōu)先級的程序時這種方法就不能勝任了。最后經(jīng)我們小組討論決定利用單片機(jī)的pit中斷實現(xiàn)超聲波模塊的測量往返時延,測量精確。實驗效果較好。3.2 顯示報告飛行高度:在我們的方案設(shè)計中小隊決定使用數(shù)碼管來顯示四軸飛行器距離地面的高度,在我們做的過程中首先要解決的問題就是選用靜態(tài)顯示還是動態(tài)顯示的問題,開始因為想的比較簡單就想單純的用I/O口置高與置低電平來控制LED數(shù)碼管的亮暗,發(fā)現(xiàn)如果4位數(shù)碼管顯示的話所用到的I/O口就需要4*8=32個IO口,這對單片機(jī)有限的引腳來說是一個巨大的負(fù)擔(dān),在查找資料與請教老師后我們找到一種動態(tài)顯示數(shù)碼管的方法很好的解決了這個問題,所需引腳僅僅用11個,實

10、際測試中,顯示效果很好。四、 測試:4.1 硬件測試:將四旋翼模型拆解,然后用物理法測量中心,使其重心維持在四軸飛行器的中心。然后按順序?qū)㈦姵?,主控板,陀螺儀等機(jī)械硬件使其牢固的裝在模型飛機(jī)上。硬件測試使用了萬能角度尺、示波器、萬用表、壓線鉗、電量測量儀等。4.2 軟件測試:為了保證PWM波輸出的正確性,每次改動程序初始化之后用示波器測試波形的輸出,保證其占空比和周期的正確性。在正式算法程序之前,又用串口顯示每個電機(jī)PWM輸入,觀察電機(jī)在各個PWM占空比的電機(jī)轉(zhuǎn)速。確保軟件反應(yīng)硬件是規(guī)律一致的。軟件測試最關(guān)鍵的是PID的參數(shù)調(diào)試,其中,p參數(shù)是調(diào)整整個四旋翼飛行器的反應(yīng)速度和力度的,調(diào)節(jié)p參數(shù)

11、以當(dāng)整個模塊反應(yīng)迅速并且四旋翼振動頻率四邊偏差不大的時候即可完成,d參數(shù)在這之中的目的是一個抑制作用,當(dāng)振蕩幅度過大的時候能從任意角度一次直接返回平衡位置。I參數(shù)是一個積分項,當(dāng)哪一邊反應(yīng)過小時可以加一個i參數(shù),這樣就成了一個完整的PID參數(shù)調(diào)試了。4.3 硬件軟件聯(lián)合測試:此步主要通過在STM32平臺下進(jìn)行編程,進(jìn)行一系列的算法設(shè)計與調(diào)校,確認(rèn)四旋翼飛行器是否能夠飛行,通過大量的測試與實踐,找出能剛剛使飛行器的電機(jī)占空比(PWM)值,當(dāng)然,這一步可以通過聯(lián)合超聲波距離傳感器設(shè)計一個動態(tài)PID調(diào)節(jié),具體的調(diào)節(jié)方法依據(jù)能反應(yīng)姿態(tài)的傳感器聯(lián)合作用。五、 完成情況:在本小組所有隊員這幾天的努力調(diào)試下

12、,本次完成情況如下,飛行器能夠垂直起飛,起飛后能在50cm出懸停5s以上,然后飛行器可以繼續(xù)垂直上升至100cm出,能懸停5s以上,在平穩(wěn)回到原地的過程中,因為沒有其他的傳感器給飛行器提供路徑的識別,所以回到原地的過程中,一切只能依靠軟件與經(jīng)驗來模擬,故實際使用中發(fā)現(xiàn)做到這一步誤差存在,在飛行器起飛至50100cm的高度上,懸停5s以后,然后水平飛行200cm,這一步也是由于沒有具體的識別方法,依靠軟件實際測試得出的規(guī)律來確定200cm的大致飛行時間與速度,因而依然存在誤差。由于我們把數(shù)碼管和超聲波做好,因而顯示飛行器距地距離很順利??傮w比賽內(nèi)容大致完成。六、總結(jié):本次參加電子設(shè)計大賽,我們將

13、以往的一些經(jīng)驗雜糅成新,深刻認(rèn)識到軟硬件結(jié)合的重要性。四旋翼的完成,硬件是基礎(chǔ),只有在能靈活熟練地使用硬件,才能更加方便的編寫質(zhì)量好的軟件。另外一個不可忽視的問題便是方案的選取。一個項目的完成可能會有很多種方案,而且不同方案在實現(xiàn)之前不可預(yù)知其好壞以及是否適合本項目的完成,這就衍生出更多的實踐測試,項目的完成不可一蹴而就,認(rèn)真對待,在摸爬滾打中可積累更多的經(jīng)驗。 另外,基于軟硬件的項目,其機(jī)械性能也會有不可小覷的影響。起初我隊在搭建機(jī)械的時候忽視了四旋翼的重心,認(rèn)為機(jī)械重心的便宜可通過算法的自我調(diào)控來調(diào)節(jié),事實證明,這種想法是錯誤的,好的機(jī)械性能更有利于算法的實現(xiàn),機(jī)械搭建的好,便更容易調(diào)試軟

14、件。在完成的過程中,我隊深刻意識到在嵌入式的開發(fā)過程中,對軟件質(zhì)量的要求很高,所以在實際的編寫過程中,優(yōu)異的代碼與思想或許尤為重要,而我們在這方面還多有不足,在此過程中,我們因為傳感器的不足,有些想法不能做,但也正是缺少直接的東西,讓我們可以很好的發(fā)現(xiàn)其他的解決方法,以后還需努力。附錄一:附錄二:(部分核心代碼)/*超聲波模塊*/ int csb(void) int d=0; PTT_PTT5 = 1; delayus(10); PTT_PTT5 = 0; while(PTIT_PTIT3!=1); count=0; while(PTIT_PTIT3=1); d=count*17/10; re

15、turn d; /*數(shù)碼管顯示模塊*/ void show123(x) if(x=0) PORTA_PA1 = up; PORTA_PA2 = up; PORTA_PA3 = up; PORTA_PA4 = up; PORTA_PA5 = up; PORTA_PA6 = up; PORTA_PA7 = down; else if(x=1) PORTA_PA1 = down; PORTA_PA2 = up; PORTA_PA3 = up; PORTA_PA4 = down; PORTA_PA5 = down; PORTA_PA6 = down; PORTA_PA7 = down; else if

16、(x=2) PORTA_PA1 = up; PORTA_PA2 = up; PORTA_PA3 = down; PORTA_PA4 = up; PORTA_PA5 = up; PORTA_PA6 = down; PORTA_PA7 = up; else if(x=3) PORTA_PA1 = up; PORTA_PA2 = up; PORTA_PA3 = up; PORTA_PA4 = up; PORTA_PA5 = down; PORTA_PA6 = down; PORTA_PA7 = up; else if(x=4) PORTA_PA1 = down; PORTA_PA2 = up; PO

17、RTA_PA3 = up; PORTA_PA4 = down; PORTA_PA5 = down; PORTA_PA6 = up; PORTA_PA7 = up; else if(x=5) PORTA_PA1 = up; PORTA_PA2 = down; PORTA_PA3 = up; PORTA_PA4 = up; PORTA_PA5 = down; PORTA_PA6 = up; PORTA_PA7 = up; else if(x=6) PORTA_PA1 = up; PORTA_PA2 = down; PORTA_PA3 = up; PORTA_PA4 = up; PORTA_PA5

18、= up; PORTA_PA6 = up; PORTA_PA7 = up; else if(x=7) PORTA_PA1 = up; PORTA_PA2 = up; PORTA_PA3 = up; PORTA_PA4 = down; PORTA_PA5 = down; PORTA_PA6 = down; PORTA_PA7 = down; else if(x=8) PORTA_PA1 = up; PORTA_PA2 = up; PORTA_PA3 = up; PORTA_PA4 = up; PORTA_PA5 = up; PORTA_PA6 = up; PORTA_PA7 = up; else

19、 if(x=9) PORTA_PA1 = up; PORTA_PA2 = up; PORTA_PA3 = up; PORTA_PA4 = up; PORTA_PA5 = down; PORTA_PA6 = up; PORTA_PA7 = up; else if(x=10) PORTA_PA1 = down; PORTA_PA2 = down; PORTA_PA3 = down; PORTA_PA4 = down; PORTA_PA5 = down; PORTA_PA6 = down; PORTA_PA7 = down; else PORTA_PA1 = down; PORTA_PA2 = up

20、; PORTA_PA3 = up; PORTA_PA4 = up; PORTA_PA5 = up; PORTA_PA6 = up; PORTA_PA7 = down; /*起飛模塊*/ void startfly(void) PWMDTY2=25; show_xt=10; show_a=show_b=10; show_c=0; delayms(2000); PWMDTY0=1185>>8; PWMDTY1=1185; PWMDTY3=19; PWMDTY2=19; void main(void) int i=0; int P=12,I=0,D=150; PLL_Init(); PW

21、M_Init(); DDRT_DDRT3 = 0; DDRT_DDRT5 = 1; DDRA=0xFF; DDRT_DDRT2 = 1; DDRT_DDRT4 = 1; DDRT_DDRT6 = 1; PIT_Init(); EnableInterrupts; delayms(4000); startfly(); delayms(2000); /* GetDIPSwitch(); if(DIPSwitch_DIPS8=0) bmkg =100; */ while(s<=14) if(s>=11) want=350; if(s>=12) want=350; if(s>=1

22、4) want=150; delayms(40); test=csb(); now_high=want-test; PI+=I*now_high; PWM3_ls=P*now_high+PI+D*(now_high-last_high); PWM3=1160+PWM3_ls/100; llst_high=last_high; last_high=now_high; if(PWM3>1230) PWM3=1230; else if(PWM3<1100) PWM3=1100; PWMDTY4=PWM3>>8; PWMDTY5=PWM3; test=test/10; if(csb_count>3000) csb_count=0; if(test<10) show_a=10; show_b=10; show

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論