AZ-GTi ヌンチャクアダプター製作記(ハード編)

グリグリと動かすAZ-GTiの操作感を求めて製作した、"ヌンチャクアダプター"の製作記(ハード編)です。プレゼント企画は「最大2台」としましたが、手慣れてくると1台目よりはずいぶん手早く製作出来ましたので、もう少し台数多めで出せるかもしれません。引き続き応募をお待ちしております。
 動作のためには中身のマイコン用ソフト(ファームウェア)も必要ですが、こちらもほどなくソースと共に公開していくつもりです。マイコンはちまちまとプログラミングできるのが楽しいところです。
ヌンチャクアダプターの2号機(左)
初号機(右)よりも小さく収まりが良くなりました

 任天堂のゲーム機Wii用のジョイスティック「ヌンチャク」でAZ-GTiを動かす試みは一応上手くは行ったのですが、「bluetoothでスマホと繋げば操作できる」との情報もあり、一般向けにはその方がイイかもしれません。
 とはいえ、こちらもまあせっかく作ったので、プログラマブルなマイコンならではの緻密な制御と、特殊機能の搭載まではやってみようかと思っております。

 今回は、そのハードの製作記です。ド素人工作ゆえ難しくはありませんが面倒くさいので、ご注意ください。
※「作り方」ではありません。あくまでも個人的な体験を備忘録として記事にしたものです。また、記事中に誤りがある場合もありますので、これを判断できない方は安易に手を出すべきではありません。私自身、AZ-GTiの制御基板を1枚ぶっ壊してます(苦笑)。

■ 基板サイズとケーシング
 実はこのヌンチャクアダプターで一番工夫したのは、サイズでした。なるべくカッコいいケースに納めたかったのです。
 電子工作の箱の定番はタカチのアルミ板金ケースなのですが、いかんせん自作風味が強くなりがちなのに加え、コの字の薄いアルミ板金は電動器具での工作が厄介で、特に小さなケースではいろいろと困難が大きかったのでした。
 そこで色々探して辿り着いたのが、写真の細長い中華アルミケース(1個220円、送料入れても350円くらい)だったのです。中華式の電子機器シャシー(エンクロージャ)は、肉厚のアルミ押し出し材を適当に切ってフタを付属させるというものが多いのですが、剛性が滅法高くて加工し易いのがミソです。
 もちろん大切なのはカッコなのですが、アルマイト仕上げのこの筐体は、値段にそぐわず質感十分です。

 このケースに納めるには基板が十分小さいことが必要で、Arduino nanoマイコンがギリギリくらいのサイズです。
 そういうわけで、使用するガラエポ基板もこのサイズに切り出して使うことにしたのでした。(ルーターの先にそれ用の薄刃丸鋸をつけて切り出しました。カッターで切れ目を入れて割る方法もありますが、基板の種類によっては厳しい場合もあります。いずれもけっこう面倒な作業です。)

なかなかの質感のアルミケースです
このケースに収めるために、基板を小さくカットしました
(この他、黒も注文中です)
 

■ 電源回路
 自作の基板の主な機能は、入出力コネクタピンの配置と電源です。その他、ブザーもこの基板上に配置しました。
 AZ-GTiのモジュラージャックには架台用の電源がそのまま来ていますので、概ね12Vです。したがって、マイコン動作に使う+5Vを作っておく必要があり、一般的な3端子レギュレータで低電圧を作ります。レギュレータはNJM7805とかLM2940とか家庭に常備しているようなものでも良いのですが、今回はサイズの制約から0.5AのTA48M05Fを選択しています。
 発振防止用のセラミックコンデンサと、電源安定化用の電解コンデンサをつけて電源回路は完成です。レギュレータの背面はGNDと導通しているので、基板のスルーホールとの接触には注意します。
 なお、電源基板には、安全のために12Vラインからの入力にポリスイッチをつけています。所定の電流で遮断される、自動復帰型のヒューズです。

電源&入出力基板です
 

■ マイコンとの接続
 マイコンには、Arduino nanoの互換品(250円くらい)を用います。これを電源回路基板の上にかぶせるようにして実装します。基板上に実装したブザーと音量調整の抵抗100Ωを介してD13ピンに接続します。

 ヌンチャクとの接続はGNDのほか、3.3Vの電源と2つの信号線で行います。3.3Vの電源は、Arduino nano基板が内蔵しているレギュレータによって 3.3Vが出ていますので、ここから取ります。ヌンチャクはI2C通信なるシリアル通信にてデータをやりとりしますが、このやり取りを行うプログラムの都合で A4, A5ピンをこれと接続します。A5をヌンチャクのクロックピン(SCL)に、A4をデータピン(SDA)に接続します。

 AZ-GTiとの接続はシリアル通信なのですが、信号レベルが0-3.3Vp-pなので、信号レベルを変換する回路を用います。もっと安上がりにする方法もあるのですが、面倒くさいので250円ほどで売っている変換基板を使うことにしました。
 マイコンの通信ポートは「Tx」「Rx」を使い、それぞれレベル変換基板を介してAZ-GTiの Rx/Tx と接続します。

マイコンのピンとの接続 (レベル変換基板は両面テープでCPUの上に止めます)
 

■ コネクタ、ケーブル類
 ヌンチャクとの接続コネクタは、市販の"Wiiコネクタ"を用います。基板取付け用になっていますので、基板を切り出してそこに半田付けして、ケーブルの被覆に結束バンドでしっかりと固定しています(引っ張っても半田付けの箇所にテンションがかからないように)。なお、このコネクタのピンピッチは2mmですので、そういう基板でないと取り付けられません。ピンアサインはネットなどを調べますと情報が出てきます。

Wii コネクタとケーブルとの接続
 
 AZ-GTi との間は、電話線などに用いられるRJ-11コネクタ(6極4芯)で接続します。ピンアサインは AG-GTiのマニュアルに掲載されています。(注意:12Vの電源がいきなり来ていますので、誤配線は故障の原因になります

 ケースには、穴をあけてケーブルを通しますが、ゴムブッシュ(グロメット)とつけるとそれっぽくなります。
 ケーブルの抜け止めには、やはり結束バンドを使います。ケースの内側にあるケーブルに結束バンドをしっかり巻き付けて、ゴムブッシュで引っかかるようにして抜け止めにします。ケーブルが引っ張られても配線にテンションがかからないようにしています。

ケースの孔にはゴムブッシュをつけて抜け止め処理をします
(Wiiコネクタ部分は熱収縮チューブで覆っています)

・・・と、このように、ハードの製作自体は大した工作ではありません。安いマイコンと周辺部品で出来上がってしまいますが、問題はソフトウェア、ということで、次回のソフト編までには少しソフトをまともにしておこうと思います。

にほんブログ村 科学ブログ 天文学・天体観測・宇宙科学へ





コメント

nekomeshi312 さんの投稿…
こんにちわ。前回のオープン双天会で拝見させていただきました。AZのシリアルコマンドのどちらを使ったかを質問させていただいた者です。高機能な方が使えないとは知りませんでした。

でもよくできていますね。素晴らしい。
リピートで作るならプリント基板を作ってしまう、のもありですね。中国とかだとかなり安く作れてしまいます。手で配線も不要なので楽ですね。

自分はあんまりアイデアが湧く方ではないので、どんなアイデアが出てくるか楽しみにしています。
Lambda さんの投稿…
nekomeshi312さん、コメントありがとうございます!
オープン双天会では、お世話になりました。

そうなんです、今の有線接続だけでは、上位のコマンド群が使えないんです(悲)。
アダプターのバージョン2は、これができるように WiFiと優先のダブル接続かもしれません(笑)

プリント基板、楽そうでいいですね。
更に量産需要が高まれば・・・どこかで量産される方が現れるかも(!?)です。
Nao さんの投稿…
初めまして。
私も全く同じことを考えまして、Wii用ヌンチャクを改造しました。
http://az-nunchuk.fun/
売ろうかとも思ったのですが、任天堂製品を改造して売るのは意匠権侵害になるとのことで、やめてしまいました(笑)。
私の場合はヌンチャク内にArduino Pro Miniを押し込んで、コネクタはモジュラコネクタに付け替えました。
同じことをしている方がいて嬉しいです。
Nao さんの投稿…
AZ-Nunchukを作っておいて今更なのですが、
「望遠鏡を覗きながらスマホアプリの操作がむつかしい」については、
取外し自在の透明なクッションゴムが、単純ですがヌンチャクと同じくらい使いやすかったです。
https://photos.app.goo.gl/d9BcabqLHeP9uYiS6
Lambda さんの投稿…
Nao様,

コメントありがとうございます!
なんとAZ-Nunchuckの元祖な方からコメントいただけるとは思っておりませんでした。
(勝手ながら、こちら https://m-lambda.blogspot.com/2020/06/az-gti.html の記事中にて紹介させていただいておりました)

そしてなんと、Arduino に "pro mini" なる超小型版があったのですね。
初めて知りました。これであれば、ヌンチャク本体への内蔵も出来そうです。

そして液晶への貼り付けゴム、これは素晴らしいですね!
私も、ボタンの位置をくり抜いたプラ板を作ろうかと思っていたのですが、スマホ機種ごとに違ってしまいそうだなあ、というところで構想どまりでした。
1個の貼り付けで汎用的に使える、というのが素晴らしいです。

ヌンチャクアダプタの方は、プログラミング可能な点が面白いと思っています。
頂いているアイデアを実装して、実用的なものに仕上げてみたいと思っております。
Nao さんの投稿…
Lambdaさん
お返事ありがとうございます。

まさに同じ苦労をされたようで(苦笑)、ぜひいろいろと情報交換させて頂きたいです!

小さいマイコンはいろいろ試してみましたが、一番小さいのはATTiny85という親指サイズのがありました。これはI2Cも使えてよかったのですが、プログラム容量が小さすぎてSkyWatcherのモータープロトコルを書いてたら足りなくなってしまいました(笑)

次にNanoを使ったのですが、少々長くて筐体の内側を削らないと入らなかったです。
最後にたどり着いたのがPro Miniでした。

ちなみに、nanoも含め、上記3機種は12Vで動くので、電源回路は不要です。あとAZ GTiのシリアルは5Vでも通信できるので、レベル変換も要らないと思います。もし気になるようであれば、ProMiniには5V版と3.3V版というのを使うとIOはすべて3.3Vです。
ですので、3.3V版のPro Miniであれば、それで完結します。私はProMini 5V版に直接ヌンチャク、AZ GTi、ブザーを直ハンダ付けしてます。


後、コントローラーポート(ヌンチャク)からのコマンドと、SyncScapアプリからのコマンドがバッティングすると、まれにAZ GTiが固まってしまいます。どちらもモーターコマンドですので。SyncScanアプリは普段は操作時以外はコマンドを送ってないのですが、経緯台モードで追尾をONにしていると、ずっとコマンドを送り続けるようで、そのときにコントローラからコマンドを送るとまずいです。もちろん先に問い合わせてBusyだと送らないようにしてるのですが、タイミング的になかなか難しいようです。


後でTwitter等でメッセージさせていただきます。

今後ともよろしくお願いいたします!
Lambda さんの投稿…
Naoさん、ご返信ありがとうございます!
こちらこそ、ぜひ色々と情報交換させてください。

マイコンは様々なものがあるようですね。
私はこれまでにマイコン自体を扱った経験が殆どなく、しかもこの令和の時代にどんなものがあるかも知らずに、駄菓子みたいな値段につられて衝動的に買ってしまっておりました(苦笑)。

大きさもそうなのですが、いまちょっと気になっているのが、ESP-WROOM02です。
WIFIもいけるので、より高度なことができるかも(?)などと妄想しておりましたが、より大きなケースが必要で、二の足を踏んでいます。

そして、マイコン側の電源、レギュレータが意外と汎用性高いのですね。
通信は私も当初5V直結していて、うまくいかなかった(別の原因かもしれない)ので、マヌケにも最初MAX232で12Vを作り、しかも迂闊にもちょっとONのまま放置してしまってAZ-GTiの基板をおかしくしてしまいました。
で、今はおとなしく変換基板を使っておりますが、要らないのかもしれませんね。
マイコン自体を3.3V化してしまえば、なおのこと不要ですね!

コマンドのバッティングは、ヌンチャクでは経験していませんが、PCとスマホの両方からAZ-GTiを動かしたときに経験しました。
シリアル通信がトロいので、BUSYを問い合わせてOKでも、次の瞬間にダメな場合があるのかもしれません。そんなに激しくスマホと通信している印象はなかったのですが、よく調べてみないといけないですね。


・・・そういうわけで、今後とも、いろいろ情報交換できればと思います。
引き続きよろしくお願いいたします。
Nao さんの投稿…
lambdaさん、私もヌンチャク製作方法とGithubにコードをアップしました。
他人様にお見せできるようなコードではないのですが(苦笑)

https://twitter.com/naokiueda/status/1301425812139196416?s=20
Lambda さんの投稿…
Naoさん、コメントありがとうございます!
そして、製作記、拝見しました。

やはり基盤が小さいとスマートに実装出来ていいですね。美しいです。