2016年4月25日 星期一

DIY 精準控 - OLED 版 (NRF24L01高頻頭+Arduino+PPM訊號)

無法克服年紀漸長的記憶力衰退問題,只好.........動動腦了!
原本 DIY 模組(這篇)切換協定要靠不同搖桿位置來區分,機子一多,協定一多........哪記得這麼多啊? 只好 ..... 繼續玩下去了!


2016/4/27 更新:

可以:
1. 顯示最後一次飛行的協定
2. 按鍵選單選擇協定 
3. 偵測 PPM訊號是否正常
4. 偵測高頻頭是否正常

還沒搞定:
1. 未按鍵時自動倒數進入對頻狀態 -- 暫緩
2. 油門安全鎖定(反向)無法過關時的訊息顯示(THR ppm值?)
3. 怎麼搞小一點 ..... XDD  -- 暫緩

2016/5/11 更新:
先前有飛友反應,此模組飛行 JJ1000 時會出現偶而頓一下(Lag?)LED會閃一下的問題,前一篇在更換不同廠牌 Arduino nano 之後已改善,近期把先前 NG 的 Arduion nano 再拿出來在此OLED模組上測試,咦~~~奇怪,怎麼沒有再發生問題?做了一些交叉測試後發現,如果使用 Flysky FS-I6 遙控器的  PPM 輸出,似乎就沒有問題,但用 Flysky老控 FS-TH9X PPM 甚至  Frsky Taranis X9D+ PPM 就會出現這樣的現象,莫非問題出在各家遙控器 PPM 輸出訊號狀況?? 再花時間研究研究.

20180206更新:
STM32 版本的nRF24L01多協議計畫
https://github.com/bv4wg/nrf24_multipro
接腳定義
https://github.com/bv4wg/nrf24_multipro/blob/master/nRF24_multipro/nRF24_multipro.ino#L81

尚未測試過........


程式碼參考: 20180213更新協定及加入未按鍵時(10秒)自動倒數進入對頻狀態,感謝 kabuto大協助.
http://www.mediafire.com/file/mf16puzg5871efd/nrf24_multipro-OLED.zip
支援協定:
"V2X2","CG023","CX10_BLUE","CX10_GREEN","H7","BAYANG","SYMAX5C1","YD829","H8-3D","MJX","SYMAXOLD","HISKY","KN","YD717","FQ777124","E010","BAYANG_SW"(silverware)

2016年4月18日 星期一

富斯 Flysky FS-I6 遙控器 & AFHDS 2A 協定

新玩意兒,製作質感相當不錯,價格也很便宜,有人號稱遙控距離 1700M, 哇 ~~~~
先抓 SPI data , 看能不能請高手破解加入 Deviation ?


雙天線設計??? 少見!!

電路板品質還不錯,這顆 A7105 RF 模組很特別!

沒有全部找出接腳定義 ............................

2016/4/20 update:
刷了10CH第三方FW,也可看到&調整10個通道,為何後面 PPM輸出模擬器還是只抓到 6CH? 接上 IA6B 接收機 PPM輸出到模擬器也還是只抓到 6CH ............. ooxx!@#!$%
找時間接上  SP Racing F3飛控  PPM port 再試看看了.



2016年4月9日 星期六

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

將先前的三合一高頻頭換下,拆下原廠 CYRF6936高頻頭,再裝上四合一高頻頭試試.
四合一高頻頭接線方式:

DEVO10接線方式:
四合一高頻頭在DEVO10裡面的狀況:

無法自動切換天線,只好裝上一個 DIP開關,克難使用.
天線切換開關淘寶原廠建議兩顆1.5K歐姆電阻,因為臨時找不到,所以用1.2K歐姆電阻替代,狀況還OK.

初步測試狀況還OK,待戶外拉距測試.

2016/04/14 更新:
新的4合1高頻頭含Deviation/DEVO模組原型(Prototype)出來了.
看起來,只要拆下原廠高頻頭/天線接頭,換上這個模組,插回天線接頭,焊上三條 Chip Select 線就完工了!

2016/4/27:
賣家更新,for DEVO 底板 LDO過熱問題無解,待改版成 DC-DC降壓電路,目前 A7105 LNA問題尚未改好,nRF24L01 LNA OK但無法測試(無機子支援回傳協定),下一版會全改好!(工廠生產版?)
for Multiprotocol (OpenTX) 暫無資訊.

最後更新: 2016/4/27

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)的問題,看起來似乎有效~~~