2013年10月11日 星期五

建構一台 MultiWii 多軸飛行器(三)

2013/03/02 10:31

軟體設定 -- Arduino 程式操作:




前面四軸的硬體已經做好了,現在要開始進入軟體設定。首先如上圖,要先把 FTDI 小板子插在 MWC 上才能透過 USB 連接電腦。FTDI 在 Windows 7 會自動找到驅動程式,如果是 XP 可能需要到:

http://www.ftdichip.com/Drivers/VCP.htm

下載驅動程式。


MWC 可以直接吃 USB 5V 所以可以先不用接電池。USB 接上通電後看到 MWC 上的 LED 亮起來,當藍色 LED 閃一閃熄掉後表示 MWC 已經 initial 完畢。
接 下來我們把之前在 Arduino 網站上

http://arduino.cc/en/Main/Software

download 的程式解壓縮並執行 Arduino.exe,跑出 Arduino Application 視窗,然後再到 MultiWii 程式網站:

下載最新的 MWC 程式,目前是 2.1,所以以下均以 MutilWii 2.1 來說明。下載後解壓縮得到兩個目錄:MultiWii_2_1 及 MultiWiiConf_2_1。

MultiWiiConf_2_1 是內含各種作業系統的調機界面程式,這個等一下才會用到;而 MultiWii_2_1 內就是要 upload 到 MultiWii 板子的程式。

在 Arduino 視窗中按 file --> open 打開 MultiWii_2_1 目錄內的 MultiWii_2_1.ino 檔案,於是就得到如下的視窗,這便是 MultiWii 的程式囉,有興趣再去一條一條分析這個程式,不過我可沒那份腦袋瓜去做這事 @_@! 其實就如同第一篇所說的,我們只要懂一點基礎就可以了,這樣就能踏入 MultiWii 的世界,現在我來告訴各位這點小基礎。

整段程式我們只要看 config.h 也就是下圖紅圈那個 Tab.


點到 config.h 後,用你的滑鼠手往下滑直到看到下圖這段文字:


這段就是要設定 MultiWii 是哪種飛行器的程式,在 #define 之前加 // 表示這行就只是文字沒有指令的功用,所以變成灰色。我要設定成四軸 X 型,所以在 #define QUADX 這行把雙斜線刪掉,於是這行變成了黑字,表示這行已經變成了真正程式指令。
如果搞不清楚以上每行文字代表哪種飛行器請參看下圖,因為 Cirus SE 只支援到六軸所以下圖我也只列到六軸,如要更清楚的資訊還是請到 MultiWii 官網。


飛行器的 Type 設好後繼續用你的滑鼠手往下滑,直到看到這些文字:



#define MINTHROTTLE 是設定飛行中 MultiWii 在自動穩定控制時油門能達到的最小值,不是遙控器油門遙桿最低時的值喔,RC 標準值為 1000us ~ 2000us, 所以此值必須大於 1000,簡單講這段指令就是設定馬達還會轉的最小油門值,若電變油門校正過,使用 default 值 1150 是 OK 的。
繼續用你的滑鼠手往下滑,如下圖,設定 I2C 速度,Crius SE 可以到達 400KHz,就設定為  400000。


接下來很重要,設定感應器的型號,舊版程式比較麻煩,要根據你的板子用的感應器一一設定,新版程式方便多了只要如下圖設定為 Crius SE 即可, 它會自動定義 Crius SE  各種感應器型號。


最後再找到一行指令:#define MOTO_STOP, 這行如果沒有刪掉雙斜線請刪掉,否則當油門解鎖後就會轉起來,會嚇一跳!OK,這樣就可以把程式 save 了。
接下來,再檢查 MWC 與 PC 是否有接起來,到 Windows 的裝置管理員查看 MWC 是在哪個 COM Port, 然後再到 Arduino 視窗 Tools --> Serial port 選擇這個 COM port. 再來選擇 MWC 是哪個 Arduino 板子,在第一篇說過 Crius SE 是以 Arduino Pro Mini 為底,所以就在 Tool --> Board 選 Arduino Pro or Pro Mini (5V, 16MHz) w/ ATmega328.
現在可以上傳剛剛改好的程式了,按 File --> Upload 或視窗左上有個方箭頭向右的那個圓形符號亦是同樣功用。注意看視窗下方的訊息,若出現 Done Uploading, 恭喜程式上傳成功了!至此,Arduino 的部分已經完成,我們已經成功透過 Arduino 將 MWC 2.1 程式灌進板子內。以下開始進入 MultiWii 調整部分。

軟體設定 -- MultiWii 調整 GUI:

再開始調整之前,要先設定遙控器為沒有任何混控,每一個 Channel 都是直接輸出。
現在,我們要用到前面提到 MultiWii 另一個目錄 MultiWiiConf_2_1 內的東西了,進去目錄後可以看到好幾個子目錄,根據你的 OS 選一個進去吧!例如:application.windows32。檢查 MWC 與 PC 連接是否正常,執行 GUI 界面程式 MultiWiiConf_2_1.exe 出現如下視窗。


點選左邊 Port COM 下的 MWC 所在 COM port. 然後按大白框上面那個 "START",如果連線成功白框內就會開始跑出線條曲線出來,那是各個 sensor 的讀取狀態。
確定 GUI 可以連線後,首先我們要看遙控與 MWC 的連接與設定是否正確,先看最右上方那個黑框裏面有好幾條藍條,那就是監控遙控信號的狀態圖形,搖動遙控器搖桿相對應的 Channel 是否有跟著動作而且搖桿與畫面方向一致,若方向不對則更改遙控器上的方向設定。
再來把搖桿置中調整 trim 讓中點在 1500。
調整每個搖桿的行程使最大超過 1900 一點,最小低於 1100 一點,這很重要,若搖桿行程不能到達 1100 ~ 1900,會沒辦法解鎖或鎖定油門,及一些以遙控器做設定的方式。
接下來設定三段開關來開起關閉 senser, 前一篇我已經將 MIX 三段開關設為 Channel 7 輸出,且連接到 MWC 的 AUX1,所以就看 GUI 中上方 AUX1 High, Mid, Low 那三行方格。上圖可看出我已經設定一些白點在上面,意思是:當 AUX1 開關在 High 時,ACC 加速度 sensor 為 ON, 在中間時 ACC 和 BARO (氣壓感應) 為 ON,Low 時則連同磁阻感應三個全 ON。這樣,當一般飛行時,Mix 撥到 High, 只有陀螺儀跟加速計來穩定機身可以自由飛行,Mix 撥到 MID 氣壓計加進來可以定住高度,停懸時很好用,撥到 low, 方向也定住了,手可以放開遙控器讓它自己定在空中了。 當然如果決的三段不夠還可以把 AUX2, AUX3 ... 加進去,只要搖控 Channel 數夠,但是 Crius SE 只支援到 AUX2。
這些設定完別忘了按 "WRITE" 寫進板子去,可以再按一次 "READ" 以確定是否寫進去。
接下來可以試著解鎖油門,油門搖桿最低方向舵打到最右,這時板子上藍色 LED 應該亮起來,若不亮檢查搖桿行程是不是沒有到達 1100 ~ 1900。藍色 LED 亮表示油門已經解鎖,試著拉高油門可以看到 GUI 油門監視藍條右邊四個馬達輸出藍條也跟著上升了,拿起飛機三向轉一轉看馬達輸出是不是會跟著補償高低,下面指北針會不會跟著轉,四軸機的圖形是不是和你轉動的方向一致,恭喜你可以接上電池正式調機了。
別忘了油門解鎖後不飛要記得再把油門鎖定,方法是:油門搖桿最低方向舵打到最左,藍色 LED 熄滅即為鎖定,此時油門不會有作用以策安全。





沒有留言:

張貼留言