[表紙頁]へ  関連記事の目次へ
[150930]

模型電車の自動運転化を、目論んで:其の一

借景ジオラマ」や「井中駅周辺ジオラマ」で模型電車(Bトレイン・ショーティ)などを、時折、手動で走らせているが、直ぐに飽きてしまう。
日本橋の販売店に造ってある“大型ジオラマ”でも同様だが、単に電車を走らせているだけでは、眺めていてもあまり楽しくもない。
折角だから、駅で暫く“停車”したり、“案内放送”があったり、日替わり・時間変わりの“風景変化”があれば、もう少し面白いかも...と思ったりもするのだが。
私も、単純に走らせているだけでは面白くないので、もう少し変化を付けたいと思った。
ジオラマ自体が複雑であれば|にすれば、もっと面白く出来るのだろうが、そんな手間や技の持ち合わせは無いので、模型電車の「パソコンによる自動運転」を思い付いた。
(“単に、眺めているだけよりも、そういった作業をすること自体の方が、ずっと面白い♪)

パソコンで正弦波(600Hz)の「オーディオ(ステレオ)信号」を出力するプログラムを作り、その出力で「走行用の電源(電力)供給」(右チャネル)と「切換リレーのON/OFF」(左チャネル)をやってみた。
・・・ この第1段階は、(望外の)成功だ!(笑)

だが、「オーディオ信号」を制御に使ってしまったので、“発車ベル音や案内放送”など音響関係が使えない。
より複雑に、バラエティ豊かにするには、やはりUSBなどの系統を利用しないといけないだろうと思う。
尚、プログラムは、使い慣れたVB6VisualBasic6)で作成した。
MSから無料のVisualStudio2015が提供されているようで、便利になったのだろうけど、重過ぎ|複雑過ぎて私にはとても使えそうにない!)
−−−−−−−−−−−−−−−−−−−−−−−−−
電源制御とオーディオ信号
パソコンで、複雑なことをさせようとすると、複雑なインターフェイスが必要になる。
ハードウェアの工作も大変だし、ソフトウェアの作成も大変だぁ♪
取り敢えずは、簡単な構成から始めて、その内夢が膨らんでくれば、段々複雑なものも手掛けることにしよう!か?

今回は、ジャンク電源を見ていて、電源は“交流を単に整流しただけ”なのを見て、制御出力として「オーディオ信号」を使うことを思い付いた。(図4<クリック>
最近にパソコンでは、以前良く使われていたRS232C端子などはもう無いし、かといって、USB系ではインターフェイスの用意が面倒だ。
「オーディオ出力」だと取り出しは簡単だし、速度制御には「信号」の振幅を使えばよいわけだ。ただし、パソコンの音出力はそのままでは“馬力”が弱くて使えないから、アンプを入れてパワーを補う必要がある。

新たに買ったジャンク電源を活用(分解・悪用?)して、そこに回路を組み込んで、「制御用(増力)インターフェイス」にしたわけだ。(図3)

地道な工作
このジャンク電源は、筐体がかなりコンパクトで、ビス・ナット類を殆ど使わずに、“カシメ”や“圧入差込”で済ませてあり、コストダウンに相当工夫・努力している感じがあって、何だか好ましい。(笑)
それはさて置き、内部の部品の内、「電源トランス」、「スライドSW」、「ターミナル4個中2個」、「ブレーカ」や「ACコード」などを残し、他の「セレン整流器」+「巻線可変抵抗器」部は取り除いた。
その跡へ、基板を支える為のポストを立てた。(図5)
上から3mmφのタップを切って、そこへポストを捻じ込んだのだが、これは裏側の台座板が邪魔して、ビス・ナットが使えなかったからだ。

出力用端子を2個外して6mmφにまで孔を拡げ、「ステレオ用ジャック」(5個入り\50税込み)を瞬間接着剤で固定した。(図6<クリック>

仮組立中
まず、図8<クリック>のような回路で、プラス・マイナスどちらの電圧でも出力出来るように考えたが、取り敢えず、半分だけ組んで実験してみた。

ところが、トランスの奴め、負荷が軽い為、出力電圧が自棄に高くて、どちらの端子も25Vが出ているぞ!(高過ぎだ!)
「電解コンデンサ」は、手持ち品から50V以上のものを選べるが、適当に選んだ「トランジスタ」の方は、その耐圧が心配だ。低いものは、40Vらしいから、電源±25Vが同時に掛からないように気を付けねば!


一応、この回路で、600Hz交流波の「オーディオ信号」を入れて、模型電車を動かせることが確認出来た。
その振幅の大きさで、走行速度を変えることも出来る。尚、周波数は60Hz〜2,000Hzの範囲で試したが、何処でも良さそう。今回は、一応そのままでも聴き易い600Hzにした。
...ところが、電車の進行方向を変える段になって、はた!と困ってしまった。
上下(正負)両方の出力を、そのまま繋げて出せないからだ。

他に良い智恵が浮かばないので、古い12Vリレーを使うことにしたのだが、これの方が簡単で良さそう♪
(尚、ネットで調べたら、もっと小型で、百円前後の安価な「12Vリレー」が、あちこちの店で売られているようなので、それも頭に入れておこうっと!)

VB6プログラミング
ハードウェアの方は、何とか目鼻が付いたが、それと並行してソフトウェア(制御プログラム)の方も、何とか形になって来た。(図10<クリック>
もう、VB6でのプログラム作成も、殆ど忘れていて、ネット上での情報に助けて頂くことしきりだ。
でも、中には不適な情報もある。
例えば、呼び出しファンクション:waveOutSetVolume()では、引数が3つだ!という例を使ってみて、これには大分長い間惑わされていた。ちゃんと働かないのだ!?
もしや?と思って探し回ったら、引数が2つの例が出て来て、それでやってみたらビンゴ!
(何事も、信じて行うのも大切だけど、今一度疑ってみるのも大事だ!と思った次第。笑)

第1段階の実行プログラム(TrainCtrl.exeの圧縮ファイル危険は無いと思うが実行無保証!)では、極くシンプルな「操作卓」(図9)だが、その内、「記憶モード」、「再生モード」などを組み込みたいと思っている。
「センサー」などは無いから、微妙な位置での停車、反転などは難しいかもしれないが、「消費時間」、「消費電流」などを組み合わせて、精度を上げられないか?などと夢案を玩(もてあそ)んでいる♪

[表紙頁]へ  関連記事の目次へ