[RTL8195] Realtek Quadcopter 四軸飛行器

Ameba四軸飛行器簡介

  • 馬達編號與轉向
    Ameba 四軸飛行器依照馬達在四軸上的位置定義其編號分別為 0、1、2及3,馬達在四軸飛行器不同位置所對應的編號及轉向如下圖。
    1
  • 飛行原理
    四軸飛行器運動姿態可分為橫滾(Roll)、俯仰(Pitch)及偏航(Yaw)三種類型 ,定義如下圖:
    2
    藉由控制三種姿態使飛行器前進後退、左右移動及旋轉,控制方法如下:
    [橫滾姿態]
    - 向右飛行: 馬達編號 0、3 加速,馬達編號 1、2 減速
    - 向左飛行: 馬達編號 0、3 減速,馬達編號 1、2 加速
    [俯仰姿態]
    - 向前飛行: 馬達編號 2、3 加速,馬達編號 0、1 減速
    - 向後飛行: 馬達編號 2、3 減速,馬達編號 0、1 加速
    [偏航姿態]
    - 順時針旋轉: 馬達編號 0、2 加速,馬達編號 1、3 減速
    - 逆時針旋轉: 馬達編號 0、2 減速,馬達編號 1、3 加速

Ameba Quadcopter 硬體

  • 元件清單與規格
    19
  • 電路圖
    Ameba Quadcopter 電路配置如下,不同位置的馬達必須依照編號連接到相同編號的 PCA9685 PWM 通道,順序不可改變。
    3
    請將 MPU9xxx 焊接在洞洞板上並以排針將洞洞板與 ameba 連接,確保飛行時的穩定性,如下圖
    4
    MPU9XXX 應放置於機體中心位置,請注意擺放方向必須如下圖,不可任意改變。
    5

Ameba Quadcopter 軟體

  • Ameba 端
    請先下載sketch檔: https://github.com/Ameba8195/Arduino/raw/master/sketch/RealtekQuadcopter.zip
    解壓縮至Arduino的workspace裡面,你可以在preference裡面找到Arduino設定的workspace位置,
    它的位置可以在 “File” -> “Preferences”, 選項裡有個 Sketchbook location, 這個位置就是Arduino IDE預設放置sketch與library的地方
    6
    接著重開Arduino IDE, 就可以在sketch裡看到 “RealtekQuadcopter”
    7
    直接編譯並下載至Ameba即可。
  • 手機控制端
    請至google play下載Realtek Pilot app,或是從網頁開啟: https://play.google.com/store/apps/details?id=com.quadcopter.quadpilot

    • 控制介面
      姿態控制介面控制四軸飛行器飛行時上升下降、前進後退、左右移動及旋轉,有兩種控制模式可選擇,其控制方法如下
      8
      9
    • 姿態資訊介面
      此介面顯示四軸飛行器定期回傳至手機端的 仰俯 (Pitch),橫滾 (Roll) 及航偏 Yaw) 角度資訊 ,可用來確認 MPU9XXX 狀態是否正常。
      10
    • 參數設定介面
      此介面用於設定系統參數,設定方式請參考下一章節。
      11

參數設定

  • PID 控制器
    12
    Ameba 四軸飛行器使用兩個 PID 控制器,分別為姿態 PID 控制器以及角速度 PID 控制器,一般情況下只需要修正以下參數:
    - Roll、Pitch 和 Yaw 的姿態(attitude)PID 控制器 P 項。
    - Roll、Pitch 和 Yaw 的姿態(attitude)PID 控制器 I 項及 I Limit 項。
    - Roll、Pitch 和 Yaw 的角速度(rate)PID 控制器 P 項。
    - Roll、Pitch 和 Yaw 的角速度(rate)PID 控制器 D 項。
    修正方式如下:
    1. 將 PID 控制器所有欄位的參數設定為 0。
    2. 將 Roll、Pitch 和 Yaw 的姿態 PID 控制器 P 項設置為 1。
    3. 將 Roll、Pitch 和 Yaw 的角速度 PID 控制器 P 項設定為 0.1,嘗試讓四軸飛行器起 飛並觀察姿態修正的情況,若是修正力道過小,將值逐漸加大,若是修正過大導致 飛機翻覆,將值減小,調整出一個值讓四軸飛行時晃動幅度最小。
    4. 若是飛行時抖動仍然太大影響飛行,將 Roll、 Pitch 和 Yaw 的角速度 PID 控制器 D 項設定為 0.0001,嘗試讓四軸飛行器起飛並觀察姿態修正的情況,若是抖動無法消除,將此值逐漸加大直到抖動消除或變小。
    5. 若使用搖桿改變飛時方向時四軸飛行器反應過於靈敏,可調整 Roll、 Pitch 和 Yaw 的姿態 PID 控制器 I 項及 I Limit 項降低靈敏度,將 I 值設為 1,I Limit 設定為 5,嘗試讓四軸飛行器起飛並觀察姿態修正的情況,若是操控搖桿時四軸飛行器反應仍 過於靈敏則逐漸將 Limit 加大,若反應過於遲鈍則逐漸將 Limit 減小。
    6. 視各姿態(Roll、Pitch 和 Yaw)飛行狀況重複 1-5 步驟各自進行微調。
  • 角速度限制
    13
    限制角速度 PID 控制器的最大輸出值,一般情況可將此值設定為一個極大值(例如: 1000), 在干擾較大的環境 (例如: 強風環境) 可嘗試設定較小的值避免四軸飛行器過度修正造成震盪。
  • 橫滾角補償參數及俯仰角補償參數
    14
    四軸重心偏移中心或是 MPU9XXX 擺放傾斜會造成四軸慣性飛向某一飛行,此時需要 設置角度補償消除誤差,橫滾角補償參數修正衡滾誤差,俯仰角補償參數修正俯仰誤差, 修正方式如下
    - 慣性向左飛行: 設置橫滾角補償參數大於 0,值越大修正幅度越大。
    - 慣性向右飛行: 設置橫滾角補償參數小於 0,值越小修正幅度越大。
    - 慣性向前飛行: 設置俯仰角補償參數小於 0,值越小修正幅度越大。
    - 慣性向後飛行: 設置俯仰角補償參數大於 0,值越大修正幅度越大。
  • 搖桿增益
    15
    改變搖桿前後及左右方向的控制增益,若將此參數增大,推動搖桿將獲得較大的變量。
  • 油門限制
    16
    限制遙控器所能控制的油門最大值。
  • 控制模式
    17
    設定控制介面的模式。
  • 鎖定、解除鎖定以及同步按鍵
    18
    - 鎖定按鍵: 點擊後系統進入鎖定狀態,鎖定狀態將無法以手機控制四軸飛行器
    - 解除鎖定按鍵: 解除系統鎖定狀態並同步設定參數
    - 同步按鍵: 點擊後參數設定介面所設定參數將與四軸飛行器同步,每次修正系統參 數後須點擊此鍵將手機與四軸飛行器同步

開始飛行

  • 飛行場地
    請確保飛行場地符合以下條件
    - 空曠
    - 低風速
    - 在草地上方飛行可降低摔機時四軸飛行器的損壞程度
  • 啟動四軸飛行器並與手機連線
    - 將 ameba 上電後,使用手機搜尋 ameba WiFi AP (SSID: quadcopter) 並連線
    - 連線後姿態資訊介面會動態顯示四軸飛行器俯仰、橫滾及偏航角度,請檢查數值是否正常
  • ESC 校正
    第一次飛行時請依照以下步驟校正 ESC
    - 移除飛行器上的槳
    - 將所有 PID 參數設定為 0
    - 將油門限制設定為 100%
    - 解除系統鎖定狀態
    - 依照 ESC 說明書指示進行校正
  • 解除控制系統鎖定狀態
    ameba 四軸飛行器上電後初始狀態會將控制系統鎖定,點擊解除鎖定按鍵解除鎖定 狀態,此時與 ameba 腳位 18 連接的 LED 燈會亮起。
  • 起飛
    - 緩慢推動油門,觀察四軸飛行器起飛狀態
    - 若是飛行容易翻覆或難以控制,嘗試修正 PID 及橫滾角、俯仰角補償參數
  • 其他注意事項
    接近四軸飛行器前請先鎖定系統避免發生危險
    - 受到訊號範圍影響,飛行距離請勿超過 10 公尺
    - 鋰聚電池過度放電將使電池壽命及品質降低,請避免電池內各cell的殘電量低於3.8V

異常狀態排除

  • 無法開機
    - 重新燒錄 ameba 四軸飛行器程式
    - 檢查電路元件各腳位是否連結到正確的位置,無短路及接點鬆動的情況發生
  • 無法穩定飛行
    - 檢查馬達旋轉方向是否正確
    - 檢查槳的配置是否正確
    - 檢查各 ESC 與 PCA9685 所連接的通道編號是否正確
    - 重新校正 ESC
    - 調整 PID 參數
    - 檢查電路是否發生短路
    - 避免環境有過多 2.4GHz 訊號干擾
  • 起飛後慣性朝特定方向飛行
    修正橫滾角度補償參數及俯仰角度補償參數