MEDさんとの会話でOpenStickを無線化できないかという話題が出ました。そこでまずはTWE-Liteを使ったお手軽方式で 試してみました。TWE-Liteという無線モジュールは以前はTOCOS(東京コスモス電機)から出ていたのですが、今は独立したモノワイヤレスという会社になっています。
構想
TWE-Liteの出荷時に書き込まれている標準アプリでは、例えば2点間を接続したとすると、一方の4本のアナログ入力をそのまま相手の4本のアナログ出力(PWM)として、また4本のデジタル入力をそのまま相手のデジタル出力として伝える機能があります。これを利用してジョイスティックの可変抵抗やボタンとOpenStickとの間にTWE-Liteを挿入する感じでやってみます。
実験開始
ジャンクから外したジョイスティック(可変抵抗)及びボタンを左側のTWE-Liteにつなぎ、右側のTWE-LiteをPIC18F14K50に接続します。PIC18F14K50はOpenStickLiteによりジョイステックとして設定してあります。
要は普通にUSBジョイスティックを構成しておいて可変抵抗やボタンの配線にTWE-Liteを割り込ませただけです。
TWE-LiteのPWM周波数設定はデフォルトの1KHzから64KHzに変更しておきました。
なおTWE-Liteの動作電圧は3.3VなのでPIC18F14K50も3.3Vで動作させています。 これはソフト的には何も変えず単に電圧を変えただけです。
電源は写真には写っていませんが安定化電源から3.3Vを供給しています。TWE-Lite2個とPIC18F14K50は全て共通の電源で動作し信号だけが電波で飛んでいる形です。
結果
これでとりあえずは動作するのですが下の問題がありました。
- 反応が遅い。
目で見てわかる程度の遅延があります。フライトシミュレータで使う程度なら気になりませんがシューティングゲームの様な速い動きだと 影響が大きいと思われます。 - アナログ軸の中心が大きくずれる。
これはTWE-LiteのA/D変換はフルスケールが1.5V程度である為です(設定変更で1.8Vフルスケールにもできる様ですが大きな違いはなさそうなので試していません)。
中心位置のずれは可変抵抗に入れる電圧を落とせば問題ありませんが、反応が遅いのは用途によっては致命的です。 設定を色々といじくってみたのですが大きくは変わりませんでした。
まだ何か方法があるのかもしれませんが、TWE-Lite以外の方法も考えて見ようと思います。
こんにちは。ぽんです。
openstickの無線化、いいですね〜
先日、頂いたopenstick Liteはすでに部品取付まで出来たのですが、アナログスティックの接続で悩んでいるうちに、レーザー加工機の改良に夢中になり、一時休止中です。(笑)
無線化はケーブル多くて困っていら私としては、とても期待していますので、上手く行きましたら、ぜひウチのレーザー加工機にも、導入させて頂きたいです。
ちなみにウチのレーザー加工機は、脱調が発生していましたが、レーザー電源のON-OFFに連動していましたので、電源をアース接地したら改善しました。
とりあえず、アクリル、木材、皮革の彫刻と、アクリルの切断は出来ましたが、まだ、改良箇所が沢山です。
ぼんさん、こんばんは。
TWE-Liteで簡単にできるかなーと思ったんですが、実際やると色々ありますね。対策を色々考えているところなので、上手くいったらまた報告しますね。
脱調の件ですがモータードライバにノイズが載っていたのかもしれませんね。私もレーザーが結構ノイズを出している感触を持っていて、先日作ったジョイスティックを近くに置くと誤動作するので今のところ離して置いていたりします(USBケーブル拾っているのかもしれません)。
こんにちは。ぽんです。例の青いレーザー電源の、FG端子を窓枠からアース取ったら、脱調直りましたね。
レーザー電源とArduinoの接点はPWMだけなので、間違いないと思いました。多分、オシロで見れば分かったかも知れませんが、直ったので良しとしました。(笑)
窓枠アースですか。しびれない様に注意してくださいね。
(といいつつウチの加工機のFGはオープンのままですが)