RM新时代网站-首页

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電源技術(shù)>基于STM32的四軸飛行器飛控系統(tǒng)設(shè)計資料下載

基于STM32的四軸飛行器飛控系統(tǒng)設(shè)計資料下載

2021-04-25 | pdf | 478.96KB | 次下載 | 10積分

資料介紹

引言四軸飛行器是一種結(jié)構(gòu)緊湊、飛行方式獨特的垂直起降式飛行器,與普通的飛行器相比具有結(jié)構(gòu)簡單,故障率低和單位體積能夠產(chǎn)生更大升力等優(yōu)點,在軍事和民用多個領(lǐng)域都有廣闊的應(yīng)用前景,非常適合在狹小空間內(nèi)執(zhí)行任務(wù)。因此四旋翼飛行器具有廣闊的應(yīng)用前景,吸引了眾多科研人員,成為國內(nèi)外新的研究熱點。本設(shè)計主要通過利用慣性測量單元(IMU)姿態(tài)獲取技術(shù)、PID電機控制算法、2.4G無線遙控通信技術(shù)和高速空心杯直流電機驅(qū)動技術(shù)來實現(xiàn)簡易的四軸方案。整個系統(tǒng)的設(shè)計包括飛控部分和遙控部分,飛控部分采用機架和控制核心部分一體設(shè)計增加系統(tǒng)穩(wěn)定性,遙控部分采用模擬搖桿操作輸入使操作體驗極佳,兩部分之間的通信采用2.4G無線模塊保證數(shù)據(jù)穩(wěn)定傳輸。飛行控制板采用高速單片機STM32作為處理器,采用含有三軸陀螺儀、三軸加速度計的運動傳感器MPU6050作為慣性測量單元,通過2.4G 無線模塊和遙控板進行通信,最終根據(jù)PID控制算法通過PWM方式驅(qū)動空心杯電機來達到遙控目標(biāo)。1、系統(tǒng)總體設(shè)計系統(tǒng)硬件的設(shè)計主要分要遙控板和飛控板兩個部分,遙控板采用常見羊角把游戲手柄的外形設(shè)計,控制輸入采用四向搖桿,無線數(shù)據(jù)傳輸采用2.4G無線模塊。飛控板采用控制處理核心和機架一體的設(shè)計即處理器和電機都集成在同一個電路板上,采用常規(guī)尺寸能夠采用普通玩具的配件。系統(tǒng)軟件的設(shè)計同樣包括遙控板和飛控板兩部分的工作,遙控板軟件的設(shè)計主要包括ADC的采集和數(shù)據(jù)的無線發(fā)送。飛控板的軟件的設(shè)計主要包括無線數(shù)據(jù)的接收,自身姿態(tài)的實時結(jié)算,電機PID增量的計算和電機的驅(qū)動。整個四軸飛行器系統(tǒng)包括人員操作遙控端和飛行器控制端,遙控端主控制器STM32通過ADC外設(shè)對搖桿數(shù)據(jù)進行采集,把采集到的數(shù)據(jù)通過2.4G無線通信模塊發(fā)送至飛控端。飛控板的主要工作就是通過無線模塊進行控制信號的接收,并且利用慣性測量單元獲得實時系統(tǒng)加速度和角速度原始數(shù)據(jù),并且最終解算出當(dāng)前的系統(tǒng)姿態(tài),然后根據(jù)遙控板發(fā)送的目標(biāo)姿態(tài)和當(dāng)姿態(tài)差計算出PID電機增量,然后通過PWM驅(qū)動電機進行系統(tǒng)調(diào)整來實現(xiàn)飛行器的穩(wěn)定飛行。系統(tǒng)的總體設(shè)計框圖如圖1所示。圖1 系統(tǒng)總體設(shè)計框圖2、四軸飛行器的硬件設(shè)計2.1主控單元選擇從成本和性能綜合考慮,飛控板和遙控板的主控單元都采用意法半導(dǎo)體公司的增強型高速單片機STM32F103作為主控的,STM32F103是基于的ARM 32位的Cortex-M3內(nèi)核架構(gòu),穩(wěn)定工作頻率可達72MHz,是一個具有豐富資源、高速時鐘的精簡指令的微處理器。STM32F103擁有從64K或128K字節(jié)的閃存程序可選存儲器,高達20K字節(jié)的SRAM,2個12位模數(shù)轉(zhuǎn)換器多達16個輸入通道,7通道DMA控制器,多達80個快速I/O端口,串行單線調(diào)試(SWD)和JTAG接口調(diào)試模式,多達7個定時器,多達2個I2C接口(支持SMBus/PMBus),多達3個USART接口(支持ISO7816接口,LIN,IrDA接口和調(diào)制解調(diào)控制),多達2個SPI接口(18M位/秒),CAN接口(2.0B主動),USB2.0全速接口。主控單元原理圖如圖2所示。圖2 主控單元原理圖2.2 飛控板電路設(shè)計飛控板的核心設(shè)計是MPU6050測量傳感器、NRF2401無線模塊以及飛控板電機驅(qū)動等模塊的設(shè)計。飛控系統(tǒng)的慣性測量單元采用MPU6050作為測量傳感器,MPU6050的驅(qū)動方式采用IIC接口,時鐘引腳SCL連接到STM32的PB10,數(shù)據(jù)引腳連接到STM32的PB11引腳,數(shù)據(jù)中斷引腳連接到PB5,為了增強驅(qū)動能力在每個引腳上都加入了10K的上拉電阻,原理圖的設(shè)計如圖3所示。圖3 飛控板慣性測量單元原理圖相對于其他模塊電系統(tǒng)也是比較重要的部分,飛控系統(tǒng)采用3.7V高放電倍率鋰電池進行供電。主控芯片供電部分和IMU傳感器部分采用各自獨立的LDO進行供電,這樣確保了系統(tǒng)的穩(wěn)定性和IMU傳感器數(shù)據(jù)采集的準(zhǔn)確性,穩(wěn)壓直流電源模塊的原理圖設(shè)計如圖4所示。圖4 飛控板電源穩(wěn)壓原理圖飛控板與遙控板數(shù)據(jù)的通信同樣采用的是基于2.4G頻段的NRF2401模塊,確保了數(shù)據(jù)的穩(wěn)定傳輸。STM32的SPI1外設(shè)對2.4G模塊進行操作驅(qū)動,引腳的連接如下表1所示。NRF2.4G為采用3.3V供電無線模塊,系統(tǒng)采用與單片機相同的電源網(wǎng)絡(luò)對其供電,同時加入0.1UF電容進行濾波確保模塊正常工作,無線模塊的具體原理圖連接如圖5所示。圖5 飛控板無線模塊原理圖飛控板的驅(qū)動系統(tǒng)采用的是四個分布對稱十字交叉的高速空心杯電機,電機的驅(qū)動開關(guān)部分采用N溝道增強型場效應(yīng)晶體管進行控制,通過修改STM32對應(yīng)引腳上的PWM信號來進行開關(guān)MOS管實現(xiàn)電機運行開與關(guān),從而實現(xiàn)電機運轉(zhuǎn)速度的調(diào)節(jié)。電機1、2、3、4分別采用STM32的定時器2的通道0、通道1、通道2和通道3的PWM進行控制。電機1的控制端連接PA0,電機2的控制端采用PA1,電機2的控制端采用PA2,電機3的控制端采用PA3控制,電機的驅(qū)動原理圖如圖6所示。圖6 飛控板電機驅(qū)動原理圖2.3遙控板電路設(shè)計遙控板主控單元通過SPI總線驅(qū)動2.4G無線模塊,通過8位并口驅(qū)動1602液晶顯示,通過ADC輸入引腳對搖桿和電池電量進行采集,通過引腳驅(qū)動三極管開關(guān)驅(qū)動蜂鳴器提示。遙控板的核心設(shè)計是搖桿模擬數(shù)據(jù)進行采集模塊、NRF2401無線模塊等設(shè)計。采用STM32單片機ADC1的通道4、通道5、通道6和通道7進行搖桿模擬數(shù)據(jù)進行采集并轉(zhuǎn)換為數(shù)字量,分別連接到PA4、PA5、PA6和PA7引腳,并且加入濾波電容減少雜質(zhì)信號的影響。遙控板搖桿輸入原理圖設(shè)計如圖7所示。圖7 遙控板搖桿輸入原理圖設(shè)計遙控板采用NRF2.4G模塊的驅(qū)動采用STM32的自帶外設(shè)SPI2進行驅(qū)動,各個功能引腳的連接如表2所示。NRF2.4G模塊采用3.3V供電,在供電端口外加0.1UF濾波存儲電容確保無線系統(tǒng)的穩(wěn)定性,的具體原理圖連接8所示。圖8 遙控板無線模塊原理圖3、四軸飛行器的軟件設(shè)計四軸飛行器的軟件設(shè)計主要包括飛控板軟件的設(shè)計和遙控板軟件的設(shè)計。整體軟件在MDK環(huán)境下采用C語言編寫,采用ST-LINK仿真器對程序進行調(diào)試與下載。3.1飛控板系統(tǒng)軟件設(shè)計飛控程序的主要設(shè)計思想是開機對無線模塊的初始化、MPU6050的初始化、PWM電機初始化。隨后對整個系統(tǒng)IMU繼續(xù)零偏處理,隨后等待進入解鎖信息的傳入。飛控采用定時器中斷的方式,在中斷中進行對時間的處理,每次中斷計次標(biāo)志就會自增,根據(jù)不同的中斷積累即不同時間的間隔分別處理優(yōu)先級不同的任務(wù)。飛控系統(tǒng)程序設(shè)計流程圖如圖9所示。圖9 飛控系統(tǒng)程序設(shè)計流程圖飛控系統(tǒng)每0.5毫秒中斷一次,每次中斷就會檢查一次無線模塊數(shù)據(jù)的接收,確保飛控系統(tǒng)的控制信息的實時性。每兩次中斷即1毫秒讀取一次IMU單元的數(shù)據(jù),通過濾波算法獲得較為準(zhǔn)確的系統(tǒng)加速度、角速度的原始數(shù)據(jù)。每四次中斷即2毫秒通過IMU的原始數(shù)據(jù)計算下當(dāng)前飛控板系統(tǒng)的姿態(tài),然后結(jié)合遙控端的目標(biāo)姿態(tài),根據(jù)兩者的差值通過PID控制算法進行對各個電機的調(diào)速控制。每200次中斷即100毫秒,飛控系統(tǒng)會采集一次電池電壓,然后把電池電壓發(fā)送給遙控板,用來高速操作人員當(dāng)前電壓的大小。MPU6050作為系統(tǒng)的慣性測量單元,是整個系統(tǒng)正常運行基礎(chǔ)。MPU6050的驅(qū)動總線為IIC方式,為了程序的方便性本系統(tǒng)選用PB10和PB11模擬IIC來驅(qū)動。IMU讀取出來的數(shù)據(jù)只是最簡單的加速度、陀螺儀角速度的原始數(shù)據(jù),需要通過進一步的處理才能得到本系統(tǒng)想要的姿態(tài)角度。飛控板姿態(tài)結(jié)算流程圖如圖10所示。根據(jù)處理過后的MPU數(shù)據(jù)來獲得當(dāng)前的姿態(tài),具體的姿態(tài)獲取理論上是根據(jù)各個角度的積分得到當(dāng)前的系統(tǒng)姿態(tài)歐拉角。本系統(tǒng)的設(shè)計實現(xiàn)是采用四元數(shù)算法對MPU6050最濾波后的數(shù)據(jù)進行計算得到最終的歐拉角。整個飛控系統(tǒng)的運行動作是通過調(diào)整飛控姿態(tài)來實現(xiàn)的,本系統(tǒng)設(shè)計在當(dāng)前姿態(tài)的基礎(chǔ)上,根據(jù)接收到的遙控器的目標(biāo)姿態(tài)對空心杯電機進行基于PID算法的PWM控制調(diào)速,從而實現(xiàn)飛控系統(tǒng)的各種基本運動。飛控板會對系統(tǒng)慣性測量單元傳感器的原始數(shù)據(jù)進行濾波,然后對濾波后的數(shù)據(jù)進行實時結(jié)算,最后根據(jù)遙控板發(fā)送來的目標(biāo)信息進行計算出電機的控制增量,最后根據(jù)PID控制算法對電機進行控制輸出,飛控姿態(tài)控制流程圖如圖11所示。圖10 飛控板姿態(tài)結(jié)算流程圖圖11 飛控板姿態(tài)控制流程圖3.2遙控板系統(tǒng)軟件設(shè)計遙控板的作用就是把操作人員的操作動作轉(zhuǎn)化成信號傳給飛行控制板,同時將一些控制信息和飛控板傳回來的信息進行實時的顯示和處理。飛控板搖桿數(shù)據(jù)的采集用到了STM32的ADC功能STM32F103xx增強型產(chǎn)品內(nèi)嵌2個12位的模擬/數(shù)字轉(zhuǎn)換器(ADC),每個ADC共用多達16個外部通道,可以實現(xiàn)單次或掃描轉(zhuǎn)換。而且STM32的ADC可以采用DMA通道,這樣可以進一步的節(jié)省硬件資源,加快系統(tǒng)實時性。采用SPI1驅(qū)動NRF無線模塊,進行與飛控板的數(shù)據(jù)通信,遙控板系統(tǒng)軟件流程如圖12所示。圖12 遙控板軟件流程圖本系統(tǒng)采用STM32的ADC1的通道4、通道5、通道6和通道7進行搖桿模擬數(shù)據(jù)進行采集,ADC和DMA的配置代碼如下:ADC_Configuration(); //ADC 功能配置DMA_Configuration(); //DMA 功能配置下面是ADC和DMA的啟動和時能代碼如下:ADC_SoftwareStartConvCmd(ADC1, ENABLE); //啟動 ADC1 轉(zhuǎn)換DMA_Cmd(DMA1_Channel1, ENABLE); //啟動 DMA 通道采用STM32外設(shè)SPI1驅(qū)動NRF2.4G模塊,SPI初始化代碼如下:Spi1_Init();采用無線模塊的通道40進行通信,2401初始化函數(shù)如下:Nrf24l01_Init(MODEL_RX2,40); //通道402.4G無線模塊NRF2401的接收函數(shù)如下:Nrf_Check_Event(); //讀取NRF2401數(shù)據(jù)通過2401將控制信號發(fā)送,發(fā)送函數(shù)如下:NRF_TxPacket_AP(NRF24L01_TXDATA_RC,32); //將控制信號發(fā)給四軸4、結(jié)論本文描述了一個簡易四軸飛行器系統(tǒng)的設(shè)計實現(xiàn),整個方案分為遙控控制板各飛行控制板兩部分,通過2.4G無線模塊進行控制通信,飛控系統(tǒng)采用IMU系統(tǒng)獲取姿態(tài)信息根據(jù)反饋控制算法進行電機控制從而實現(xiàn)飛行控制。本系統(tǒng)飛控板采用一體設(shè)計使得系統(tǒng)簡單、緊湊,遙控板采用搖桿輸入使系統(tǒng)控制體驗良好,最終實現(xiàn)飛行器的基本運動。實踐證明該四軸飛行器飛行穩(wěn)定、可靠,取得了較好效果。(mbbeetchina)
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 651單片機窗簾控制器仿真程序
  12. 1.93 MB  |  2次下載  |  免費
  13. 751單片機大棚環(huán)境控制器仿真程序
  14. 1.10 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
RM新时代网站-首页