在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于STM32設(shè)計的四軸飛行器飛控系統(tǒng)

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

            作者: 時間:2016-09-05 來源:網(wǎng)絡(luò) 收藏

              NRF2.4G為采用3.3V供電無線模塊,系統(tǒng)采用與單片機相同的電源網(wǎng)絡(luò)對其供電,同時加入0.1UF電容進行濾波確保模塊正常工作,無線模塊的具體原理圖連接如圖5所示。

            本文引用地址:http://www.biyoush.com/article/201609/296521.htm

              

             

              圖5 飛控板無線模塊原理圖

              飛控板的驅(qū)動系統(tǒng)采用的是四個分布對稱十字交叉的高速空心杯電機,電機的驅(qū)動開關(guān)部分采用N溝道增強型場效應(yīng)晶體管進行控制,通過修改對應(yīng)引腳上的PWM信號來進行開關(guān)MOS管實現(xiàn)電機運行開與關(guān),從而實現(xiàn)電機運轉(zhuǎn)速度的調(diào)節(jié)。電機1、2、3、4分別采用的定時器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è)計。

              采用單片機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ù)零偏處理,隨后等待進入解鎖信息的傳入。飛控采用定時器中斷的方式,在中斷中進行對時間的處理,每次中斷計次標志就會自增,根據(jù)不同的中斷積累即不同時間的間隔分別處理優(yōu)先級不同的任務(wù)。飛控系統(tǒng)程序設(shè)計流程圖如圖9所示。

              

             

              圖9 飛控系統(tǒng)程序設(shè)計流程圖

              飛控系統(tǒng)每0.5毫秒中斷一次,每次中斷就會檢查一次無線模塊數(shù)據(jù)的接收,確保飛控系統(tǒng)的控制信息的實時性。每兩次中斷即1毫秒讀取一次IMU單元的數(shù)據(jù),通過濾波算法獲得較為準確的系統(tǒng)加速度、角速度的原始數(shù)據(jù)。每四次中斷即2毫秒通過IMU的原始數(shù)據(jù)計算下當前飛控板系統(tǒng)的姿態(tài),然后結(jié)合遙控端的目標姿態(tài),根據(jù)兩者的差值通過PID控制算法進行對各個電機的調(diào)速控制。每200次中斷即100毫秒,飛控系統(tǒng)會采集一次電池電壓,然后把電池電壓發(fā)送給遙控板,用來高速操作人員當前電壓的大小。

              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ù)來獲得當前的姿態(tài),具體的姿態(tài)獲取理論上是根據(jù)各個角度的積分得到當前的系統(tǒng)姿態(tài)歐拉角。本系統(tǒng)的設(shè)計實現(xiàn)是采用四元數(shù)算法對MPU6050最濾波后的數(shù)據(jù)進行計算得到最終的歐拉角。

              整個飛控系統(tǒng)的運行動作是通過調(diào)整飛控姿態(tài)來實現(xiàn)的,本系統(tǒng)設(shè)計在當前姿態(tài)的基礎(chǔ)上,根據(jù)接收到的遙控器的目標姿態(tài)對空心杯電機進行基于PID算法的PWM控制調(diào)速,從而實現(xiàn)飛控系統(tǒng)的各種基本運動。飛控板會對系統(tǒng)慣性測量單元傳感器的原始數(shù)據(jù)進行濾波,然后對濾波后的數(shù)據(jù)進行實時結(jié)算,最后根據(jù)遙控板發(fā)送來的目標信息進行計算出電機的控制增量,最后根據(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); //通道40

              2.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)定、可靠,取得了較好效果。


            上一頁 1 2 下一頁

            關(guān)鍵詞: STM32 四軸飛行器

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉