Nゲージの速度を計ろう
Nゲージをスケールスピード(以下換算速度)で運転する時,見た目では判断が難しいです。1両が通過する間隔やジョイント音のリズム等でだいたいの判断はできるかもしれませんが,それもおそらく実車が駅を最高速度で通過する時の感覚で110km/hかな,駅進入の時の速度で45km/hかな等の判断になるかと思います。でも制御するにはその様なあいまいな感覚より,しっかりと計測したいものです。
そこで必要になるのが速度計測器です。速度を測定するには,原理的には予め距離がわかっている2点間を通過する時間を計測すれば速度を求められます。フォトリフレクタ等の素子を使えば車両の通過を検出できますし,マイコンを使えば2点を通過する時間を正確に測定できます。簡単に作れそうですね。
ネットで探すと既製品がいろいろありますね。4000円程のケニスの速度計測器を買ってみました。簡単には作れますが1時間以内には作れないので買った方が安かったりします。
似たような製品はもう一つあって,こちらの方が安いですね。そして一回り小さいのでNゲージ車両を通過させるには一工夫必要なようです。
この様な鉄道模型専用のしっかりした速度計測器もあります。でもここまで高いと見た目を気にしなければ自分で作りたくなります。
他には車両側で計測する物もあります。これも良さそうですね。
さて,実際に速度を測定してみるとパワーパックハイパーDXを使っても換算速度5km/hで走らせる事がかなり難しい事がわかりました。今まで「低速が滑らかに走る」と思っていた速度も実は10km/h程出ていました。
これをどう利用するかと言うと,PWMデューティーと換算速度の関係を求めて,加速度を設定します。つまり,今までは実験的に適当に設定していたデューティーを変えていく時間を実車に合わせます。換算速度と加速度を実車に合わせることで,見た目の動きの実車感がかなり向上するはずです。
その為には動き出しのデューティーと最高速度のデューティーがあれば良いですが,デューティーを線形に変化させた時に換算速度も線形に変化するかを測定する必要があります。そこで,デューティーを任意に変更できる様にします。設定されているデューティーを知らせる手段と設定するためのインターフェースが必要になります。いよいよDCCと同様のシステムを構築する必要が出てきました。が,DCCのハードウェアを用意するには時間がかかるので,簡易的に今の回路に外部から操作できる手段を追加する事にしました。
将来性を考えてRaspberry Pi(ラズパイ)を使う事にします。今使っているPICマイコンは5Vで動かしている為,3.3V駆動のラズパイと通信するには信号電圧変換が必要になります。それも手間なので,UARTのシリアル通信を行う事にしました。PICの入力は3.3Vでも 'H' として認識してくれるみたいなので。PICからラズパイへは信号を返す予定はないので今回は省略します。
ラズパイでPWMデューティーを設定して,その時の速度計測器が示す速度を読み取って,換算値とPWM値を表にまとめて,加速度を設定して,というのが次の流れになりますね。手間がかかりますね。実験的に行うだけならこれでも良いですが,動力ユニットの種類が違えば換算値とPWM値の関係も変わりますから,色々な車両で行う必要があります。できれば自動化したいですね。