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紅,電路板看似都是副廠公版製造的!
再將最右邊那片放上來,還是無法切換協定.............
難道真的不同便宜的 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)的問題,看起來似乎有效~~~
我也想加"小四軸亂搞社團 (穿越機) - 勇哥"可惜都沒通過!!
回覆刪除是申請之後一直無下文還是通過之後被踢掉?那邊版規比較嚴格一些,通過申請之後要先發篇自我介紹,不定期點名.....若常會上去逛,問題應該不大才對~~~
回覆刪除申請之後一直無下文啊~之還能進首頁!!
回覆刪除申請完之後變此內容目前無法顯示了!!
因為我本身沒完FB所以拿我女朋友的帳號申請...
會不會是FB版主誤認為是來打廣告的?(女生玩RC的真的很少!)所以擋掉了~~
刪除會不會是FB版主誤認為是來打廣告的?(女生玩RC的真的很少!)所以擋掉了~~
刪除感覺也是有這個可能...
刪除那群組聽說很多好文可以學習,沒機會加入真是殘念!!
所以你要常常發分享文啊~
回覆刪除你的文章都很有趣!!
寫網誌,只是輔助自己記住一些東西,太愛搞東搞西,有時改了一半又分心去玩別的,再回頭已忘記當時的情形,所以只好抽空記錄下來,幫自己老化的腦袋記錄一些東西囉~~~
刪除昨天請我有用FB的同事申請社團看看結果就審核過了!!!
回覆刪除看來真的覺得是來打廣告的被擋掉了!!!
自行申請一個專屬帳號,名稱不要太奇怪應該就OK了!
刪除哈哈~我又來問問題了!!
回覆刪除請問一下Goebish電路板插上x9d+之後有要做什麼設定呀?
想去河堤邊找飛友幫我測試看看我這塊會不會也有延遲的問題!!
沒問題的話在拜x9d+這隻控。
基本上X9D+設定外部模組為 PPM 模式,通道順序要看你飛哪一台機子(大部分是 A.E.T.R)
刪除再確認對頻的搖桿打法應該就沒問題了!
Goebish的切換協定是Ch8嗎?
回覆刪除阿 我看他說明找到了是ch12
回覆刪除Yes CH12 是設定成 reset Arduino,所以可以重新對頻。
刪除對了你有把Goebish的板子刷小四軸勇哥發的code過嗎?
回覆刪除不知道刷過之後能不能改善延遲問題!
正常時沒有延遲現象,但有時候JJ1000會頓一下,燈也會閃一下,感覺會斷訊一下的樣子。
刪除嗯...我就是想問頓一下這問題能不能解決!
回覆刪除最近在測試multiprotocol四合一模組,沒有卡頓的現象,有空我再回頭測看看Goebish的那片看看。
刪除剛剛特地把Goebish這片抓出來測,結果發現只有JJ1000會頓,另外兩個分別用Bayang及H8-3D協定的小四軸都很正常,看來似乎是Goebish的V2x2協定有點問題~~~
刪除那意思就是V2x2.ino檔裡面的code有Bug的意思囉??
刪除似乎是這樣,因為如果是模組有問題,應該全部都會頓才對,或是我的JJ1000跟它犯沖??
刪除那你有把Goebish電路板重刷code看看嗎?
刪除試過了,結果一樣.....Orz
刪除阿勒...那還有什麼可能的原因勒!?
刪除要是這個問題是常態的應該會有人回報給Goebish修正才是。
Goebish有回我說要更換 TXID 試看看,晚上回家是成功後再跟你說.
刪除好唷!!
回覆刪除測試三顆電池,沒有再發生卡頓狀況,似乎是有效改善了!!
刪除解決方式稍後補充更新在本帖下方,也會再找飛友幫忙驗證一下.
這個意思是重新對頻讓遙控器換一個頻道的意思囉?
刪除這個意思是重新對頻讓遙控器換一個頻道的意思囉?
刪除意思不太一樣,通常 TXID 包含在通訊封包內,跟頻道無關! 我對協定程式細節不太熟,不過以前在 MJX 協定開發測試時,確實也遇過類似的狀況, TXID 不合適, 連動都不會動,無法對頻或嚴重 lag.
刪除你這樣把問題解決之後變成又有ㄧ個新問題了!
刪除這個問題就是讓我想拜X9D+的想法越來越強烈了。Orz...
有些毒是沒解藥的,呵呵!
刪除沉默了很久...我拜下去了!!
刪除中毒中...這控挺傷腦的。
該說恭喜嗎? 呵呵 XDD
刪除這控真的要花點時間研究,功能實在太多了! 又有 OpenTX/Ersky9x 不同開源韌體可選擇,功能真的蠻強大的,相對要搞懂也要花些時間,用習慣慢慢就進入狀況了!
我手邊控太多,常常功能搞混......Orz
這控的萬用模組準備大改版了,新版本MCU更強容量也較大,整理好資料會在分享出來.
作者已經移除這則留言。
刪除作者已經移除這則留言。
刪除真的...昨天研究了三小時才弄到可以控JJ1000,
刪除但是發現我Ch1 Ch2 Ch3 Ch4跟AT9一樣設定130%飛起來馬達輸出比較有力耶!!
但是遺憾的是還是搞不定Ch5 Ch6 Ch9這三個怎麼設定到我要的搖頭開關上.
手機編輯怪怪的都會不小心連續回復... =_="
刪除我現在的做法是先到 "INPUTS" 頁面建立 "LED" 的項目在 "Rud" 後面(順序應該沒關係),在"Rud"下面05的地方按"ENT",會跳出設定畫面,此時只改"Input Name"="LED"以及"Source" 後面按一下"ENT",然後切換你要設定 LED 的對應開關,它會自動設進去,按"ENT"確認後跳出,按"PAGE"跳到"MIXER"頁面,在CH5後面按一下"ENT"ㄧ樣會跳到設定畫面,此時把"Mix Name"改成"LED"(非必要),再把"Source"選擇成 "I-LED" 這樣就可以用那個開關控制 LED 了! 其餘依此類推! 可能有更好的方式,目前我只會這樣~~
刪除謝謝啦~終於搞定了LED跟翻滾, 不過無頭模式用不出來.
刪除不知道問題在哪裡!?
啊...找到問題了!!
刪除原來通道範圍也可以設定,
把原本CH1-8改成9就好了!!
這個控真得很好玩, 怪自己英文不好要比較費時的摸索.
讚哦,多摸幾次就熟了~
刪除作者已經移除這則留言。
回覆刪除好奇怪不能在你其它網誌頁面留言...
回覆刪除留完過一下就不見了!!
好像系統真的怪怪的,mail 有收到通知,可是進來看不到內容,真怪!
回覆刪除不過 mail 通知的內容有你消失的留言,我有看到 "Range" 的使用說明 Youtube 了,感謝啦~~
最近還發現可以設定S1.S2旋鈕來控制音量,
刪除買了X9D+之後光玩遙控器就玩不完了,
這個坑跳得很值得!!
這支要玩到精通真的要很久很久.....................XDD
刪除我又要問問題了...
刪除因為翻滾跟無頭沒辦法同時使用,
要是我想要設定一個撥桿開關 "上" "中" "下" 來控制JJ1000的翻滾和無頭要怎麼設定呀?
暑假帶小孩外出旅遊,這幾天都不在家……XD
回覆刪除你是預計如何設?開關上=翻滾,下=無頭,中=無動作是嗎?
哈哈...你真是好爸爸。
刪除嗯...想用SA撥桿這樣設定但是效果都沒出來。
回覆刪除終於搞出來了...
回覆刪除我把他想得太複雜了
只要在INPUUTS頁面設定舵量-100(上 翻滾),舵量100(下 無頭) 就好了,
之前一直執著在SPECIAL FUNCTIONS頁面上面設定,效果一直指有無頭模式
這個控真得要精通得花很多時間...英文不好的話要花更多時間=.="
讚喔! 最近工作有點忙,沒啥時間玩,日後有問題還要向您請教了~~~^^
刪除您好,我想知道您面包板上面的LED是如何接的,程序裡面並沒有對LED的引腳作定義,能告訴我要接在哪裡嗎。謝謝了
回覆刪除原始程式中並沒有使用LED當作狀態指示燈,我是自己加入程式碼來做指示燈的用途,只要有空的接腳基本上都能用,不一定要用跟我一樣的接腳喔!
刪除好的,謝謝了。但是我還有個疑問,我用的是futaba的14SG,也想做這個模塊,現在做好了,燈也正常閃,但是我不知道futaba的PPM輸出通道順序,一直對不上手上的jjrc h36,請問有什麼辦法可以辨別PPM的輸出通道順序嗎?我現在好像ch5-12都對不上,ch12我設定了個會彈開關,但是撥了也沒有反應,並不能重新對頻。
刪除或者,大神您那個OLED版本的,程序可以共享一下不,我直接改用OLED可能會比較簡單
刪除很悲劇的是我的硬碟(SSD)在去年(2016)11月的時候整顆掛掉,所有資料都付諸流水.......Orz
刪除原來是這樣。那請問您知道futaba遙控的模擬器接口,輸出通道順序是什麼嗎?也是AETR嗎
刪除這裡有之前(2016年9月)備份的 OLED 程式碼,我不確定是不是最終版,你可以參考看看! http://www.mediafire.com/file/aa47p5f0fjm125g/nRF_OLED-12s.zip
刪除用 Arduino IDE開啟 nRF_OLED-12s.ino 這個程式!
刪除我現在不清楚futaba的模擬器接口輸出通道順序,所以不知道對應的切換協定有沒有錯,現在不知道為什麼,對不上JJRC H36,可能是輸出通道不對,協定切換到別的去了
回覆刪除我沒有Futaba遙控器,不過查了網路資料,Futaba應該是AETR沒錯!
刪除好的,謝謝。那有沒有什麼要改的,通道有沒有要反向的,中立點,行程要不要調?
刪除印象中應該是不用調整才對! 需要調整的是,如果你玩進階一點的四軸,用 Cleanflight/Betaflight 這類飛控韌體才需要調整!
刪除0.0"
刪除好的,十分感謝!我自己再研究看看吧,可能是程序或者哪裡出了問題
刪除對了,還有個問題忘記問您了。您是用哪個版本的arduino IDE燒錄的,用1.6.5的可以嗎
刪除記得arduion刷韌體的版本沒差...只有arduion nano的板子有差。
回覆刪除方便留个联系方式吗,想发一台遥控器给你帮忙测试下
回覆刪除忘记留邮箱了,我的邮箱地址:tinyspot@126.com
回覆刪除作者已經移除這則留言。
回覆刪除BK2423 有BANK0和BANK1如何处理?能否分享ARDUINO CODE?
回覆刪除