電子パーツは休日や会社帰りに秋葉原で抵抗やらコンデンサを1つずつ選んでいた時代もあったのだが。最近は街の雰囲気もガラッと変わり、パーツの小売店も減ったりしてるし、わざわざ出かけるのもなぁ・・と躊躇することも。
Nゲージレイアウト・TOMIXポイントマシンの制御
製作中のNゲージ固定式レイアウト。
マイコンでポイントの転換を制御して進路を構成する予定。
フレキシブルレールを使ったポイントの転換はマイコン制御のサーボモーターで転換するが、一か所だけTOMIXポイントマシンを使用する部分がある。
このポイントもマイコンで制御しなくちゃ。
レイアウトのレール、ポイントは今は無きシノハラのものをストックしてある。
このシノハラのポイントを実際のポイントのようにゆっくりと切り替わる スローアクションのポイントマシンとして作ってきた。
レイアウトのポイントはマイコンで転換の制御ができることも前提である。
当初はタミヤのギヤーボックス、続いてはステッピングモーターを使うことなどを検討して試作していたが、あまりにも時間が経ちすぎた。
・・・サーボモーターが1個あたり300円弱で入手できるようになっていた。
じゃ、サーボモーター使って作り直した方がいいじゃん、となって作り直した。
ステッピングモーターを使うより、はるかに単純で安価なものに仕上がった。
残るは1か所あるTOMIXのポイントマシンである。
レイアウト下段からレイアウト上段に駆け登るここにTOMIXのレールを使用したのでポイントもTOMIXのものを使用している。
このポイントマシンもマイコンで制御するようにしなくちゃ。
TOMIXポイントマシンの制御
まず、TOMIXの切り替えスイッチを使用せずにポイントを切り替えるには、ポイントの横っちょについているコイルになんとかして電流を流せば良い。
現在の製品は、このコイルへは2線の配線がなされており、一方の配線を+、もう一方を-として通電すればポイントはある方向に切り替わる。
この極性を反対にして通電すればポイントは反対に切り替わる。
肝心なのは、ずっと通電し続けるとコイルが焼損するということ。
つまり、瞬間的に印加して、ポイントが切り替わったらすぐに電圧を遮断してコイルを保護すること。
ネットで調べれば電解コンデンサなどを利用している例が見られる。
・・が、アタイはマイコンで制御しやすいかなぁ?と思ってDCモータ用フルブリッジドライバ「TA7291P」を使用することにした。
これはワールド工芸のディスプレー用ターンテーブルを可動式に加工した時にも使用したものでもある。
左側の白いコネクタの右にある黒い板状の物の上に穴の開いた銀色の板がついているのが「TA7291P」。
青い押しボタンは定位への切り替えボタン、赤い押しボタンは反位への切り替えボタン。
本来は進路制御の親玉であるRaspberryPIや上位のマイコンからI2C経由のコマンドで切り替えを指示するが、全部の機器の電源が入って正しく動作しないとポイントが切り替わらないというのでは困るので、このボタンで強制的に切り替えられるようにしてある。
この基板上のボタンはデバッグ用。
これは、レイアウト側面に取り付けるハンガー。
基板はこんな感じで取り付けた。
レイアウト側面のハンガー表面にもポイント切り替えのスイッチを配置し、定位/反位のどちらに開通しているのかを示すLEDも設置した。
TA7291P
TOMIXのポイントマシンを転換するには、モーターの回転を切り替えるのと同じように配線に加える+/-の極性を反転させればよい。
今回はそれを反転させるためにこのTA7291Pを使用している。
2つある入力端子に加える制御用電圧の組み合わせを変更することで、2つある出力端子から出る電圧の状態が変わることになる。
in1 – 0 in2 – 0 : OUT1∞ OUT2:∞ ストップ
in1 – 1 in2 – 0 : OUT1:HI OUT2:LO 回転
in1 – 0 in2 – 1 : OUT1:LO OUT2:HI 逆回転
in1 – 1 in2 – 1 : OUT1:LO OUT2:LO ブレーキ
TA7291Pへの入力はマイコンから行い、出力をポイントマシンへの入力とする。
TA7291Pへのパラメータ(制御用)としては3.5Vが以上必要である。
また、TOMIXポイントのコイルへの給電は12V以上が必要であるため、TA7291Pからの出力は12Vとした。
PIC16F1823
14ピンのマイコン。
I2Cが使用でき、制御の親玉であるRaspberry PIや他のマイコンからコマンドでTA7291Pを制御する。
TA7291Pの制御が3.5V以上必要なため、このマイコンの回路も5Vとしている。
制御は極めて簡単で、RC4とRC5のポートをTA7291Pの入力ポートに接続し、マスター側のマイコンからの指示によってRC4とRC5のポートの出力を変えるだけ。
問題は、ずっとTA7291Pからの出力がONになっているとポイントのコイルが焼損するということ。
PIC16F1823からの出力を短時間で押さえ、ポイントが切り替わったら速やかにコイルへの印加をやめる事。
ちなみに、ポイントが切り替わったかの判定等を行おうとするとやっかいなので、コイルに印加したらポイントは切り替わったと・・勝手に判断する仕様。
(^^;
試してみたところ、50msecほど印加するとポイントは切り替わるみたい。
なので、プログラムとしては単純に印加して50msec待って電圧を遮断する。
RC4 = 0; // モータードライバ起動
__delay_ms(50); // この間、コイルに印加
RC4 = 1; // プレーキ状態に戻す
「__delay_ms(50);」のところにバグがあって電圧がかかったままになるとコイルは焼損します・・