2015年6月13日 星期六

用Raspberry Pi 實現四軸飛行器



   無人四軸飛行器其靈敏性高、機動性佳、體積小與重量輕等特點,其應用不再只是侷限在軍事方面,也可適用於一些民生用途如空拍導航、地形偵查等。
故本專題想要以上課所學到的內容,來實現一個基於嵌入式Linux系統的一個四軸飛行器。本專題從基本的直流無刷馬達(BLDC)控制開始著手,到完成整個飛行器控制核心及慣性感測器的系統整合,最後實際測試飛行。本系統所使用的控制核心為Raspberry Pi B+, SoC 晶片為Broadcom BCM2835(ARM11@ 700MHz)。

四軸飛行器主要是利用四顆BLDC來帶動螺旋槳產生的浮力,使得四軸飛行器能於空中進行不同的運動,其中BLDC需要透過驅動電路將單一直流電轉換成三相電流,並透過PWM訊號使BLDC產生不同的轉速。因此,系統使用PCA9685讓Raspberry Pi具備四組硬體PWM輸出能力以控制四顆BLDC。

螺旋槳的轉動會產生作用力與反作用力以及一些旋轉的慣性,且當飛行於室外時,也會因為氣流和風勢的影響,造成四軸飛行器飛行時無法平衡。故,為了達到平穩飛行的目的,我們必須能瞭解四軸飛行器的航向、俯仰、側滾等姿態變化資訊,因此我們利用一顆慣性感測元件MPU6050,其同時包含了加速度計及佗羅儀,可用來即時量測物體運動時的加速度與角加速度。這些加速度與角加速度的變化,再透過控制核心作PID運算處理,並回授矯正誤差值,最後輸出PWM訊號來控制BLDC,使四軸飛行器的能夠達到穩定的平衡飛行。為了加強控制穩定性,量測到的加速度及角加速度訊號於進入PID前,均事先進行互補濾波器(Complementary Filter) 的演算處理。

另外,我們在四軸飛行器上實作一個簡單終端機UI操控界面並安裝一個USB WiFi Dongle (IEEE 802.11n),使PC端可以透過WiFi隨時得知控制系統的狀態,包含姿態、航向、轉向等,並且可遠端操控四軸飛行器的運動方向,如上升、下降、左旋、右旋。最後,我們四軸飛行器的電源使用的是20C鋰電池,即其具有20倍1C 放電速度鋰電池,才能提供系統及四顆BLDC於同時高速運轉下足夠的消耗電流。




關鍵詞:



Raspberry Pi,四軸飛行器,Complementary Filter,互補濾波器,BLDC,
,MPU6050,PCA9685,加速度計,佗羅儀,直流無刷馬達,PWM, ,PID,慣性感測器,IMU ,自動控制

1 則留言 :

  1. Genuine love entails choice, sacrifice, and vulnerability, whereas AI "love" is merely an optimized response to input data. As one scholar noted, AI sex dolls replace real relationships with sexual fantasies; while fantasies can be wonderful, they can never be real.

    回覆刪除