しゅみ

AVRでM.S.B.S.

AVRの目標2が実現。電飾ライデンの制御に使ったものです。去年の春には書いておいたけどすっかり忘れていた!20100116up。

PWMのお勉強

作りたいのはバーチャロイドの発光ポインツの明滅回路。長谷フェイの時にはトランジスタのみのアナログ回路で作りましたが、オラタンというかM.S.B.S.5.xは色々とややこしくてアナログ回路での実現は大変にメンドウです。一気にマイコン制御まで習得してしまいましょう。マイコンにおいて細かくLEDの照度を調整するためにはPWMなる技術を使用します。Pulse Width Modulation。電源ON/OFFを高速で入れ替え、ONとOFFの割合を調整する事で動作をコントロールする技術とな。詳しくはグーグル先生かゲイツに聞いてください。

プログラム的に考えないとです

とりあえずバーチャロイド的に明滅さえしてくれりゃいいんですが、漠然と考えていていもAVRが働いてくれる訳でもありません。点灯させる、消灯させるなどのステップに分けないといけません。すなわちVR明滅シークエンスを要素に分解し、実行可能なステップの積み重ねとして考える。

電源を繋ぐと交互発光するだけでも良いのですが、ちょっとロボ的なパターンを作ってみます。ほら、起動すると目が光るアレ。というわけで下の様な構成を考えました。

1. 起動シークエンス(ゲーム中ムービーなどでは起動時に全点灯するっぽいので、まあイメージとして。)
・全ての発光ポインツが点灯
・ドリームキャストを残して消灯
・バイザー下部が点灯(ここで点灯してないと交互発光ルーチンにスムーズにつながりません。)

2. 交互発光(交互発光を繰り返す。飽きない程度の時間繰り返す。)
・バイザー下部点灯、発光ポインツ消灯状態
・点灯/消灯移行
・バイザー下部消灯、発光ポインツ点灯状態
・点灯/消灯移行

3. 消灯シークエンス(電源オフ、終了処理のイメージ)
・バイザー下部、発光ポインツがすべて点灯
・全ての発光部がゆっくりと消灯。電源オフのイメージ。
・ちょっと間を置いて1に戻る。

これらのステップのうち、点灯/消灯が移行する部分にPWMを使用します。二つの点灯パターンのフェーズを入れ替えさせるわけです。

興味がある方はプログラム(文字コードUTF-8)を見てください。知識のある方、変なところがあったら教えてくださいまし。

回路

○

ライデン本体に内蔵しているのはLEDとCRDのみ。それを足裏のコネクタに接続しています。回路図の右上部分。LEDが一杯あるところの数はテキトーです。信用しないで!

さて、ライデン製作開始当初はAVRの使用を想定していなかったためにLEDのユニットが5Vでは動作させられません。CRD + LED x2が直列で接続されているため、5Vでは電圧が不足なのです。よってAVRから出る出力信号は電圧的にも電流的にもそのままでは使えません。電源として12VのACアダプタを使いこれをトランジスタで導いてLEDを駆動します。また、そのACアダプタからの12Vを3端子レギュレータ7805で5Vに落としてAVRの電源とします。要はAVRからの信号をトランジスタで増幅してLEDをドライブするわけです。

5V電源が左上部分。そこで出来た5VとGNDをAVRにつないで、あとは信号線のPB1-3がAVRの使う足の全て。20ピンもありますけど大して使いません。AVRのキャパシティに対して大した事はやってないって事ですね!よって誰にでもできる。うむ。

右下部分の増幅回路も教科書通りな感じのシンプルなもの。抵抗は割と適当。現物合わせで決めた!動くからこれでいいのだ。本当はちゃんと計算した方がいいと思います。ハイ。3系統のうち、PB3だけ抵抗の値が小さいのは、ここだけLEDが多くて大電流を必要とするからですよ。

次の目標

バーチャロンは大きく分けて初代、オラタン、フォース系と3つに分かれています。実はこの3つ全てでバーチャロイドの発光ポインツの明滅パターンが異なっています。ゲーム内設定的にはM.S.B.Sのバージョンの違いって事なのかもしれません。初代はバイザー下部は発光しません。発光サイクルは0.56sec/cycle。オラタンはバイザー下部およびツインアイを除く発光ポインツ群が同調発光。約1sec/cycleで明滅し、発光ポインツ群とバイザー下部が交互に発光します。ツインアイはたまに短く2回消灯します(サイクル未確認)。マーズではバイザー下部、ツインアイを含む全ての発光ポインツが同調して約1.34sec/cycleで明滅。初代はPS2、オラタンはDCで確認。アーケード版は未確認。

以下、例外。バル・バス・バウの後部スリット群のみ明滅速度が速い?(コンポジット入力で画質が悪く、スリット幅が狭いので干渉で速く見えている可能性あり。)5.xで、かつツインアイを持たないヴァーチャロイドの中でボック系のみがバイザー上下同調発光。

以上をふまえた上で、これから色々とやってみたいですね。