工作室
数年くらい前から電子工作のHPでPIC(Peripheral Interface Controller)というものを良く目にするようになりました。トランジスタ技術(CQ出版)でも取り上げられ、解説本もいくつも出ているようです。
私も時代に乗り遅れないように(既に遅れている?)今回はこのPICを使ってみました。
既にPICを紹介・解説した詳しいHPが数多くありますので、PICの詳しいことをお知りになりたい方はそちらを参照下さい。「電子工作の実験室」(http://www.picfun.com/)がお勧めです。
(1) 始めに
今回製作するのは「ハザードランプアダプタ」です。
最近の車は、リモコンでドアの施錠開錠を行う機能を標準ORオプションで装備しているものが増えてきました。このとき、施錠開錠動作が行われたことを示すためにハザードランプを点滅させてアンサーバックすることが多いようです。しかし、私の車は標準でドアロックリモコンはついていますがこのアンサーバック機能がありません。
ハザードランプアダプタとは、このアンサーバックを行うためのものです。
これだけではあまりに物足りないのでほんの少し他の機能も持たせてみました。
主な機能としては、
(1)ドアロックアンサーバック
ドアロックリモコン信号により点滅(左右個別)
パーキングブレーキOFF時はアンサーバックしない
(2)サンキューハザード
SW短押し:3回点滅
SW長押し:10回点滅(渋滞ハザード)
再度SWをONすると点滅中断
(3)時限ロック
キーオフ(ACC電源OFF)後3分間で自動ロック
です。
やらせることは簡単な事ですから、ハードロジックで作ることも可能ですが、部品数が多くなり基板サイズが大きくなります。また将来、点滅パターンを変えたり、機能を追加したりすることを考えるとPICを使用しておくことにメリットがあります。
PICの製作としては、PIC16F84/84Aを使用したものが多く紹介されていますが、私は、同じ18ピンであるPIC16F628を使用しました。PIC16F628はPIC16F84/84Aの上位品種らしいので、PIC16F84で出来ることはPIC16F628でも出来ると思います。
価格もお店によりますが同程度かPIC16F628のほうが安いようです。また、内部発振が出来るので、正確な時間計測やタイミングを必要無い今回の様なケースでは発振子等の部品が不要となりH/Wの製作が少しですが簡単になります。(安くもなる)
尚、今回のものはPIC16F84/84Aでも可能です。というか、実は当初はPIC16F84Aで作るつもりだったのですが、途中でPIC16F628に変更しました。
(2) H/W外部からの入力信号としては次の5点です。
a) ロック入力
b) アンロック入力
c) ACC電源
d) パーキングブレーキ
e) サンキューハザード用スイッチ
また、設定用としてDIPスイッチを使用しました。
この他に電源として常時12Vが必要です。
出力は次の4点です。
a) ハザードランプ右
b) ハザードランプ左
c) ロック出力
d) アンロック出力
ACC電源とパーキングブレーキの入力信号は12Vですから、抵抗分割で約4Vに落としてPICに入力します。ツェナーダイオードは過電圧が加わらないようにするための保護用ですが、無くても良かったですね。
ACC電源とパーキングブレーキの入力信号が抵抗でプルダウンされた格好に成っているので、ポートBの内部プルアップは使用できず、プルアップを行う場合は外部で個々にやる必要があります。
車内のドアロック釦操作ではアンサーバックさせたくなかったので、パーキングブレーキの信号を取り込んでいますが、より確実にドアロックリモコンを操作した時のみにアンサーバックする様に、ロック/アンロックの信号は、ドアロックリモコンからドアロックリーレーへ行く線の途中に割り込ませる接続としました。ロック/アンロック入力は、ドアロックリモコンがリレー出力なので、Vddにプルアップして有ります。
線の途中に割り込ませない場合はロック/アンロック出力とそれぞれ並列に接続すればいいはずです。このとき信号は12Vとなりますので、ACC等と同様な入力回路にする必要があります。
ハザードランプ出力は左右それぞれにリレーを設け、独立にON/OFFできるようにします。ここで使用するリレーの接点容量には充分注意する必要があります。私の車の場合ハザードランプは各21Wで、前後同時に点灯しますので、片側だけで3.5Aほどの電流が流れます。リレーの接点容量は5Aクラスの物が必要です。車の側面等にもランプがあるような車種ですと更に電流が増えます。ただし、あまり容量の大きなリレーはコイル電流も大きくなりますから、出力トランジスタの規格にも気を付けなければなりません。
ロック/アンロック出力は、トランジスタのオープンコレクタ出力としています。私の車のロック/アンロック信号は、アースに落とすことでドアロックリレーを動作させることが出来、その時の電流は50mA程度でしたのでこのような方法としました。ドアロックモータを直接駆動しなければならない車種では、ロック/アンロック出力もリレーにする必要があります。
ブレッドボードでのテスト
簡単な回路なのですが、先にソフトの方が出来てしまったので、ブレッドボードに仮組みしてテストを行いました。
![]()
完成基板
実装は72×47mmのユニバーサル基板(蛇の目基板)に行いました。
同じ物を2組製作したので、プリント基板を作成したほうが良かったのでしょうが、道具がそろわなかったので今回は見送りました。
ハザードランプ用の線には大きな電流が流れますので、太い線を使用しています。
ケースに入れるとこんな感じです。
注意:
ここに示した製作例は、車載用では無い部品を使用しております。そのため、振動等により動作不良を起こしたり破損する可能性があります。更には万が一にも発火等の危険が無いとも言えません。同様の実験を行ってみようと思われる方は、これらのことを認識の上で、自己責任にて実施されてください。
(3) S/Wプログラム作成には、アセンブラ等が必要ですが、PICのソフト開発用としてはメーカのマイクロチップテクノロジーが、MPLABという開発ソフトを公開しており、これを使用させていただきました。
MPLABは、PICマイコン用の統合開発環境ソフトウエアで、テキスト・エディタ、アセンブラ、シミュレータの機能を備えています。
MPLAB、データシート等の入手先
マイクロチップ・テクノロジー http://www.microchip.com/
マイクロチップ・テクノロジー・ジャパン株式会社 http://www.microchip.co.jp/
特に複雑な操作を行っていませんので、基本的には、プログラミングの練習用としてよく有るLEDの点滅等を行うプログラムと同様です。
ハザードランプアダプタは、動作しているのはドアロック等の操作を行った僅かの時間のみで、殆どの時間は何もしていません。そこで、通常はSLEEP状態としておき、必要なときだけ起こし(Wake−up)てやって動作させます。そして動作が終了したらまたSLEEP状態になります。
ポートBのRB4〜RB7の入力の変化によって割り込みを起こさせる機能がありますのでこれを使います。
動作としては、メインプログラム側では、時限ロック用のカウント処理のみを行っています。
点滅等のほとんどの処理は割り込みプログラムの中で行います。
割り込みを受け付けると、各入力の状態をチェックし、それぞれの処理に分岐し、処理が終わったところで割り込みを終了します。
メインプログラムでは、時限ロックが必要か否かをチェックし、必要ならカウントを開始しタイムアップでロック動作を行います。
ランプの点滅パターンは、とりあえず以下の物を考えました。
パターン1は左右個別点灯を行います。パターン2は一般的な同時点滅です。
パターン1と2はDIPスイッチで切り替えられる様にしました。
この他にサンキューハザードの点滅がありますが、これも左右同時点灯でパターン2とは回数が違うだけです。
ロック時
アンロック時
点滅パターン1 点滅パターン2
時限ロックまでの時間を計測したところ、設計値3分に対し、2分55秒で動作しました。内部発振の周波数はおよそ4.11MHzといったところでしょうか。
ソースリスト(Ver.1.3)(LHAにて圧縮されています)
(4) PIC16F628使用時の注意点
PIC16F628とPIC16F84/84Aの違いは、今回の場合は以下の点です。
a)コンフィギュレーションワードの設定
コンフィギュレーションワードについては、素子毎に設定異なりますので、データシートをよく読んで設定する必要があります。私は、最初LVPの設定を忘れてしまい、動かなくて悩みました。b)CMCONレジスタの設定
MCLRやOSC端子をI/Oとして使用する場合も設定が必要です。
PIC16F628では、デフォルトではRA0〜RA3の端子がコンパレータ用のアナログ入力に割り付けられていますので、入出力として使用する場合は初期設定時にCMCONレジスタの設定が必要です。c)バンク切替が2bit
PIC16F628では汎用レジスタが増えたことによって、メモリのバンクが4つになり、切り替え用のビットが2つになりました。バンク切替時には注意が必要です。
(5) MPLABによるシミュレーションの注意
MPLABでは、コンフィギュレーションワードの設定がシミュレーションに反映されません。例えば、LVPをイネーブルとしておいても、RB4は入出力として動作してしまいます。私はこの罠に引っかかりました。
実車に取り付けた様子はこちらのHPの「ハザードランプアダプタその2」に有りますので参照されてください。
重要事項
車両への取付には、車の電装系の資料が必要です。車の関する知識も必要です。車のトラブルは生命の危険に関わる場合があります。安易な作業は行ってはいけません。
本HPの内容を参考に行われた実験であって、その結果いかなる損害・障害等が発生した場合でも私は一切責任を持ちません。行ってみようと思われる方は、自己責任に於いて実施されてください。