版權聲明:本文為介紹性質,所有相關資訊引用自DIY-Multiprotocol-TX-Module的 Github專案網頁,著作權屬於原作者
簡介
遙控模型的遙控器(以下簡稱"控"),就像許多3C產品一樣,有著等級區分,從好幾萬一隻的日/歐系品牌控,到萬元以下的強國品牌控,再到套裝機的專用控。
一般而言價格會反應在控的質感用料與手感,除此之外品牌間最關鍵的差異還是在遙控訊號的通信協定,各大品牌幾乎都有自己的專用(專利)協定,例如spektrum/JR的DSM2/DSMX,futaba的S-FHSS/FASST/FASSTest,DSM2/DSMX除了spektrum與JR的系統,也常見於有些BNF(bind and fly,自備遙控器對頻後即可飛)的微型室內/公園機。而一些迷你的直升機或多軸機也會有自己的協定,例如v911使用Flysky協定,而大家暱稱"姐姐"的JJ1000使用的則是v2x2協定。
而這些大大小小高階低階的協定除了在軟(韌) 體方面的差異,在負責發射訊號的硬體:發射模組(強國稱為"高頻頭"但也廣為國內飛友採用,以下皆稱高頻頭),也各不相同,常見的高頻頭與協定對應如下:
nRF24L01:V2x2/CX10
A7105:Flysky/Hubsan
CYRF6936:DSM2/DSMX/DEVO
CC2500:Frsky/S-FHSS
以上種種差異造成的現象就是,除非完全只玩自組機,不然總是得維護一隻以上的控,有時只是想在下雨天時在家玩玩碳刷小機,還得忍受質感手感都很差的玩具控,為什麼不能有一隻統治一切的至尊魔戒呢?
對模型稍有經驗的飛友應該都知道,其實是有的,強國廠商華科爾Walkera旗下的Devo產品線部分型號,可以透過改刷第三方的DeviationTX 韌體,硬體部分加裝nRF24L01/A7105/cc2500,再加上Devo原本內建的就是CYRF6936,可以達成一隻控支援大多數通信協定,飛遍大小機的目的。
但是(沒錯就是有但是),這麼夢幻的方案怎麼沒有席捲整個市場呢?個人看法,改機支援萬用控只能算是加值,一個系統能不能大賣還是要看本質,因為終歸還是要飛自組機的嘛。華牌的控用料手感,協定可靠度,接收的功能與體積,都算不上一流,市場自然受限制,也因此改刷DeviationTX的Devo最常扮演的角色還是飛友手中的第二隻控。
那除了Devo之外,真的就沒有辦法只用一隻控飛遍大小機了嗎?我很想用我根本沒有的 18MZ 飛姐姐怎麼辦?
方法還是有的,以下要介紹的就是一個同時支援nRF24L01/A7105/CYRF6936/CC2500四合一外接模組的開源方案,特色如下:
- 基於ATmega328p MCU開發的程式碼,可以使用標準Arduino IDE編譯 (2016/11/1 更新,已有基於STM32 MCU的新方案,請見另文介紹)
- 主控制板可使用Arduino Pro mini 5V/16MHz(但供電需使用3.3V),或是專用電路板以縮小體積,以便安裝至支援外部發射模組的控,例如Frsky X9D的背板模組槽
- 控與模組之間的連結,支援兩種模式
- ppm模式
- 相容絕大多數支援ppm輸出的控,例如教飛線
- 必須使用硬體開關切換協定,軟體編譯前可預先選定15種協定,藉由16位旋轉編碼開關,或是4位指撥開關來切換
- SPI模式
- 只支援少數幾種開源系統韌體,目前僅支援er9x/ersky/opentx
- 沒有前述15種協定的限制,也不需要透過硬體開關切換協定,在SPI模式下,可以直接在控的選單內選擇要使用的高頻頭與協定
- ppm模式
多合一外接模組硬體共有兩個部分(成品一定是1+2的任一組合,缺一不可):
- 高頻頭
- 獨立式高頻頭
- 構造單純
- 天線多,每顆高頻頭都有自己的天線
- 四合一高頻頭
- 強國商人產品
- 內建天線切換晶片,四種高頻頭可共用一支天線
- 初期版本問題多,但據了解近期版本多已修正
- 獨立式高頻頭
- 控制板或稱基板
- 使用arduino pro mini搭配麵包板或是萬用電路板
- 接線與焊接簡單,技術門檻低
- 成品模組體積大,不利內藏或作為內嵌模組,較適合作為外掛模組盒
- 使用專用電路板
- 電路緊湊基板小
- 可製作出JR標準背板抽換模組尺寸的成品,直接插入支援背板抽換模組的控使用,例如Frsky X9D
- 使用SMD元件焊接技術門檻高,不利DIY
- 強國四合一高頻頭亦有搭配的專用電路基板,以完整發射模組的方式銷售。其機板的電路規劃與開源電路板不同,但是更新韌體方法相同。
- 使用arduino pro mini搭配麵包板或是萬用電路板
以下先由韌體程式碼開始,介紹怎麼下載調整編譯韌體,進一步介紹製作硬體的方法。(先談韌體編譯是因為即使你買強國人作好的現成硬體,仍舊免不了得自己更新韌體,這是一個開源專案,隨時會有修正、更新甚至新協定加入)
範例1 使用arduino pro mini 搭配萬用電路板的簡易版本,使用CYRF6936與ppm輸入為例
範例3 使用STM32 MCU與專用電路板的JR相容背板抽換模組 (持續更新) (2016/11/1 更新)
模組購買連結
以下是我曾購買過,確定可用於此專案的獨立高頻頭賣場連結:
nRF24L01
https://item.taobao.com/item.htm?spm=a1z09.2.0.0.tCVV6O&id=17584284800&_u=t20ptgpb97a1
A7105
https://item.taobao.com/item.htm?spm=a1z09.2.0.0.tCVV6O&id=522174760217&_u=t20ptgpb78b4
CC2500
https://item.taobao.com/item.htm?spm=a1z09.2.0.0.tCVV6O&id=40393395007&_u=t20ptgpbc75b
CYRF6936
以下為強國四合一高頻頭/完整模組賣場連結,我僅使用過四合一高頻頭(使用於STM32版本,2016/11/1更新),供參考