遙控模型文章分類

顯示具有 MultiWii 標籤的文章。 顯示所有文章
顯示具有 MultiWii 標籤的文章。 顯示所有文章

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 熄滅即為鎖定,此時油門不會有作用以策安全。





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

2013/02/22 00:33

機架製作

四軸機架其實市面上很多,不過我想DIY樂趣更多。在網路上看到有人利用廢硬碟盤來做機架,哈哈,我手上好幾棵淘汰的 3.5" 舊硬碟,就拿來拆吧!


這就是硬碟的碟片,亮晶晶的真漂亮,一摸指紋全黏上去了!其中有一顆硬碟的碟盤不能用,因為是高級的"玻璃盤"拿起來感覺比較重也比較厚,碰到東西會發出清脆的聲音,和一般鋁盤明顯不同。因為要鑽孔加工所以玻璃盤完全不能用。硬碟拆完後得到幾樣好東西:除了碟片外還有磁力超強的釹鐵硼磁鐵以及一顆轉動碟片用的馬達,是無刷的喔!試接在遙控模型的電變上竟然還會轉,哈哈!收起來以後也許有用!
接下來在碟片及方型鋁管上鑽孔,將之組合,以兩片碟片夾住鋁管的方式構成十字型機架,雛型就出來了。


接下來把四顆馬達鎖在四根支架上,四個電變用束線帶綁在支架上,然後碟盤上方裝上 MultiWii 飛控板以及接收機,在把螺旋槳裝上去離完成又更進一步了。注意螺旋槳是有正反向的喔(後述)。


最後再把一個 450 直升機的腳架裝在下方,機架就差不多完成了。


大家也許奇怪為什麼不把四個螺旋槳裝在支架端點而裝在中間呢?這是因為我還想在每個螺旋槳上加裝圓形的防撞框,這樣不管在家裏飛還是外面飛都比較安全一點啦!這也是為什麼我喜歡 DIY 的原因,可以完全依自己的需求"客製化"呀!

電子件連接 

機構部分弄好了,接下來把電子部分(遙控玩家說"電裝")連接好吧!首先看 MultiWii SE 的接線:



下方一排接頭:油門、副翼、升降舵、方向舵、AUX1 共五個 Channel 是接接收機的,所以遙控器至少要5動以上,當然我的 Deviation 10 遙控器有10動是措措有餘。AUX1 要接遙控器 3 段開關,我設定 Deviation 10 為三段 Mix switch 輸入 Channel 7 輸出;AUX2 也是要接接收機三段開關,但是目前不會用到所以暫時沒接。

M1~M6 是接馬達電變的,因為我做的是四軸,所以只要接 M1~M4 即可,至於哪個馬達要接哪個接頭必須要參照 MWC 說明:


MWC 板子上有一個箭頭是飛行方向,而我裝板子的箭頭方向如上圖是"X"型的方式,所以就依照上圖"3"就接到板子 D3 的位置,"10"就接到 D10 ... 餘此類推。注意每個馬達的轉向以及螺旋槳必須是"正反槳",正槳及反槳對應到馬達的轉向必須如上圖不可裝錯,若馬達的轉向相反,只要將接電變的任意兩條線反過來即可。注意每個電變都內含 BEC (電池電壓轉換器,其實就是一個 5V 穩壓器),所以只能有一個電變是提供 5V 給接收跟 MWC 的,另外三個電變的紅線必須拆掉,免的四個 5V 輸出短接在一起。對了,在把這四個電變接上 MWC 之前,最好先一個個直接接在接收機上做油門校正,這樣四個電變的油門才會一致,油門校正的方法要看電變的說明,一般是把遙控器油門調到最高再接上電變電池,聽到嗶嗶聲後再把油門壓到最低,這樣電變就知道了油門的最大及最小值。

OK,接收機到 MWC,MWC 到馬達電變已經接好,最後要把四個電變的電源線全部並在一起再到電池,這部分要動到烙鐵,可以去買一片"分電板"以方便將電池連線分到每個電變上,不過我不想再為幾十元的東西去郵購浪廢郵資了,直接用烙鐵銲在一起再加熱縮套管即可。

這樣硬體差不多好了,列一下我的電裝:

1. AX 1806 2100KV 無刷馬達 x 4

2. 可程式化 10A 電變 x 4

3. 5030 三葉正反槳兩對

4. DEVO 10 接收機

5. MultiWii SE 飛控板

6. 450 直升機用的電池 11.1V 2200mAh

7. 電線接頭若干,注意電池線不可太細

下一次再介紹軟體設定。

[下一篇]

2013年10月10日 星期四

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

2013/02/20 00:36

MultiWii 是什麼?要先從 Arduino 說起 …

Arduino 是使用 Atmel 單晶片 MCU 構成的一塊 IO 板,它是完全開放式的架構 -- 硬體線路公開,軟體則是在 Arduino 板子上先燒錄好一段 bootloader,並提供 PC 端的程式, 而形成一個高階語言型態的平台供各方使用者發揮創意,可在PC上編輯並透過 USB 與 Ardunio 連接, 以便 Upload 你的程式到 Arduino 板子上。













Arduino Uno 板




高竿的人可以從零開始寫程式,寫出你的創意功能在這片 MCU 板上。當然,大部分人可能跟我一樣沒有那份腦筋去從零開始寫程式,但透過開放式架構,一個人起個頭,後面人再不斷的增加、修改讓一個 project 不斷完整精進,於是我們這種不夠高竿的追隨者只要了解一些基礎就可以將這份別人努力而不斷進化的程式下載並 upload 到你的 Arduino 板子上就可以了。










Arduino Pro Mini 板



Arduino 有不少型號的板子,這是因為 MCU 有大有小看需求去選擇,不用擔心不同MCU程式會不相容,只要在 Arduino Application 視窗上選擇正確板子型號,它就會按照板子型號解譯出相對應的機械碼再 Upload 到你的 Arduino 板子上。


關於 Ardunio 的細節請到它的網站去看
http://www.arduino.cc/

並下載 Arduino 的軟體,它支援 Windows, Mac OS及Linux 32 bit, 64bit 作業系統:
http://arduino.cc/en/Main/Software

再回頭談 MultiWii 是什麼?

MultiWii 其實是 Arduino 的眾多 Project 應用之一,發起者以 Arduino 加上 Wii 遊戲機運動搖桿上的陀螺儀感應器來做為遙控多軸飛行器的控制板。因為不管是單軸還是多軸只要是直升機,就像甩陀螺一樣會到處亂跑,以人的手來控制遙控器使直升機保持平衡是不太可能的事,因此要保持機身平衡就需要穩定裝置。以前用重錘或平衡翼以機械方式達到穩定的目的,今天電子感應器越來越進步,當然以電子陀螺儀來做為穩定的裝置是必然趨勢,MultiWii 就是這個東西。


http://www.multiwii.com/


















Arduino + Wii Sensor


在開放式架構下,很快的 MultiWii 不再只有陀螺儀而已,加速度傳感器、氣壓傳感器、磁阻傳感器、GPS一個個被加上去,硬體也有人將這些東西做成一片板子,不需要自己將 Arduino 及各種感應器拉線銲接了。
我也因此弄了一套 Crius 出品的 Multiwii SE 板。


它是以 Arduino Pro Mini 為底,加上前述的各項 sensor, 其中三軸陀螺儀做為平衡穩定用,但除了平衡機身姿態也要防止機身前後左右飄移,三軸加速度傳感器就能感應機身是否漂移了,而氣壓傳感器能感知高度使機身定在一定的高度下;磁阻傳感器就是電子羅盤能使機身定住方向。GPS 則不在這塊板子內但以後可以自行擴充,有了 GPS 飛遠了還能自動返航喔!