■ 鉄道模型用 P/S電車でGO!コントローラの製作 ■


 プレイステーション版の「電車でGO!」ソフトが発売された当時、息子が遊んでいるのを見て、このコントローラで鉄道模型が動かせたらおもしろいのではと思い、製作したものです。
 
 2000年に製作した、8085CPU使用の初号機は、設計資料が見あたらず、部品も古くなって再現性が無いため、新たにAVRを使用した2号機を製作することにしました。




電車でGO! コントローラ

ワンハンドルタイプ

 
8085CPU使用の初号機

古い部品がいっぱい


回路の概要
 
1.AVRとクロック
 
 ・AVRは、ATmega8535を使用する予定でしたが、秋月電子のATmega164Pの方が安いので、
  こちらを選択し、クロックは8MHzの内蔵RC発振器を使用しています。

2.キャラクタLCDモジュール
 
 ・16文字×2行表示の、SUNLIKE社 SC1602BSLB(バックライト付き)を使用しました。

3.P/Sコントローラ通信回路
 
 ・電車でGO! コントローラは、動作電圧が3.6V(実測値)なので、5Vとのレベル変換回路が
  必要になります。
 ・AVRからの出力信号は、5Vを抵抗で分圧し、約3.4Vで駆動しています。
 ・コントローラからの入力信号は、直接AVRへ接続しても動作すると思いますが、[ACK]パルス
  幅が2μSと狭く、コントローラのドライブ能力も不明なため、トランジスタで受けています。

4.A/Dコンバータ回路
 
 ・速度ボリューム : 電車でGO! コントローラを接続せずに、ボリュームの回転で列車を走行させる
  ことができます。
 ・照明ボリューム : 列車の停車時にも室内灯が点灯する「常点灯」で、明るさを調整できます。
 ・加速係数ボリューム : 列車の加速・減速・慣性走行の具合を調整できます。

5.D/Aコンバータ回路
 
 ・鉄道模型の速度制御は、直流電圧の大小でも制御できますが、直流では列車始動時のモーター
  トルクが出ず、スロースタートがしにくい欠点があるので、50Hzのパルス駆動にしています。
 ・また、列車の停車時にも室内灯が点灯する、「常点灯」を装備するため、20KHzのパルスを
  重畳させます。
 ・このため、抵抗ラダー式の簡易D/Aコンバータ回路を用意し、オペアンプにより15V振幅まで
  増幅しています。



 
照明用20KHzパルス、パルス幅 約 8.75μS
 (スケール10μS)


 
50Hzのモーターパルスと照明用20KHz
パルスを重畳  (スケール5mS)

6.出力ドライブ回路
 
 ・オペアンプからの出力を、パワートランジスタのダーリントン接続回路でドライブします。
 ・パワートランジスタは、スイッチングタイプで、Ic=5A、Pc=30W、ft=100MHz程度のもので選択
  できます。

7.外部制御回路
 
 ・コントローラの押しボタンスイッチの情報を、アクティブ[L]レベルで出力してあります。
 ・製作予定の、MP3サウンドユニットに接続し、警笛等を鳴らす予定です。

 
 
プログラムでの処理
 
1.ソフトウエア
 
 ・AVR用BASICコンパイラ、BASCOM-AVR 製品版を使用しています。
 ・メインルーチンはBASICで記述し、パルス出力用の割り込み処理をアセンブラで記述しています。

2.「電車でGO!」 コントローラの通信フォーマット
 
 ・詳細な通信フォーマットは、ネットやトランジスタ技術誌にも掲載されているので、電車でGO!用の
  キーコードのみを記載しておきます。

  1Byte目 2Byte目 3Byte目 4Byte目 5Byte目
AVRからの送信コマンド 01H 42H 00H 00H 00H
コントローラからの受信データ - 41H 5AH Key1 Key2

 キーコード Key1 Key2
ビット位置   7 6 5 4 3 2 1 0   7 6 5 4 3 2 1 0
マスコン 切り   0 0 0 0 S - - E   A B C 1 - - - -
  1 0 0 0 S - - E   A B C 0 - - - -
  1 0 0 0 S - - E   A B C 1 - - - -
  0 0 1 0 S - - E   A B C 0 - - - -
  0 0 1 0 S - - E   A B C 1 - - - -
  1 0 1 0 S - - E   A B C 0 - - - -
中立   1 0 1 0 S - - E   A B C 1 - - - -

 キーコード Key1 Key2
ビット位置   7 6 5 4 3 2 1 0   7 6 5 4 3 2 1 0
ブレーキ 解除   - - - - S - - E   A B C - 0 1 0 0
  - - - - S - - E   A B C - 0 0 0 1
  - - - - S - - E   A B C - 0 1 0 1
  - - - - S - - E   A B C - 1 0 0 0
  - - - - S - - E   A B C - 1 1 0 0
  - - - - S - - E   A B C - 1 0 0 1
  - - - - S - - E   A B C - 1 1 0 1
  - - - - S - - E   A B C - 0 0 1 0
  - - - - S - - E   A B C - 0 1 1 0
非常   - - - - S - - E   A B C - 1 1 1 1

 ・S = STARTボタン(押されると0)、E = SELECTボタン(押されると0)
 ・A、B、C = A、B、Cボタン(押されると0)
 ・ワンハンドルタイプも、同じコードです。

3.コントローラからの[ACK]処理
 
 ・コントローラからの[ACK]信号はパルス幅が2μSと狭く、通常ポートのレベルセンスでは取り
  こぼしが起きてしまうので、AVRの[INT1]外部割り込みピンに接続し、エッジ検出を行っています。
 ・[INT1]割り込みは発生させずに、割り込み要求フラグ[INTF1]を検出しています。


 
回 路 図  GIF版 NgPScPcb.gif (264KB)  PDF版 NgPScCir.pdf (352KB)

部品配置図  GIF版 NgPScPcb2.gif (150KB)
アートワーク  GIF版 NgPScAW.gif  (224KB)
   注意! この図面を使用した、いかなる損害にも責任を負いません。 

プログラム  テキスト形式 ソースファイル  NgPSc101.TXT (27KB)
 BASCOM-AVR用 ソースファイル  NgPSc101.bas (27KB)
 インテルHEX形式 オブジェクトファイル  NgPSc101.HEX (13KB)
 
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。




 
 前面

 
 内部前面

 
 後面

  内部上面

プリント基板

 
メイン基板 部品面

 
メイン基板 ハンダ面

 
サブ基板 部品面

 
サブ基板 ハンダ面

 
マルチタップを分解して
コネクター部を利用

 
ケース内部


AVRマイコン ATmega164Pの、ヒューズ ビット書き換え
 
・AVR ATmega164Pのシステム クロックは、工場出荷時に1/8前置分周器がONに設定されて
 いるので、OFFに書き換えます。
 
・また、JTAGインターフェイスが許可になっているので、無効に書き換えます。

下記ページの書き換え方法 「6.」を、以下の様に変更して、ヒューズ ビットの書き換えを行います。

    ヒューズ ビット書き換え

 6.[ Fusebit C ] の右欄 [ 0:Division by 8 enabled ] をクリックすると、右側にプルダウン
   メニューが現れますから、 [ 1:Division by 8 disabled ] を選択します。
 
   [ Fusebit High H ] の右欄 [ 0:JTAG enabled[portc.2-portc.5 not usable] ] を
   クリックすると、右側にプルダウンメニューが現れますから、[ 1:JTAG disabled ] を
   選択します。
 


操作方法
 
1.電源投入
 
  ・電源投入後に急発進を防止するため、速度ボリュームが「0」、またはブレーキが「非常」に
   なっていない場合は、メッセージが表示されます。
 
 
2.表示内容
 
 
 ・Lt : 照明ボリュームの値を、8段階のバーグラフで表示します。
  ・Ac : 加速係数ボリュームの値を、8段階のバーグラフで表示します。
  ・Spd : DCフィーダーへの出力電圧を、0〜127の数値で表示します。(目安の値です)
  ・Mas : マスコンの位置を、5段階のバーグラフと数値で表示します。
  ・Brk : ブレーキの位置を、8段階のバーグラフと数値で表示します。(Rは解除、Eは非常)
 
     
 
 
3.P/Sコントローラモードと、ボリュームモードの切換
 
  ・「電車でGO!」 コントローラが未接続の場合は、ボリュームモードになります。
  ・速度ボリュームが「0」で、ブレーキを「非常」以外にすると、P/Sモードに変わります。
  ・ブレーキが「非常」の位置で、速度ボリュームを上げると、ボリュームモードに変わります。
 
 
4.運転操作
 
  ・運転操作の実例は、息子のページで掲載される予定です。 (しばらくお待ち下さい)
 


○パーツの参考資料
 ・基板  「サンハヤト」 感光基板 41K ガラスコンポジット 片面 1.0x100x100mm
 ・ケース  「タカチ」  MB-4 W110xD150xH65mm
 ・ACアダプター  「秋月電子」 15V 1.2A


   電子工作の部屋 Top へ 前のページへ戻る