四軸雜論

今天剛弄出來,也只是簡單的能飛起來,能受控制,但是飛的時候會有一點偏差,應該是pid那裏還沒有調好。

本人也是小白一個,就是有興趣,在寒假自己瞎鼓搗,然後還有看了張飛的那個視頻,他那個做的真的不錯,有很多地方他講得很明白。

切入正題,我用的是F1c8t6的飛控板(網上買的現成的,自己不會畫板子,不過打算下半年學啊哈哈啊哈),很簡單的結構,加上了MPU6050,還有Nrf2401。
整體下來呢,感覺做四軸的時候有幾個地方是必須要會的,首先你得了解一下你用的東西對吧,其實說白了就是2401和6050這倆,2401收發我是從那個源碼裏面直接移植的,然後我只知道那個能收發多少位(還有一個數據包每個數據的大小)~~然後自己在程序裏控制去就好了,基本上遙控就這個(當然我沒去用串口檢測,飛控裏面也沒有匿名那個上位機的東西),接下來呢就是對遙控傳過來的數據的處理,這裏是詳細知道一些ADC的東西,然後自己知道與角度怎麼轉化,那麼這就是所說的期望了。

那麼還有6050,(讀數據我打算這兩天再去自己照着手冊寫一下),第一個就是軟件IIC,然後還有就是找到6050的DATESHEET,去看一下那些寄存器都是什麼,讀出來的數據當然不能直接用!!!需要做校準和濾波的,雖然我也不明白卡爾曼濾波算法二階巴什麼沃斯什麼算法的,我只知道他們是用來給我讀出來的數據做濾波使用,校準呢,其實很簡單,張飛的那個校準做得很好不過我直接就是取了前一百次數據弄個平均(在這個地方要注意Z軸的加速度在做校準的時候要減去8192,爲什麼?因爲它要顯示靜止時的z軸加速度所以在校準的時候就需要減去,要不然得到的數據是z軸爲零),然後得到數據的時候就減去校準的就好了。

那麼最最讓人頭疼的可能就來了,我6050的數據出來了,接下來要幹嘛呢?沒錯,IMU,也就是姿態解算,姿態解算要用到四元數,那麼四元數在我自己的理解中(a,x,y,z),a表示以(x,y,z)爲座標系的繞地理座標系的角度,其實就是表示機體在地理座標系下繞着(x,y,z)這個座標軸旋轉了a角度。然後就是四元數那裏的公式~~哦對了,還有就是在做轉換的時候因爲6050我設置的量程是±2000g/s,需要單位化,然後在解算的時候還需要是弧度制,最後轉換成歐拉角的時候再變爲角度。

讀出來了之後,就是要進入串級pid了,一個外環角度環一個內環角速度環,因爲角速度更靈敏,所以最終要角速度環去控制,那麼在張飛的那裏,他沒有把YAW放入外環,而是把YAW放入了內環,我這個就直接該咋辦咋辦了。。然後我的現在還不是太穩,總會偏移左面,(可能沒有加入Ki哈哈哈),對還要記得P是實時性I是延時性D是變化。

這幾天會持續更新,更深入的瞭解一下PID,畢竟還是一個小白哈哈哈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章