2017電賽設(shè)計(jì)報(bào)告(更改)_第1頁
2017電賽設(shè)計(jì)報(bào)告(更改)_第2頁
2017電賽設(shè)計(jì)報(bào)告(更改)_第3頁
2017電賽設(shè)計(jì)報(bào)告(更改)_第4頁
2017電賽設(shè)計(jì)報(bào)告(更改)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第一頁是空白頁2017年全國大學(xué)生電子設(shè)計(jì)競賽 四旋翼自主飛行器探測跟蹤系統(tǒng)(C題)【本科組】2017年8月12日摘 要 本系統(tǒng)由數(shù)據(jù)信息采集、數(shù)據(jù)信號處理、飛行姿態(tài)穩(wěn)定和航向控制部分組成。系統(tǒng)選用瑞薩RX23T MCU單片機(jī)作為主控芯片,以STM32F103VET6為核心的飛控完成飛機(jī)自穩(wěn),通過超聲波傳感器來檢測飛行高度,再通過瑞薩芯片分析并向飛控傳遞信號來保持或改變飛行狀態(tài)。利用無線信號發(fā)射接收裝置來建立小車與飛行器之間的聯(lián)系,完成配對后會有二極管和揚(yáng)聲器發(fā)出配對成功信號,再通過接收方位信號的改變來調(diào)整飛行姿態(tài)以完成跟隨小車的目標(biāo)。關(guān)鍵詞:瑞薩R5F523T5ADFM單片機(jī) STM32F1

2、03VET6最小系統(tǒng)板超聲波測距PID算法無線收發(fā)模塊目 錄1系統(tǒng)方案11.1 控制系統(tǒng)的選擇11.2 飛行姿態(tài)控制的論證與選擇11.3 高度測量模塊的論證與選擇11.4 電機(jī)及調(diào)速方案的論證與選擇11.5 無線信號發(fā)射與接收模塊的論證與選擇22系統(tǒng)理論分析與計(jì)算22.1控制方案的設(shè)計(jì)與分析22.1.1 飛行器起飛及懸停方案設(shè)計(jì)2 飛行姿態(tài)控制設(shè)計(jì)2 飛行高度控制22.1.4 小車與飛行器聯(lián)動設(shè)計(jì)32.2 參數(shù)的計(jì)算32.2.1 飛行穩(wěn)定的PID計(jì)算3 高度控制的PID計(jì)算3 聲光聯(lián)動的參數(shù)設(shè)定33電路與程序設(shè)計(jì)33.1電路的設(shè)計(jì)3系統(tǒng)總體框圖設(shè)計(jì)33.1.2 控制系統(tǒng)框圖43.1.3 飛控系

3、統(tǒng)框圖4電源的選用53.2程序的設(shè)計(jì)5程序功能描述與設(shè)計(jì)思路5程序流程圖54測試方案與測試結(jié)果64.1測試方案64.2 測試結(jié)果及改進(jìn)6附錄1:電路原理圖7附錄2:源程序9四旋翼自主飛行器探測跟蹤系統(tǒng)(C題)【本科組】1系統(tǒng)方案本系統(tǒng)主要由總控制模塊、飛行控制模塊、超聲波測距模塊、無線信號發(fā)射接收模塊、電源模塊組成,下面分別論證這幾個模塊的選擇。1.1 控制系統(tǒng)的選擇 按照本次賽題要求,控制系統(tǒng)芯片選用瑞薩RX23T MCU板(芯片型號為R5F523T5ADFM)作為主控芯片來采集信號以及控制飛行器飛行姿態(tài)與方向。1.2 飛行姿態(tài)控制的論證與選擇方案一:瑞薩芯片將從MPU-6050中讀取出來的

4、飛行原始數(shù)據(jù)進(jìn)行PID算法運(yùn)算,得到當(dāng)前飛行器的四元數(shù),單片機(jī)再將數(shù)據(jù)融合,并對電調(diào)發(fā)出相應(yīng)指令,從而達(dá)到控制飛行器的飛行姿態(tài)的目的。但四元數(shù)法需要進(jìn)行大量的運(yùn)算,且運(yùn)算復(fù)雜。而且比賽時間緊迫,調(diào)試程序復(fù)雜且困難。方案二:采用市面上現(xiàn)有的QQ、KK等商用飛控板進(jìn)行飛行姿態(tài)穩(wěn)定的控制,再由瑞薩芯片給與干預(yù)來達(dá)到想要的飛行方案。但由于這些飛控不開源且干預(yù)所需要的波形復(fù)雜不可模仿,對設(shè)計(jì)和調(diào)試都是巨大的挑戰(zhàn),且穩(wěn)定性較差。方案三:采用市面上現(xiàn)有的飛控中的傳感器集成部分與比較熟悉的STM32單片機(jī)最小系統(tǒng)相結(jié)合,利用飛控傳感器模塊的多面性和STM32強(qiáng)大的抗干擾性與兼容性自制飛控模塊,再利用瑞薩芯片對

5、STM32進(jìn)行干預(yù)來實(shí)現(xiàn)比較穩(wěn)定簡便的飛行控制。綜合以上三種方案,選擇方案三。1.3 高度測量模塊的論證與選擇方案一:采用bmp085氣壓傳感器測量大氣壓并轉(zhuǎn)換為海拔高度,把當(dāng)前的海拔測量值減去起飛時的海拔值即得飛機(jī)的離地高度。但此次競賽飛行高度相對比較低,芯片價格較貴,誤差較大,調(diào)試較為困難。方案二:采用HC-SR04超聲波傳感器測量飛行器當(dāng)前的飛行高度。這種傳感器在較近距離測距誤差較小,算法較易且價格便宜。綜合以上兩種方案,選擇方案二。1.4 電機(jī)及調(diào)速方案的論證與選擇要確定調(diào)速方案首先要確定電機(jī)型號的選擇。方案一:采用有刷電機(jī)。有刷電機(jī)采用機(jī)械轉(zhuǎn)向,壽命短,噪聲大,產(chǎn)生電火花,效率低。它

6、長期使用碳刷磨損嚴(yán)重,較易損壞,同時磨損產(chǎn)生了大量的碳粉塵,這些粉塵落軸承中,使軸承油加速干涸,電機(jī)噪聲進(jìn)一步增大。有刷電機(jī)連續(xù)使用一定時間就需更換電機(jī)內(nèi)碳刷。 方案二:采用無刷電機(jī)。無刷電機(jī)以電子轉(zhuǎn)向取代機(jī)械轉(zhuǎn)向。無機(jī)械摩擦,無摩擦,無電火花,免維護(hù)且能做到更加密封等特點(diǎn)所以技術(shù)上要優(yōu)于有刷電機(jī)。綜合以上兩種方案,選擇使用方案二無刷電機(jī)。 考慮到經(jīng)濟(jì)型實(shí)用性等方面,我們選用新西達(dá)A2212無刷電機(jī)。而且由于本四旋翼飛行器選用的是無刷電機(jī),所以電調(diào)只能選用無刷電機(jī)的電調(diào),對于新手來說自己做電調(diào)需要的時間長,而且可能不穩(wěn)定,危險性較大,所以直接用的是成品電調(diào),我們選用電機(jī)配套的新西達(dá)A2212電

7、調(diào)。由此確定調(diào)速方案。1.5 無線信號發(fā)射與接收模塊的論證與選擇方案一:采用藍(lán)牙模塊來進(jìn)行無線配對通信,將兩個配對完成的藍(lán)牙模塊分別接在小車與飛行器的單片機(jī)上進(jìn)行數(shù)據(jù)配對傳輸,但是藍(lán)牙模塊抗干擾性較差,傳輸速度略慢,傳輸信息量大,編輯代碼較為復(fù)雜,調(diào)試麻煩。方案二:采用超外差RF無線編碼模塊TX118SA來進(jìn)行無線信號發(fā)射,利用RX480E通用解碼芯片進(jìn)行信號接收,這兩個傳感器不僅價格低廉,且在近距離信號傳輸時抗干擾性較強(qiáng),對碼等調(diào)試較為簡易。綜合兩種方案我們選用第二種進(jìn)行小車與飛行器之間的配對與信號傳輸。2系統(tǒng)理論分析與計(jì)算2.1控制方案的設(shè)計(jì)與分析 2.1.1 飛行器起飛及懸停方案設(shè)計(jì)由于

8、題目中要求起飛懸停降落都要控制在一個直徑為75CM的圓圈內(nèi),且本次材料清單中沒有關(guān)于紅外避障或?qū)ほE傳感器的選用,因此只能在客觀條件允許的條件下盡量保證飛機(jī)能穩(wěn)定起飛穩(wěn)定降落,因而我們決定在超聲波傳感器測定與地面距離小于1.2m時瑞薩芯片會將信號傳遞給STM32飛控來使得調(diào)速四個電機(jī)加速啟動讓飛機(jī)得以起飛,且起飛過程中截取飛控傳感器模塊中的MPU6050會將姿態(tài)角傳給STM32飛控中,飛控會自動調(diào)整PWM輸出的占空比達(dá)到調(diào)速使得起飛過程盡可能平穩(wěn),在超聲波傳感器測得飛行高度達(dá)到1.2m至1.6m之間時瑞薩發(fā)出PWM波使得飛控開始讓電機(jī)減速,在加速度傳感器輸出趨近于0時飛機(jī)基本實(shí)現(xiàn)平穩(wěn)懸停。 飛行

9、姿態(tài)控制設(shè)計(jì)飛行器在懸停的時,MPU6050會不斷將現(xiàn)有姿態(tài)角數(shù)據(jù)傳輸給STM32飛控中,飛控會自動代入PID調(diào)試公式來確定現(xiàn)有的飛行姿態(tài)并給予調(diào)整來盡量保證飛機(jī)姿態(tài)的穩(wěn)定。 飛行高度控制飛行高度的采集采用超聲波模塊來實(shí)現(xiàn),通過超聲波發(fā)出時開始計(jì)時,收到返回信號時停止計(jì)時,瑞薩單片機(jī)利用聲音在空氣中的傳播速度(粗記為340m/s)與時間的數(shù)學(xué)關(guān)系來計(jì)算出飛行器距地面的時間,從而控制飛行器的飛行高度達(dá)到我們所需的高度。2.1.4 小車與飛行器聯(lián)動設(shè)計(jì)小車與飛行器之間采用TX118SA無線信號發(fā)射接收傳感器來進(jìn)行通訊連接,位于飛行器上的接收端可以接收到來自小車上發(fā)射端的信號來進(jìn)行平面定位操作,再由

10、瑞薩芯片發(fā)出指令來控制飛行器和小車控制在一定距離從而達(dá)到跟隨。2.2 參數(shù)的計(jì)算 飛行穩(wěn)定的PID計(jì)算STM32最小系統(tǒng)板從飛控傳感器模塊中的MPU-6050芯片獲取的數(shù)據(jù)是飛行器的三軸角速度和三軸角加速度,MCU對數(shù)據(jù)進(jìn)行PID算法處理可以得到飛行器當(dāng)前的飛行姿態(tài)。PID是比例、積分、微分的縮寫。比例調(diào)節(jié)是按比例反應(yīng)系統(tǒng)的偏差,系統(tǒng)一旦出現(xiàn)了偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用用以減少偏差。比例作用大,可以加快調(diào)節(jié),減少誤差,但是過大的比例,使系統(tǒng)的穩(wěn)定性下降,甚至造成系統(tǒng)的不穩(wěn)定。積分調(diào)節(jié)是使系統(tǒng)消除穩(wěn)態(tài)誤差,提高無差度。因?yàn)橛姓`差,積分調(diào)節(jié)就進(jìn)行,直至無差,積分調(diào)節(jié)停止,積分調(diào)節(jié)輸出一常值。積

11、分作用的強(qiáng)弱取決與積分時間常數(shù)Ti,Ti越小,積分作用就越強(qiáng)。反之Ti大則積分作用弱,加入積分調(diào)節(jié)可使系統(tǒng)穩(wěn)定性下降,動態(tài)響應(yīng)變慢。積分作用常與另兩種調(diào)節(jié)規(guī)律結(jié)合,組成PI調(diào)節(jié)器或PID調(diào)節(jié)器。幾者結(jié)合從而保持飛行姿態(tài)穩(wěn)定。 高度控制的PID計(jì)算超聲波測距傳感器能測量出發(fā)出聲波到接收到聲波之間的時間長度,設(shè)這個值為X,則X/340/2即為所測量距離的長度,將這個經(jīng)計(jì)算所得的值與所需要的高度進(jìn)行對比,在對STM32進(jìn)行反饋從而實(shí)現(xiàn)調(diào)速定高,來達(dá)到控制飛行高度的目的。 聲光聯(lián)動的參數(shù)設(shè)定TX118SA發(fā)射器和接收器之間信號傳輸時間為聲波在兩者之間傳遞時間,與聲速相除可測出之間距離,在距離到達(dá)所要求

12、0.5m1.5m之間時,二極管所在端口輸出高電平達(dá)到讓二極管發(fā)光,同時揚(yáng)聲器所在端口輸出高頻PWM波以達(dá)到讓揚(yáng)聲器發(fā)出尖銳聲音的效果從而達(dá)到聲光聯(lián)動。3電路與程序設(shè)計(jì)3.1電路的設(shè)計(jì)系統(tǒng)總體框圖設(shè)計(jì) 系統(tǒng)總體框圖如圖1所示,瑞薩 RX32T 飛控 電源飛行器姿態(tài)變化超聲波傳感器小車揚(yáng)聲器圖1 系統(tǒng)總體框圖3.1.2 控制系統(tǒng)框圖控制系統(tǒng)框圖 瑞薩RX32TSTM32F103VET6MPU6050電機(jī)超聲波傳感器小車上單片機(jī)超聲波傳感器二極管發(fā)光揚(yáng)聲器發(fā)聲 二極管 揚(yáng)聲器圖2 控制系統(tǒng)框圖3.1.3 飛控系統(tǒng)框圖飛控系統(tǒng)框圖STM32F103MPU6050電機(jī)飛機(jī)姿態(tài)PID算法圖3 飛控系統(tǒng)框圖

13、電源的選用電源由變壓部分、濾波部分、穩(wěn)壓部分組成。為整個系統(tǒng)提供5V或者12V電壓,確保電路的正常穩(wěn)定工作。這部分電路比較簡單,都采用三端穩(wěn)壓管實(shí)現(xiàn),故不作詳述。3.2程序的設(shè)計(jì)程序功能描述與設(shè)計(jì)思路1、程序功能描述 首先一鍵啟動飛行器,起飛后懸停,5S后降落;其次手持飛機(jī)靠近小車飛機(jī)和小車發(fā)出聲光互響;再次一鍵啟動飛機(jī)向前尋找小車,尋到后降落;然后啟動飛機(jī)沿直線追尋小車;最后飛機(jī)沿不同方向追尋小車。2、 程序設(shè)計(jì)思路 先設(shè)計(jì)出每種功能中相同的程序部分方便在各個步驟中調(diào)用,再設(shè)計(jì)出各個步驟中特有的部分加上之前的公共部分進(jìn)而完成整個步驟。程序流程圖 開始 飛控檢測 MCU瑞薩輸出PWM 驅(qū)動電機(jī)

14、 超聲波檢測 懸停、追蹤圖4 程序流程圖4測試方案與測試結(jié)果4.1測試方案對程序進(jìn)行分塊測試,先公共部分后獨(dú)立部分,測試均無誤后針對要求的需要進(jìn)行測試。分模塊測試完畢后,在實(shí)驗(yàn)室自主搭建安全網(wǎng)空間進(jìn)行整體測試,包括一鍵起飛、懸停定高、聲光指示、定向飛行、追蹤等,在隊(duì)員安全與符合國家相關(guān)飛行器政策要求前提下完成所有測試。4.2 測試結(jié)果及改進(jìn)經(jīng)過測試,將不穩(wěn)定區(qū)間過大的部分進(jìn)行了多次優(yōu)化,使其能高效穩(wěn)定地完成每步的運(yùn)作。尤其對PWM信號控制電機(jī)轉(zhuǎn)速這一方面做了較大改進(jìn),在不斷的調(diào)試中,使飛行器飛行更加穩(wěn)定、準(zhǔn)確,減小了許多外界因素造成的干擾。綜上所述,本設(shè)計(jì)達(dá)到要求。附錄1:電路原理圖附錄2:源

15、程序#include "r_cg_macrodriver.h"#include "r_cg_cgc.h"#include "r_cg_cac.h"#include "r_cg_port.h"#include "r_cg_mtu3.h"#include "r_cg_cmt.h"/* Start user code for include. Do not edit comment generated here */* End user code. Do not edit comm

16、ent generated here */#include "r_cg_userdefine.h"/*Global variables and functions*/* Start user code for global. Do not edit comment generated here */void delay_m(uint32_t m)for(;m>0;m-);/* End user code. Do not edit comment generated here */void R_MAIN_UserInit(void);/* Function Name:

17、main* Description : This function implements main function.* Arguments : None* Return Value : None*/void main(void) R_MAIN_UserInit(); /* Start user code. Do not edit comment generated here */ delay_m(0x5ffffff); PORT1.PODR.BYTE = _01_Pm0_OUTPUT_1 | _02_Pm1_OUTPUT_1; PORT1.DSCR.BYTE |= _01_Pm0_HIDRV

18、_ON | _00_Pm1_HIDRV_OFF; PORT1.PDR.BYTE = _01_Pm0_MODE_OUTPUT | _02_Pm1_MODE_OUTPUT; R_MTU3_C0_Start(); R_MTU3_C2_Start(); R_MTU3_C3_Start(); while (1U) ; /* End user code. Do not edit comment generated here */static void ADVANCE_TIM_GPIO_Config(void) GPIO_InitTypeDef GPIO_InitStructure; / 輸出比較通道 GP

19、IO 初始化RCC_APB2PeriphClockCmd(ADVANCE_TIM_CH1_GPIO_CLK, ENABLE); GPIO_InitStructure.GPIO_Pin = ADVANCE_TIM_CH1_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(ADVANCE_TIM_CH1_PORT, &GPIO_InitStructure); / 輸出比較通道互補(bǔ)通道 GPIO 初始化RCC_APB2

20、PeriphClockCmd(ADVANCE_TIM_CH1N_GPIO_CLK, ENABLE); GPIO_InitStructure.GPIO_Pin = ADVANCE_TIM_CH1N_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(ADVANCE_TIM_CH1N_PORT, &GPIO_InitStructure); / 輸出比較通道剎車通道 GPIO 初始化RCC_APB2PeriphClock

21、Cmd(ADVANCE_TIM_BKIN_GPIO_CLK, ENABLE); GPIO_InitStructure.GPIO_Pin = ADVANCE_TIM_BKIN_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(ADVANCE_TIM_BKIN_PORT, &GPIO_InitStructure);/ BKIN引腳默認(rèn)先輸出低電平GPIO_ResetBits(ADVANCE_TIM_BKIN_PORT

22、,ADVANCE_TIM_BKIN_PIN);static void ADVANCE_TIM_Mode_Config(void) / 開啟定時器時鐘,即內(nèi)部時鐘CK_INT=72MADVANCE_TIM_APBxClock_FUN(ADVANCE_TIM_CLK,ENABLE);/*-時基結(jié)構(gòu)體初始化-*/TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;/ 自動重裝載寄存器的值,累計(jì)TIM_Period+1個頻率后產(chǎn)生一個更新或者中斷TIM_TimeBaseStructure.TIM_Period=ADVANCE_TIM_PERIOD;/ 驅(qū)動CNT

23、計(jì)數(shù)器的時鐘 = Fck_int/(psc+1)TIM_TimeBaseStructure.TIM_Prescaler= ADVANCE_TIM_PSC;/ 時鐘分頻因子 ,配置死區(qū)時間時需要用到TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;/ 計(jì)數(shù)器計(jì)數(shù)模式,設(shè)置為向上計(jì)數(shù)TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;/ 重復(fù)計(jì)數(shù)器的值,沒用到不用管TIM_TimeBaseStructure.TIM_RepetitionCounter=0;/ 初始化定時器TIM_T

24、imeBaseInit(ADVANCE_TIM, &TIM_TimeBaseStructure);/*-輸出比較結(jié)構(gòu)體初始化-*/TIM_OCInitTypeDef TIM_OCInitStructure;/ 配置為PWM模式1TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;/ 輸出使能TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;/ 互補(bǔ)輸出使能TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_En

25、able; / 設(shè)置占空比大小TIM_OCInitStructure.TIM_Pulse = ADVANCE_TIM_PULSE;/ 輸出通道電平極性配置TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;/ 互補(bǔ)輸出通道電平極性配置TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_Low ; /TIM_OCNPolarity_Low TIM_OCNPolarity_High/ 輸出通道空閑電平極性配置TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;/ 互補(bǔ)輸出通道空閑電平極性配置TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Set;TIM_OC1I

溫馨提示

  • 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

提交評論