天天看點

STM32F4四軸飛行器總結四旋翼簡介:Q:

(菜雞一枚,記錄一些學習的體會,并記錄了學習時提出的問題,便于自己再次查閱,若有錯誤之處,希望大佬們指正,謝謝。)

四旋翼簡介:

嵌入式晶片(STM32 f407)作為主要晶片,PC端編寫上位機,實作對四旋翼的平穩飛行。但是最後以失敗告終(炸雞),寫下踩過的坑,便于二次檢視。

1、硬體: 

主要:STM32f407 (這款晶片用于四旋翼的控制足夠了)。 

姿态傳感器:MPU6050(6軸的姿态 + 磁力計),内置有DMP,可以調用DMP實作四元數的輸出,而且内置有濾波器,輸出以後不用再進行卡爾曼濾波。

電源:3300MAh  3S 35C锂電池(30C指的是可以30倍率放電,即:25*3300mA=82.5A;  S指電壓,3S= 3*3.7V=11.1V,充滿電為12.6V)

電機、電調、螺旋槳:這三者與飛機的品質之間需要互相搭配。

電機參數:朗宇 2212 980KV KV表示:每增加1V電壓,電機每分鐘增加的轉速,例如KV980,每增加1V的電壓,空轉轉速增加980轉每分鐘。10V的電壓下是9800轉每分鐘的空轉轉速。且KV與電機的扭力成反比。2212:電機定子的直徑和高度mm。電機的推力要配合整機重量,要留有餘量,比如選擇APC9047的螺旋槳,在3C電池、10A的情況下産生的推力為650g,則4個電機産生的中推力為650*4=2600g,搭配的整機品質最好在最大推力的一半左右,因為需要留有一定的推力來産生其餘動作,如巡線等。

.

STM32F4四軸飛行器總結四旋翼簡介:Q:

螺旋槳搭配:

一般由4位數字表示,前兩位數表示直徑,後兩位表示螺距。以1060漿為例,10表示槳的直徑是10英寸,60表示漿角(螺距,6.0英寸,也就是152.4mm)。

機架搭配:使用的猛禽太纖維機架,某寶有賣。

  • 機架軸距 = (槳的英寸*25.4/0.8/根号2)*2。
  • 槳的尺寸(英寸) = (機架軸距/2)*根号2*0.8/25.4。

     (網上資料) 下面是一些槳和軸距的搭配建議:

      10寸槳搭配軸距450MM機架

      11寸槳搭配軸距500MM機架

      12寸槳搭配軸距550MM機架

      13寸槳搭配軸距600MM機架

      14寸槳搭配軸距650MM機架

      15寸槳搭配軸距680MM機架

      16寸槳搭配軸距720MM機架

      17寸槳搭配軸距780MM機架

      18寸槳搭配軸距820MM機架

      19寸槳搭配軸距860MM機架

      20寸槳搭配軸距900MM機架

2、軟體:

上位機:開始時使用用labview編寫的上位機,但labview的需要安裝相應的軟體才能使用,後來選擇QT編寫的上位機運作,最後階段使用的是匿名四軸的上位機程式,編寫相應的下位機程式,匿名四軸上位機的功能完整,适合調試使用。使用無線通信,加入心跳包保證飛行的安全性。(心跳包:上位機固定時間給飛機發送一個小的密碼,如飛機每隔1S會接收到上位機的“心跳”,若超過2S沒接收到,則飛機判定為與PC失聯,則啟動降落程式。類似于“看門狗”的工作原理)

平衡控制:得到的DMP輸出的四元數,轉化為歐拉角做PID控制,使用三個串級PID組控制。

高度控制:用超音波子產品測量得到高度資訊,用于實時的高度控制(此處應該加卡爾曼濾波來做)。

控制政策:固定油門(牽引力為整機的重量左右),姿态與高度控制在固定油門的基礎上疊加。

STM32F4四軸飛行器總結四旋翼簡介:Q:

圖像采集:使用另一塊F4的晶片作為協處理器,主要完成圖像采集與圖像處理的任務,将軌道資訊傳給主要晶片,

Q:

1、四元數的了解:

四元數是三維複數的四維延伸,其性質有利于表達三維旋轉的資訊,相比于三維,有事在于:1)适合插值,2)萬向節鎖死問題,3)所用資源減少。

2、卡爾曼濾波:

當系統含有高斯白噪聲時,觀測值不準确,可采用卡爾曼濾波,基本思想是将預測結果和測量結果綜合考慮,得到更加準确的資訊(融合多種資訊,是結果給為精确)。eg:假設小車的實時位置測量誤差為5m,但是想要得到更加精确的位置,可以用上次測量的速度來推測現在大概的位置,再結合本次的位置測量值來聯合估計本次位置。

3、問題與改進:

1、政策改進:油門疊加式;2、超音波定位加入卡爾曼濾波;