2019年 06月 08日
Nゲージ 自動運転一歩前進
|
Arduinoで自動運転まで少しずつ進んでいて山場を超えたかもしれない。
列車が電源繋いで即動き出すのも何なのでスイッチ押したらプログラムが実行されるようにした。そのスケッチ(プログラム)は
void loop() {
while (digitalRead(SW) == HIGH){} //スイッチ押されたら次に進む
これは繰り返しじゃなく一回だけ実行されるので他にスイッチを増やせば異なるプログラムが実行されるはずと思い4個追加してみた。例えば支線別に列車が待機していて、スイッチAでC列車、スイッチBでD列車が自動運転を始めるとか・・後々何か役に立つだろう。(しかしスケッチとスイッチ紛らわしい!)

ところでスイッチの追加は初めの一個はプルアップ抵抗(10KΩ)を取り付けたんだけど途中でプルアップはスケッチで対処出来ると気付き二個目から抵抗は省略。
Arduinoの基本みたいな事も知らずに取り組んでるが今回も経験値が一つアップした。
void setup() {
pinMode(SW, INPUT_PULLUP);
基板が混み合い抵抗を乗せる余裕もなくなってきたのでこれは嬉しい。

2日ほどポイント切替で足踏み状態が続いていた。
リバース線のポイントは二箇同時切替なので並列に繋いである。前回自作のコントローラーでは問題はなかったがモータードライバーでは2個同時駆動ができない。省略してあった10μFの電解コンデンサーを追加したり、ACアダプターを15Vにしてみたが二個同時は無理の様だ。
ところが予備のモータードライバーTA7291Pで検証してみたら2個同時でも動くと確認できたのでダメ元でポイント駆動のTA8428Kと入替えてみた。

レールに繋ぐTA7291Pとポイントに繋ぐTA8428Kの出力コードを切って差し替える。スケッチのピン番号も書き換えて検証。無事ポイント二個同時駆動が可能となった。
両ドライバーのデータシートを見比べると出力電流はTA8428Kの方が大きいのだがなぜなのか?まぁ実践で動くのだからこれ以上考えるのは止めておく。
ドライバー差替えにより列車の速度に変化があるかもだがanalogWriteの数値で調整出来るだろう。

TOMIXの電動ポイント2個並列接続での駆動可能ドライバー
TA7291PはOK TA8428Kでは駄目だった。
by ainame60
| 2019-06-08 21:56
| DIY・電子工作
|
Comments(0)

