このブログでは、工作の記録、実験の結果や考察が散逸しないように専ら備忘録に使ってます。プログラムのソースや設計データ等は載せていませんが、詳しく知りたい方がおりましたらコメントいただければ対応します。

所有する主な測定器はこちらです。


2012年11月27日火曜日

Wiiリモコン互換のスーパーファミコンコントローラの製作

このごろiPhone/iPadで懐かしゲームを遊んでます。
やっぱアーケードゲームはMAME とか、SNES9xでスーファミとかできちゃうわけです。
でもiPadにはキーがありません。そこでタッチパッド上の指定部分にコントローラのボタンが浮かび、それを下の画像のようにタッチすることでコントロールします。
で、これがまた使いにくい、これでは楽しさ半減です。
特にiPhoneでは、もう、無理(笑。

この点はエミュレータ製作者側もよく考えていて、これら懐ゲームのエミュレータはWiiリモコンが使えます。iPad/iPhoneはブルーツースを内蔵し、Wiiリモコンも通信にブルーツースを使用しているからです。(MAME/androidも同じようにWiiリモコン使えるみたいです)


 実際にはこんな風に使ってます。
  
でもWiiリモコンはボタンがコントローラ上面下面に配置してあるので、無線化したとしてもコントローラ自体が使いにくいです。Aボタンが上面、Bボタンが下のトリガーじゃあ。。。

Wiiのユーザーさんにも、コントローラも昔の感じがいい!って思う人もいるみたいで、任天堂さんはWiiリモコンのオプションとしてクラッシックコントローラなるものを販売しています。このリモコンのケーブルをWiiリモコンにお尻に挿せばOKです。一応これで遊びやすくはなります。一 応 は、 ね 。 。 。
でも、でも、でも、せっかくブルーツースのリモコンにしたのに、またケーブル!ってな感じで不満です。これじゃあ外で遊ぶのに持ち運びが不便だし、なにしろカッコ悪い。もっとスマートにしたいわけです。

てなわけで、スーパーファミコンのコントローラをWiiリモコン互換に改造してしまえばいいよねとつながるわけです。(やっとか)

さっそく、スーパーファミコンのコントローラを入手します。懐かしいですね。やはりゲームコントローラの中でこいつが一番手に馴染むような気がします。
これからやりたいことを改めて書くと、ファミコンのコントローラをWiiリモコン化してしまえば、エミュレーターでスーパーファミコンコントローラが使えちゃうぜ、すげー みたいなことです。

先ほど書いたように、Wiiリモコンはブルーツースを使って無線通信しています。ブルーツース機能をスーパーファミコンのコントローラに入れるためには、Bluetoothの無線モジュールとコントロールするCPUを組み込まないといけませんが、このモジュールがクソ高い。たとえばこんなモジュールがありますが5千円以上、さすがに買えないなあ。

もっと安く仕上げるために、 この写真みたいなUSBドングルをマイコンにつなげることにしました。これならamazonでも1000円未満、アキバなら500円くらいで転がってます。しかもWii互換リモコンにするならEDRv2.0、飛距離が10m、値段も安いやつで十分です。

完成イメージは、こんな感じ。ファミコンのコードをぶっちぎって、そこにUSBドングルの頭がピョコンと出ているような感じにします。

ではこれを制御するマイコンはどうしましょう。USBドングルをコントロールするためにはUSBホスト機能が必要です。今回は16ビットのPICマイコンにUSBホスト内蔵のPIC24FJ64GB002という、省電力なマイコンで入手が比較的簡単なPICを使ってみます。
このPICに、USBスタック+Bluetoothスタック+コントローラ信号処理を組み合わせた独自ファームを書き込みます。下の写真はバラックテストの風景です。
うまく動くようになったところで、そろそろコントローラをバラしてみましょう。
ミツミの基板が出てきました。
さて、このファミコンコントローラの隙間にコントロール基板を内蔵させます。下の写真のようなコントロール基板を設計し、いつもの格安基板屋FUSIONに基板を作ってもらいました。

所謂無線リモコンを作るので、やはりバッテリー内蔵でやるべきでしょう。今回はリチウムイオンポリマー電池を使いました。

Wiiリモコンと同じような4つの青LED(写真の左下部分)を付け、USBで充電&Firm書き換え可能、バッテリー搭載の基板を設計しました。ミツミの基板の端子穴にあわせて設計基板にもランドを作ってあるので、ミツミ基板に重ねてジャンパーを通せば接続OKです。

省電力設計なので、満充電で2−3時間は使えます。
これをいつもの基板屋FUSIONに出しました。

部品を手半田で実装し、先ほどのミツミの基板の裏にくっつけます。電池下部の5ピンのコントローラ端子を2枚の基板を貫通するようにハンダ付けします。

コントローラのケースに入れると写真のようにぴったりに入りました。隙間みっちりです(笑。裏蓋はLED用の穴をあけ、LEDの光を導くためにアクリル棒を入れてあります。

というわけで、このように出来上がりました。
裏から見ると、左下に青LED用の穴が4つ、中央に充電LED用に穴が1つ見えます。

このコントローラでさっそく遊んでみました。懐かしのアーケードゲームの1943です。操作性バッチリです。

スーファミだとスーパーボンバーマンが最大5人で遊べます。ちゃんとコントローラ5台が同時に使えるのか検証するため、5コントローラのリンクアップ動画を撮ってみました。

iPadの画面サイズでもいいんですが、おうちで遊ぶときは外部モニタに出力させて遊んで見るのも楽しいです。プロジェクターで投影するのもアリでしょう。
やはりケーブルが無いのはとてもスマートで良い感じです。

注)ROMダウンロードは違法です。このblogで遊んでるゲームデータは全て手持ちのカセットから吸い出したものです。

応援クリックをお願いします!

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村 電子工作ランキング

2011年10月31日月曜日

トラッキングジェネレータ(5)

いよいよトラジェネの組み立てを行います。
まず、226.42MHzの発振器の出力を増幅し、余分な信号を除去し、可変アッテネータで出力調整を行います。
226.42MHzの発振器は以前作りました。こんなやつです。
この発振器の信号を増幅し、余分な信号を除去し、可変アッテネータで出力調整を行うのも、このblogで製作した自作回路です。
この3つの回路(アンプ、フィルター、可変アッテネータ)を別々のシールドケースに入れるのもアレなので、適当なシールドケースに収めて1つのユニットにしたいなあと考えていました。
ちょうど、今年のハムフェアでジャンクのシールドケースをゲットしていたので、 これを使いましょう。
ゲットしたシールドケースは、両端にSMAコネクタが生えているケースですが、位置がずれて取り付けられています。なので、基板も写真のように斜めに取り付けてみました。
3つの基板が直線状に繋がっていて、左が増幅回路、真中がフィルター、右がPINダイオードのアッテネータです。
蓋を入れた全体図はこんな感じです。
アンプ用の電源が8V、PINダイオードのアッテネータは+5Vと、1-11Vの可変電源が必要です。貫通コンデンサをケースに取り付けて、電源を入力します。

とりあえず、今日はここまでにします。
次回に続きます。



応援クリックをお願いします!

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村 電子工作ランキング

2011年10月26日水曜日

LCフィルタの設計(3)

前回、Nuhertz社のLCフィルター計算ソフトを使って、BPFを設計し実際に作ってみました。
まず下が回路図です。
これをフィルター実験用基板に実装しました。

今回はコネクターを取り付けずに、下の写真のような高周波用の治具を使いました。
ギガホルダーといって、基板端部にSMAコネクタを水平にし半田付けをせずに接触させて使う同軸コンタクターです。
さてこれで周波数特性を測定してみます。100MHzから300MHzまでをスイープして減衰率を測定します。
このような特性のフィルターができました。
やはり、集中定数で構築すると寄与成分が影響して理論通りにはいかないものです。
今回は高調波を落とすだけなので、これでよしとします。

さて、今回まででトラジェネ製作に足りなかった、広帯域アンプ、フィルター、可変アッテネータがすべて揃いました。
これでやっとトラジェネを組み立てられるようになります。

実際には内部のコンポーネンツがいろいろな電源を必要とするので、電源周りから作っていくことになりますが、次回からやっとトラジェネ組み立てです。



応援クリックをお願いします!

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村 電子工作ランキング

2011年10月23日日曜日

LCフィルタの設計(2)

設計に使ったNuhertz社のLCフィルター計算ソフトですが、製品版のFilterSolutionには使用するインダクタを統一してくれる便利な機能があります。コンデンサに比べインダクターは種類が少ないのでかなり助かります。
これを使って前回の回路を作り直してみました。
よく使う定数で構成されてよさそうです。
特性グラフもよさそうです。ではこれを電磁解析してみます。

こっちのほうが前回よりよさそうです。というわけでこっちにしましょう。



応援クリックをお願いします!

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村 電子工作ランキング

2011年10月22日土曜日

LCフィルタの設計(1)

前回、アンプの基板を作った際、割り付けで余ったスペースにLCフィルタを作れるようにパターンを作りました。
こんな感じの基板です。この基板に適切なインダクタとコンデンサを組み合わせてフィルターを作るんですが、さてどのように設計しましょうか?

このリンク先のページにも解説されていますが、1rad/sec、インピーダンス1Ωで正規化されている係数表を使って目的の遮断周波数などに変換してあげればよいのです。

でも、かなりめんどくさいです。


なので、フィルターの条件(遮断周波数、減衰量、段数など)と、フィルタの種類(LPF,HPF,BPF等)、あとは係数表の種類(バターワース、チェビチェフ等)を入れると自動的にフィルタの定数を決めてくれるツールがあるといいですね。

インターネット上にはオンラインで計算してくれるページがあって、これとかこれとかこれとか使えます。
オフラインツールもいくつかありますが、Nuhertz社LCフィルター計算ソフトなんか特におすすめです。無償版の"Filter Free"は段数が3段までに制限されていますが、実用的にはそれくらいで十分というのがほとんどでしょう。

ではここから実際に設計していきましょう。作るのはトラジェネの発振器から出力される226.42MHzの信号に混ざっている不要な信号です。ほとんどがVCOからのノイズや高調波です。こいつを除去します。
  1. フィルタはバンドパスフィルター(BPF)とします。
  2. n倍高調波が見られます。なので、それほど急峻な特性を持っていないバターワース・フィルターでもいけそうです。
  3. 通過する中心周波数は230MHz、帯域幅は100MHzとします。
  4. フィルターの段数は3段としました。
  5. 入出力インピーダンスは50Ω
  6. π型の素子構成
 ツールはこんな感じで入力します。

こんな感じで、結果が回路図で出てきます。

またAWR高周波シミュレータを持っていると、左側のEXPORTというところに「AWR Direct」というリンクが出来ます。これを選ぶと自動的にデータがAWRに転送され、回路解析して波形を表示してくれます。
実際には、こんなふうに回路図を作ってくれて
波形をだしてくれます。

でもよく回路図を見てみると、15.04nHとか31.83pFとか実際の部品にはない値です。これを実際に売っている系列数値に直してもう一度波形をみないといけません。しかも部品箱を見たら160nHが無くて150nHを使うことにしました。
AWRに転送された回路図の定数を15nH、33pF、150nH、3pFに変更して、もう一度解析し波形をだしてみました。
すこし波形が崩れてしまいましたが大丈夫そうです。

ちなみに、このNuhertz社のLCフィルター計算ソフトですが製品版のFilterSolutionだと系列の一番近い定数に自動的になおしてくれる機能もあります。
青字が修正されたところです。 自分の手持ち部品リストも登録できるので便利です。
また、特性グラフも書いてくれます。
こんな感じで出てくるので、フィルタ特性の概要を見るにはよいでしょう。
次に、この回路を実際に基板に乗せるために、電磁解析シミュレーターで解析してみます。
 いつもの通り、こんな感じで基板に配置してみます。
さてシミュレーションの結果はAWRシミュレーションの結果と同じでした。
次回はこのフィルタを作って性能を見てみましょう。

本来なら、ネットワークアナライザやトラジェネがあればこういうフィルタの評価は簡単になるのですが、これができないとトラジェネができないということなので仕方ありません。SGとスペアナで測定してみます。



応援クリックをお願いします!

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村 電子工作ランキング