• 
    

    
    

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

      ?

      改進(jìn)式軟硬件的四旋翼飛行器系統(tǒng)

      2021-03-22 01:46:54劉順財(cái)施培植
      綏化學(xué)院學(xué)報(bào) 2021年3期
      關(guān)鍵詞:飛控旋翼遙控

      劉順財(cái) 施培植

      (1.福州理工學(xué)院計(jì)算與信息科學(xué)學(xué)院;2.福州理工學(xué)院移動(dòng)通信和物聯(lián)網(wǎng)福建省高校工程研究中心福建福州 350014)

      在空中飛行需要克服眾多因素,要克服地球的吸引力,以及保持旋轉(zhuǎn)慣力和空氣的阻力等。此外還需要考慮電池續(xù)航、飛行過程中的亂發(fā)亂竄等問題,這些都需要精密的算法與硬件結(jié)合。

      一、系統(tǒng)方案

      系統(tǒng)采用STM32F103為核心芯片,以MPU6050六軸傳感器的芯片作為測量角速率、加速度等主要裝置,遙控部分則通過NRF24L01(2.4G)線通信模塊實(shí)現(xiàn)遙控端和飛控端的數(shù)據(jù)傳輸,通過多個(gè)算法對(duì)數(shù)據(jù)進(jìn)行處理,產(chǎn)生PWM波調(diào)速信號(hào)驅(qū)動(dòng)空心杯電機(jī),實(shí)現(xiàn)四旋翼飛行器的垂直運(yùn)動(dòng),前后運(yùn)動(dòng),側(cè)向運(yùn)動(dòng),偏航運(yùn)動(dòng),俯仰運(yùn)動(dòng)等運(yùn)動(dòng),系統(tǒng)如圖1所示。

      圖1 系統(tǒng)框架圖

      (一)傳感器模塊。STM32F103C8T6有3個(gè)16位定時(shí)器,設(shè)置定時(shí)器成為4路用于捕獲/比較/PWM的功能通道,支持2個(gè)I2C接口、3個(gè)USART接口和2個(gè)SPI接口和DMA直接內(nèi)存存取用于快速數(shù)據(jù)交換[1]。

      MPU6050內(nèi)置一個(gè)16位的ADC,能將三軸陀螺儀和三軸加速度計(jì)的數(shù)據(jù)轉(zhuǎn)換成數(shù)字量,編程高頻濾波器程序過濾不需要的信號(hào),以提高系統(tǒng)穩(wěn)定性。配置內(nèi)部低通濾波器進(jìn)行數(shù)據(jù)濾波。STM32以集成電路總線通信的方式與MPU6050通信,最高的數(shù)據(jù)傳輸速率可達(dá)400kHz。通過芯片內(nèi)部的數(shù)字運(yùn)動(dòng)處理模塊DMP可減小MCU對(duì)于姿態(tài)融合運(yùn)算的負(fù)荷。驅(qū)動(dòng)IIC總線,對(duì)MPU6050的一系列寄存器進(jìn)行初始化,再從中讀取數(shù)據(jù)。

      (二)通信模塊。NRF24L01是一種傳輸效率高,損耗極低,能在低壓正常運(yùn)行的射頻收發(fā)器。發(fā)射功率可配制成0dBm、-6dBm、-12dBm和-18dBm[2]。數(shù)據(jù)傳輸速率有兩種選擇分別為1Mbps和2Mbps,具有125個(gè)通信通道和6個(gè)數(shù)據(jù)通道,數(shù)據(jù)包每次可傳輸最多32個(gè)字節(jié)的數(shù)據(jù),通信速率最高10Mbps。使用SPI接口設(shè)置輸出功率頻道和傳輸協(xié)議、工作頻率、傳輸速率、通信地址和數(shù)據(jù)包長度,可以通過IRQ引腳觸發(fā)MCU來判斷是否完成數(shù)據(jù)接收和發(fā)送。

      二、四旋翼飛行器原理與硬件

      (一)飛控板硬件電路。STM32F103C8T6、8M晶振和常規(guī)的電阻電容器件構(gòu)成飛控板硬件。8M晶振可通過芯片內(nèi)部PLL鎖相環(huán)倍頻電路將工作頻率提高到72M,以滿足四旋翼飛行器需要的運(yùn)行速度。

      電源電路采用3.7V的動(dòng)力航模鋰電池,高于STM32工作電壓3.3V。為了能使飛行器更持久的飛行,需要充分利用完鋰電池的內(nèi)部能量,設(shè)計(jì)先升壓再降壓的電路。升壓芯片為BL8530,該芯片采用47uH電感作為儲(chǔ)能元件。內(nèi)部電路工作原理類似BOOST升壓電路,而SS34肖特基二極管充當(dāng)續(xù)流二極管。3.3V穩(wěn)壓電路采用662K穩(wěn)壓芯片,為MCU和傳感器供電。飛行器在飛行過程中,電池電量會(huì)不斷下降。如果單純使用662K降壓電路,當(dāng)電池電量低于3.3V時(shí),穩(wěn)壓芯片無法正常工作。采用先升壓電路,可為后級(jí)降壓電路提供較持久的電壓差,保證四旋翼飛行時(shí)間。電源電路如圖2所示。

      圖2 電源電路

      電機(jī)采用的是8520空心杯電機(jī),以PWM調(diào)速信號(hào)控制2302的nMOS管的導(dǎo)通,達(dá)到控制轉(zhuǎn)速。2302的開啟電壓是3.3V時(shí),導(dǎo)通電流可達(dá)3A以上。假設(shè)8520空心杯電機(jī)的消耗電流為1A,導(dǎo)通瞬間電流以2倍正常工作電流來計(jì)算。MOS管的承受電流大于2A,所以2302可以滿足8520空心杯電機(jī)的正常工作。電路中100歐姆電阻起到限流作用,當(dāng)MOS管導(dǎo)通瞬間,防止電流過大會(huì)加大MOS管負(fù)荷,縮短使用壽命。10K電阻的作用是當(dāng)芯片復(fù)位時(shí),IO口為浮空輸入狀態(tài),IO電平受外界影響,故加上10K下拉電阻防止MOS管異常導(dǎo)通,使電機(jī)異常工作。104電容的作用是吸收電機(jī)產(chǎn)生的高頻干擾噪聲。電機(jī)驅(qū)動(dòng)電路如圖3所示。

      圖3 電機(jī)驅(qū)動(dòng)電路

      由于制板工藝所限,電路設(shè)計(jì)使用單面板,白線部分為飛線。在飛控板的PCB設(shè)計(jì)上耗費(fèi)大量時(shí)間,多次修改并重新制作。在設(shè)計(jì)PCB時(shí)要解決當(dāng)四個(gè)空心杯電機(jī)同時(shí)工作時(shí),電流最大可達(dá)2A,必須合理地為電機(jī)驅(qū)動(dòng)部分設(shè)計(jì)對(duì)地回路。當(dāng)四個(gè)空心杯電機(jī)高速旋轉(zhuǎn)時(shí),對(duì)飛控板產(chǎn)生的強(qiáng)度很大的電磁干擾,影響電路板上電子元器件的正常工作。NRF24L01(2.4G)無線通信模塊對(duì)印刷電路板的走線布局非常嚴(yán)格。模塊上的印刷天線附近不能存在走線。2.4G模塊對(duì)供電電源的純度要求嚴(yán)格,所以必須將模塊盡量靠近穩(wěn)壓電源輸出,以保證供電電源的純凈和穩(wěn)定。飛控板硬件電路PCB如圖4所示。

      圖4 飛控板PCB

      (二)遙控板硬件電路。遙控電路的最小系統(tǒng)電路跟飛控板的電路類似,也是8M晶振和電阻、電容元件。此外還添加了一個(gè)復(fù)位開關(guān),當(dāng)遙控設(shè)備與飛控設(shè)備通信異常的情況需要進(jìn)行復(fù)位。

      遙控電源供電部分采用的是MIC5219降壓芯片,將3.7V航模電池的電壓降壓為3.3V,以供MCU和傳感器使用。MIC5219是一種帶載能力強(qiáng)、輸出電流大、輸出電壓精度高、超低噪聲輸出、接近零關(guān)斷電流的電壓調(diào)節(jié)器。電路如圖5所示。

      圖5 遙控板電源

      搖桿電位器實(shí)質(zhì)由滑動(dòng)變阻器組合而成,通過STM32F103內(nèi)部的ADC采樣電路采集兩個(gè)搖桿電位器的電阻分壓值,歸一化后轉(zhuǎn)換為油門控制值和姿態(tài)角控制值。

      三、飛控與遙控軟件設(shè)計(jì)

      系統(tǒng)初始化,包括IIC、SPI通信接口以及MPU6050、NRF24L01設(shè)備初始化。接收上位機(jī)發(fā)送過來的指令,用LED指示燈顯示系統(tǒng)當(dāng)前的運(yùn)行狀態(tài)。當(dāng)進(jìn)入中斷時(shí),使用IIC通信接口讀取MPU6050數(shù)據(jù),將讀取到的數(shù)據(jù)經(jīng)過卡爾曼濾波算法程序,通過四元數(shù)姿態(tài)解算程序計(jì)算出當(dāng)前的姿態(tài)信息。再通過PID算法對(duì)姿態(tài)數(shù)據(jù)進(jìn)行控制,更新控制四個(gè)空心杯電機(jī)的PWM調(diào)速信號(hào)來調(diào)整四旋翼飛行器的姿態(tài),飛行控制軟件包括姿態(tài)算法和姿態(tài)控制。

      GPIO模擬IIC通信協(xié)議對(duì)MPU6050進(jìn)行通信。GPIO初始化時(shí)配置為開漏輸出。在進(jìn)行信道信息傳送時(shí),數(shù)據(jù)引腳的數(shù)據(jù)必須在時(shí)鐘引腳高電平期間保持不變。在數(shù)據(jù)引腳的電位狀態(tài)變換的過程中,只有電位為0的時(shí)候才開始改變。起始信號(hào)由當(dāng)時(shí)鐘線為高電平時(shí),數(shù)據(jù)線由高電平向低電平切換。停止信號(hào)是當(dāng)時(shí)鐘線是高電平時(shí),數(shù)據(jù)發(fā)生從低電平到高電平的跳變。應(yīng)答信號(hào)則是主控制器將數(shù)據(jù)線釋放(拉高),在響應(yīng)時(shí)間要求內(nèi),從機(jī)將數(shù)據(jù)線拉低,表示一個(gè)有效的應(yīng)答信號(hào),若從機(jī)沒有將數(shù)據(jù)線拉低,則表示為非應(yīng)答信號(hào)。軟件流程圖如圖6所示。

      圖6 軟件流程圖

      MPU6050設(shè)備的初始化:設(shè)置三軸陀螺儀采樣率為500Hz,設(shè)置低通濾波器頻率為42Hz,設(shè)置陀螺儀測量范圍為±2000deg/s,設(shè)置三軸加速度計(jì)測量范圍為±4G。

      SMPLRT_DIV[7:0]是8位無符號(hào)數(shù)值。設(shè)置該數(shù)值將陀螺儀的輸出分頻,作為MPU6050的采樣頻率。傳感器的輸出、FIFO輸出以及DMP采樣都是基于這個(gè)采樣率數(shù)值。采樣完后鎖存器將復(fù)位到初始的FSYNC狀態(tài)。DLPF_CFG[2:0]是3位無符號(hào)數(shù)值,用來配置陀螺儀和加速度計(jì)的數(shù)字低通濾波器。

      串行外設(shè)接口是單片機(jī)和外置設(shè)備之間的一種約定速率下的同步傳輸,發(fā)送和接收端都實(shí)時(shí)做數(shù)據(jù)交流。對(duì)NRF24L01初始化,設(shè)置通信頻段號(hào),器件有125個(gè)頻段通道可供選擇。將通道設(shè)置為通道0,設(shè)置通信頻率,使能通道0的自動(dòng)應(yīng)答,設(shè)置通道0的接收地址和有效數(shù)據(jù)寬度,寫發(fā)送節(jié)點(diǎn)地址和接收節(jié)點(diǎn)地址,配置循環(huán)自動(dòng)請(qǐng)求和最大限制重新發(fā)送請(qǐng)求頻率以及TX發(fā)送的傳輸數(shù)據(jù)。當(dāng)NRF24L01發(fā)送或接收到數(shù)據(jù)時(shí),會(huì)在外部中斷引腳產(chǎn)生一個(gè)低電平中斷,通過外部中斷引腳的狀態(tài)來判斷無線通信模塊當(dāng)前收發(fā)數(shù)據(jù)的完成與否,然后將狀態(tài)標(biāo)志位清除,繼續(xù)下一次通信。

      卡爾曼濾波是關(guān)于連續(xù)離散信號(hào)的遞歸濾波算法,卡爾曼濾波算法利用上個(gè)時(shí)刻的估算值和當(dāng)前時(shí)刻的測量值來計(jì)算出下一刻的估計(jì)值。將卡爾曼濾波算法結(jié)合四旋翼飛行器進(jìn)行闡述。如果想知道飛行器的一個(gè)姿態(tài)或速度等信息,就要從飛行器機(jī)架上的檢測裝置獲取。或者通過以牛頓慣性定律為原理的導(dǎo)航進(jìn)行數(shù)學(xué)邏輯與語言構(gòu)建的模型來運(yùn)算。將兩個(gè)值通過計(jì)算優(yōu)化后得到的優(yōu)化值。通過將該優(yōu)化值與數(shù)學(xué)模型計(jì)算出來的數(shù)值進(jìn)行比較,就知道哪種途徑計(jì)算出來的數(shù)值更接近優(yōu)化值。下次計(jì)算時(shí),應(yīng)該給予該途徑計(jì)算出的數(shù)值更大的權(quán)重,通過反復(fù)的計(jì)算,從而得到一個(gè)相對(duì)較為實(shí)際的數(shù)值。利用卡爾曼濾波算法進(jìn)行濾波處理后可提高接收信號(hào)的準(zhǔn)確性[3-5]。程序函數(shù)如下所示:

      PID是基于數(shù)學(xué)的比例、積分、微分算法組成的反饋控制器。當(dāng)發(fā)生誤差時(shí),控制系統(tǒng)立即糾正誤差,并且在兩波之后姿態(tài)角將保持在穩(wěn)定水平并最終返回到平衡位置??刂破靼旬?dāng)前的數(shù)據(jù)和設(shè)定的參考數(shù)據(jù)進(jìn)行比較,然后將差值用于新的計(jì)算輸入,最終使系統(tǒng)的輸出達(dá)到設(shè)定的目標(biāo)值,P代表比例控制,I代表積分控制,D代表微分控制[6-8]。比例控制越大,對(duì)誤差的調(diào)節(jié)會(huì)過于猛烈,會(huì)使系統(tǒng)不穩(wěn)定。如果比例調(diào)節(jié)較小,則誤差出現(xiàn)時(shí),控制器的響應(yīng)較慢,對(duì)誤差的修正力度較弱。積分控制會(huì)促使系統(tǒng)趨近設(shè)定值,消除單純只有比例控制的穩(wěn)態(tài)誤差。積分控制量越大,趨近設(shè)定值的速度越快,但也有可能使反饋出現(xiàn)過沖的情況。微分控制是考慮未來誤差,計(jì)算誤差的變化率來對(duì)系統(tǒng)的改變做出反應(yīng)[9-10]。微分的結(jié)果越大,表明系統(tǒng)對(duì)誤差能做出更加快速的反應(yīng)。程序函數(shù)如下所示:

      遙控軟件的功能是MCU采集搖桿電位器的四路電壓值轉(zhuǎn)換成控制指令,通過NRF24L01給飛行控制板發(fā)送指令,飛控板根據(jù)指令采取相應(yīng)的動(dòng)作。

      四、系統(tǒng)整機(jī)調(diào)試

      借助匿名科創(chuàng)地面站平臺(tái)對(duì)四旋翼飛行器進(jìn)行調(diào)試。當(dāng)前后、左右、上下移動(dòng)時(shí)ACC-X、ACC-Y、ACC-Z都有相應(yīng)的數(shù)據(jù)變化,表明加速度計(jì)正常工作。當(dāng)飛行器朝3個(gè)軸向擺動(dòng)時(shí),會(huì)看到PITCH、ROLL、YAW的數(shù)據(jù)同步更新,代表陀螺儀正常工作。地面站中還有一個(gè)飛行器的模型能根據(jù)實(shí)際飛行器的姿態(tài)同步更新。借助該平臺(tái)來調(diào)試PID控制器中比例、積分、微分三個(gè)參數(shù)。在地面站寫入對(duì)四軸新的PID參數(shù),設(shè)置不同的PID參數(shù)組合,從而使飛行器響應(yīng)快又可較穩(wěn)定的達(dá)到平衡。

      (一)整機(jī)聯(lián)調(diào)。通過不斷地對(duì)PID參數(shù)進(jìn)行調(diào)整,使四旋翼飛行器能夠較好地抵抗外接干擾,根據(jù)遙控指令作出響應(yīng)并準(zhǔn)確飛行。當(dāng)系統(tǒng)未能使四旋翼飛行器垂直起飛,起飛時(shí)會(huì)有偏移現(xiàn)象存在,具體調(diào)試步驟如下:先調(diào)PITCH和ROLL的內(nèi)環(huán)P。慢慢加大P,使得四旋翼飛行器能平穩(wěn)起飛。然后繼續(xù)增大P,直到四旋翼飛行器開始輕微抖動(dòng)。再把P值降低,使得四旋翼飛行器能平穩(wěn)起飛。然后再加一點(diǎn)D值抑制振蕩。調(diào)節(jié)PITCH和ROLL的外環(huán)P。使P慢慢增大,會(huì)感覺四旋翼抑制偏移的力量越來越大,但是會(huì)有振蕩現(xiàn)象存在。此時(shí)一樣加入D抑制振蕩,再調(diào)節(jié)一下參數(shù)I就可以使四旋翼飛行器工作地較為流暢穩(wěn)定。

      在調(diào)節(jié)四旋翼飛行器的過程中,經(jīng)常會(huì)出現(xiàn)通信突然異常,飛控板不受遙控控制,飛行器出現(xiàn)亂飛亂竄的現(xiàn)象。通過調(diào)試發(fā)現(xiàn)原因是空心杯電機(jī)高速旋轉(zhuǎn)時(shí)帶來的電磁干擾。為此重新設(shè)計(jì)飛控板PCB設(shè)計(jì),對(duì)每一個(gè)電機(jī)的電流回路都做了相應(yīng)的處理,使電機(jī)運(yùn)轉(zhuǎn)產(chǎn)生的大電流有單獨(dú)的對(duì)地回路,并且增大對(duì)地回路的面積。而后又將NRF24L01無線通信模塊單獨(dú)通過飛線固定在板外。降低電機(jī)產(chǎn)生的電磁干擾影響。通過以上設(shè)置之后,后續(xù)的調(diào)試過程中,沒有產(chǎn)生通信異常等狀況,作品如圖7所示。

      圖7 成品電路圖

      五、結(jié)語

      改進(jìn)式軟硬件的四旋翼飛行器系統(tǒng),實(shí)驗(yàn)調(diào)試總結(jié)如下:

      (一)如果利用直接3.3穩(wěn)壓芯片的供電電路,隨著鋰電池低于3.3V時(shí),系統(tǒng)因?yàn)檗k法穩(wěn)壓導(dǎo)致飛行器沒有辦法飛行。對(duì)比設(shè)計(jì)一個(gè)先升壓再降壓,并穩(wěn)定3.3V的供電電壓,可以基本用完鋰電池的能量。

      (二)如果不考慮高頻和地線線寬的布線,直接隨機(jī)等寬自動(dòng)布線時(shí),系統(tǒng)因?yàn)殡娏骱碗姶艌龅母蓴_導(dǎo)致飛控板不受遙控控制,飛行器出現(xiàn)亂飛亂竄的現(xiàn)象。對(duì)比按照高頻信號(hào)、抗電磁場和大電流的要求設(shè)計(jì)一個(gè)合理的PCB,基本上沒有在出現(xiàn)亂飛亂竄的現(xiàn)象。

      (三)通過卡爾曼濾波算法進(jìn)行濾波處理后可提高接收信號(hào)的準(zhǔn)確性。

      (四)通過在地面站寫入對(duì)四軸新的PID參數(shù),設(shè)置不同的PID參數(shù)組合,從而使飛行器響應(yīng)快又可較穩(wěn)定的達(dá)到平衡。

      猜你喜歡
      飛控旋翼遙控
      如何遙控引爆的
      改進(jìn)型自抗擾四旋翼無人機(jī)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      大載重長航時(shí)油動(dòng)多旋翼無人機(jī)
      民用飛機(jī)飛控通電自檢測安全性研究
      基于STM32的四旋翼飛行器的設(shè)計(jì)
      電子制作(2019年9期)2019-05-30 09:41:48
      他是如何遙控引爆的
      無人機(jī)飛控軟件架構(gòu)設(shè)計(jì)初探
      電子測試(2018年23期)2018-12-29 11:11:36
      02 飛控技術(shù)與機(jī)場安保引關(guān)注
      飛控系統(tǒng)故障告警實(shí)時(shí)監(jiān)控軟件的設(shè)計(jì)與實(shí)現(xiàn)
      四旋翼無人機(jī)動(dòng)態(tài)面控制
      乐都县| 遂溪县| 博爱县| 海城市| 嘉黎县| 金平| 阿拉善左旗| 株洲县| 广水市| 石柱| 宝山区| 罗源县| 伊通| 紫阳县| 焦作市| 自贡市| 台前县| 山东省| 鄂温| 三门县| 正镶白旗| 大厂| 扬州市| 綦江县| 来安县| 星座| 香格里拉县| 灵璧县| 漳浦县| 什邡市| 西城区| 卢龙县| 万盛区| 五原县| 衡东县| 侯马市| 鹤峰县| 长海县| 定日县| 蓬溪县| 榆树市|