• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于STM32微型四軸無(wú)人機(jī)的設(shè)計(jì)與實(shí)現(xiàn)

      2017-06-24 13:13:17尤曉萍
      關(guān)鍵詞:微控制器程序設(shè)計(jì)藍(lán)牙

      宋,尤曉萍

      (廈門(mén)大學(xué)嘉庚學(xué)院,福建漳州363105)

      基于STM32微型四軸無(wú)人機(jī)的設(shè)計(jì)與實(shí)現(xiàn)

      (廈門(mén)大學(xué)嘉庚學(xué)院,福建漳州363105)

      微型四軸無(wú)人機(jī)與中大型四軸無(wú)人機(jī)相比具有成本低、事故代價(jià)低、結(jié)構(gòu)簡(jiǎn)單、量產(chǎn)率高等優(yōu)勢(shì)。本文主要介紹基于STM32的微型四軸無(wú)人機(jī)的硬件設(shè)計(jì)、程序設(shè)計(jì)及基本工作原理。無(wú)人機(jī)以STM32F103CBT6作為控制核心,MPU6050作為姿態(tài)運(yùn)動(dòng)傳感器。控制器與無(wú)人機(jī)之間采用NRF24L01或BC04-B進(jìn)行無(wú)線通信,使無(wú)人機(jī)端即時(shí)有效地接收控制器所發(fā)出的指令,使其能夠?qū)崿F(xiàn)在空間中自由移動(dòng)。

      微型四軸無(wú)人機(jī);無(wú)人機(jī)設(shè)計(jì);STM32

      四軸無(wú)人機(jī)擁有2對(duì)對(duì)稱旋翼,可以自由地懸停和移動(dòng),飛行靈活而穩(wěn)定。它結(jié)構(gòu)簡(jiǎn)潔,制造材料簡(jiǎn)單,性價(jià)比極高。其應(yīng)用也在不斷的拓展之中。在飛行器上掛載通信系統(tǒng)、攝影系統(tǒng)等模塊能夠?qū)崿F(xiàn)諸多新功能,如航拍、APP信息采集等。中小型四軸無(wú)人機(jī)在軍事應(yīng)用方面具有得天獨(dú)厚的優(yōu)勢(shì)。它們可控、體積小,在受訓(xùn)士兵的操控下進(jìn)行戰(zhàn)場(chǎng)上近距離、復(fù)雜地貌環(huán)境的敵情偵察,還可以用作信標(biāo)指示定點(diǎn)轟炸或集中打擊等[1]。民用方面,四軸無(wú)人機(jī)應(yīng)用前景也較為廣泛。通過(guò)攜帶指定的傳感器模塊,四軸飛行器可以采集農(nóng)作物的整體指標(biāo),省去了人工調(diào)查的時(shí)間和成本[2]。

      四軸無(wú)人機(jī)的產(chǎn)業(yè)已成規(guī)模。目前的研究方向主要集中在新傳感器技術(shù)的發(fā)展和運(yùn)用以及姿態(tài)控制方面。整合一體的新傳感器模塊小型化微型化,使多軸飛行器的體積可以大大縮?。?]。四軸無(wú)人機(jī)的姿態(tài)控制研究主要是飛行姿態(tài)的數(shù)學(xué)建模、控制算法以及濾波原理[4]。目前市面上微型四軸無(wú)人機(jī)的飛行姿態(tài)不夠穩(wěn)定,控制方式相對(duì)單一。因此本文設(shè)計(jì)并制作了此款雙遙控模式的微型四軸無(wú)人機(jī),詳細(xì)介紹了其硬件設(shè)計(jì)、程序設(shè)計(jì)、控制原理和可行方案。并對(duì)制作實(shí)物進(jìn)行測(cè)試,使其達(dá)到可控、平穩(wěn)飛行的狀態(tài)。

      1 總體方案設(shè)計(jì)

      微型四軸無(wú)人機(jī)硬件部分主要有微控制器STM32F103CBT6、XC6206穩(wěn)壓電路,無(wú)線NRF2L01模塊、BC04-B藍(lán)牙通信模塊、電機(jī)驅(qū)動(dòng)電路、LED驅(qū)動(dòng)電路、姿態(tài)傳感器MPU6050等。采用5 V充電電池作為電源,通過(guò)XC6206芯片穩(wěn)壓到3.3 V為微控制器以及外設(shè)供電

      無(wú)人機(jī)可通過(guò)NRF24L01模塊通信手柄遙控,或通過(guò)BC04-B藍(lán)牙模塊與手機(jī)通信控制,通信頻道2.4 GHz,兩種不同的控制方式可根據(jù)需求自由切換。且采用的藍(lán)牙通信也避免沒(méi)有wifi時(shí)的尷尬局面。控制器采集電位器ADC值以及按鍵信號(hào)實(shí)時(shí)發(fā)送給無(wú)人機(jī),無(wú)人機(jī)的微控制器通過(guò)I2C讀取MPU6050的姿態(tài)解算值,在通過(guò)PID算法輸出PWM控制直流電機(jī)實(shí)現(xiàn)飛行;飛行姿態(tài)則以變化電機(jī)轉(zhuǎn)速進(jìn)行控制。

      圖1 硬件系統(tǒng)總體框圖Fig.1 Hardware systemblock diagram

      1.1 通信模塊

      微型四軸無(wú)人機(jī)設(shè)計(jì)選用NRF24L01和BC04-B兩種通信模塊,可根據(jù)需求自由切換。手機(jī)APP或控制手柄的MCU讀取搖桿ADC值及按鍵值,通過(guò)通信模塊發(fā)送給無(wú)人機(jī)端,無(wú)人機(jī)端接收后做出相應(yīng)的動(dòng)作。

      1.2 姿態(tài)傳感器

      微型四軸無(wú)人機(jī)姿態(tài)傳感器主要測(cè)量偏轉(zhuǎn)角速度及加速度。設(shè)計(jì)采用集3軸加速度計(jì)與三軸陀螺儀的MPU6050。MPU6050與無(wú)人機(jī)微控制器之間通過(guò)I2C協(xié)議交互通信,速率可達(dá)400 kHz,通信協(xié)議較為簡(jiǎn)單,產(chǎn)品較為成熟,可模塊化處理,符合系統(tǒng)的整體要求。

      1.3 電機(jī)驅(qū)動(dòng)

      微型四軸無(wú)人機(jī)電機(jī)驅(qū)動(dòng)電路主要是微控制器通過(guò)控制PWM輸出從而控制開(kāi)關(guān)二極管通斷作為開(kāi)關(guān)實(shí)現(xiàn)控制電機(jī)的轉(zhuǎn)動(dòng)。

      1.4 LED狀態(tài)指示

      在微型四軸無(wú)人機(jī)整體系統(tǒng)設(shè)計(jì)中,首先必須要有電源LED指示燈,通過(guò)其亮滅來(lái)判斷系統(tǒng)是否通電;其次要有信號(hào)LED指示燈,指示無(wú)人機(jī)和控制器間是否通信成功;最后是指示無(wú)人機(jī)飛行狀態(tài)模式等。

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

      在微型四軸無(wú)人機(jī)硬件電路設(shè)計(jì)中,原理圖采用模塊化繪制,這樣可以讓整個(gè)控制器電路直觀顯示出包含哪些哪類模塊系統(tǒng)。所需連接的地方用接口標(biāo)識(shí)連接,這使得模塊單元之間的連接也非常清楚。在此部分中,對(duì)以下幾個(gè)主要的模塊如主控單元電路、無(wú)線通信模塊電路、姿態(tài)傳感器電路等進(jìn)行更加詳細(xì)的介紹。

      2.1 主控單元電路設(shè)計(jì)

      微控制器是微型四軸無(wú)人機(jī)系統(tǒng)的核心,本文中控制器和無(wú)人機(jī)均采用STM32F103CBT6作為主控芯片,STM32F103CBT6是低功耗、高集成、高性價(jià)比的MCU芯片。STM32F103CBT6基于32位ARM Cortex-M3內(nèi)核;支持SPI、I2C等通信協(xié)議的外設(shè)。程序下載和調(diào)試可以通過(guò)FlyMCU和JLINKSWD模式兩種方式來(lái)進(jìn)行。STM32F103CBT6具有多路定時(shí)器PWM,可以完美驅(qū)動(dòng)無(wú)人機(jī)的四臺(tái)直流電機(jī)。

      2.2 無(wú)線通信模塊電路設(shè)計(jì)

      設(shè)計(jì)的微型四軸無(wú)人機(jī)系統(tǒng)遙控方式有兩種:控制手柄和無(wú)人機(jī)間通信采用NRF24L01模塊;手機(jī)和無(wú)人機(jī)通信采用BC04-B藍(lán)牙模塊。

      NRF24L01工作電壓1.9~3.6 V,可接受5 V電平的輸入,內(nèi)置鏈路層,數(shù)據(jù)傳輸率1或2 Mbps,有125個(gè)可選工作頻道并且頻道切換時(shí)間較短可用與跳幀,具有自動(dòng)應(yīng)答及自動(dòng)重發(fā)和地址、CRC檢驗(yàn)的功能。

      NRF24L01無(wú)線通信模塊的通信距離在不接PA射頻時(shí)在開(kāi)闊可視直線距離為30~50 m,2.4 GHz的無(wú)線通信頻段,與微控制器之間通過(guò)SPI通信協(xié)議進(jìn)行通信傳輸,1 MHz的速率。

      圖3為NRF24L01無(wú)線通信模塊電路圖,該電路與控制器之間采用SPI通訊,圖4為SPI通訊過(guò)程中各引腳的時(shí)序圖。

      圖2 飛行器最小系統(tǒng)原理圖Fig.2 Quadcopter minimum system schematic diagram

      圖3 NRF24L01無(wú)線通信模塊電路圖Fig.3 NRF24L01 wireless communication module circuitry

      圖4 SPI通信協(xié)議時(shí)序圖Fig.4 SPI communication agreement sequence diagram

      BC04-B模塊是采用藍(lán)牙標(biāo)準(zhǔn)V2.1+EDR的通訊模塊,其供電電壓3.3 V,功耗較低,輸出功率Class 2,支持SPI,UART,USB,等接口,最多可連接7個(gè)從屬設(shè)備并且支持主從一體,通過(guò)REACH、ROHS認(rèn)證,通過(guò)它可輕松的與手機(jī)設(shè)備之間通訊。

      2.3 姿態(tài)傳感器電路設(shè)計(jì)

      MPU6050是一種姿態(tài)傳感器,其與STM32F103CB6間采用I2C協(xié)議進(jìn)行數(shù)據(jù)傳輸。其速率可達(dá)400 kHz,MPU6050集3軸加速度計(jì)與三軸陀螺儀與一體但其與微控制器之間連接只需兩根線,其一是I2C數(shù)據(jù)線SDA與微控制器的PB11引腳連接,其二是I2C時(shí)鐘線SCL與微控制器的PB10引腳連接。如圖5所示,3個(gè)3K上拉電阻R6、R7、R8是為了增強(qiáng)其驅(qū)動(dòng)能力。

      圖6為I2C總線起始和停止信號(hào)的時(shí)序圖,S表示起始位,P表示停止位,當(dāng)SCL是高電平時(shí),SDA從高電平向低電平切換表示起始條件,SDA線由低電平向高電平切換表示停止條件。

      圖5 慣性測(cè)量單元電路圖Fig.5 Inertial measurement module circuitry

      圖6 I2C總線起始和停止信號(hào)Fig.6 Start and stop signal of I2C bus

      3 系統(tǒng)程序設(shè)計(jì)

      3.1 程序設(shè)計(jì)框圖

      微型四軸無(wú)人機(jī)系統(tǒng)程序設(shè)計(jì)主要包括兩大部分。其一為控制器程序設(shè)計(jì),其二為無(wú)人機(jī)程序設(shè)計(jì)??刂破髦饕饔镁褪遣杉娢黄鰽DC值和按鍵信息發(fā)送給無(wú)人機(jī)端,無(wú)人機(jī)程序包括接收控制器傳輸數(shù)據(jù)和姿態(tài)傳感器數(shù)據(jù)讀取及處理。

      圖7 控制器程序流程圖Fig.7 Controller program flow diagram

      圖8 無(wú)人機(jī)程序流程圖Fig.8 Quadcopter program flow diagram

      3.2 姿態(tài)計(jì)算IMU

      姿態(tài)計(jì)算是指MCU通過(guò)讀取姿態(tài)傳感器數(shù)據(jù),實(shí)時(shí)計(jì)算其姿態(tài)角的過(guò)程,姿態(tài)計(jì)算也是飛行器能否平衡穩(wěn)定飛行或定向飛行的關(guān)鍵。

      設(shè)計(jì)的微型四軸無(wú)人機(jī)系統(tǒng)中姿態(tài)計(jì)算程序主要是把MPU6050讀取出來(lái)的數(shù)據(jù)值進(jìn)行零偏置、分辨率、IMC、互補(bǔ)濾波這四個(gè)步驟處理最終得到歐拉角度值[5]。

      圖9 MPU6050數(shù)據(jù)讀取流程圖Fig.9 MPU6050 data reads flow diagram

      圖10 MPU6050數(shù)據(jù)存儲(chǔ)流程圖Fig.10 Data processing reads flow diagram

      3.3 PID電機(jī)控制

      對(duì)四軸無(wú)人機(jī)的基本要求是飛行平穩(wěn),PID電機(jī)調(diào)速控制自然也成為程序設(shè)計(jì)中關(guān)鍵的一環(huán)。圖11是本文所設(shè)計(jì)四軸無(wú)人機(jī)直流電機(jī)的調(diào)速框圖。首先,給定速度n0(t)與轉(zhuǎn)速n(t)進(jìn)行比較,其差值為e(t)=n0(t)-n(t),經(jīng)過(guò)PID控制器調(diào)整后的電壓控制信號(hào)u(t),u(t)經(jīng)過(guò)功率放大后,驅(qū)動(dòng)直流電機(jī)改變其轉(zhuǎn)速[6]。

      圖11 小功率電機(jī)調(diào)速系統(tǒng)Fig.11 Low power motor speed regulation system

      圖12 常規(guī)的模擬PID控制系統(tǒng)原理框圖Fig.12 Normal simulation PID control system schematic diagram

      PID部分程序代碼如下所示:

      4 實(shí)驗(yàn)結(jié)果

      圖13為設(shè)計(jì)的微型四軸無(wú)人機(jī)的實(shí)物。直接采用PCB板作為機(jī)身,節(jié)省空間,減小體積。遙控手柄NRF24L01+PA模式下遙控距離為80 m,手機(jī)藍(lán)牙模式遙控距離為9~10 m。經(jīng)過(guò)一系列室內(nèi)室外飛行實(shí)驗(yàn)驗(yàn)證,飛行器可以實(shí)現(xiàn)穩(wěn)定可控飛行。

      表1比較可以看出,與MK和Ardone四軸無(wú)人機(jī)相比,本文提出的設(shè)計(jì)選用了功能更強(qiáng)大的MPU6050作為運(yùn)動(dòng)組件,控制方式也有手機(jī)和手柄兩種,可根據(jù)需求自由切換。且手機(jī)端采用的是藍(lán)牙通信,也避免沒(méi)有wifi時(shí)的尷尬局面。

      圖13 無(wú)人機(jī)實(shí)物圖Fig.13 Quadcopter material object drawing

      圖14所示偏角為兩架無(wú)人機(jī)從靜止水平狀態(tài)繞水平Y(jié)軸旋轉(zhuǎn)后所得??梢钥闯?,設(shè)計(jì)的無(wú)人機(jī)在陀螺儀加速度與陀螺儀角速度姿態(tài)融合后,可以得到較為平滑和準(zhǔn)確的角度曲線,而MK無(wú)人機(jī)只有陀螺儀加速度,測(cè)量值不夠穩(wěn)定。

      表1 現(xiàn)有開(kāi)源四軸無(wú)人機(jī)對(duì)比Tab.1 Contrast with existing open source quadcopter

      圖14 無(wú)人機(jī)姿態(tài)偏角Fig.14 Quadcopter deflection angle quadcopter

      5 結(jié)論

      本文介紹了微型四軸無(wú)人機(jī)的系統(tǒng)設(shè)計(jì),系統(tǒng)采用STM32F103CBT6作為核心處理單元,MPU6050作為姿態(tài)傳感器,融合3軸陀螺儀和3軸加速度計(jì),可實(shí)現(xiàn)無(wú)人機(jī)的飛行、鎖尾、自轉(zhuǎn)、前后移動(dòng)等功能??刂破鞫沃饕杉瘋鬏斂刂茡u桿的AD值和按鍵的動(dòng)作值,通過(guò)NRF24L01或BC04-B模塊發(fā)送給無(wú)人機(jī)端。無(wú)人機(jī)端接受NRF24L01和BC04-B模塊發(fā)出的控制器指令,MCU取得MPU6050的姿態(tài)信息后,采用濾波算法和控制算法,對(duì)飛機(jī)姿態(tài)進(jìn)行控制。通過(guò)與目前主流的幾款小型四軸設(shè)備進(jìn)行比較,本設(shè)計(jì)在飛行器,在相同的擾動(dòng)情況下振動(dòng)更小,姿態(tài)調(diào)整更快。

      [1]包強(qiáng),隋毅,劉陽(yáng),等.微型無(wú)人飛行器的使用及研制現(xiàn)狀[J].飛航導(dǎo)彈,2008,2(9):29-32.

      [2]祝彬,陳笑南,范桃英.國(guó)外超高空長(zhǎng)航時(shí)無(wú)人機(jī)發(fā)展分析[J].中國(guó)航天,2013(11):28-32.

      [3]唐懋.基于Arduino兼容的Stm32單片機(jī)的四旋翼飛行器設(shè)計(jì)[D].廈門(mén):廈門(mén)大學(xué)計(jì)算機(jī)與信息工程學(xué)院,2014.

      [4]周謨,徐光輝,羅章凱,等.四旋翼飛行器的自適應(yīng)單神經(jīng)元PID控制研究[J].軍事通信技術(shù),2013(3):7-11.

      [5]呂強(qiáng),王國(guó)勝,等.四軸飛行器姿態(tài)控制系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2011,19(3):583-585.

      [6]金志祥.滾筒洗衣機(jī)速度模糊控制方法[P].江蘇:CN1851101,2006-10-25.

      [7]CASTILLO P,DZUL A,LOZANO R.Real-time stabilization and tracking of a four-rotor mini rotorcraft[J]. IEEE Transactions on Control Systems Technology,2004,12(4):510-516.

      Design and implementation of micro quadcopter based on STM32

      SONG Fuying,YOU Xiaoping
      (School of Xiamen University Tan KahKee College,Zhangzhou 363105,China)

      The micro quadcopter has the advantage of low cost,low accident cost,simple structure and higher production rate etc.,compared with the large quadcopter.This paper mainly introduces the hardware design,program design,base working principle of the micro quadcopter base on STM32.The quadcopter’s core control system is SMT32F103CBT6,attitude sensor is MPU6050.The NRF24L01 or BC04-B is used for wireless communication between quadcopter and controller to receive the data timely and efficiently,by which the micro quadcopter can move freely in the space.

      quadcopter;unmanned aerial vehicle design;STM32

      March 26,2016)

      v279.2

      A

      1674-1048(2017)02-0148-07

      10.13988/j.ustl.2017.02.013

      2017-03-26。

      福建省中青年教師教育科研項(xiàng)目(JT160649)。

      宋(1994—),男,遼寧鞍山人。

      尤曉萍(1985—),男,福建南安人。

      猜你喜歡
      微控制器程序設(shè)計(jì)藍(lán)牙
      藍(lán)牙音箱的直線之美
      基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
      從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
      電子制作(2019年9期)2019-05-30 09:42:04
      簡(jiǎn)單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
      適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
      物聯(lián)網(wǎng)技術(shù)在微控制器實(shí)驗(yàn)教學(xué)中的應(yīng)用
      電子制作(2017年14期)2017-12-18 07:07:58
      緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
      玩具世界(2017年8期)2017-02-06 03:01:38
      高職高專院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
      PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
      Atmel針對(duì)新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
      新野县| 清流县| 东方市| 周口市| 云和县| 丹巴县| 布拖县| 香港| 皮山县| 子洲县| 上饶市| 张家界市| 新巴尔虎右旗| 五台县| 绥滨县| 无为县| 白河县| 株洲县| 乐陵市| 平安县| 阿拉尔市| 怀柔区| 郧西县| 旬阳县| 蓝田县| 巴南区| 吉首市| 大英县| 福建省| 阿拉善左旗| 太仆寺旗| 昭苏县| 攀枝花市| 德惠市| 米林县| 烟台市| 新宾| 临湘市| 宁国市| 霍城县| 哈尔滨市|