PIC16F84A使用
NゲージPWMコントローラ






NゲージPWM制御
 PICマイコンでパルスを発生させてNゲージ(鉄道模型)の速度を制御します。
 いわゆるPWM制御です。
 Nゲージのコントローラはたいていボリュームで電圧を制御していますがPWM制御のものも売っているようです。
 これを簡単に安く(笑)作ってみようというのが今回の回路です。

 以下、簡単なPWMの説明を書きましたが理解してる人は回路図の所まで読み飛ばしてください。

 PWM制御とは、パルスの幅を変化させる事によってDC(直流)モータの回転速度を制御する技術です。
 DCモータは、電圧を変化させる事で回転速度が変化します。例えば、タミヤのミニ四駆を単三電池一本(1.5V)で動かすと遅いですが、直列に二本(3.0V)、三本(4.5V)と増やしていくとタイヤの回転が速くなると思います(でも電池の分、重くなるので走る速度は必ずしも早くはならないですが)。
 しかし、マイコンで電圧を制御するのはちょっと面倒なので、簡単に制御する方法のひとつがPWM制御です。
 たとえばミニ四駆のスイッチをオン、オフ、オン、オフ…と思いっきり素早く繰り返すと、最高速度には達しませんが止まる事もありません。さらにオンにしている時間とオフにしているを変化させてみると、オンにしている時間が長いと速めに、オフにしている時間を長めにするとゆっくり回転します(実際に手でミニ四駆のスイッチをいじって実験するのは難しいとは思いますが…)。
 これをマイコンやIC、発振回路などで高速に(例えば1秒間に数百回スイッチをオンオフする)制御してモータの回転速度を制御するのがPWM制御です(たぶんこれで理屈は合ってると思います…)。


 ■回路図

回路図

 マイコンは手軽なPIC16F84Aを使いました。というか、サーボテスター回路の使い回しです(笑)。
 ダーリントントランジスタを使おうとNゲージについて調べてみたらNゲージは1A以下でも動くみたいだったので、だったら必殺(?)の2SC1815を二つ並列で繋げば大丈夫じゃないか?という事でやってみたら動きました。とっても安上がり。でもやっぱりキチンと作るなら回路に合ったトランジスタ使った方がいいですね。

 電源はラジコンの7.2V Ni-Cdバッテリーを3端子レギュレーターで5Vにしてマイコンに、Nゲージ用は12Vが良いらしいので、家の中を探したら12V0.8AのACアダプタ(使わなくなったターミナルアダプタのもの)があったのでそれを使いました。7.2V Ni-CdバッテリーでもNゲージは動きました。
 

 スイッチはrb.1(SW1)がブレーキrb.2(SW2)がストップrb.3(SW3)がアクセルになっています。
 押すとグラウンドに接続します。スイッチとPIC端子の間には1Kオームの抵抗を入れています。

 アクセルを押すとオン時間が長くなっていき、ブレーキを押すと逆にオン時間が短くなっていきます。速度は250段階あります。
 ストップを押すとオン時間をゼロにします(緊急ブレーキまたはリセット)。

 PWM出力確認用LEDはパルスに応じて明るさが変化します。つまりアクセルを押していると明るくなっていき、ブレーキを押していると暗くなっていきます。このLED部分は無くてもNゲージ制御には支障はありません。

 PIC出力は400Hzくらいのパルスを発生させている、と思います(気が向いたら測定してみます)。

→測定してみました。


 電圧計は、最初安物のデジタルマルチメータを繋げたのですが上手く表示しなかったので(まぁあたりまえですかね)、アナログのものを使いました。高価なデジタル電圧計なら平均値とかとれるのかな?様子を見るため繋げましたが、電圧計は無くてももちろん大丈夫です。

 ヒューズは線路がショートしたときの安全の為。1Aをいれてますが、使ったACアダプタの出力が0.8Aなので無意味かな。まぁNi-Cdバッテリ繋いだとき用とか。ヒューズの代わりにポリスイッチあたりでも良いかも。

 パルスが出ると、駆動車から音が出るので最初びっくりしてネットで調べてみるましたが、そういうものみたいです。可聴域のパルスを発生させているから聞こえるんですかね。
■動画


PIC16F84A使用NゲージPWMコントローラ 動画


■PICのプログラム

  ■ダウンロード(別ページ)

 動作の保障、損害損失の補償はいたしかねますので、あくまでも自己責任でお願いします。

(2008年10月12日)
追記:随時

関連
NgageMC
Nゲージ「電車でGo」マスコン制御



[戻る]