四軸飛行器的結(jié)構(gòu)是由兩個支架交叉形成機(jī)架,然后在兩個支架的兩端配備螺旋槳如圖2-1。根據(jù)牛頓第三定律中作用力與反作用力的關(guān)系,螺旋槳產(chǎn)生向下的力,而對飛行器自身會得到一個向上的升力,從而去克服重力作用。當(dāng)四個螺旋槳產(chǎn)生的升力大于重力時,飛行器將會脫離地面,根據(jù)牛頓第二定律中物體加速度跟質(zhì)量與受力的關(guān)系,四軸飛行器將會得到一個向上的加速度使得飛行器在垂直方向上運(yùn)動得越來越快,但是當(dāng)飛行器脫離地面后,當(dāng)升力與重力相等時,飛行器將會保持之前的上升速度做勻速上升。因此四旋翼飛行器通過改變四個電機(jī)的轉(zhuǎn)速來實現(xiàn)飛行器的姿態(tài)和位置控制,然而飛行器由于機(jī)械結(jié)構(gòu)的差異和環(huán)境影響,若只通過電機(jī)得到升力來達(dá)到穩(wěn)定飛行是遠(yuǎn)遠(yuǎn)不夠的,所以需要加入微型計算機(jī)來實時控制各個電機(jī)的轉(zhuǎn)速。
圖2-1 四旋翼飛行器模型
2.2 四軸飛行器的數(shù)學(xué)模型在不計飛行器的彈性形變和震動的情況下,四旋翼飛行器當(dāng)作一個具有六自由度剛體,并輸出四個電機(jī)的轉(zhuǎn)速。令飛行器相對于地面坐標(biāo)系的三個歐拉角分別為滾動角、俯仰角
、偏航角
,因此地面坐標(biāo)系與剛體坐標(biāo)系的旋轉(zhuǎn)矩陣R(推導(dǎo)見4.3章節(jié))和平移矩陣為T(推導(dǎo)見4.3章節(jié))
(2.1)
(2.2)
假設(shè)飛行器三個軸所受的擾動,并且飛行器為“X”型,根據(jù)牛頓第二定律有公式(2.3)
(2.3)
式中表示飛行器在地面坐標(biāo)系三個軸上的合力;F表示飛行器四個旋翼的整體升力大小;R表示從飛行器坐標(biāo)系(剛體坐標(biāo)系)映射到地面坐標(biāo)系的旋轉(zhuǎn)矩陣;
表示F在飛行器坐標(biāo)系的方向。再根據(jù)角動量定理得到最終的系統(tǒng)動力學(xué)模型為:
(2.4)
(2.5)
(2.6)
(2.7)
(2.8)
(2.9)
其中,是四個旋翼的轉(zhuǎn)速,b為阻力因素;m為飛行器質(zhì)量;g為重力加速度;l為電機(jī)到四旋翼飛行器幾何中心的距離;
為螺旋槳繞軸的轉(zhuǎn)動慣量;
為各方向上的轉(zhuǎn)動慣量;
為槳葉整體的速度;d為風(fēng)阻系數(shù)。
而在實際控制中是寫成系統(tǒng)狀態(tài)方程的形式,其中狀態(tài)慣量
與控制量輸入
可表示為
(2.10)
(2.11)
四旋翼作為一個四輸入六輸出的欠驅(qū)動系統(tǒng),只需要控制四個電機(jī)的轉(zhuǎn)速,便可以有效的控制飛行器的姿態(tài),需特別注意的是為了抵消電機(jī)旋轉(zhuǎn)產(chǎn)生的力矩,遵循相鄰電機(jī)的旋轉(zhuǎn)方向相反,對角電機(jī)旋轉(zhuǎn)方向相同的原則。
圖2-2垂直運(yùn)動模型圖 圖2-3前后運(yùn)動模型圖
圖2-4左右運(yùn)動模型圖 圖2-5偏航運(yùn)動模型圖
在上圖里,電機(jī)1、3做順時針旋轉(zhuǎn),電機(jī)2、4做逆時針旋轉(zhuǎn),令正方向為飛行器前方。
2.3.1 垂直運(yùn)動在圖2-2中,同時增加四個電機(jī)的轉(zhuǎn)速,使得飛行器的總體升力增大,當(dāng)總的升力大于飛行器重力時,就能使四旋翼垂直上升;相反,若四個電機(jī)的速度同時減小,四旋翼飛行器就能夠垂直向下運(yùn)動;因此只有當(dāng)飛行器的升力剛好抵消重力時才滿足懸停條件。
2.3.2 前后運(yùn)動 在圖2-3中,電機(jī)1、2的轉(zhuǎn)速下降,電機(jī)3、4的轉(zhuǎn)速增加,使得飛行器產(chǎn)生向前的傾斜,對此姿態(tài)進(jìn)行受力分析如圖2-6,F(xiàn)為四旋翼槳葉產(chǎn)生的合力,為四旋翼的俯仰角,忽略空氣阻力,將F沿著水平方向和豎直方向進(jìn)行分解后,豎直方向的力為F*cos
,為避免垂直運(yùn)動F*cos
=mg;在水平方向的分力為F*sin
,因此會飛行器會向水平方向運(yùn)動。
圖2-6 受力分析圖
2.3.3 左右運(yùn)動在圖2-4中,電機(jī)2、3的轉(zhuǎn)速下降,電機(jī)1、4的轉(zhuǎn)速增加,使得飛行器的橫滾角發(fā)生改變,與圖2-6類似,飛行器的升力在側(cè)向會產(chǎn)生一個水平分力,因此飛行器對發(fā)生左右運(yùn)動。
2.3.4 偏航運(yùn)動在圖2-5中,電機(jī)1、3轉(zhuǎn)速增加,電機(jī)2、4轉(zhuǎn)速減小,使得兩個方向力矩不平衡,讓飛行器自旋,從而引起四旋翼飛行器的頭部方位發(fā)生改變,為了使飛行器升力與重力平衡,電機(jī)1、3轉(zhuǎn)速增加的同時需減少另外兩個電機(jī)的轉(zhuǎn)速。
2.4 四軸飛行器的位置控制解析在圖2-3、2-4中表明,可以通過姿態(tài)控制來控制飛行器的水平位置變化,然而位置變化量取決于四旋翼飛行器的俯仰角,橫滾角的大小和持續(xù)時間。以前進(jìn)運(yùn)動發(fā)生位置改變?yōu)槔M(jìn)行說明,在發(fā)生前進(jìn)運(yùn)動是飛行器的高度保持不變,初始狀態(tài)為懸停(水平方向速度為0),在圖2-6中進(jìn)行受力分析后便可以的到飛行器的加速度值,
值可以通過陀螺儀測得,再根據(jù)已經(jīng)設(shè)定的位移值s求解到水平飛行時間
,在加速飛行過后由于飛行器慣性存在減速過程產(chǎn)生的位移量,在此忽略不計,飛行器過程中受到空氣阻力也忽略不計。因此可以通過設(shè)定的位置量來使飛行器到達(dá)目標(biāo)點(diǎn)。
本章節(jié)完成了四旋翼飛行器的動力學(xué)建模,分別對飛行器的上升運(yùn)動、左右運(yùn)動、前后運(yùn)動、偏航運(yùn)動姿態(tài)進(jìn)行模型分析,得到針對不同姿態(tài)各個電機(jī)的轉(zhuǎn)速變化趨勢,并對位置控制進(jìn)行受力分析及理論闡述。
方案一:做微型飛行器,其優(yōu)點(diǎn)是重量輕,耗電少,一般手機(jī)電池都能夠驅(qū)動,易于調(diào)試,危險性低,可以用飛控板搭建,很大程度的減少了開發(fā)周期,但是有致命的缺點(diǎn)抗由于重量輕抗干擾能力弱,載重能力低,一般只用于單純的飛行,用途較少。
方案二:做小型飛行器,其優(yōu)點(diǎn)在于防干擾能力強(qiáng),具有一定的載重能力,因此用途比較廣泛,但是有重量大、耗電高、電機(jī)轉(zhuǎn)速快、不易調(diào)試、危險性高的缺點(diǎn)。
方案確定:飛行器之所以能夠迅速發(fā)展,就是因為用途廣泛,涉及的領(lǐng)域多,單純的飛行并沒有多大使用價值,因此決定采用方案二進(jìn)行設(shè)計。
3.2 總體方案設(shè)計
圖3-1 總體結(jié)構(gòu)圖
圖3-2 總體電路圖
電池:為整個飛行器提供電能。
電源轉(zhuǎn)化模塊:內(nèi)含無線繼電器開關(guān),控制整個飛行器是否供電,同時有DC-DC模塊,為控制器和各個單元模塊供電。
按鍵輸入模塊:方便在線調(diào)試,以及設(shè)置位置坐標(biāo)。
姿態(tài)檢測模塊:采用六軸傳感器,實時檢測飛行器的加速度數(shù)據(jù)、陀螺儀數(shù)據(jù),通過濾波算法得到穩(wěn)定準(zhǔn)確的姿態(tài)角。
高度檢測模塊:獲得飛行器的距離地面高度數(shù)據(jù)。
無線接收模塊:配合遙控器使用接收遙控器傳輸過來的油門、俯仰、橫滾、偏航等數(shù)據(jù)。
數(shù)據(jù)顯示模塊:配合鍵盤設(shè)置目的坐標(biāo),同時能夠在調(diào)試時顯示重要數(shù)據(jù)值。
電子調(diào)速器:將主控輸出的PWM(脈沖寬度調(diào)制)波形轉(zhuǎn)化成電機(jī)實際的輸入電壓,相當(dāng)于電機(jī)驅(qū)動器。
3.3 模塊電路1.電池
雖然電池容量大,但是電池重量較重。鋰電池是同樣電池容量中最輕的、起飛效率最高的,綜合考慮到整體飛行器的重量和續(xù)航,采用鋰電池型號為2200mah、35C、3S如圖3-3。
2200mah表示電池容量,如果該容量電池以2200ma放電,可以持續(xù)放電1小時,若以1000ma放電可持續(xù)放電2.2小時;
3S表示電池節(jié)數(shù),鋰電池一節(jié)標(biāo)準(zhǔn)電壓3.7V,3S就有11.1V;
35C代表電池的放電能力,這是普通鋰電池和動力鋰電池的重要區(qū)別,動力鋰電池需要很大的電流放電,這個放電能力就用 C來表示,如果電池是1000mah、10C,那么得出電池的放電電流可以為1000*10mh,若低C電池大電流放電會損壞電池甚至自燃。
圖3-3 電池實物
2.降壓電路
圖3-4 降壓電路圖
降壓電路由兩部分組成,第一部分為無線繼電器開關(guān),控制整個飛行器的供電。第二部分為降壓,將電池電壓降到適合各個模塊正常工作的電壓值(5V)。
(1)為了控制四旋翼飛行器在飛行過程中的安全,防止意外事故發(fā)生加入了直流單路遙控開關(guān)繼電器如圖3-5。
圖3-5 12V直流單路遙控開關(guān)繼電器實物
(2)由于電池輸出的電壓在11-12.6V之間,無法直接給主控芯片和各個模塊電路供電,因此需用DC-DC降壓模塊將電池電壓降到5V,降壓模塊如圖3-6,該模塊輸入電壓3-40V,調(diào)節(jié)電位器改變輸出電壓,輸出功率高達(dá)10W。
圖3-6 LM2596直流降壓模塊實物
3.3.2 按鍵輸入及顯示模塊圖3-7 按鍵顯示電路圖
1. 由于在整個系統(tǒng)設(shè)計中,需要調(diào)試PID參數(shù)和設(shè)置位置信息,因此加入了五個按鍵進(jìn)行更改值,方便調(diào)試。如圖3-8最右方按鍵是增加數(shù)值,最左方按鍵時減小數(shù)值,上方和下方按鍵用來切換更改的變量,中間是確認(rèn)鍵。
圖3-8 按鍵模塊實物
2. 顯示部分采用oled12864顯示,其優(yōu)點(diǎn)重量輕,體積小,分辨率高,較TFT屏幕比較廉價,通信方式為SPI。顯示屏如圖3-9。
圖3-9 oled顯示屏實物
3.3.3 微型計算機(jī)選用的MCU為ST公司的stm32f407zgt6如圖3-10。
圖3-10 stm32f407zgt6最小系統(tǒng)
3.3.4 姿態(tài)檢測模塊圖3-11 姿態(tài)檢測電路圖
姿態(tài)檢測采用常用的mpu-6050傳感器,它整合了陀螺儀、加速度傳感器處理組件,相對于其它多組件方案,消除組合陀螺儀于與加速度時之軸間差的問題,縮小包裝空間,它還含有第二個IIC端口連接其他加速度、磁力傳感器或其他數(shù)位運(yùn)動處理硬件加速引擎,由主要IIC端口以單一數(shù)據(jù)流的形式,向主控輸出完整的九軸融合演算數(shù)據(jù)?奢敵鲋袛,支持姿態(tài)識別、搖攝、畫面放大縮小、滾動、快速下降中斷、high-G中斷、零動作感應(yīng)、觸擊感應(yīng)等功能。自帶1024字節(jié)FIFO,有助于降低系統(tǒng)功耗。InvenSence的運(yùn)動處理資料庫,可處理運(yùn)動感測的復(fù)雜數(shù)據(jù),降低了運(yùn)動處理運(yùn)算對操作系統(tǒng)的負(fù)荷,并為應(yīng)用開發(fā)提供架構(gòu)的API。Mpu-6050的角速度全格感測范圍為,
,
,
/sec(dps),可準(zhǔn)確追蹤快速和慢速動作,并且可以用程序控制加速度全格感測范圍為
,
,
和
,并且它可在不同電壓下工作。模塊實物如圖3-12。
圖3-12 MPU-6050實物
3.3.5 高度檢測模塊圖3-13 高度檢測電路圖
高度檢測方案主要有以下三種:通過氣壓計檢測,它的檢測高度范圍大,但是精度不高,并且螺旋槳產(chǎn)生的氣流影響氣壓計;通過紅外線檢測,精度高,檢測的高度有限,價格昂貴,并且會對人體造成傷害;最后就是通過超聲波檢測,其方案精度高,檢測距離有限,不易受外界干擾,對人體無害。綜合各個因素采用超聲波測距,超聲波模塊如圖3-14。
圖3-14 超聲波模塊實物
VCC電源,Trig 輸入控制信號端,Echo 接收端,Gnd 共地。
采用IO觸發(fā)測距、給trig至少10us的高電平信號,然后模塊會自動發(fā)送8個40KHZ的方波、自動檢測是否有信號返回,有信號返回、就通過echo端口輸出一段時間的高電平信號,高電平的持續(xù)時間就是超聲波從發(fā)射到返回的時間,因此距離=(高電平時間*聲速*0.5)。
3.3.6 無線傳輸模塊無線傳輸方案主要有:通過接收機(jī)數(shù)傳,傳輸距離比較遠(yuǎn),但需要配套輸出及遙控器,買成套成品價格比較昂貴;通過2.4G的nrf24l01+模塊進(jìn)行搭建傳輸系統(tǒng),造價低,但是傳輸距離短;通過WiFi傳輸信號,可用手機(jī)應(yīng)用作為遙控器,只需要在購買WiFi接收模塊,傳輸距離足夠,信號質(zhì)量好,不易被干擾。綜合各個因素選擇WiFi無線傳輸方案。
1. 采用ATK-WIFI-MODULE是ALIENTEK推出的一款百萬高清wifi航拍攝像頭模塊,此模塊支持在平板/手機(jī)端 1280*720 分辨率錄像和拍照,以及圖像實時回傳。模塊使用也較為簡單,只需要在主控端配置一個串口(數(shù)據(jù)格式:波特率19200,一個起始位,一個終止位,間隔40MS發(fā)送一次,一次發(fā)送8個字節(jié))就能實現(xiàn)手機(jī)與該模塊的數(shù)據(jù)傳輸。該模塊如圖3-15,該模塊電路圖如圖3-16
圖3-15 ATK-WIFI-MOUDLE 實物
圖3-16 WiFi傳輸電路圖
2.采用nrf24l01+模塊進(jìn)行搭建遙控器,nrf24l01+是一款工作在2.4-2.5G通用ISM頻段的單片手法芯片,此模塊包括:頻率發(fā)射器、模式控制器、功率放大器、晶體放大器、調(diào)制器、解調(diào)器、輸出功率頻段選取、協(xié)議的設(shè)置可以通過SPI接口進(jìn)行設(shè)置低的電流功耗,當(dāng)工作在發(fā)射模式下發(fā)射功率為6dBm時電流為9mA,接收模式為12.3mA,掉電模式和待機(jī)模式下電流消耗更低。支持六通道的數(shù)據(jù)接收。
圖3-17 nrf24l01+模塊實物
圖3-18 nrf24l01+傳輸電路圖
3.3.7 電機(jī)、槳葉、機(jī)架及電子調(diào)速器首先是機(jī)架,機(jī)架是一架飛行器的核心硬件,要求硬度高、質(zhì)量輕、在劇烈震蕩的情況下不易發(fā)生形變,因此采用F330四軸機(jī)架如圖3-19。
圖3-19 機(jī)架實物
其次是槳葉,要求軸心穩(wěn)定,質(zhì)量輕不易發(fā)生形變,漿的尺寸需與電機(jī)的kv值匹配,一般kv值的無刷電機(jī)配低尺寸漿葉,但是考慮到機(jī)身的總體重量選擇配大尺寸的槳葉8045。需注意的是高kv值配大尺寸電機(jī),不宜讓電機(jī)長時間工作在高轉(zhuǎn)速,容易造成電機(jī)負(fù)載過大損壞電機(jī)。電機(jī)如圖3-20,槳葉如圖3-21。
圖3-20 電機(jī)實物
圖3-21 槳葉實物
最后電子調(diào)速器作為無刷電機(jī)的驅(qū)動器,只需要輸入PWM波形就可輸出相應(yīng)的電壓驅(qū)動電機(jī),PWM波形的頻率為50HZ,最大油門為一個周期里面2MS高電平時間,最小油門設(shè)置為一個周期里面1MS的高電平時間。電子調(diào)速器實物如圖3-22。
圖3-22 電子調(diào)速器實物
圖3-23 電機(jī)驅(qū)動電路圖
3.3.8 遙控器1.對于使用WiFi模塊傳輸數(shù)據(jù)時,采用配套的APP使用。首先在手機(jī)端下載相應(yīng)APP然后打開飛行器電源啟動WiFi模塊(大約在10s左右),接著用手機(jī)連接名字為“minifly”的網(wǎng)絡(luò),連接成功后打開APP可以看到攝像頭畫面,打開操作界面時,數(shù)據(jù)就發(fā)送到WiFi模塊,在設(shè)置中可以切換不同的操作界面。在調(diào)試過程中主要用APP控制飛行器。
2.對于用nrf24l01+模塊需要自己搭建遙控器,因此需要用到單片機(jī)來控制無線傳輸模塊,發(fā)送數(shù)據(jù)。同時控制飛行器的數(shù)據(jù)用兩個雙軸搖桿,搖桿處于不同位置具有不同的電壓值,因此需要將電壓值用單片機(jī)進(jìn)行AD轉(zhuǎn)化成數(shù)字量,再通過無線傳輸模塊將數(shù)據(jù)發(fā)送個飛行器上的接收模塊。雙軸搖桿如圖3-24,遙控器框架如圖3-25,遙控器電路如圖3-26。
圖3-24 雙軸搖桿實物 圖3-25 遙控器硬件框圖
圖3-26 遙控器電路圖
3.4 本章小結(jié)本章節(jié)闡述了多種方案優(yōu)缺點(diǎn),搭建硬件系統(tǒng)框圖和電路原理圖,以及各個單元電路的選取,分析各個單元電路的電氣特征。最后完成整體電路的實物搭建,對電路進(jìn)行測試,再上電檢測,觀察供電情況,各個模塊都能正常工作。
第4章 四軸飛行器軟件設(shè)計MDK5是由keil公司發(fā)行的一個包括C編譯器、鏈接器、宏匯編、庫管理的強(qiáng)大集成IC開發(fā)環(huán)境,支持多種語言編程,編譯后能夠快速生成執(zhí)行效率較高的匯編代碼,開發(fā)環(huán)境支持在線調(diào)試、仿真,支持?jǐn)帱c(diǎn)調(diào)試,能夠?qū)崟r觀測到程序執(zhí)行過程中每個量和內(nèi)存里面數(shù)據(jù)的變化情況,keil公司雖然沒有發(fā)布中文的開發(fā)環(huán)境,但keil系列的產(chǎn)品一直是電子類行業(yè)工作人員的常用軟件[7]。
4.2調(diào)試軟件主要使用的程序調(diào)試軟件是“ANO_Tech匿名四軸上位機(jī)_V2.6”,此軟件需在程序中搭配串口程序才能夠?qū)w行控制器中的數(shù)據(jù)通過串口發(fā)送到電腦端的軟件上,再在軟件中連接該端口就能使用。通過調(diào)試軟件可以觀察飛行器的姿態(tài)數(shù)據(jù),實時呈現(xiàn)飛行器的歐拉角,同時有數(shù)據(jù)變化曲線顯示的功能。也可以觀察遙控器的傳輸數(shù)據(jù)是否正常。也能夠在上位機(jī)中設(shè)置相應(yīng)的PID參數(shù),對飛行器進(jìn)行測試,可以看到電機(jī)的實時PWM數(shù)據(jù)變化情況。
4.3 模塊程序設(shè)計如圖4-1,程序開始先對所有程序中要用到的中斷優(yōu)先級、串口配置、定時器進(jìn)行初始化,然后在對飛行器重要硬件進(jìn)行檢測,若硬件有引腳松動、脫落等問題程序不會向后執(zhí)行,硬件檢查通過后就是電機(jī)自檢設(shè)置最大油門和最小油門,在通過按鍵顯示程序來設(shè)置目標(biāo)位置的坐標(biāo),顯示的初始坐標(biāo)為當(dāng)前飛行器的坐標(biāo)。在通過姿態(tài)檢測程序獲得飛行器的歐拉角,高度檢測程序獲得飛行器距離地面的高度,再接收遙控器的控制信號,通過控制信號的不同使飛行器工作在不同的三種狀態(tài):僅姿態(tài)控制狀態(tài),定高狀態(tài),位置控制狀態(tài)。最后執(zhí)行完一次又返回到姿態(tài)檢測程序中循環(huán)執(zhí)行。
圖4-1 總體程序流程圖
4.3.1 姿態(tài)檢測程序設(shè)計四元數(shù)姿態(tài)解算過程:
先從一次平面的旋轉(zhuǎn)(繞Z軸)如圖4-2,假如坐標(biāo)系旋轉(zhuǎn)角度后得到的坐標(biāo)系,在空間中有一矢量,分別在兩個坐標(biāo)系的坐標(biāo)分別為
、
,因此兩坐標(biāo)關(guān)系如下:
圖4-2 坐標(biāo)系變換關(guān)系圖
(4.1)
(4.2)
(4.3)
轉(zhuǎn)換成矩陣表達(dá)形式后為:
(4.4)
同理再依次繞Y軸、X軸旋轉(zhuǎn)得到歐拉角方向余弦矩陣:
(4.5)
(4.6)
采用與推導(dǎo)歐拉角方向余弦矩陣相同的思路可以得到坐標(biāo)系平移的平移矩陣T:
(4.7)
由于四元數(shù)可表示一個三維坐標(biāo)系的旋轉(zhuǎn)坐標(biāo)對應(yīng)關(guān)系為公式(4.8)[16]
(4.8)
其中,
表示兩個四元數(shù)相乘又稱四元數(shù)的格拉斯曼積滿足分配律、結(jié)合律;V1=
、V=
;
因為四元數(shù)可逆,需要
=1所以|
|=1;
=
=
=
;根據(jù)四元數(shù)的性質(zhì)有
2
2
2
-1;
=
、
= -
、
=
、
= -
、
=
、
= -
。
解公式(4.8)得到公式(4.9)
(4.9)
轉(zhuǎn)換為矩陣表達(dá)形式后為公式(4.10)
(4.10)
從公式(4.10)中得到四元數(shù)方向余弦矩陣為公式(4.11)
(4.11)
最后有公式(4.6)和公式(4.11)RT=R1得到四元數(shù)轉(zhuǎn)化成歐拉角公式(4.12)
(4.12)
設(shè)計思路:利用模塊自帶的數(shù)字運(yùn)動處理器(DMP: Digital motion processor)硬件加速引擎,通過IIC接口輸出六軸姿態(tài)融合人演算數(shù)據(jù),利用DMP可以使用InvenSence公司的運(yùn)動處理資料庫,能夠?qū)⒃紨?shù)據(jù)直接轉(zhuǎn)化成四元數(shù)[4]。得到四元數(shù)后根據(jù)公式(4.12)計算出歐拉角。降低了程序開發(fā)難度,提高系統(tǒng)的實時性。程序流程圖如圖4-3.
圖4-3 姿態(tài)檢測流程圖
初始化IIC接口:在使用MPU-6050時需要把傳感器的數(shù)據(jù)傳送給控制器,因此需要配置一個通信接口,這里配置的IIC接口用于數(shù)據(jù)通信。
復(fù)位MPU-6050:由電源管理寄存器1(0x6b)控制。
設(shè)置滿量程范圍:即是設(shè)置角速度傳感器和加速度傳感器的量程范圍,由陀螺儀配置寄存器(0x1b)和加速度傳感器配置寄存器(0x1c)設(shè)置。同時設(shè)置陀螺儀采樣率,由采樣率分頻寄存器(0x19)控制;設(shè)置數(shù)字低通濾波器,由寄存器(0x1c)控制。
設(shè)置系統(tǒng)時鐘:由電源管理寄存器(0x6b)控制,一般選擇X軸陀螺PLL作為時鐘源,以獲得更高精度的時鐘。
使能傳感器:使能角速度傳感器和加速度傳感器,由電源管理寄存器2(0x6c)控制。
程序調(diào)試:把模塊程序編寫完成后,首先是要對程序進(jìn)行測試,在測試是采用匿名四軸上位機(jī)軟件,將mpu-6050采集到的角速度、加速度和歐拉角通過控制器配置的串口發(fā)送到軟件,用三角板實際測量傳感器的角度數(shù)據(jù)去對比傳感器的測量數(shù)據(jù),觀測兩者是否吻合,同時在上位機(jī)中觀察數(shù)據(jù)是否出現(xiàn)較大的波動。若出現(xiàn)誤差需在程序中進(jìn)行角度補(bǔ)償,來提高測量的準(zhǔn)確性。
4.3.2 高度檢測程序設(shè)計程序流程如圖4-4,使用的超聲波模塊,測量高電平時間利用TIM5定時器的捕獲功能,利用公式(s:高度,單位m;t:時間,單位s)得到距離[2]?刂菩盘栍蒚IM3定時器每200ms中斷一次,在中斷中發(fā)出15us的高電平給trig引腳,觸發(fā)TIM5捕獲中斷計算出高電平的持續(xù)時間。
測序測試:將程序于硬件相結(jié)合,用oled12864顯示測出的高度值,并將測量值于實際值作對比,觀測數(shù)據(jù)是否準(zhǔn)確,同時觀測數(shù)據(jù)是否發(fā)生較大范圍的波動。若出現(xiàn)問題需更改程序進(jìn)行校正。
圖4-4 高度檢測流程圖
4.3.3 電機(jī)驅(qū)動程序設(shè)計電機(jī)作為四旋翼飛行器的動力來源,無刷電機(jī)需要與電子調(diào)速器配合才能夠用單片機(jī)的定時器輸出不同占空比的PWM來控制電機(jī)的轉(zhuǎn)速,在上電是需要對電子調(diào)速器進(jìn)行初始化的程序如圖4-5。
圖4-5 電子調(diào)速器控制流程圖
4.3.4 無線傳輸設(shè)計1.WiFi模塊
程序流程如圖4-6,采用無線wifi傳輸方案需要配置一個串口中斷程序,APP中的數(shù)據(jù)每間隔40ms發(fā)送一次,每次發(fā)送八個字節(jié)。因此通過串口來接收WiFi模塊發(fā)送過來的字節(jié)數(shù)據(jù),再利用中斷進(jìn)行數(shù)據(jù)處理,篩選出每次發(fā)送的8個字節(jié)數(shù)據(jù)。
Byte[0]:數(shù)據(jù)頭,固定為0x66;
Byte[1]:副翼:中間值0x80,左邊最大為 0x00,右邊最大為0xff,即在0x00-0x80-0xff線性變化。
Byte[2]:升降舵:中間值0x80,后邊最大為 0x00,前邊最大為0xff,即在0x00-0x80-0xff線性變化。
圖4-6 串口中斷數(shù)據(jù)處理流程圖
Byte[3]:油門:0x00為最小,0xff為最大。
Byte[4]:方向舵:中間值0x80,左轉(zhuǎn)最大為 0x00,右轉(zhuǎn)最大為0xff,即在0x00-0x80-0xff線性變化。
Byte[5]:標(biāo)志位:含定高使能位,含追蹤目的坐標(biāo)使能位。
Byte[6]:校驗字節(jié)。
Byte[7]:數(shù)據(jù)尾,固定為0x99。
程序測試:連接好相應(yīng)的硬件,連接好WiFi,打開APP內(nèi)的控制界面,用上位機(jī)觀測手機(jī)發(fā)送的初始數(shù)據(jù)是否準(zhǔn)確的發(fā)送到主控芯片,再滑動油門、姿態(tài)搖桿、觀測對應(yīng)的數(shù)據(jù)是否正確,若數(shù)據(jù)未發(fā)送到上位機(jī),檢查硬件來連接;若數(shù)據(jù)出錯,檢查串口中斷內(nèi)數(shù)據(jù)篩選程序。最終調(diào)試出正確的程序。
2. nrf24l01+模塊
(1)接收機(jī)
圖4-7 nrf24l01+接收程序流程圖
(2)遙控器
程序流程如圖4-8,使用nrf24l01+模塊,不僅需要搭建接收部分,還要自制遙控器,兩者要匹配才能夠使用,nrf24l01+模塊主要是配置spi通信接口來與主控芯片通信。AD轉(zhuǎn)化主要使用主控芯片內(nèi)部集成的AD 轉(zhuǎn)化器進(jìn)行識別模擬量,并轉(zhuǎn)化成數(shù)字量,在AD采樣時還利用均值濾波來減小數(shù)據(jù)的誤差。
程序測試:搭建好接收電路和遙控器電路,接上供電電源,將飛行器上串口與電腦端的上位機(jī)連接。首先觀測上位機(jī)中出現(xiàn)遙控器的初始數(shù)據(jù),再撥動雙軸搖桿到最大、最小角度,觀察上位機(jī)中的數(shù)據(jù)是與程序中的目標(biāo)數(shù)值吻合,然后緩慢滑動搖桿,觀察搖桿數(shù)據(jù)是為線性變化,證明遙控器的數(shù)據(jù)能夠成功的發(fā)送到飛行器的控制器中。
圖4-8 遙控器程序流程圖
4.3.5 PID控制器設(shè)計PID控制器流程圖如圖4-9,控制器的輸入是期望的俯仰角、橫滾角、航向角、高度這四個數(shù)據(jù),姿態(tài)控制器的設(shè)計是用串級PID搭建,外環(huán)是控制飛行器的角度,傳感器反饋量是角度數(shù)據(jù),外環(huán)的輸出作為內(nèi)環(huán)的輸入,內(nèi)環(huán)的反饋是姿態(tài)傳感器的角速度,內(nèi)環(huán)是控制飛行器角度變化快慢的環(huán)節(jié),增加飛行器的穩(wěn)定性。
對于姿態(tài)控制使用串級PID控制相對于單級的姿態(tài)PID控制器,有方便調(diào)試、響應(yīng)迅速、輸出穩(wěn)定的優(yōu)點(diǎn)。在通過高度PID控制閉合回路,實現(xiàn)在姿態(tài)控制的同時穩(wěn)定飛行器的高度,若不穩(wěn)定飛行器的飛行高度,飛行器在調(diào)節(jié)姿態(tài)時可能使得電機(jī)的PWM值低于飛行器正常懸停的油門值,使得飛行器會出現(xiàn)掉高的現(xiàn)象。PID控制器參數(shù)介紹:P參數(shù)是使系統(tǒng)對變化量做出快速響應(yīng),在三個參數(shù)中對系統(tǒng)的調(diào)節(jié)能力是最強(qiáng)的;I參數(shù)是使系統(tǒng)能夠準(zhǔn)確調(diào)到目標(biāo)值;D參數(shù)是控制系統(tǒng)的波動,控制系統(tǒng)在目標(biāo)值附近出現(xiàn)波動,增加系統(tǒng)的穩(wěn)定性。
程序測試:對于此部分模塊程序的測試,需要用到姿態(tài)檢測傳感器的數(shù)據(jù)、高度檢測數(shù)據(jù)和無線傳輸?shù)臄?shù)據(jù)。在前面的模塊程序都測試通過的情況下才能夠進(jìn)行測試。由于此部分程序直接影響飛行器的飛行質(zhì)量,將在調(diào)試章節(jié)詳細(xì)講解測試過程。
圖4-9 PID控制程序流程圖
4.4 本章小結(jié)簡要介紹了開發(fā)環(huán)境和調(diào)試軟件的使用,搭建軟件系統(tǒng)的流程圖,以及介紹重要模塊程序的流程,結(jié)合硬件測試各個模塊程序的功能,證明各個硬件模塊結(jié)合軟件能夠?qū)崿F(xiàn)相應(yīng)模塊的功能。最后聯(lián)合模塊程序進(jìn)行系統(tǒng)綜合測試,觀察各個關(guān)鍵量的變化情況,完成程序系統(tǒng)設(shè)計。
由于姿態(tài)PID是采用串級的思路,在調(diào)節(jié)參數(shù)時需要先調(diào)節(jié)內(nèi)環(huán)參數(shù)再調(diào)整外環(huán)參數(shù)。對于質(zhì)量分布對稱的四旋翼飛行器,理論上它的俯仰角和橫滾角的PID控制參數(shù)是相同的,所以在搭建實物時盡量讓四旋翼的重心在模型的幾何中心,這樣有利于調(diào)試,若重心與幾何中心偏離很遠(yuǎn),不僅需要多調(diào)節(jié)一個軸的PID參數(shù),還會導(dǎo)致重心偏向側(cè)的電機(jī)長時間處于較高速旋轉(zhuǎn),容易引起電機(jī)損壞。
在調(diào)節(jié)姿態(tài)PID前,需要飛行器脫離地面,才能進(jìn)行姿態(tài)觀測,因此需要估計飛行器的大致起飛油門。
首先將外環(huán)所有參數(shù)置零,將打舵量作為內(nèi)環(huán)的期望,加上內(nèi)環(huán)P參數(shù),如果P太小,表現(xiàn)為不能修正角速度誤差,不能夠調(diào)節(jié)傾斜的情況,如果P值過大,便會引起飛行器的震蕩,該震蕩強(qiáng)烈時會引起飛行器無法正常起飛。因此在調(diào)節(jié)P參數(shù)時一般從小到達(dá)改變,依次觀察飛行器的擺動情況,合適的P值就是能夠根據(jù)打舵量快速做出反應(yīng),同時又不會太震蕩。
P參數(shù)調(diào)到合適后,系統(tǒng)可能不會在目標(biāo)位置震蕩,此時加上I參數(shù),I參數(shù)的作用就是使系統(tǒng)能夠到達(dá)目標(biāo)值附近,大的I值會使得系統(tǒng)在高于目標(biāo)值的區(qū)域發(fā)生輕微震蕩,過小的I值,會使得系統(tǒng)響應(yīng)慢穩(wěn)定時間長,因此合適的I值使讓系統(tǒng)在我們預(yù)想的目標(biāo)值附近。
對于飛行器姿態(tài)在期望角度發(fā)生震蕩的情況,就需要系統(tǒng)能夠預(yù)測下一時刻的姿態(tài)趨勢,來減小震蕩,因此加入D參數(shù),D參數(shù)的使用會使得飛行器姿態(tài)不會出現(xiàn)擺動,看上去飛行器十分的穩(wěn)定。
然后就是在已有的內(nèi)環(huán)參數(shù)上調(diào)節(jié)外環(huán)參數(shù),外環(huán)就是給系統(tǒng)輸入一個期望的姿態(tài)角度,在通過外環(huán)PID控制,將飛行器穩(wěn)定在期望的姿態(tài)角度。對于外環(huán)PID參數(shù)的調(diào)節(jié),由于飛行器的姿態(tài)角并非水平,飛行器會隨著搖桿的方向發(fā)生水平移動,因此采用“烤四軸”的方案如圖5-1,對每個軸進(jìn)行調(diào)節(jié),調(diào)節(jié)過程與內(nèi)環(huán)相同,觀測飛行器在期望角度的飛行情況。在分別調(diào)整好三個軸的PID參數(shù)后,由于每個軸之間存在魯棒性,每個軸的參數(shù)之間會相互影響,因此需要三個軸一起調(diào)節(jié)如圖5-2。最終調(diào)試出適合飛行的所有PID參數(shù)。
圖5-1 “烤四軸”調(diào)試方案圖
圖5-2 整體調(diào)試圖
5.1.2 高度PID調(diào)試調(diào)節(jié)高度PID時需要將油門加大到飛行器能夠脫離地面,打開遙控器的定高按鈕,再來觀察飛行器的高度變化。
首先調(diào)節(jié)P參數(shù),將I、D參數(shù)置零,在程序調(diào)試時,在程序內(nèi)部設(shè)置目標(biāo)高度為50cm。P參數(shù)從小到大調(diào)整,在調(diào)節(jié)過程中,若出現(xiàn)飛行器偏離目標(biāo)高度較遠(yuǎn),飛行器也沒有明顯的上升下降趨勢的情況,此時說明P參數(shù)過小調(diào)節(jié)力度不夠。若出現(xiàn)飛行器高度震蕩范圍越來越大,說明P值過大,引起系統(tǒng)發(fā)散,合適大小的P值是當(dāng)飛行器偏離目標(biāo)高度較遠(yuǎn)時,飛行器能夠迅速反應(yīng)上升或者下降,同時在一定高度范圍內(nèi)震蕩。
然后確定I參數(shù),使飛行器能夠調(diào)節(jié)的目標(biāo)高度,若飛行器很久才穩(wěn)定在目標(biāo)高度,說明I參數(shù)值過小,若飛行器出現(xiàn)較小幅度震蕩,說明I參數(shù)過大,因此合適的I參數(shù)就是使得飛行器能夠調(diào)整到目的高度。
最后確定D參數(shù)增加高度控制的穩(wěn)定性,該值從小到大依次調(diào)試,合適大小的D值使得飛行器在目標(biāo)高度十分穩(wěn)定。
5.1.3 位置控制調(diào)試用油門控制飛行器脫離地面,開啟定高模式,再按下位置鍵進(jìn)行位置控制。由于位置控制是結(jié)合姿態(tài)控制的持續(xù)時間來控制飛行器水平移動的距離,因此在固定的俯仰角、橫滾角下進(jìn)行位置移動,在調(diào)節(jié)的過程中需要根據(jù)實際距離修改控制程序中的循環(huán)次數(shù)。
先調(diào)整水平方向的位置控制程序,固定飛行器的目標(biāo)飛行距離,根據(jù)實際飛行距離調(diào)整相應(yīng)的循環(huán)次數(shù)。然后改變目標(biāo)具體,觀測實際飛行距離是否準(zhǔn)確,若有誤差,微調(diào)循環(huán)次數(shù)即可
后調(diào)節(jié)高度控制,調(diào)節(jié)步驟與水平位置調(diào)節(jié)類似。
最后將兩個環(huán)節(jié)相結(jié)合,在程序中飛行器先是水平位置控制,再是高度控制。
5.1.4 調(diào)試結(jié)果經(jīng)過對串級姿態(tài)PID參數(shù)的整定,得到表5-1和表5-2數(shù)據(jù)對飛行器的姿態(tài)控制起到很明顯的作用,能夠有效的控制飛行器的飛行姿態(tài)如圖5-3、5-4、5-5、5-6、5-7、5-8、5-9、5-10、5-11、5-12,而對于單級PID控制的高度環(huán)節(jié),能夠調(diào)節(jié)到期望高度,但是在期望高度附近有明顯的波動。位置控制環(huán)節(jié)受高度環(huán)的影響,位置控制上還存在一定誤差,若高度控制環(huán)調(diào)好,位置控制誤差將能夠有效降低。
表5-1 姿態(tài)外環(huán)PI參數(shù)表
| 俯仰角 | 橫滾角 | 偏航角 |
P值 | 200 | 200 | 1.5 |
I值 | 0.2 | 0.2 | 0.2 |
表5-1 姿態(tài)內(nèi)環(huán)PD參數(shù)表
| 俯仰角 | 橫滾角 | 偏航角 |
P值 | 0.004 | 0.004 | 0.046 |
D值 | 0.003 | 0.003 | 0.012 |
圖5-3 三軸加速度和三軸陀螺儀數(shù)據(jù)曲線圖
在圖5-3中,橫坐標(biāo)是時間軸,單位是,時間數(shù)據(jù)被擴(kuò)大了100倍;縱坐標(biāo)是加速度和陀螺儀數(shù)據(jù),單位分別是
、
。
圖5-4 X軸加速度數(shù)據(jù)曲線圖
在圖5-4中,橫坐標(biāo)是時間軸,單位是,時間數(shù)據(jù)被擴(kuò)大了100倍;縱坐標(biāo)是X加速度數(shù)據(jù)被擴(kuò)大了16384倍,單位是
。
圖5-5 Y軸加速度數(shù)據(jù)曲線圖
在圖5-5中,橫坐標(biāo)是時間軸,單位是,時間數(shù)據(jù)被擴(kuò)大了100倍;縱坐標(biāo)是Y加速度數(shù)據(jù)被擴(kuò)大了16384倍,單位是
。
圖5-6 Z軸加速度數(shù)據(jù)曲線圖
在圖5-6中,橫坐標(biāo)是時間軸,單位是,時間數(shù)據(jù)被擴(kuò)大了100倍;縱坐標(biāo)是Z加速度數(shù)據(jù)被擴(kuò)大了16384倍,單位是
。
圖5-7 X軸陀螺儀數(shù)據(jù)曲線圖
在圖5-7中,橫坐標(biāo)是時間軸,單位是,時間數(shù)據(jù)被擴(kuò)大了100倍;縱坐標(biāo)是X陀螺儀數(shù)據(jù)被擴(kuò)大了16.4倍,單位是
。
圖5-8 Y軸陀螺儀數(shù)據(jù)曲線圖
在圖5-8中,橫坐標(biāo)是時間軸,單位是,時間數(shù)據(jù)被擴(kuò)大了100倍;縱坐標(biāo)是Y陀螺儀數(shù)據(jù)被擴(kuò)大了16.4倍,單位是
。
圖5-9 Z軸陀螺儀數(shù)據(jù)曲線圖
在圖5-9中,橫坐標(biāo)是時間軸,單位是,時間數(shù)據(jù)被擴(kuò)大了100倍;縱坐標(biāo)是Z陀螺儀數(shù)據(jù)被擴(kuò)大了16.4倍,單位是
。
圖5-10 橫滾數(shù)據(jù)曲線圖
在圖5-10中,橫坐標(biāo)是時間軸,單位是,時間數(shù)據(jù)被擴(kuò)大了100倍;縱坐標(biāo)是橫滾角度數(shù)據(jù)被擴(kuò)大了100倍,單位是度。
圖5-11 俯仰數(shù)據(jù)曲線圖
在圖5-11中,橫坐標(biāo)是時間軸,單位是,時間數(shù)據(jù)被擴(kuò)大了100倍;縱坐標(biāo)是俯仰角度數(shù)據(jù)被擴(kuò)大了100倍,單位是度。
圖5-12 偏航數(shù)據(jù)曲線圖
在圖5-12中,橫坐標(biāo)是時間軸,單位是,時間數(shù)據(jù)被擴(kuò)大了100倍;縱坐標(biāo)是偏航角度數(shù)據(jù)被擴(kuò)大了100倍,單位是度。
從圖5-10、5-11、5-12中可以看出飛行器在自穩(wěn)狀態(tài)下,俯仰角和橫滾角都控制很好,曲線都在零度上。然而偏航角度控制曲線離零度漸漸變遠(yuǎn),可見飛行器存在緩慢的自旋,方向都是逆時針。因此在飛行器的姿態(tài)控制器中偏航角控制還存在一定的誤差。
5.2 疑難問題及解決方案在實際測試程序的過程中,出現(xiàn)WiFi模塊的初始數(shù)據(jù)小概率被干擾,以至于在初始化飛行器后,準(zhǔn)備起飛前,飛行器會出現(xiàn)失控。
解決方案:飛行器失控是出現(xiàn)在加入無線繼電器開關(guān)后出現(xiàn),但無線繼電器的品那段處于315M,WiFi傳輸頻段在2.4G,從理論上來講兩個頻段的信號是不會發(fā)生干擾,因此便在程序中進(jìn)行優(yōu)化,在進(jìn)入起飛前加入WiFi初始數(shù)據(jù)判定函數(shù),對干擾信號進(jìn)行攔截,只有當(dāng)遙控器的初始數(shù)據(jù)發(fā)送到飛行器上才進(jìn)入起飛就緒階段。這樣就能夠兼并使用無線繼電器模塊,又能確保不會出現(xiàn)數(shù)據(jù)錯誤。
5.2.2 主控板震動劇烈將主控板安裝在機(jī)架上,由于電機(jī)的劇烈轉(zhuǎn)動和機(jī)架的機(jī)械結(jié)構(gòu)使得電路板上的震動十分劇烈,對MPU-6050姿態(tài)傳感器的影響較大。
解決方案:用泡沫膠連接電路板與機(jī)架,能夠避免電路板與機(jī)架的直接接觸,通過泡沫膠將機(jī)架的震動抵消掉一部分,有效的減小MPU-6050上的震動。
5.2.3 部分電機(jī)自檢失敗在加入按鍵顯示程序后,某些電機(jī)無法自檢,影響正常的轉(zhuǎn)動。
解決方案:自檢失敗的電機(jī)是隨機(jī)的、不固定,最初認(rèn)為是電子調(diào)速器的控制線未連接好,但是很少出現(xiàn)四個電機(jī)完全自檢通過的情況。因此考慮到程序結(jié)構(gòu)問題,去掉按鍵顯示程序后,四個電機(jī)都能夠成功自檢,將按鍵顯示程序放在電機(jī)自檢程序后也能避免這個問題,因此更改程序初始化順序就能解決。
5.2.4 飛行器脫離地面發(fā)生飄移飛行器在油門的驅(qū)動下能夠平穩(wěn)的脫離地面,但是在穩(wěn)定油門后飛行器總是朝某一方向移動,無法比較好的穩(wěn)定在初始位置。
解決方案:檢查飛行器的初始角度俯仰角0度、橫滾角0度、航向角0度,都屬于正常值;檢查遙控器的姿態(tài)數(shù)據(jù)也都是中值數(shù)據(jù),所以在程序中的數(shù)據(jù)并未發(fā)現(xiàn)異常。在測試中發(fā)現(xiàn)出現(xiàn)飄逸的飛行器可以通過遙控器輸入姿態(tài)來矯正,因此對姿態(tài)數(shù)據(jù)進(jìn)行補(bǔ)償,可以有效的避免飛行器的明顯飄移。
5.2.5 油門控制在飛行器最初測試中,油門滑桿太過靈敏,不利于控制飛行器的起飛油門。
解決方案:這個問題源于自己使用的電機(jī)轉(zhuǎn)速較高,槳葉較大造成,電機(jī)在低轉(zhuǎn)速是飛行器也能夠獲得較大的升力,在實際測試中,滑桿在油門的四分之一處就能飛離地面,因此為降低油門的靈敏度,把[1000-2000]的油門范圍只利用[1000-1500]。便能夠很好的控制起飛、降落。
5.3 實物如圖5-13是自制的遙控器,需要外接USB供電,左邊搖桿是方向控制,右邊搖桿是油門、航向角控制。四旋翼飛行器如圖5-14,將所有的電路布局在一塊洞洞板,只需要接上電池和給電子調(diào)速器供電就能使飛行器正常工作,洞洞板上的立桿是用來輔助調(diào)試。
圖5-13 遙控器實物圖
圖5-14 飛行器實物圖
5.4 本章小結(jié)本章介紹了四旋翼飛行器的實物調(diào)試過程及最終調(diào)試結(jié)果,調(diào)試中遇到的問題及解決方案,證明通過本文的設(shè)計思路結(jié)合調(diào)試過程是能夠完成四旋翼飛行器的姿態(tài)控制。
由于飛行器是一個比較大的系統(tǒng),在硬件選取時需要仔細(xì)考慮硬件配套的問題,特別是電池、電子調(diào)速器、電機(jī)、槳葉的型號組合,這部分與控制部分無關(guān),若型號選取不好很容易導(dǎo)致硬件燒毀。然后就是飛行器上控制部分硬件電路,這部分設(shè)計需要結(jié)合軟件設(shè)計來搭建各個模塊的硬件電路,通過軟硬件聯(lián)合測試各個模塊的功能。完成整體軟硬件的設(shè)計。
在此次飛行器的設(shè)計中最重要的是控制器的設(shè)計,對于姿態(tài)控制的設(shè)計采用串級PID的架構(gòu),通過實際實物的制作、調(diào)試,證明通過這種架構(gòu)不僅調(diào)試方便,而且控制器的輸出比較穩(wěn)定的姿態(tài),因此采用串級PID的姿態(tài)控制策略是可行的。對于高度控制器采用單極PID設(shè)計思路,在實際調(diào)試過程中單級PID確實不好調(diào)試,較串級的PID需要花更多的時間去整定PID參數(shù),而對于輸出也能達(dá)到較好的穩(wěn)定效果。對于位置控制,由于未使用光流元件進(jìn)行定位,飛行器不能建立自己的位置坐標(biāo)系,亦無法將位置控制做成閉環(huán),而對于自己設(shè)計的方案,只是開環(huán)控制飛行器的大概位置,調(diào)試過程也相對閉環(huán)簡單,但是開環(huán)下若只是單純的位置改變,也還是能獲得不錯的控制效果。
在本設(shè)計中還有很多地方值得完善,高度PID還不能夠穩(wěn)定準(zhǔn)確的將飛行器高度控制在期望高度,若將高度PID調(diào)試好,便能有效的控制飛行器的高度,并且飛行器不會掉高,就能夠?qū)崿F(xiàn)懸停的功能。在位置控制上也存在很大的誤差,飛行器不能夠感知外界的障礙物,若將位置控制器作成閉環(huán)系統(tǒng),就能夠有效準(zhǔn)確的控制飛行器的位置,再結(jié)合蔽障等功能就能實現(xiàn)脫離遙控器完全意義上的自主飛行。還有采用的WiFi無線傳輸方案距離小,飛行器的可操作范圍不高,飛行器中也未做自動返航的功能,因此容易發(fā)生墜機(jī)。用手機(jī)APP控制飛行器較用手炳控制飛行器的難度更高,用手機(jī)控制時感覺不到搖桿的具體偏離程度,在實際操作中還需要一邊觀測手機(jī)一邊觀察飛行器,還不能夠做到很好的操作飛行器。
相信未來的飛行器,無論從材料、做工、結(jié)構(gòu)上都會更加成熟,更加有利于飛行器的飛行控制,抗干擾能力、負(fù)重能力越來越強(qiáng),更能適應(yīng)在復(fù)雜環(huán)境下工作。隨著傳感器的精度越高,飛行器在姿態(tài)控制和位置控制上的穩(wěn)定性能越好、誤差也越小。同時隨著電池行業(yè)的進(jìn)步,四旋翼飛行器的續(xù)航能力也會更強(qiáng),實現(xiàn)更久的作業(yè)時間。
gow1 發(fā)表于 2021-4-17 20:53
stm32f407zgt6最小系統(tǒng)如何下手呀
月下丘比特 發(fā)表于 2021-4-24 23:39
請問為什么不用電調(diào)的5V輸出直接給控制板供電呢
12332323 發(fā)表于 2022-10-17 12:29
樓主,您好!目前看了下遙控器的代碼發(fā)現(xiàn)NRF24101引腳定義不詳能否說明下,另外遙控器上的PB14是接哪里的NR ...
12332323 發(fā)表于 2022-10-17 12:29
樓主,您好!目前看了下遙控器的代碼發(fā)現(xiàn)NRF24101引腳定義不詳能否說明下,另外遙控器上的PB14是接哪里的NR ...
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |