ロボゼロの部品で鉄道模型
2011年11月13日
2011年11月29日改訂
ロボゼロの音声認識制御でロボゼロのサーボは直接コンピュータ制御ができるすぐれものだと紹介しました。
そこで他の物に活用できないか考えました。今回はこれを使って鉄道模型を制御してみたいと思います。
鉄道模型の制御はNATOCを使えばできますが、インターフェイスボートが必要です。
NATOCを使わずにロボゼロのサーボで手軽にコンピュータ制御をしてみました。
製作中のロボゼロのサーボモータを借用する訳にもいかないので別のサーボモータを購入することにしました。
ロボゼロのサーボは市販されておらず同じメーカのもので市販されている同種のサーボは安いものでも4千円弱します。
雑誌込みでも週刊ロボゼロを買った方が安上がりです。
サーボが付いた号はいろいろありますがフレームを固定するビスが4本必要で付属している36号を購入しました。
ちなみにロボゼロのサーボはRS306MD-DC(150)とRS306MD-DF(300)2種類あってリード線の長さが違うだけ(DFのほうが長い)でどちらでも構いません。
あとサーボに取り付けるサーボホーンが必要ですがこれもロボゼロの付属品を使えばよいのですがわざわざこのためにロボゼロを購入するのもバカバカしいので同じパーツを購入しました(こちらは市販されています)

サーボホーンがBS3354、取り付けネジがBS0532という型番です。
双葉手電子から購入できますが在庫がなかったのでロボショップから取り寄せました。
直接コンピュータ制御ができると書きましたがこのサーボは5V駆動でPCの12Vのシリアルポートには直接つなげないので前回購入したFT232RL(SWITCH SCIENCE)を使ってPCのUSBポートにつなぎました。

FT232RL(変換ボード)とRS306MD(サーボ)は3本のジャンパー線で接続します。
ジャンパー線は変換ボードと同じ所で購入できます。
FT232RLの出力は6PのコネクタですがこのうちのGND,5V,TXD(GNDと5Vの間はひとつ空きます)を使います。今回購入したボードは5Vの所に3V3とプリントされていましたがこれは5Vの誤りだという事です。
RS306MDの入力は3Pのコネクタですが黒いリード線をGNDと真ん中の赤いリード線を5Vに端の赤いリード線をTXD(写真では黄色のジャンパー線)と接続します。

FT232RLとPCはデジカメ接続などで使う標準のUSBケーブル(ミニB5Pin)で接続できます
今回Windows7で行ったのですがボードのドライバーはPCに接続すると自動的にインストールされるようです。
今回はNゲージの列車の前進、後進、停止をこのサーボでやらせてみます。
この制御を行うには単にON/OFFだけでなく電流の向きも変更しなければいけないので3Pのものが2個必要です。
以前バスを動かすで使ったSS-5GL13-F(オムロン)というマイクロスイッチを使いました。

マイクロスイッチにはいろいろいのな形状がありますがこの型はヒンジが突起状に折れ曲がっているので適しています。
またスイッチを押すのに必要なトルクによって値段も異なりますが今回は強力なサーボの力で押すのでトルクを必要とするものでも構いません。
まずサーボモータにスイッチを取り付けるためのベース板を取り付けます。
今回は手持ちの1mm厚のエンビ板を使用しました。材質は何でも構いませんがあまり厚いとサーボ軸の長さが足らなくなってしまいます。

上の図のようにベース板を加工します。
サーボ軸の穴は最初はサーボホーンの軸と同じ位の大きさ(8mm径)にしておいてビス穴の位置を決めてから10mmに広げた方がやりやすいかも知れません。
なおビス穴の位置は現物合わせでした方が確実だと思いますのでこの時点では開けません。

ペース板にサーボ軸を通してサーボホーンを取り付けます。
サーボの四隅のネジは外しておきます。
この時サーボがバラバラにならないように注意してください。
サーボの裏からピンバイスでベース板にビス穴をの位置に印を付けます。
ドリルの径があまり太いとサーボのネジ山をつぶす可能性があるのでなるべく細い(1mm以下)ドリルを使ってください。
4つのビス穴の位置に印を付けたところでペース板からサーボを外し2mmのドリルでビス穴を開けます。
サーボに付属していた4本のビスでサーボをベース板に取り付けます。
ベース板とサーボのビス穴が合わない場合はベース板のビス穴を広げたり開け直してください。

ロボゼロのテスト基盤があればサーボホーンを取り付けてスムーズに動くかテストしてください。
なおこの時サーボホーンはネジ止めせずに軽く差し込む程度にしてください。
次にサーボホーンを加工します。

赤線の部分をカッターなどでカットします。
硬いようであればニッパー等でカットしてください。
スムースに動くようカッターで角をなるぺく丸く整形してください。
正式にサーボホーンをサーボ軸に取り付けます。
この時サーボホーンとサーボ軸はニュートラル位置の印を合わせてください。
あまり奥に差し込むとサーボホーンとマイクロスイッチのヒンジの接触部分が小さくなるのでサーボーンは軽く差し込む程度にしてください。
同様に取り付けネジも締め付けないようにしてください。
次にマイクロスイッチの位置決めをします。
マイクロスイッチの位置は後で調整できるように両面テープ(強力)で貼り付けます。

マイクロスイッチは上の写真のようにサーボホーンの両脇に配置します。
サーボホーンを右90度および左90度回転させてそれぞれの位置でスイッチが押されるようにスイッチの距離を調整してください。
サーボホーンとスイッチの位置の関係は後の写真を参考にしてください。
次に配線をします。
配線はトミックスの延長コード(D.C.フィーダN用) 5813(品番)で行います。
延長コードは半分に切断します。
またスイッチ間の配線用として70mm程度のリード線が必要です(延長コードを切断)。

まずレイアウト側(メス)を両方のスイッチの一番下の端子(COM)に接続します。(写真下方向の赤線と白線)
次に電源側(オス)を右のスイッチの一番上の端子(NC)と真ん中の端子(NO)に接続します。(写真右方向の赤線と白線)
ここで注意するのは真ん中の端子とレイアウト側の端子を同じ極性にしてください。
右側のスイッチは押された時に正転になるようにしています。
左側のスイッチと右側のスイッチを配線します。

配線するのは一番上の端子(NC)と真ん中の端子(NO)どおしです。

左から停止(ニュートラル)、正転(90度)、逆転(-90度)の位置です。
正転と逆転の位置でそれぞれのスイッチが押されるようにします。
配線した延長コードのオス側を電源コントローラに差込みレイアウトから出ている電源コードを配線した延長コードのメス側に差し込みます。

制御プログラムはロボゼロの音声認識の時作ったプログラムを流用しました。
サーボの制御部が違うだけでほとんど同じです。
COMポートは前述にあるデバイスマネージャーで表示されたSerial Portに設定します。

ロボゼロと同じく音声認識で列車を動かす事ができますが、音声認識を使わなくてもラジオボタンをマウスでクリックするだけで列車を制御する事ができます。
音声認識についてはこちらを参照してください。
実際にNゲージ(鉄道模型少年時代)を動かした動画です。(命令している音声は後から処理しています)
前回NATOCで音声認識をやっているので目新しくないですが、今回の実験でロボゼロのサーボがいろいろな制御に活用できる事がわかりました。
今回作成したプログラムを下記のURLにアップしておきますので興味のある方はダウンロードして使ってみてください。
nage.zip
認識語彙のチューニング方法等は添付のReadMe.txtに書かれています。
ただしサーボモーターの改造が伴うのであくまでも自己責任という事でお願いします。
NATOC 2.80でサーボによる制御をサポートしました。NATOCを使うと列車の位置認識やプログラムでの自動運転ができます。
NATOC 2.80はこちらからダウンロードすることができます。
目次に戻る