999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32無人機(jī)的設(shè)計(jì)與實(shí)現(xiàn)*

2021-10-08 13:56:22

張 偉 王 坤 王 晨

(1.咸陽師范學(xué)院計(jì)算機(jī)學(xué)院 咸陽 712000)(2.凱迪雷拉大學(xué)信息技術(shù)與計(jì)算機(jī)科學(xué)學(xué)院 碧瑤 2600)

1 引言

隨著現(xiàn)代電子科技和微機(jī)一體化技術(shù)的快速發(fā)展,推動(dòng)了四軸飛行器的發(fā)展與應(yīng)用。無人機(jī)被認(rèn)為是一種無人載具[1],可以通過地面人為操作設(shè)計(jì)好的無人載物飛行器,達(dá)到人們想要完成的任務(wù),實(shí)現(xiàn)四軸飛行器各種特殊任務(wù),比如高空偵查、物資投放、通信等。近年來,無人機(jī)在國防、農(nóng)藥、消防及探險(xiǎn)等領(lǐng)域得到了廣泛的應(yīng)用,無人機(jī)的研究已成為當(dāng)前的熱點(diǎn)之一。

2 四旋翼無人機(jī)硬件設(shè)計(jì)

2.1 主控模塊

四旋翼無人機(jī)其實(shí)就是由四個(gè)軸的電機(jī)和主控芯片組成,正是因?yàn)檫@種結(jié)構(gòu)可以使電機(jī)通過轉(zhuǎn)速得到向上的升力,從而去控制機(jī)身的運(yùn)動(dòng)姿態(tài)。本設(shè)計(jì)開發(fā)板選用STM32[2],芯片型號(hào)為STM32F103C8T6,其具有32位高速浮點(diǎn)處理單元,72MHz高速處理能力,有多個(gè)GPIO端口和兩個(gè)USART,以及高級(jí)定時(shí)器、通用定時(shí)器。其中高級(jí)定時(shí)器能產(chǎn)生四路PWM[3],用于控制電機(jī)。主控芯片主要負(fù)責(zé)獲得并計(jì)算處理傳感器測量的數(shù)據(jù),傳感器將獲得的三軸加速度和三軸角速度,通過其自帶的數(shù)字運(yùn)動(dòng)處理器輸出數(shù)據(jù)存取在寄存器中;并將其獲得相對于地面的飛行高度、航向姿態(tài)并結(jié)合控制算法[4]計(jì)算出電機(jī)控制量,利用程序中設(shè)定的時(shí)間檢測并計(jì)算控制,以實(shí)現(xiàn)無人飛行器的穩(wěn)定飛行。

2.2 傳感器模塊

姿態(tài)傳感器是由加速度計(jì)和角速度集成。在無人機(jī)中,四旋翼在空中高度不穩(wěn)定機(jī)械作用下,電機(jī)轉(zhuǎn)速的一點(diǎn)點(diǎn)不平穩(wěn)都會(huì)帶來傾斜,更何況遇到障礙。由三軸加速度三軸陀螺儀組成的姿態(tài)傳感器可以有效保持姿態(tài)穩(wěn)定性。

由于MPU6050測量的數(shù)據(jù)精度高于陀螺儀結(jié)合加速度測量的數(shù)據(jù),為了提高精度,本設(shè)計(jì)中四旋翼通過三軸加速度計(jì)結(jié)合陀螺儀6D0F模塊采集數(shù)據(jù)并與MPU6050采集的數(shù)據(jù)進(jìn)行校準(zhǔn),以便更精確地控制飛行器的飛行。

2.3 無線通信模塊

無線通信技術(shù)分為2.4GHz和5.0GHz,然而2.4GHz無線技術(shù)在無線通信行業(yè)里應(yīng)用最為廣泛。2.4GHz所指的是一個(gè)工作頻段2400M~2483M范圍,這個(gè)頻段是全世界免申請使用。WIFI、藍(lán)牙以及物聯(lián)網(wǎng)中的Zigbee都是基于2.4通信的。而由于它們用到的通信協(xié)議棧各不相同,故各自的傳輸速度也不同。本次開發(fā)中采用ESP8266 WIFI收發(fā)芯片,數(shù)據(jù)速率高達(dá)600Mb/s,不足的是手動(dòng)控制飛行器比手持式無線終端靈活性差,但可以滿足上位機(jī)對其數(shù)據(jù)采集和實(shí)時(shí)操控的需要。

2.4 電機(jī)控制模塊

采用直接集成到微控制板上的MOS驅(qū)動(dòng)管來實(shí)現(xiàn)有刷電機(jī)轉(zhuǎn)動(dòng),微控制器通過獲得傳感器自帶的數(shù)字運(yùn)動(dòng)處理數(shù)據(jù),通過計(jì)算處理輸出PWM控制電機(jī)。有刷電機(jī)有兩個(gè)接線口,一個(gè)接電源的正極一個(gè)接電源的負(fù)極。如果要改變電機(jī)的轉(zhuǎn)動(dòng)方向只需要將正負(fù)極反接即可。另外,可以使用有刷電調(diào)來控制有刷電機(jī),可在不反接線的情況下通過電調(diào)控制電機(jī)的轉(zhuǎn)動(dòng)方向。

對于航模電池,有兩個(gè)參數(shù):電量和放電倍率。電量就是常用的毫安時(shí)電量標(biāo)示,它表示了電池能夠存儲(chǔ)的電能的多少;放電倍率通常是有15C、20C、25C或30C等,它表示了放電的速率。電池選用了3.7V 380mAh的電池。

3 四旋翼無人機(jī)軟件設(shè)計(jì)

軟件開發(fā)選用Keil uVison4集成開發(fā)環(huán)境,內(nèi)核工具鏈?zhǔn)褂肧TM32F10x_V3.5.0。

四軸飛行器的軟件控制過程如圖1所示,其主要步驟如下。

圖1 控制過程

1)微控制器通信方式采用的是IIC控制總線通信方式,來獲得MPU6050傳感器的初始數(shù)據(jù);

2)四軸濾波采用互補(bǔ)濾波方式并進(jìn)行融合得到飛行器的實(shí)時(shí)姿態(tài);

3)ESP8266將接收到上位機(jī)發(fā)送的數(shù)據(jù)解析為預(yù)期的飛行姿態(tài);

4)將無人機(jī)的實(shí)時(shí)姿態(tài)與ESP8266解析預(yù)期的飛行姿態(tài)作差,差值送入串行PID閉環(huán)控制器,進(jìn)而控制飛行器的飛行動(dòng)作。

3.1 MPU6050姿態(tài)值

MPU6050傳感器將獲得的姿態(tài)值保存到寄存器中,通過STM32主芯片和MPU6050之間集成的IIC總線通信,從而讀取三軸加速度和三軸角速度值。飛行器傳感器采樣頻率設(shè)置為200Hz;陀螺儀量程為±2500°/s(dps),加速計(jì)量程±5g。

3.2 濾波及姿態(tài)融合

姿態(tài)融合時(shí),采用互補(bǔ)濾波[5]。四旋翼飛行器的在空間中此刻至下一秒的運(yùn)動(dòng)姿態(tài)是由陀螺儀的數(shù)學(xué)積分方程通過計(jì)算來確定的。為了得到姿態(tài)角所對應(yīng)的四元數(shù)[6],用超復(fù)數(shù)的乘法四元素來等效于姿態(tài)歐拉角,其轉(zhuǎn)換公式[7]如下:

四元數(shù)被定義為四維結(jié)合代數(shù),以i、j、k為四元數(shù)的基數(shù),基數(shù)應(yīng)滿足以下條件:

其中i、j、k代表沿x、y、z軸的單位矢量,而四元數(shù)是指標(biāo)量w與矢量v=x·i+y·j+z·k之和。

通過旋轉(zhuǎn)軸和繞該軸旋轉(zhuǎn)的角度可以構(gòu)造一個(gè)四元數(shù),計(jì)算公式如下:

姿態(tài)解算指控制器讀取自身傳感器數(shù)據(jù),實(shí)時(shí)計(jì)算四軸飛行器的姿態(tài)角,比如橫滾角(roll),俯仰角(pitch),偏航角(yaw)的信息[8],四軸飛行器的微控制器對這三個(gè)方向的信息值,通過計(jì)算處理得到四個(gè)電機(jī)所需要的運(yùn)行值,從而使飛行器可以在空間中完成平穩(wěn)飛行和一系列動(dòng)作飛行。

對于飛行器的姿態(tài)解算方面有多種方法,比如卡爾曼濾波算法(EKF)和互補(bǔ)濾波算法等。由于卡爾曼濾波算法精度高,計(jì)算量大,適用于復(fù)雜的無人機(jī)項(xiàng)目中,而本設(shè)計(jì)只是研究微型飛行器,互補(bǔ)濾波算法既可以滿足研究需要,又簡化了設(shè)計(jì)過程。

設(shè)計(jì)中用到的傳感器是集成在PCB板上加速度計(jì)和陀螺儀的組合體。其中加速度計(jì)用來測量相對于空間坐標(biāo)的加速度值,陀螺儀用來獲得飛行器自身和空間坐標(biāo)的各個(gè)角度值。由于飛行器相對于靜止?fàn)顟B(tài)時(shí)加速度計(jì)測量的穩(wěn)定性高,而飛行器相對于運(yùn)動(dòng)狀態(tài)時(shí)陀螺儀測量的穩(wěn)定性高。因此,可以通過加速度計(jì)的值來修正陀螺儀所獲得數(shù)據(jù)的偏差。

3.3 期望姿態(tài)

通過手機(jī)WIFI APP,用ESP8266 WIFI模塊接連到STM32的USART2,用戶在手機(jī)操作界面發(fā)出姿態(tài)值通過WIFI通信,再由UART2將得到的期望值傳入STM32主芯片中,系統(tǒng)需要實(shí)時(shí)更新無線通信數(shù)據(jù)。

3.4 PID算法控制

四旋翼無人機(jī)的平衡控制算法有許多種如:PID控制算法[9]、反步法[10](Backstepping)、線性二次型(LQ)、神經(jīng)網(wǎng)絡(luò)自適應(yīng)[11]、反饋線性化[12](Feedback Linearization)以及H控制[13]等。此設(shè)計(jì)中選擇PID算法,即本無人機(jī)設(shè)計(jì)基于PID控制器算法來控制姿態(tài)穩(wěn)定性。

PID算法是指“比例(Proportional)”、“積分(Integral)”、“微分(Derivatioe)”三個(gè)元素。P指當(dāng)無人機(jī)收到外界的干擾后,機(jī)身對產(chǎn)生姿態(tài)偏移回到穩(wěn)定的時(shí)間,即用來控制從不穩(wěn)定到穩(wěn)定的響應(yīng)時(shí)間,P越大響應(yīng)越快;I指當(dāng)無人機(jī)從不穩(wěn)定回到穩(wěn)定狀態(tài)一段時(shí)間內(nèi)積累的誤差,只修正P是無法達(dá)到的期望姿態(tài)值,也叫靜態(tài)差值;D是為了加強(qiáng)對機(jī)體變化的快速響應(yīng),對P有抑制作用,二者具有互斥性。

串級(jí)PID有兩個(gè)閉環(huán)的控制器串聯(lián)來搭配工作,主控制器是主要部分,最終目的是保證主變量的穩(wěn)定。如果出現(xiàn)二次干擾,主控制器不動(dòng),副控制器先來調(diào)整,然后主控制器再根據(jù)副控制器的調(diào)整進(jìn)行進(jìn)一步的調(diào)整。所以,采用兩個(gè)閉環(huán)的控制器串聯(lián)工作一定比單個(gè)環(huán)的控制器獨(dú)自工作效果要好很多。環(huán)內(nèi)環(huán)副控制器的輸入,計(jì)算出一個(gè)較小的PWM輸出信號(hào)。這個(gè)過程由快變慢,使無人機(jī)慢慢恢復(fù)平衡。

通過陀螺儀,可以獲得X、Y、Z三個(gè)軸的傾斜角和旋轉(zhuǎn)角。根據(jù)這六組參數(shù),就可以對四個(gè)電機(jī)做反饋控制。飛行控制器的程序采用的是雙環(huán)串級(jí)PID反饋控制。外環(huán)輸入通過采集陀螺儀獲得的傾斜角值,外環(huán)輸出采用期望的角速度,內(nèi)環(huán)輸入采用期望的角速度減去當(dāng)前通過陀螺儀測得的角速度,而內(nèi)環(huán)輸出則是飛行控制器輸出的信號(hào)的補(bǔ)償值,通過輸出的補(bǔ)償值來調(diào)整電機(jī)的轉(zhuǎn)速。

串級(jí)PID控制如圖2所示,期望角度值來自于無線遙控模塊,測量角度值由飛行器中傳感器模塊提供,通過計(jì)算兩者的差值從而輸入到角度環(huán)PID控制器中,角度環(huán)PID計(jì)算處理后輸出期望角速度值;期望角速度值與傳感器獲得的測量角速度進(jìn)行計(jì)算得到角速度偏差值,得到的這個(gè)差值作為角速度環(huán)PID控制器的輸出值,再由其進(jìn)行計(jì)算處理得到四個(gè)PWM的控制量,輸出控制量進(jìn)而控制電機(jī)轉(zhuǎn)動(dòng),實(shí)現(xiàn)飛行器的運(yùn)作。

圖2 串級(jí)PID框圖

3.5 PWM信號(hào)

STM32主控芯片通過代碼完成PID計(jì)算后,將PID計(jì)算后的值輸入到集成在STM32的TIM4(定時(shí)器4)的比較寄存器中,然后通過調(diào)制輸出四路PWM信號(hào),如果想要得到不同的PWM波形只需通過輸入的PID值,來改變正負(fù)占空比,從而達(dá)到不同的轉(zhuǎn)速。將PWM通過電機(jī)驅(qū)動(dòng)使其工作,至此,完成了基于STM32和MPU6050搭建的飛控系統(tǒng)工作。

4 實(shí)物調(diào)試

4.1 PID參數(shù)調(diào)整

無人機(jī)采用PID控制[14~15],通過人為期望的姿態(tài)值和飛行器實(shí)際的姿態(tài)值進(jìn)行計(jì)算得到誤差值,然后將誤差值作為輸出四路PWM值來控制電機(jī),當(dāng)飛行器調(diào)整到期望值和實(shí)際值誤差接近于0時(shí),則到達(dá)相對穩(wěn)定狀態(tài)。

無人機(jī)的PID參數(shù)調(diào)試需要一些準(zhǔn)備工作。首先在調(diào)整參數(shù)之前,無人機(jī)要保持電機(jī)打開,保持機(jī)體震動(dòng),在這個(gè)前提下,確保電機(jī)與槳葉的轉(zhuǎn)動(dòng)平衡,獲得傳感器的原始數(shù)據(jù)輸出。如圖3無人機(jī)處于劇烈震動(dòng),開始調(diào)整PID參數(shù)時(shí),要先確定比例增益P,將時(shí)間積分常數(shù)I設(shè)為0,時(shí)間微分常數(shù)D設(shè)置為一個(gè)極低的值或設(shè)置為0。將P降低為0,由0開始逐漸增加P。P的值在保持不抖動(dòng)的情況下越大越好。P逐漸增大,增大到多少會(huì)抖動(dòng)完全取決于機(jī)身的質(zhì)量以及電機(jī)本身的性能和動(dòng)力。在P增加至機(jī)身出現(xiàn)劇烈高頻抖動(dòng)后,將P降低60%~80%,調(diào)整到懸停時(shí)機(jī)身不再出現(xiàn)抖動(dòng)為止。

圖3 飛行器震動(dòng)

通過遙控器控制無人機(jī),在給出一個(gè)指令后查看無人機(jī)對于指令的執(zhí)行是否有執(zhí)行過量,是否會(huì)出現(xiàn)過沖反饋。如果出現(xiàn)了這種情況,可以適當(dāng)增加微分量D來減小過沖。最后,在懸停飛行時(shí),可以查看無人機(jī)是否存在漂移或不按照指令方向飛行的情況,如果有,就略微增加積分項(xiàng)I,來消除漂移的情況。

加鎖控制鎖,點(diǎn)擊右上角的參數(shù)設(shè)置,在PID內(nèi)外環(huán)設(shè)置中設(shè)置數(shù)值,設(shè)置完成點(diǎn)擊提交。提交完成后,修改橫滾P值為0,不要提交,下拉刷新,若變?yōu)樵O(shè)定值,證明PID修改成功。通過多次的調(diào)整正得到了合理的PID值,如表1所示,通過多次實(shí)驗(yàn),當(dāng)P=3,I=0.8,D=22時(shí)飛行器能夠穩(wěn)定地飛行。

表1 測試內(nèi)外環(huán)參數(shù)值

4.2 姿態(tài)調(diào)整

在飛行過程中,根據(jù)飛行器在飛行時(shí)的實(shí)際情況,如四軸重心偏前、偏后、偏左、偏右等,在參數(shù)設(shè)置界面中調(diào)整姿態(tài)數(shù)值,增強(qiáng)四軸飛行穩(wěn)定性,優(yōu)化飛行體驗(yàn)。圖4是姿態(tài)值調(diào)整說明圖,在飛行過程中,在只控制四軸垂直上升的情況下,如過四軸自動(dòng)偏向某一方向,說明四軸重心偏移在某一側(cè),在參數(shù)設(shè)置界面中調(diào)整姿態(tài)數(shù)值可以解決這一問題,可以根據(jù)如下方法調(diào)整姿態(tài)參數(shù)。

圖4 姿態(tài)調(diào)整說明

連接四軸飛行器,進(jìn)入控制界面,加鎖控制鎖后,進(jìn)入?yún)?shù)的姿態(tài)設(shè)置界面,下拉獲取四軸飛行器中的默認(rèn)加速度X、Y、Z值。通常,只更改加速度的X、Y值即可,X、Y值都以500為默認(rèn)值作為基準(zhǔn)進(jìn)行修改。當(dāng)四軸重心偏前時(shí)(即控制四軸垂直上升時(shí)飛機(jī)自動(dòng)往前偏移),應(yīng)適當(dāng)增加Y值,增加值根據(jù)偏移的嚴(yán)重程度(增加與減少值必須為50的倍數(shù))。

最終通過幾十次的調(diào)整正得到了合理的姿態(tài)值,X=300,Y=450,Z=500時(shí)無人機(jī)起飛的重心才在中心點(diǎn)上。

5 結(jié)語

基于STM32的無人機(jī)設(shè)計(jì),該系統(tǒng)主要以STM32開發(fā)板為控制器,并且在開發(fā)板上集成了MPU6050姿態(tài)傳感器,通過預(yù)留的串口通道便于連接其他模塊,如WIFI模塊通過串口2連接到開發(fā)板上,并進(jìn)行一些遙控通信,通過集成的IIC來獲得傳感器得來的姿態(tài)值,實(shí)現(xiàn)了對無人機(jī)各種飛行姿態(tài)的精確控制。

主站蜘蛛池模板: 伊人五月丁香综合AⅤ| 亚洲精品无码在线播放网站| 欧美成人h精品网站| 亚洲欧美日韩色图| 日本人真淫视频一区二区三区| 国产拍在线| 日本a∨在线观看| 久久香蕉国产线看观看式| 亚洲第一视频区| 国产欧美在线观看一区| 亚洲国产成人久久77| 久久国产精品电影| 精品国产一二三区| 国内精自视频品线一二区| 青青热久免费精品视频6| 99er精品视频| 制服丝袜一区| 99热这里只有精品在线观看| 爆乳熟妇一区二区三区| 99热免费在线| 国产一区二区三区在线精品专区| 狠狠亚洲婷婷综合色香| 日韩欧美国产精品| 日韩精品中文字幕一区三区| 国产午夜福利亚洲第一| 91视频区| 蜜芽国产尤物av尤物在线看| 四虎在线观看视频高清无码 | 国产资源免费观看| 久久久久久久蜜桃| 亚洲人视频在线观看| 亚洲精品波多野结衣| 亚洲女同欧美在线| 天天婬欲婬香婬色婬视频播放| 国产清纯在线一区二区WWW| 欧美日韩国产一级| 中文字幕色站| 欧美日韩中文字幕在线| 久久精品亚洲专区| 在线视频亚洲色图| 亚洲AV无码乱码在线观看代蜜桃| 香蕉久久国产超碰青草| 国产00高中生在线播放| 国产福利微拍精品一区二区| 综合五月天网| 国产精品美女自慰喷水| 国产精品久久久久鬼色| 香蕉伊思人视频| 亚洲欧美一区二区三区麻豆| 国产福利在线观看精品| 亚洲天堂久久| 97亚洲色综久久精品| 最新日本中文字幕| 亚洲男女在线| 亚洲精品动漫在线观看| 久久婷婷六月| 日韩小视频网站hq| 国产精品亚洲专区一区| 最新亚洲人成网站在线观看| 伊伊人成亚洲综合人网7777| 亚卅精品无码久久毛片乌克兰| 在线播放真实国产乱子伦| 99国产精品一区二区| 亚洲黄色高清| 欧美成人午夜视频| 亚洲一区二区三区麻豆| 国内精自线i品一区202| 国产99视频免费精品是看6| 综合社区亚洲熟妇p| 日韩在线成年视频人网站观看| 亚洲乱码在线视频| 无码日韩视频| 久久香蕉国产线看精品| 亚洲第一精品福利| 亚洲第一视频免费在线| 丰满少妇αⅴ无码区| 免费一级无码在线网站| 91成人在线观看视频| 免费人成视网站在线不卡| 18禁黄无遮挡免费动漫网站| 亚瑟天堂久久一区二区影院| 亚洲一级色|