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

2016年4月7日 星期四

DIY 精準控 - NRF24L01高頻頭+Arduino+PPM訊號

2016/6/4 更新 - JJ1000 飛行時卡頓問題

本文:
利用 Arduino 來處理遙控器 PPM訊號(一般接教飛線或模擬器那個接頭),再將訊號藉由 NRF24L01+(BK2423/XN297 應該也行) 模組發射訊號來控制部分的玩具四軸.

RCGroup 原文(DIY Multiprotocol TX Module)是應用在 Taranis X9D 系列遙控器上,多高頻頭(CYRF/CC2500/NRF24L01/A7105)的專案,後來法國高手 Goebish 把 NRF24L01 部分擷取出來進行簡化/修改後的版本(CX-10 JR Module (Green, Blue PCBs)),相關程式碼及成品資料可參考這裡(Github).

台灣 RCTW (DIY Futaba FF9 & X9D+ 遙控 JJ1000
)及Facebook非公開社團 "小四軸亂搞社團 (穿越機) - 勇哥" 也有相關討論.

基本上裝上之後可以完敗偉力精準控,遙控非常多玩具四軸及部分初階版四軸.

自己 DIY 一個之後發現,切換協定時,常常都會卡關,切不過去,切不回來,有時遙控會 Lag,遙控距離很短.................
建了一個測試平台:

誤殺許多高頻頭之後,最後發現竟然是 Arduino nano 在搞鬼~~~???
麵包板上的完全正常,右邊那顆一直出問題(若不切換協定就還好!)

等到另一顆 Arduino Nano到手 , 重新再測試一次:
價錢由左至右遞減..........最左邊最貴,使用 FT232 晶片,右邊2片都是用 CH340G 晶片,中間那片有焊針附USB線LED是2紅+2綠,最右邊最便宜沒焊針沒USB線LED是4紅,電路板看似都是副廠公版製造的!
將中間那片剛到的(from 史巴克)放上測試平台測試,一切正常!
再將最右邊那片放上來,還是無法切換協定.............
難道真的不同便宜的 Arduino Nano 差這麼多?那早應該災情慘重才對呀?

原本電源供應一直是使用 3.7V升壓到5V的升壓器供電(如最上方照片上方那片),想到抽屜裡有一個 5V/3.3V 電源供應電路板,死馬當活馬醫,拿出來試試吧! 把平台改成這樣: 
5V供電給 Arduino Nano , 高頻頭3.3V 也不用 Arduino Nano的 3.3V,而改用這個模組的 3.3V 供電.
Bingo 竟然OK了 ................. 最右邊那片原本不行的,改成這樣接法之後也可以了!!
原想就此打住,忍不住又把原本由供電模組提供  3.3V給高頻頭的部分,接回 Arduino Nano 的  3V3 port,結果 .......... 也OK!

所以,結論是: 
1, 電源供應應該是一個原因,供電品質?電流?......
2, 不同廠牌 Arduino Nano 對於供電狀況敏感度不同,供電狀況差的時候,品質差的 Arduino Nano 就會先出狀況
3, 我人品不佳,竟然給我碰上最差組合!
結束!
---------------------------------------------------------------------------------
補充:
Arduino UNO 的測試平台:

---------------------------------------------------------------------------------
筆記一個資訊,Goebish的電路板及討論文中有提到,Frsky Taranis X9D(+) 的 PPM 輸出部分盡量不要直接接到 Arduino 的D2 接腳,最好用兩顆 10K歐姆電阻分壓之後再給 D2(若能接上一顆 BSS138 nFET更好),請看這裡,因為 PPM 輸出電壓太高.
實際拿電表量了幾台遙控器的 PPM輸出跟接地間電壓,大部分都在 3.6V以下,只有 Frsky Taranis X9D+ 的 PPM 輸出部分電壓高達 6.67V,看來接上分壓電阻似乎是比較好的做法!
若是PPM輸出電壓比較低的遙控器,Goebish也建議至少接上一顆電阻,以防意外狀況發生,請看這裡!
有時間再來繼續研究 Goebish 的電路板了!


高頻頭:
除了 NRF24L01以外,玩具四軸上拆下的 BK2423 其實也能用(下圖中間那顆,還含 PA(功率放大IC),真是不錯!) XN297 晶片有時間再來測試了.
Goebish 有提醒,若是使用不含 PA 的高頻頭,要改程式裡面的輸出功率,原本是:
#define RF_POWER TX_POWER_80mW
改成
#define RF_POWER TX_POWER_158mW
加大功率,增加遙控距離,對於常在家飛的飛友來說,可能就夠了!
這個模組超便宜..............請自行上露天找吧!
請看這裡

2016/4/11 更新:
部分飛友反映在 X9D/Radio link AT10上面都遇到操控時會反應慢半拍的狀況(lag),有飛友反映換成史巴克的Arduino nano 後就OK了! 目前累計兩家 85元的 Arduino nano 都會出現異常狀況.

2016/4/21 更新:
1, 使用不含 PA 的高頻頭 power 由 80mW改成158mW的確會增加遙控距離,但幅度很小,所以無PA的高頻頭還是以室內使用為主吧!!
2, 託友人買了兩個 Arduino pro mini 5V/16M跟3.3V/8M , 結果只來一片慘的是沒標示規格! 上傳程式時用 5V/16M跟3.3V/8M 都可以正常上傳沒有問題,但 ............... 用 5V/16M 時,JJ1000 功能完全異常,有時可對頻,但油門無反應,H8 mini 完全無法對頻; 搞了半天改用 3.3V/8M 上傳,Bingo 正常了!! 不過操控起來有時會頓一下(不是Lag),好像瞬間沒訊號,不知道是不是 8MHz 處理速度太慢了???

2016/5/3 更新:
半路遇到岔路,直接改為  OLED顯示+按鍵選擇協定了......Orz
請看這篇

2016/6/4 更新:
先前小四軸FB陸續有飛友反映此模組搭配JJ1000 飛行時會出現卡頓(lag)的問題,經詢問原作者 Goebish 後,他表示可能是  TXID 搭配問題, 只要在遙控器/模組啟動時把方向舵(RUDD/CH4) 打到最左邊,系統會自動更換 TXID(自動亂數產生,無法指定)再試試看應該可以解決;昨天試了三顆電池,目前都沒有發生卡頓(lag)的問題,看起來似乎有效~~~


2016年3月11日 星期五

Deviation+華科爾DEVO10+三合一高頻頭

買華科爾的DEVO系列遙控器,最主要的就是拿來改,拿來刷 Deviation 韌體,讓它變成無敵控.
討厭的是,市面上的遙控產品實在太多,專業級玩具級五花八門,為了要能搖控大部分的產品,只好不斷的往DEVO遙控器的杜子裡面塞所謂的"高頻頭",高頻頭其實就是無線發射模組,常見的有 DEVO/DSMx 系列的 CYRF6936 , Futaba/Frsky/泉速系列的  CC2500 , Hubsan/早期偉力系列的  A7105 , 最後是近來很多人玩的玩具四軸/偉力/Hisky系列用的 NRF24L01(+),詳細資訊請看這裡.

為了讓它無敵,當然是能裝幾顆高頻頭就裝幾顆高頻頭啊!
關於安裝高頻頭的資訊網路上很多,像 這個 裝一個頭要焊5~8條線,要多一個天線,要佔一個空間,裝第二個.........很抱歉,就是以此類推..........裝第三個?依據以往的資訊就是要用額外的模組去解決,像 Deviation 官網討論的 這一篇 MultiModule 或 這裡 , 為的就是要無敵,要萬用,要通吃!!

最近在 Deviation 論壇發現了這一個好東西,只要一顆模組就有三個高頻模組(CC2500/A7105/NRF24L01+)的功能,只要一個模組,一根天線,焊一次線就搞定了! 加上原本DEVO遙控器裡面的 CYRF6936 就全到齊,真是好物啊! Devation 討論文 舊文 與 新文

淘寶 - 华科尔DEVO 7E D10改控CC2500 NRF24L01 A7105 带PA三合一高频头

三合一高頻頭說明書下載



從對岸淘回來之後,開始試著安裝在 DEVO10 上面,DEVO10是 DEVO系列最好安裝的遙控器了,原因後述.

先把線焊好.


先把DEVO10原本的模組拆掉,把線焊到DEVO10裡面~~
DEVO10 額外  B7焊點

把模組用熱縮膜包好絕緣,避免短路


改一下 Hardware.ini 檔案的設定值


搞定收工.
好像哪裡怪怪的 ????

怪的就在以前只能接兩顆高頻頭,要接第三顆就要用另一個Deviation的方案 MultiModule 計畫才行!
後來對岸3合1模組賣家丟出這個東西時,大家恍然發現,其實不用MultiModule也行~~~ DEVO7E/8S/10 目前都有測試成功的回報,其中  DEVO10 最方便,直接有焊點可以焊,DEVO7E跟8S 就累了,要焊在pin腳超小的 MCU 腳位上......
DEVO 8S  / B3 MCU 接腳位置:




DEVO 7E / DEVO 8S 要焊在 MCU 腳位時,依照1樓最下方照片,在要焊接的腳位兩旁貼上PI耐熱膠帶,把其餘腳位遮住,焊接會容易許多!!
線材使用 AWG 30 或以下尺寸較佳,焊接完要固定好,避免鬆脫.

DEVO 7E 的接腳位置  A15 / B3

DEVO遙控器可用的空接腳其實蠻多的,各型遙控器可參考官網這裡:

Deviation官網相關接腳討論可以看這裡

更新距離測試資料 : 

測試說明事項:
1, 因為測試環境不夠大,所以將 DEVO8S+獨立高頻頭/獨立天線及DEVO10+3合1高頻頭的所有測試參數的輸出功率都設定成 3mW 進行比對,若真實使用時將功率開到100mW或150mW,會得到更加測試效果.
2, 因為DEVO8S裡面沒有安裝A7105高頻頭,所以無比對資料.
3, 測試條件中的 NRF24L01 高頻頭項目,因為沒有較好的接收機可使用,所以使用JJ1000作為接收機,在測試過程中有發現第1批的3合1高頻頭,LNA線路異常,後來有重新修正過,部分項目在修正LNA問題之後連遙控距離都有變大現象,現在買到的3合1高頻頭都是修正版的產品,所以此項DEVO10+3合1高頻頭距離可能比 DEVO8S+獨立NRF24L01高頻頭更加.
4, Frsky 效果真的是很好!!
5, 目前 Deviation 已經支援 S-FHSS 協定(CC2500),找時間跟 Frsky 比較一下.

SUV大神的 DEVO10 v3.6.2(2016/3/22 release)版本韌體:
SUV百度載點
MediaFire下載


2016/4/1 更新
將3合1高頻頭改裝到 DEVO 7E身上,第三顆高頻頭CS(chip select)接到 MCU A15接腳~






2016/4/7 更新,三合一/DEVO10/3mw/S-FHSS協定/Orange SF700S接收機 >200M 未斷訊,讚啦!!

2016/4/27 :
賣家更新三合一未來版(時間未確認)改由工廠生產,A7105的LNA(回傳)問題會解決,nRF24L01 LNA暫無解,板子要大改,目前也無機子支援回傳,所以暫緩處理.
另外,淘寶看到 nRF24L01 高頻頭傳輸距離跟使用的(協定)頻率有關

https://item.taobao.com/item.htm?spm=a230r.1.14.38.iFidyh&id=35062324180&ns=1&abbucket=5#detail

250KHz = 1100M
1M Hz = 750M
2M Hz = 520M
頻率越低,距離越遠~~跟 Hisky 協定距離偏短道理相同!



最後更新日:2016/4/27~~
Deviation新文