湛江科技學(xué)院 楊超瓊 韋發(fā)清
四軸飛行器屬于無人飛行載具中較為常見的一種,是采用十字形布局的電機與螺旋漿直連的結(jié)構(gòu),通過各電機轉(zhuǎn)速的調(diào)整與配合,飛行器在飛行過程中可以獲取旋轉(zhuǎn)機身、改變飛行姿態(tài)的力,從而實現(xiàn)穩(wěn)定飛行。隨著微機電技術(shù)高速發(fā)展,四軸飛行器使用愈加廣泛,例如在交通、航拍、無人機表演、農(nóng)業(yè)及快遞等領(lǐng)域均有投入使用。
四軸飛行器由遙控器和飛控兩大部分構(gòu)成,遙控器可發(fā)送各種控制指令至飛控,飛控接收到指令后會快速響應(yīng)指令進而改變其飛行狀態(tài)。其具體組成如圖1所示,遙控器主要由STM32F103控制器、搖桿ADC、OLED顯示屏、NRF24L01無線收發(fā)模塊組成,飛控部分由STM32F411主控模塊、MPU9250姿態(tài)數(shù)據(jù)處理模塊、電機驅(qū)動模塊、BMP280定高數(shù)據(jù)處理模塊及NRF51822無線通信模塊組成。
圖1 系統(tǒng)結(jié)構(gòu)框圖
本設(shè)計主控芯片為STM32F411CEU6,具有128K字節(jié)靜態(tài)隨機存儲器、512K字節(jié)FLASH閃存、3路USART、3路I2C、11個16位和32位100MHz的定時器等,能夠完全滿足設(shè)計需求。主控模塊主要是將從MPU9250和BMP280傳感器中獲取的數(shù)據(jù)通過算法進行處理后,通過PWM信號控制電機,以達到飛行器穩(wěn)定飛行的目標(biāo)。其電路如圖2所示。
本設(shè)計選擇MPU9250傳感器電路,MPU9250實際上是內(nèi)部集成了一個MPU6500六軸傳感器和一個AK8963三軸磁力計,他們共用一個IIC接口,這樣組合成一個九軸傳感器。飛控是通過IIC接口來控制MPU9250的測量配置和讀取MPU9250傳感器寄存器中的六軸測量數(shù)據(jù)。其電路圖如圖3所示。
圖3 傳感器電路
本設(shè)計中四軸飛行器使用的無線通信電路主要由飛控端使用的NRF51822和遙控器端使用的是NRF24L01兩部分組成。飛控端NRF51822通過USART接口與STM32F411CEU6連接,遙控端NRF24L01采用SPI接口與STM32F103C8連接,遙控端通過NRF24L01發(fā)送各類指令,飛控端通過NRF51822接收各類遙控端發(fā)送的指令并做出及時響應(yīng),進而實現(xiàn)飛控與遙控器兩大模塊之間的無線通信。其電路圖分別如圖4、圖5所示。
圖4 NRF51822無線通信電路
圖5 NRF24L01無線通信電路
搖桿裝置模塊是遙控器中重要組成部分,采用的是帶按鍵及360°自動回中類型。遙控器配有兩個搖桿,分別為油門搖桿和方向搖桿,一個搖桿有2個電位器,電位器中心抽頭連接至MCU的ADC引腳。其中油門搖桿2個電位器的電壓AD值轉(zhuǎn)換為對應(yīng)THRUST(油門)和YAW(航向角)的控制值;方向搖2個電位器的電壓AD值轉(zhuǎn)換為對應(yīng)PITCH(俯仰角)和ROLL(橫滾角)的控制值。所有電位器采集的AD值范圍都在0-4095,然后將AD值轉(zhuǎn)換為對應(yīng)控制值。其電路圖如圖6所示。
圖6 搖桿電路
MPU9250內(nèi)部集成有3軸陀螺儀(測角速度)、3軸加速度計和3軸磁力計,輸出均為16位的數(shù)字量,可以通過集成電路總線(IIC)接口和單片機進行數(shù)據(jù)交互,傳輸速率可達400kHz/s。3軸陀螺儀動態(tài)特性反應(yīng)迅速,能夠測量的角速度范圍最大為±2000(°/s);3軸加速度計則更為適合靜態(tài)測量重力加速度g,其測量范圍可達±16g;3軸磁力計主要可測量磁感應(yīng)強度范圍為±4800μT之間,其在測量偏航角的過程中起輔助作用。
飛行器機身姿態(tài)角度信息θ(俯仰角)、φ(橫滾角)、ψ(航向角)需要由姿態(tài)傳感器MPU92503軸分別測量到角速度、加速度、磁感應(yīng)強度信經(jīng)解算后獲取。地平面與三角坐標(biāo)系中X軸形成的角度稱之為俯仰角θ,地平面與三角坐標(biāo)系中Y軸構(gòu)成的角度稱之為橫滾角φ,其繞三角坐標(biāo)系中Z軸旋轉(zhuǎn)的角度稱之為航向角ψ。本設(shè)計將主控芯片STM32F411CEU6和MPU9250姿態(tài)傳感器結(jié)合,實現(xiàn)了姿態(tài)角度檢測的功能;為進一步準(zhǔn)確檢測機身本體的姿態(tài)角度,對陀螺儀、加速度計、磁力計測算的角度信息采用互補濾波算法進行處理后獲取更加精密的數(shù)據(jù)。
由比例(Proportion)、積分(Integral)和微分(Derivative)三單元構(gòu)成的PID反饋回路被廣泛應(yīng)用在工業(yè)控制領(lǐng)域?;诜答伬碚撝袦y算、比較和執(zhí)行三要素,對于PID控制器,就需要將實際的測量值和期望值進行比較,幫助系統(tǒng)糾正在運行過程中出現(xiàn)的偏差。
在得到測量值和設(shè)定的參數(shù)值之后,可以使用PID反饋回路調(diào)整系統(tǒng)使之達到或保持在期望值,PID控制框圖如圖7所示。PID系統(tǒng)不具備良好的動態(tài)響應(yīng)特性,適合應(yīng)用在不隨時間變化的線性系統(tǒng)。由四軸飛行器的機身升力與其螺旋槳轉(zhuǎn)速呈平方倍關(guān)系,且電機轉(zhuǎn)速與輸出電壓并不是呈線性關(guān)系可以看出飛行器是非線性系統(tǒng),故四軸使用單極PID反饋回路很難取得預(yù)期效果。
圖7 單極PID
為解決以上問題,提出了串級PID的方法。串級PID是由內(nèi)環(huán)PID控制和外環(huán)PI控制嵌套組成。其中內(nèi)環(huán)比例單元P的作用是糾正四軸飛行器的角速度,積分單元I能夠?qū)w行器角速度控制靜差消除,積分單元D對四軸系統(tǒng)運動起抑制作用;外環(huán)比例單元P可以糾正四軸飛行器角度,積分單元I可實現(xiàn)消除飛行器角度控制靜差的功能。
串級PID與單極PID不同,由圖7可知單極PID輸入和反饋的數(shù)據(jù)分別是期望角度和測量角度,但是如圖8所示串級PID外環(huán)與單極PID一致均為角度信息,其內(nèi)環(huán)的輸入信息為期望角速度、反饋信息為測量角速度。通過內(nèi)外環(huán)結(jié)合在一起控制飛行的角速度與角度,飛行器即使在外環(huán)角度數(shù)據(jù)出現(xiàn)較大變化時,依然能夠平穩(wěn)飛行。
圖8 串級PID
結(jié)語:基于以上設(shè)計,選用的STM32F4系列的主控芯片STM32F411CEU6,9軸狀態(tài)傳感器MPU9250釆集飛行器姿態(tài)數(shù)據(jù)信息,氣壓定高傳感器BMP280測量四軸飛行器的飛行高度,NRF81255芯片進行無線通信,在飛行過程中,通過PID控制算法消除誤差,能夠?qū)崿F(xiàn)對四軸飛行器各姿態(tài)的精準(zhǔn)控制。