2014年2月24日 星期一

新手的Multiwii 四軸飛行器 V 軟體設定

線路硬體都設定好後,接下來是軟體部分,要先準備以下軟體
1.Arduino IDE,我使用的MWC SE 2.5本質是一片Arduino,所以使用Arduino IDE剛好而已,我使用1.0.5。
2.Multiwii firmware,我使用最新release 2.3版

下載MWC並解壓縮,裡面有兩個目錄,一個Multiwii,一個MultiwiiConf,使用Arduino IDE打開Multiwii\MultiWii.ino
我們先編輯config.h這個檔案
以下是我開啟的主要選項,有一些相同類型的請自行尋找取消
#define QUADX
#define HK_MultiWii_SE_V2
#define MINTHROTTLE 1150
#define MAXTHROTTLE 1810
#define I2C_SPEED 400000L
#define MPU6050_LPF_42HZ //預設值這行沒啟動,如果你飛起來跟我一樣會往一邊偏,可以嘗試低通濾這部份設定
#define MOTOR_STOP
#define SERVO_RFR_300HZ //我有刷掉電變,所以把頻率拉高


使用FTDI連接到MWC的C區,Arduino的Board選擇Pro mini,上傳程式
680186037_849-2014-02-24-13-58.png
%2525E8%25259E%2525A2%2525E5%2525B9%252595%2525E5%2525BF%2525AB%2525E7%252585%2525A72014-02-2414.25.17-2014-02-24-13-58.png

上傳程式之後,到剛剛MultiwiiConf目錄找到你的電腦版本,例如我是mac os,所以我到mac os的目錄執行MultiwiiConf,執行畫面如下,在A區選擇你連接到MWC的Serial Port,按下B區的Start,再按C區的READ,沒意外就可以看到一些數據出現
MultiWiiConf-2014-02-24-13-58.png


MultiWiiConf2-2014-02-24-13-58.png
MultiwiiConf連上後,會讀取目前飛控版的數據,這時候使用DEVO 10上的搖桿,在E區會看到一些數據變化,把油門分別推到最小-->中間-->最大,E區的THROT應該會有變化,最小值應該在1100左右,中間值要在1500,最大值要在1850左右,這邊關係到後面油門解鎖,所以請務必確定這些值是在這範圍內,一般DEVO 10預設應該會在這附近左右,油門最小值關係到油門解鎖,如果你的最小值無法到1100,一般教學會要你去設定DEVO 10微調,但我個人偏好直接從韌體調整,如果誤差不大,例如你的最小油門是1108,距離1100很小,那請直接打開Arduino IDE,打開Multiwii.h這檔案,找到兩行
#define MINCHECK 1110
#define MAXCHECK 1810
這意思是油門的最大跟最低要求,剛剛提到最低油門只能到1108,要符合這需求,那我們就把MINCHECK設高於1108,湊個整數例如1110,這樣代表我們油門可以低於這標準,同樣設定方法用於MAXCHECK,例如你最大油門可以到1895,那就直接把MAXCHECK設定為1890。編輯檔案後,記得重新上傳一次(上傳程式時,請先關閉MultiwiiConf,Arduino IDE跟MultiwiiConf會互搶Port)。

上傳後,重新連接到MultiwiiConf,按下START/READ,打開DEVO10,把右手油門,左手搖桿右下推,解鎖油門(左手搖桿左推上鎖油門),MWC的藍色燈號會長亮,MultiwiiConf的B區ARM也會顯示成綠色,這代表目前油門解鎖,這時候推動DEVO10的油門,可以在F區看到變化。如果你看不到此段提的變化,請重新再確認一次MINCHECK是否符合你的油門設定。

把飛機平放在地上後,點擊D區的CALIB_ACC校正水平,大概等候10秒。
點擊C區的CALIB_MAG,把整台飛機在XYZ三軸方向分別翻轉360度,此動作在30秒內完成校正磁北。
把飛機擺放水平後,嘗試前後左右搖擺,確認G區顯示是否符合你搖擺方向,如果方向不對,一樣打開Arduino IDE,編輯Config.h,找到
#define FORCE_ACC_ORIENTATION(X, Y, Z) {imu.accADC[ROLL] = Y; imu.accADC[PITCH] = -X; imu.accADC[YAW] = Z;}
刪除反斜線,修改Y為-Y,-X為X之類,依照你的錯誤去修改。

以上步驟完畢之後,可以把槳裝上,推動油門確認四個馬達運作無誤,正反槳都裝對,馬達旋轉方向也無誤,接下來就可以找一塊空地準備調整PID。

建議把ROLL/PITCH/YAW/ALT設定值都清除為0,一切從零開始調整,很多教學說MWC的預設值就可以飛起來....是的,是可以飛起來,但可能一秒內就墜機...歸零後,記得點擊WRITE跟READ確保歸零無誤。

下一篇我會教學如何調整PID!

52 則留言:

  1. 文章精彩,獲益良多!

    回覆刪除
  2. 想請問小弟使用mwc se v2.0的板子
    再燒錄2.1軟體可以解鎖(數值有到)
    但是卻在2.2甚至2.3都無法做解鎖的動作
    也許在剛開始狂閃藍燈...在之後按下MAG ACC校正之後就消失了
    但還是不能解鎖...數值也是有到...想問問您是否有遇到這問題?

    回覆刪除
  3. 我沒用過舊版本2.1跟2.2, 我在2.3遇到無法解鎖通常是1.油門跟YAW數值沒到 2.遙控器某一動誤觸 3.ROM清空後沒水平資料,你有接上電腦看multiwiiconf的其它東西都正常嗎?

    回覆刪除
    回覆
    1. 作者已經移除這則留言。

      刪除
    2. 2.1跟2.2好像Roll跟Yaw解鎖2個不同...
      同樣的東西...好像2.1是看Roll解鎖 2.2好像看Yaw
      我自己用到的好像是這樣...(硬體都不變)

      刪除
  4. 話說大哥有試過用FTDI串口來遙控飛行嗎?
    最近想試試

    回覆刪除
  5. 版主你好, 已經進入 MultiwiiConf 調整階段了 \ ^.^ /
    但問題又來了...
    選好 Serial Port,按下Start,再按READ,但沒啥數據出現,只有一條線
    圖片連結 : http://goo.gl/V0ajcN
    確定 Serial Port 是 com27, Arduino IDE 已先關閉才開MultiwiiConf

    回覆刪除
    回覆
    1. 這我不確定,有幾點你可以去查查看...1. Port COM拉下來看名稱是否跟Arduino IDE看到一樣。 2.FTDI線路有接對 3.藍芽先不要接 4.左上角的SETTINGS裡面BAUD_RATE確認

      刪除
  6. 謝謝回覆
    1. Port COM 肯定跟 Arduino IDE 看到一樣
    2.FTDI線路有接對 (我能用 Arduino IDE upload sketch, 應該表示沒接錯吧? )
    3.沒安裝藍芽 (只是接接收機)
    4.SETTINGS裡面BAUD_RATE 回家再看看

    回覆刪除
    回覆
    1. BAUD_RATE 點過沒反應, 那一個也沒...

      刪除
    2. 拍了個影片 http://youtu.be/uOJiD7-yZ0Y

      刪除
    3. 終於找到問題所在, 是印刷問題, 整個 FTDI 的接頭倒轉了印刷......

      刪除
  7. PID 設定還是不太明白
    P 是每次加 1 嗎?
    沒有藍芽接收器, 只能駁長長的 USB...
    我發覺現在控制 ROLL PITCH 好像沒反應...

    https://www.youtube.com/watch?v=8zwBdUl0J68

    回覆刪除
    回覆
    1. 建議用藍芽,不然你永遠無法升空調整狀況

      刪除
    2. 作者已經移除這則留言。

      刪除
    3. 一堆錯字, 刪文再打...

      已經下訂了, 但還要幾天才能到手...

      我學他綁法, 似乎調 Pitch 的 PID 不錯吧?
      http://v.youku.com/v_show/id_XNjE3MTcyODQw.html?firsttime=58

      但不知做錯什麼了
      現在搖控 roll 和 pitch 好像不能控制機器
      但係 MultiWiiConf 可以看到變化

      另外請問下如果這樣試
      pitch set PID 對的話 , 是否油門最大, 應該都平衡到?

      刪除
    4. 他的綁法跟你不一樣,你沒有懸空,要用這種調整方式也可以。PID全部歸零狀態下,roll, pitch的確會感覺不受控制,這就是pid調整的目的。你要懸空調整,先把pitch的槳拿掉並用線支撐,讓飛控版以為pitch已經平衡,在這姿態下去調整roll, 等roll pid調整好後,換roll槳拿掉並綁線,換pitch裝上槳調整pid

      刪除
  8. 版主, 建議這篇再增加一點點資訊
    在設定 PID 前應的預備, 例如什麼叫 mode, 怎樣關閉 mode

    因為看完你 2 月那篇 PID調整, 只是最尾輕輕帶過 "調整完PID後,再去打開ANGLE"
    新手來說完全不知道什麼是 mode, 怎樣叫打開/關閉那個 mode
    然後看你 3 月那篇 PID調整的影片, 模糊地看到你手機什麼都設為 0 了
    我連 RATE 跟 EXPO 都設成 0 , 結果搖控完全控制不到 roll 和 pitch
    B 區的東西原來可以關掉
    這些我也是昨晚才知道...
    雖然你的教學是用手機連接, 但不是每個也有藍牙模塊 ,又感者像我摔爛了(飛脫出來, 再接已經沒反應...)

    以上的都是錯誤中學習, 如果版主能簡介一下, 我們這些新手就不用走歪路了

    再次感謝你多天來的的耐心回覆 m(._.)m

    回覆刪除
    回覆
    1. 收到,我有空會在修改。
      我已經訂購新的Pixhawk飛控版,未來MWC的部份我不會新增,會朝Pix系統教學文發展,有興趣歡迎一起討論。

      刪除
  9. 什麼原因轉到他呢,是有啥不足還是想轉新系統

    回覆刪除
    回覆
    1. 因為Pixhawk的系統比較完整也可靠,而且是32 bit的系統,另一方面我也想玩FPV。MWC已經發展極致,版本目前也停滯不發展了,很多功能已經落後其他飛控。MWC我要繼續玩最多就是空翻。

      刪除
    2. 噢, 我也正準備 FPV 的硬件了, 能飛個一兩個月我就會購買了
      看大陸也限多人玩(航拍較多, 但 FPV 也是有吧), 只是山寨鏡頭質素就是未確定
      討論區看過有人用 HD19 加 5.8G 就能 FPV

      這裡也說有 follow the phone 的功能
      http://www.multiwii.com/forum/viewtopic.php?f=8&t=2034

      請問落後其他飛控的功能是啥 @o@?

      無論如何也期待你的 Pix系統教學文, 加油!

      刪除
    3. 舉一個你最痛苦的例子...PID調整,Pixhawk可以自動調整,不用這樣人工費力調整:P
      有一個MWC的分支Bradwii有這功能,但後面無新版,而且MWC也不打算整合這功能,很可惜。
      還有自穩的穩定度,MWC很難調到釘在一個點,MWC的硬體跟軟體搭配幾乎已經是極限了,MWC的軟體社群也不活絡。

      刪除
  10. #define HK_MultiWii_SE_V2
    #define CRIUS_SE_v2_0
    板主同時指定兩種主板型號,
    是因為沒有專屬的Crius MultiWii SE v2.5的型號設定嗎?

    回覆刪除
    回覆
    1. 複製貼上貼錯了,抱歉,只有一種才對

      刪除
  11. 我是買multiwii mega的 (有gps的那種)
    程式有顯示done uploading
    遙控器也有亮紅燈對到頻
    但不知道為何馬達不會轉
    只會發出逼逼逼的聲音
    懇請大大指引

    回覆刪除
    回覆
    1. 1.沒解鎖 2.請查對電變說明書,上面一定會說明逼逼聲音代表意思。3.單獨把電變接到接收器油門,直接由接收器控制油門測試馬達。

      刪除
  12. 您好, 我將DEVO-10油門鎖定開關功能開啟後, 即使遙控器上電後把油門桿拉到右下方, 遙控器還是一直顯示"油門鎖定開關"即發出逼逼聲, 請問要怎麼解除呢?

    回覆刪除
  13. 版主你好
    再還沒有連接GUI的時候
    顯示如您圖片一樣
    但連接GUI後
    數值都有出來
    惟獨F區下方的UAV姿態只有一根箭頭
    並沒有4個螺旋翼顯示
    請問能怎麼解?

    回覆刪除
  14. 小弟我問一下有點蠢的問題 做這東西不是需要控制他的程式 可是小弟我不知怎打 也試過把自走車的程式改成無人機 但結果...可想而知,所以我在此懇請大大可不給下我無人機的程式 可以的話用GMAIL密我 謝

    回覆刪除
    回覆
    1. https://github.com/multiwii/multiwii-firmware

      刪除
  15. 小弟我再問個問題 程式燒進去 然後拿個遙控器 跟接收器對頻 對頻完了 她就會飛了(可操控)對不 只不過 飛不好 因為還沒設定 PID 參數那些 是否

    回覆刪除
    回覆
    1. 是的,MWC目前我看過組起來,沒有一台可以不調PID用預設就可以飛的,不可能。

      刪除
  16. 一定要用那麼貴的遙控器嗎= = 可以買便宜點的嗎~應該不影響實驗吧...

    回覆刪除
  17. 作者已經移除這則留言。

    回覆刪除
  18. 作者已經移除這則留言。

    回覆刪除
  19. 小弟我不懂阿~~~解鎖油門那 我明明就按照你說的把油門往右下退,但飛控板的藍燈依然閃爍 沒長亮阿 推油門 馬達還是沒轉
    但MultiwiiConf卻看的到數值變化,所以我在想問題應該是出在 我操作有誤是否----

    回覆刪除
  20. 往右下打,THROT跟YAW值要有變化,THROT要低於1105,YAW要高於1900

    回覆刪除
    回覆
    1. 作者已經移除這則留言。

      刪除
    2. 恩有阿但還是不行 然後回復有限多少字ㄇ = = 我發一個文 發好幾次

      刪除
  21. 還是是說我當初設定這兩行時沒按照你說的打,我是打
    #define MINCHECK 1105
    #define MAXCHECK 1900
    因為我油門(THROT)那
    最低( 0% )是在 1100-1102那跳動----最高(100%)是在 1900-1902那跳動
    中間( 50% )則是在1509那 , 按照你打的數值打也是一樣,
    就是不能在1500那,請問一下這有差ㄇ,如果有差的話要怎改~
    我是用 RX1002 和 DEVO7E 這應該沒差ㄅ

    回覆刪除
    回覆
    1. MINCHECK是指你實際油門要低於這個數字。

      刪除
  22. 請問下 油門解鎖後 關掉電源 還需再解鎖嗎~還是只需解鎖一次 除非去鎖定油門

    回覆刪除
    回覆
    1. 關掉電源後需要在解鎖一次。

      刪除
  23. 請問裡面軟體弄好然後接上遙控器程式右上角的數據也有跑但是馬達都沒反應是哪個地方出問題

    回覆刪除
  24. 請問一下,我的multiwii都設定好了 arm和angle也都分別亮綠燈了,遙控時馬達都會轉,但是我10和11的馬達明顯跟3和9的輸出不協調,而且在固定油門的情況下10和11的馬達轉速會先達到設定值然後慢慢往下掉,3和9號馬達則正常,怎麼辦?

    回覆刪除
  25. 你好 請問我MultiwiiConf只要按START就會自己關閉 是哪裡有問題?

    回覆刪除