HOME >> 鉄道模型自動運転システム > 新ATSに挑戦 信号回路のチェック
■ はじめに
なんとか PIC マイコンを動かせるようになったので、次に実際の線路とセンサーを使って、初歩的な制御から少しづつステップアップしていく事にする。 まず制御の入力情報となる通過センサのハード回路と処理ソフトの検証から実施しました。
.
■ 通過センサーの検討
通過センサーは、我が実験室では実績のある Cds を使用した光センサを使用することにしている。 そしてセンサ部分は、レイアウト解体時に保管していた右の様なユニットをできるだけ再利用する予定である。 「光センサーを使った通過センサーを作る」 (2014/9/4)
光センサからの信号を処理する回路として、Cds と調整用の半固定抵抗の組合せを使用して、その中間からトランジスタのベース回路に入力している。 この時抵抗とCds どちらを電源側に配置するか何時も悩んでいた。 最初に使用したATSシステムでは抵抗を電源側に配置し、その後の自動運転システムなどにはアース側に配置していた。 ポリシーの無い設計で、メリットとデメリットの整理が出来ていないのである。
今回も悩んだが、後者の配置を選択した。 理由は、断線も無く充分な光の強さが確保されている場合にはスタンバイOK のランプが点灯するようにしたかったからである。 このため、再利用するセンサ部分の回路の一部を修正することとした。
また、今回使用するPIC の電源電圧は、2.0 〜 5.5V とのことであるので、5.0V を使用するため、LED に流す電流を 15 〜 20mA になるように抵抗を変更することにした。 また、半可変抵抗の値を 10KΩとしたが、これで調整できるのかも実際に部品を組んでみて確認した。 2個のCds を直列に配置しているので、車両間の間や、ボギー台車間の隙間でも、誤動作する事のない様に調整可能であった。 ただ、横からの光が強い場合には上に車両が存在するのに、いないぞ!と判断される場合があったが、この様な場所には線路脇に障害物を置けば対策出来る事も確認した。
■ ブレッドボードでの回路構成と簡易レイアウト
今回テストを実施した回路を下に示す。
最初に、信号回路のテストを実施するため、この回路のセンサ2の部分を除いてブレッドボード上に組み、下の写真のように、机の上にレールを設置してBトレ車両を走らせた。 レールへの給電はコントローラから直接実施している。
PICには、下右の様なプログラムを記述して、アッセンブリしたデータをPICkit 3 を使って書き込んだ。 下左の写真。 テストはこのまま実施出来るが、USBを使った電源ではなく、5ボルト用のACアダプターを使用するようにした。 下右の写真。
#include P12F683.INC __config _BOD_ON & _WDT_OFF & _MCLRE_OFF & _INTOSCIO bcf STATUS, RP0 ; バンク0 clrf GPIO ; GPIO の出力が0になるよう設定 movlw 0x7 ; W ← 7 movwf CMCON0 ; コンパレータをオフ bsf STATUS, RP0 ; バンク1 clrf ANSEL movlw B'101000' movwf TRISIO ; GPIO を出力に設定 bcf STATUS, RP0 ; バンク0 bcf GPIO,0 bcf GPIO,1 bsf GPIO,2 LOOP: btfss GPIO,5 goto $-1 bcf GPIO,1 bcf GPIO,2 bsf GPIO,0 btfsc GPIO,5 goto $-1 bcf GPIO,0 bcf GPIO,1 bsf GPIO,2 btfss GPIO,5 goto $-1 bcf GPIO,0 bcf GPIO,2 bsf GPIO,1 btfsc GPIO,5 goto $-1 bcf GPIO,0 bcf GPIO,1 bsf GPIO,2 goto LOOP end ; プログラム終了
■ ロジック飛びの発生
すぐにはまともに動かなかったが、何とか動くようになったものの、下の動画で示すような不具合が発生していた。 右のプログラムは赤と橙のLEDが交互に点灯するように設定したはずなのに、その順番がおかしいのである。
これは、プログラムの問題ではなく、スイッチ回路のチャタリング同様な回路の問題と直感し、PICの入力ポートと 1KΩの抵抗との間に、0.1μF のパスコンを挿入してみた。 その結果を下に示す。
結果は良好であった。 でも、上の動画と少し様子が違う部分があるのですが分かったでしょうか。 実は車両がとうり過ぎた後に、遅延時間を挿入した時の動画をここに載せてしまったのです。 その説明は省略しますが、これで信号回路の動作の確認が出来たと判断しました。
次は、線路に給電してリレー回路のチェックを実施しました。
2018/9/15 作成