PageTopへ戻る

15.ポイント制御

●次は複数ループをつなぐためのポイント制御ボードを製作します。

・ポイントの配置には以下のように制限があります。
・図のように路線0の区間4からポイント切り替え区間の区間5に進入した時に路線1の列車の位置状況で安全を判断しますが、 安全でない場合は列車の通過待ちで停止します。従ってポイント手前で停止する必要があるので、そのための距離が必要です。
・また、ポイントを通過して路線1の区間4に進入したところで切り替えたポイントを戻すので、列車の長さ以上の距離が必要です。



●回路図
・ポイント駆動回路はKATOのユニトラックのクロスポイントが切り替えられるように大きなコンデンサ(6800μ)に50Ωの抵抗で 蓄電しておいて、列車のドライブ回路とほぼ同じ回路で切り替えます。電流が大きいのでFETのゲートに、より電圧がかかるよう抵抗値が違います。
・制御マイコンはPIC16F88を使用します。以前はPIC16F84Aを使用していましたが、F88の方が安くて高性能です。

●プリント基板の製作
・基板はフリーで使用できるオープンソースのPCBソフトKiCadを使用して作りました。読み方は”キキャド”に決まったそうです。



【KiCadの回路図】





感光基板用PDF

【基板加工機で作った基板】



【実装基板】
・必要なポイント数分実装します。(写真は2ポイント分実装)



【PIC16F88への書き込み】
・PICにプログラムを書き込むにはPICKit3などのライターが必要です。
・PICKit3はMPLAB-Xから直接書き込みが出来るので便利です。
・ブレッドボードに書き込み用配線をして書き込みます。MCLRは5KΩ程でVddにつなぎます。



・三角印を合わせてPICKit3を差し込みます。


●MPLAB Xへ XC8 Compilerの追加
PIC16F88のコードをコンパイルするためmicrochip社のサイトよりXC8 Compilerをダウンロードし、追加でインストールします。
http://www.microchip.com/pagehandler/ja-jp/family/mplabx/



●プロジェクトの作り方は 開発環境MPLAB X での説明とほぼ同じですが、
 ・Steps2.Select Deviceで
   Family: Mid-Renge 8-bit MCUs
   Device: PIC16F88
   を選択し、Nextをクリック



 ・Steps3.Select Toolで
   PICkit3を選択して、Nextをクリック



 ・Steps6.Select Compilerで
    XC8(v x.xx)を選択し、Nextをクリックします。



・PICへの書き込みは、ツールバーのMake and Program Deviceをクリックします。



【ポイント制御用Cソースコード】

・PIC16F88のコードです。









・ポイントボタンを押すと、次に差し掛かるポイントが切り替わります。
・ポイント番号を指定して、切替ボタン、戻しボタンで動作テストが出来ます。

・下記からVBプロジェクトをダウンロード出来ます。
・解凍して、フォルダー内の"remote.vbproj"をダブルクリックしてプロジェクトを開いてください。
vb_chap15のダウンロード

●このプログラムでは下記のような2重ループにクロスポイントのあるレイアウト配置設定になっています。



16.ドライブボードの作成

●レイアウトに実装しやすいように、ねじ端子盤をつけたドライブボードをプリント基板で作成します。



・マルツのdsPIC基板のプログラムロード機能を含めて、裸のdsPIC30F2012を使用して作成します。







感光基板用PDF

●dsPICへブートローダの書き込み
トラ技で紹介されたプログラムロード用プログラム(ブートローダー)は、今のところ以下のサイトからダウンロード出来ます。

http://www.cqpub.co.jp/hanbai/books/42/42111.htm

その中の bootloader フォルダの cqhex.hex をPicKit3でdsPIC30F2012に書き込みます。
秋月電子に小さいブレッドボードが200円で売っていたので、それを使って書き込み回路を作りました。



・書き込みソフトはMPLAB Xをインストールした時に同時に入るMPLAB IPEを使用します。



次へ

PageTopへ戻る