国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于嵌入式開(kāi)發(fā)的四旋翼無(wú)人機(jī)系統(tǒng)設(shè)計(jì)*

2019-05-09 07:33喬夢(mèng)甜冀保峰吳文樂(lè)范世朝
山西電子技術(shù) 2019年2期
關(guān)鍵詞:開(kāi)發(fā)板旋翼姿態(tài)

喬夢(mèng)甜,冀保峰,2,吳文樂(lè),范世朝,李 鵬

(1.河南科技大學(xué),信息工程學(xué)院, 河南 洛陽(yáng) 471023; 2.電子科技大學(xué)航空航天學(xué)院,四川 成都 611731;3.西藏民族大學(xué),信息工程學(xué)院,陜西 咸陽(yáng) 712082)

0 前言

依托方便的人機(jī)交互功能,目前無(wú)人機(jī)技術(shù)涉及的范圍極廣。本文基于用戶需求設(shè)計(jì)一款基于ARM Cotex-M3內(nèi)核的STM32F106ZET6開(kāi)發(fā)板,讀寫數(shù)據(jù)更高效,采用串級(jí)PID算法,提高無(wú)人機(jī)在自然環(huán)境下的自適應(yīng)能力。從機(jī)械結(jié)構(gòu)、電路設(shè)計(jì)和軟件控制方面設(shè)計(jì)微型四旋翼無(wú)人機(jī),在傳統(tǒng)的算法基礎(chǔ)上運(yùn)用四元數(shù)法和串級(jí)PID進(jìn)行優(yōu)化。

1 四旋翼無(wú)人機(jī)的總體設(shè)計(jì)方案

四旋翼無(wú)人機(jī)是在傳統(tǒng)螺旋槳式直升機(jī)的基礎(chǔ)上發(fā)展起來(lái)的新型結(jié)構(gòu),通過(guò)四個(gè)功率大小相同、距離相等對(duì)稱分布的電機(jī)以及固定在電機(jī)上半徑和構(gòu)造都相同的槳葉相互配合,實(shí)現(xiàn)在六個(gè)自由度上任意變換飛行姿態(tài)和位置,屬于經(jīng)典欠驅(qū)動(dòng)系統(tǒng)[1]。目前有“+”和“×”兩種不同機(jī)械結(jié)構(gòu)的四旋翼,“×”型系統(tǒng)需要四個(gè)電機(jī)同時(shí)協(xié)調(diào)運(yùn)作才能達(dá)到飛行的穩(wěn)定性,對(duì)控制算法的精確度要求太高不易實(shí)現(xiàn),故大都采用“+”型系統(tǒng)。利用可充電型3.7 V動(dòng)力性鋰電池為各個(gè)模塊提供穩(wěn)定的3.3 V和5 V的電壓,并通過(guò)OLED顯示屏將無(wú)人機(jī)飛行的高度、偏角、速度和PID參數(shù)進(jìn)行動(dòng)態(tài)顯示,通過(guò)NRF24L01無(wú)線通信模塊將檢測(cè)數(shù)據(jù)傳回遙控器上的OLED顯示器,完成人機(jī)交互[2]。

圖1 四旋翼無(wú)人機(jī)總體架構(gòu)

2 系統(tǒng)硬件電路設(shè)計(jì)

2.1 微控制單元

STM32開(kāi)發(fā)板作為一款功能強(qiáng)大,讀寫速度高的核心微處理器,采用3.3 V供電,它本身并不能單獨(dú)工作,必須由晶振時(shí)鐘、復(fù)位電路、電源和串口下載接口構(gòu)成最小系統(tǒng)單元才能工作,提供多路輸入輸出。此系列的開(kāi)發(fā)板具有112個(gè)GPIO端口、512字節(jié)FLASH、64位RAM,3個(gè)SPI和2個(gè)IIC總線接口,數(shù)據(jù)處理速度快,工作效率高,定時(shí)器的高級(jí)設(shè)計(jì)完全滿足項(xiàng)目需求。本實(shí)驗(yàn)選用的晶振是8 MHz為核心單元提供系統(tǒng)時(shí)鐘。

2.2 電源管理模塊

電源管理模塊作為整個(gè)系統(tǒng)的能源端口,必須給各個(gè)模塊提供穩(wěn)定有效的電壓,在此本文選擇的是可重復(fù)充電提供穩(wěn)定3.7 V的動(dòng)力型鋰離子電池。而姿態(tài)采集、無(wú)線通信模塊等都是采用3.3 V供電,因此需要通過(guò)XC6204將3.7 V的電池電壓降為3.3 V。為了給串口和OLED模塊供電,必須要將3.3 V利用升壓LM2940模塊變?yōu)?.2 V,再通過(guò)TPS7350做降壓處理。

2.3 姿態(tài)采集模塊

為了實(shí)時(shí)獲取無(wú)人機(jī)在飛行過(guò)程中的俯仰、偏航和橫滾的飛行姿態(tài),本文決定選用集三軸加速度傳感器和三軸陀螺儀為一體的六軸姿態(tài)MPU6050芯片,該芯片由3.3 V電源供電,可以有效消除在分開(kāi)安裝的情況下由于兩個(gè)坐標(biāo)軸不完全一致導(dǎo)致的誤差,進(jìn)而造成角度測(cè)量誤差,便于數(shù)據(jù)歸一化處理和姿態(tài)融合,而且MUP6050留有一個(gè)從機(jī)IIC接口,方便連接數(shù)字羅盤,實(shí)現(xiàn)主從結(jié)合,共用一條傳輸數(shù)據(jù)線,節(jié)省了微處理器的IIC接口,而且獲取的姿態(tài)解算數(shù)據(jù)更加準(zhǔn)確高效。

圖2 電源管理模塊電路圖

圖3 姿態(tài)采集模塊電路圖

圖4 無(wú)線通信模塊電路圖

2.4 無(wú)線通信模塊

為了實(shí)現(xiàn)機(jī)身和地面接收機(jī)之間的數(shù)據(jù)收發(fā),本文選擇了在通信傳輸領(lǐng)域應(yīng)用最廣泛的NRF24L01芯片作為無(wú)線通信芯片,它是用3.3 V供電,可以直接與開(kāi)發(fā)板引腳相連,實(shí)現(xiàn)高速全雙工同步通信,它的傳輸頻段為全球通用的2.4 GHz,具有高速低能的優(yōu)點(diǎn)。

2.5 電機(jī)驅(qū)動(dòng)模塊

無(wú)刷電機(jī)依靠驅(qū)動(dòng)器將直流信號(hào)變?yōu)槿嘟涣麟妬?lái)控制電機(jī)轉(zhuǎn)速和轉(zhuǎn)向,其電路結(jié)構(gòu)比較復(fù)雜,會(huì)增加微型無(wú)人機(jī)的負(fù)荷,經(jīng)實(shí)際測(cè)量后發(fā)現(xiàn),電機(jī)實(shí)際輸出和理論存在較大偏差[3]。有刷電機(jī)的結(jié)構(gòu)較為復(fù)雜,內(nèi)部電流的變化是靠電刷和換相器的協(xié)調(diào)運(yùn)作實(shí)現(xiàn)的,電機(jī)轉(zhuǎn)速的大小只與硬件電路中電流的大小有關(guān),開(kāi)發(fā)板控制起來(lái)比較方便,誤差較小。在3.7 V的電源下可以正常工作,滿足對(duì)電流和轉(zhuǎn)速的要求,故本文選用有刷空心杯電機(jī)。電流式驅(qū)動(dòng)方法是首先考慮的,在測(cè)試電機(jī)轉(zhuǎn)速時(shí)發(fā)現(xiàn)存在門限效應(yīng),一旦提高到某一閾值,電機(jī)就無(wú)法提速,三極管電流就不再線性變化,產(chǎn)生失真,這說(shuō)明傳統(tǒng)BTN的驅(qū)動(dòng)能力已無(wú)法滿足電機(jī)對(duì)轉(zhuǎn)速的要求。故最終采用電壓式MOSFET驅(qū)動(dòng),實(shí)際上驅(qū)動(dòng)電流可看作是由柵極和漏極、柵極和源極之間寄生電容的充放電過(guò)程產(chǎn)生的。在充電的瞬時(shí)狀態(tài)下,電容可以被看作為短路,將會(huì)產(chǎn)生比較大的電流[4]。

2.6 人機(jī)交互模塊

為方便對(duì)系統(tǒng)參數(shù)實(shí)時(shí)性監(jiān)控和修改,實(shí)現(xiàn)與PC端的通信,適應(yīng)不同高度、氣壓和風(fēng)速下的飛行,在機(jī)身上設(shè)計(jì)了按鍵、OLED屏顯示、蜂鳴器報(bào)警模塊以及USB口下載模塊。

3 軟件編程

3.1 PID及串級(jí)PID控制算法

采集到機(jī)身當(dāng)前姿態(tài)數(shù)據(jù)后,本文用PID算法對(duì)數(shù)據(jù)優(yōu)化。傳統(tǒng)PID算法便是通過(guò)系統(tǒng)產(chǎn)生的誤差來(lái)消除誤差,對(duì)過(guò)去誤差和當(dāng)前誤差進(jìn)行比例微分積分加權(quán)去消除誤差值。但該方法的誤差值難以準(zhǔn)確獲得,且加權(quán)系數(shù)很難權(quán)衡。故本文采用三級(jí)串級(jí)PID控制算法。通過(guò)控制角度來(lái)控制速度,構(gòu)成“速度—角度—角速度”,將速度量轉(zhuǎn)換為角度量,再將角度量轉(zhuǎn)換為角速度量,由外到內(nèi)的三級(jí)串級(jí)控制系統(tǒng)。具體的實(shí)現(xiàn)方法如下:

首先,在調(diào)節(jié)串級(jí)控制系統(tǒng)的時(shí)候,內(nèi)環(huán)作為副調(diào)節(jié)器,目的是為了穩(wěn)定主變量而引入的輔助變量。所以需要先調(diào)節(jié)角速度環(huán)。先給定一個(gè)0目標(biāo)角速度,即角度環(huán)的輸出為0,增大P值,用手來(lái)回?fù)軇?dòng)機(jī)身,直到感覺(jué)到明顯阻力為止,再增大D值,直到阻力減弱并且感覺(jué)較為平緩為止,在此基礎(chǔ)上再增大P值,即完成角速度環(huán)的調(diào)試。

其次,調(diào)整角度環(huán),給定目標(biāo)角度為機(jī)械零點(diǎn)的角度,逐漸增大P值,直至機(jī)身抖動(dòng)為止,再增大D值,直到抖動(dòng)消失,最后再增大一點(diǎn)P,即完成角度環(huán)的調(diào)試。串級(jí)系統(tǒng)的優(yōu)點(diǎn)在于加快了系統(tǒng)的響應(yīng)速度,且參數(shù)范圍大易于調(diào)節(jié)。由于副回路存在,系統(tǒng)的控制時(shí)間常數(shù)縮短,提高了系統(tǒng)的抗干擾,本文在調(diào)試過(guò)程中擬合的姿態(tài)角如圖5所示。

圖5 四旋翼無(wú)人機(jī)擬合姿態(tài)角變化圖

3.2 姿態(tài)解算

MPU6050將實(shí)時(shí)采集的原始姿態(tài)數(shù)據(jù)通過(guò)它本身自帶的DMP模塊,通過(guò)經(jīng)典四元數(shù)姿態(tài)解算法,直接得到角度四元組數(shù)據(jù),簡(jiǎn)化了大量數(shù)據(jù)和濾波操作,然后通過(guò)IIC總線傳回開(kāi)發(fā)板。四元數(shù)法避免了原始?xì)W拉角計(jì)算中對(duì)三角運(yùn)算復(fù)雜的要求,通過(guò)四個(gè)基本元素將機(jī)身的旋轉(zhuǎn)姿態(tài)表示出來(lái),利用方向余弦矩陣和坐標(biāo)軸的映射關(guān)系得到增量旋轉(zhuǎn),融合后可獲得姿態(tài)角。在姿態(tài)角數(shù)據(jù)處理部分主要采用互補(bǔ)濾波法,消除信號(hào)采集的累積效應(yīng)和噪聲干擾?;パa(bǔ)濾波法和卡爾曼濾波法思想相同,都是通過(guò)線性加權(quán)得到。主要濾除加速度計(jì)在瞬時(shí)狀態(tài)下各個(gè)方向的電機(jī)機(jī)械振動(dòng)產(chǎn)生的噪聲加速度,及陀螺儀隨時(shí)間累積推移積分產(chǎn)生的溫漂誤差,所以加速度計(jì)在連續(xù)時(shí)間積分時(shí)得到的數(shù)據(jù)可靠性高,而在瞬時(shí)狀態(tài)有較大的誤差,即在高頻情況下會(huì)產(chǎn)生較大的傾角誤差。而陀螺儀在較長(zhǎng)時(shí)間積分的過(guò)程中即低頻會(huì)因?yàn)榱泓c(diǎn)漂移產(chǎn)生較大的偏角誤差?;パa(bǔ)濾波是結(jié)合兩個(gè)傳感器的優(yōu)點(diǎn),抑制加速度計(jì)在高頻下的作用,增大低頻比重,即低頻抑制高頻;相反,增加陀螺儀在低頻下的作用,而抑制高頻效果;兩者取長(zhǎng)補(bǔ)短,選擇合適的加權(quán)系數(shù),與互補(bǔ)濾波和串行PID相結(jié)合得到最優(yōu)角度[5]。調(diào)試結(jié)果如圖6所示。

圖6 四旋翼無(wú)人機(jī)通信傳輸仿真調(diào)試結(jié)果

4 結(jié)束語(yǔ)

本文所設(shè)計(jì)的硬件方案在實(shí)際操作中證明是可行的,通過(guò)姿態(tài)解算將六軸傳感器數(shù)值結(jié)合數(shù)字羅盤得到的高度值轉(zhuǎn)換為實(shí)際所需的數(shù)據(jù)值即四元數(shù)法。有效的結(jié)合互補(bǔ)濾波法和串級(jí)PID,濾除各種干擾項(xiàng),盡可能減小誤差值。在自然條件下,微型四旋翼無(wú)人機(jī)可以完成各種姿態(tài)變換,得到的數(shù)據(jù)值也到達(dá)了平滑變化的效果。在無(wú)人機(jī)飛行過(guò)程中也可以與地面基站或者遙控器實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)接收和交換,并做出快速應(yīng)答,這說(shuō)明設(shè)計(jì)的微型四旋翼無(wú)人機(jī)可滿足各種控制和飛行要求。

猜你喜歡
開(kāi)發(fā)板旋翼姿態(tài)
改進(jìn)型自抗擾四旋翼無(wú)人機(jī)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
大載重長(zhǎng)航時(shí)油動(dòng)多旋翼無(wú)人機(jī)
攀爬的姿態(tài)
基于STM32H7的FDCAN通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)?
基于STM32的四旋翼飛行器的設(shè)計(jì)
全新一代宋的新姿態(tài)
跑與走的姿態(tài)
淺析單片機(jī)開(kāi)發(fā)板的設(shè)計(jì)與制作
四旋翼無(wú)人機(jī)動(dòng)態(tài)面控制
ARM宣布mbed Enabled Freescale FRDM—K64F開(kāi)發(fā)板通過(guò)微軟認(rèn)證
张家川| 崇阳县| 石渠县| 洛隆县| 阜宁县| 柞水县| 葫芦岛市| 余江县| 东乡县| 边坝县| 镇巴县| 上高县| 宁武县| 福鼎市| 闸北区| 万州区| 乳山市| 康平县| 纳雍县| 晋江市| 宾川县| 额济纳旗| 若尔盖县| 寿阳县| 平远县| 鄂州市| 张家界市| 原阳县| 阿坝县| 宜良县| 盐池县| 石台县| 涪陵区| 东乌珠穆沁旗| 平武县| 余姚市| 纳雍县| 施秉县| 安阳县| 福建省| 凌海市|