2010年1月6日水曜日

アクセサリデコーダの製作 その3

昨日、まとまった時間がとれたので、一気に完成させました。回路は前回から少し変わっています。

Lemaco のスローアクションポイントマシンは、ポイントのてこを動かすパーツをモーターでスライドします。一定距離動いた後、マシン内部のスイッチを押す構造になっていて、物理的に電源が切れるようになっています。ですので、正常動作しているうちは、電流は流しっぱなしでよいのですが、マシンの不調で転換途中で停止した場合は、モーターを焼損する可能性があります。そこで、モーターの BEMF 電圧を監視して、モーターが停止した場合は電流を止める機能を追加しました。また、ポイントの開通方向が分からないので、既に開通済みの方向へ再度転換しようとした場合 (つまりモーターが回らない場合) も、電流を止める機能を追加しました。念には念を入れて、タイムアウトによる強制断の機能もあります。

回路図には調整箇所が 2箇所 (VR1, VR2) あって、実際に使うには結構面倒です。まず、VR2 で、ポイントマシンにかける電圧を決めます。転換速度に影響するので、お好みで C2 の電圧が +8.5 〜 12V 程度になるように調整します。次に、ポイントマシンを動作させ、 PIC の RA1 (18pin) と GND (5pin) 間の電圧を、モーターが回転中に測ります。この電圧より、やや高い (+0.2V 程度) 電圧が PIC の RA2 (1pin) とGND (5pin) 間に印加されるように、VR1 を調整します。VR1 の調整はシビアなので、高回転型の可変抵抗器が必要です。こういうのはダメです。

ソフトウェア的には、タイムアウトの時間などを少し調整する必要があります。ポイントマシンの個体差に起因するので、この辺が限界です。nucky さんが作成したプログラムには、DCCパケットの受信のために、PIC マイコンの動作速度の誤差を吸収するパラメタがあるのですが、私の作成したものは、あらかじめ誤差を考慮の上で受信するので、こちらは調整不要です。

実際に使う上では、ややハードルが高いように思います。ソフトウェアは要望が多ければ公開します。BEMF なしバージョン (時間管理のみ) ならば、割と簡単に使えるかもしれません。