SOARISTO工房 Logo
Car Archive
2009/09/21

 前回の続きです。

 ここのところ、いろいろと立て込んでおりまして、なかなか前に進みませんが、

HID Fog-Lamp Switch

 とりあえず、コントロールプログラムが完成しました。

HID Fog-Lamp Switch

 「ジャンピングワイヤー」という名のとおり、もの凄い“空中配線”状態になってますが、まぁハードの動作確認用ということで。0xF9C7

 ちっぽけな回路ですが、想定どおり動いた時の感動は、一入(ひとしお)です。少なくとも、“ショップにお任せ”になっているヒトには、味わえない「歓び」でしょう。
(いまのところ、どこのショップにも売ってないですし)0xF9D1

HID Fog-Lamp Switch

 フロントフォグランプの制御回路です。回路としては、非常に簡単です。
(電源回路等は、省略しています。また、抵抗等の型番も、省略しています)

 ブレッドボードを使ってデバッグしていた時に、気付いた点を一つ。

 リセット直後、I/OポートがInputに設定されたとしても、リレーが誤動作しないよう、パワーMOSFETのGate側にプルダウン抵抗を入れておいたのですが、リセット直後、なぜかリレーが動作してしまいます。

 もちろん、リセット直後のイニシャライズルーチンでは、I/OポートはOutputに設定しているのですが。

 しばらく悩んだのですが、理由は非常に簡単でした。(当たり前といえば、当たり前な理由でしたが)

 I/Oポートは、Outputに設定した直後は、“High”の状態になってるようです。(データシートによると、“Unknown”なのですが)

 よって、I/Oポートの入出力方向を設定した直後、Outputにしたポートについては、初期状態を強制的に設定(この場合は“Low”に設定)することにより、解決できました。

 勘違いの元は、リレーの動作状態の確認用にと設置した「パイロットランプ」(高輝度青色LED)でした。

 パイロットランプは、リセット直後は点かないので、リレー制御用のポートも“Low”になっているものとばかり思い込んでいたのですが、パイロットランプの制御は負論理でした。(“High”で点かなくて当然なのでした)0xF9C7

 ちなみに、試しにI/OポートをInputに設定したままにしておいても、リレーは誤動作しないので、プルダウン抵抗を入れた意味は、ちゃんとあるようです。

 ということで、これでハードとソフトは完成しました。

 つぎは、基板の作製と、ライトスイッチユニットへの実装です。
(いつになることやら・・・)

2009/09/19
[ Car, Tips ]

 カネに糸目を付けず、ショップに言われるがままに流行りのパーツをコテコテ付けるのも否定はしませんが、自分のクルマぐらい、自分でメンテできるようにならないとね。0xF9D1

 いや、ちょっとツブヤキ五郎でした。

 ということで、一部のDIY好きの皆さんだけに送る、ニッチな情報です。0xF9CE

 3 Seriesの先輩、E46のヘッドランプ周りの情報です。

Removing and installing/replacing headlight

 Removing and installing/replacing headlight

Removing and installing/replacing headlight (xenon headlight)

 Removing and installing/replacing headlight (xenon headlight)

Removing and installing/replacing lens cover for headlight

 Removing and installing/replacing lens cover for headlight

Removing and installing/replacing complete front turn signal lamp

 Removing and installing/replacing complete front turn signal lamp

Removing and installing/replacing trim on headlight housing

< Removing and installing/replacing trim on headlight housing

Replacing a lower holder for headlight mounting

 Replacing a lower holder for headlight mounting

Gap dimensions on doors / engine hood and trunk lid

 Gap dimensions on doors / engine hood and trunk lid

2009/09/07
[ ALPINA, Car ]

 ALPINAの正規代理店であるNICOLE AUTOMOBILESさんの累積輸入台数が、3,000台を突破したそうです。

NICOLE AUTOMOBILES
(画像は、NICOLE AUTOMOBILESさんのプレスリリースから)

 栄えある3,000台目は、写真の「BMW ALPINA D3 BiTurbo」。

 今年は、1979年の輸入開始から30年目にあたるとのことで、"3"が続きます。

 確かに、燦然(3,000)と輝いてますね。0xF9CE

〔関連情報〕
   ・アルピナ輸入3000台達成
   (2009年9月7日:NICOLE AUTOMOBILES CO.,LTD.)

2009/08/30

 前回の続きです。

HID Light Switch

 とりあえず、ブレッドボード上に、評価用の回路をささっと組み付けて、PICのプログラムを開発します。

 ボード上の左下にある2つのタクトスイッチは、それぞれ「スモールランプ」と「フロントフォグランプスイッチ」を模しています。

 これら2つの入力が同時にONになった時に、パワーMOSFETを使って、フォグランプ用のリレーを駆動させます。あわせて、パイロットランプとなる「高輝度青色LED」を点灯させます。

 フォグランプスイッチを押す毎に、フォグランプが「OFF→ON」または「ON→OFF」となる(トグル動作する)ようにします。

 また、フォグランプスイッチからの入力は、チャタリングが発生するものとし、その対策として、40msの判定時間を設けます。

 さらに、フォグランプスイッチが、何かの拍子で押し続けられた場合、単純なトグル動作のロジックでは、出力が発振してしまう(高速にONとOFFを繰り返してしまう)ため、この対策も組み込みます。

HID Light Switch

 Microchip Technology社から無償で提供されている統合開発環境、「MPLAB IDE」(Integrated Development Environment)を使って、プログラムを書いているところです。

 「PIC10F200」のインストラクション数は33種類と、非常にシンプルですが、ニーモニックも分かりやすいため、すぐに覚えられます。

 実はその昔、大学院の学生だったころ、ゲームプログラマーのアルバイトをしていました。当時はZ80やi8086の全盛期で、四六時中、寝る間も惜しんでプログラムをゴリゴリ書いていました。それらに比べれば、はるかに簡単です。
(懐かしい・・・)0xF9C6

 なお、ソースプログラムは公開しません。公開すると、まったく同じモノを作って、ネット上で商売始めちゃう姑息なヤカラが湧くので。

2009/08/29

 前回の続きです。

 PICにプログラムを書き込むためには、専用のツール(PICライター)が必要となります。

HID Light Switch

 今回は、秋月電子通商さんの「AKI-PICプログラマー Ver.4」を購入しました。

HID Light Switch

 Ver.3.5は、組立キットになっていますが、Ver.4は、完成品になっており、ソフトウェアをPCにセットアップすれば、すぐにでもPICにプログラムを書き込むことができます。
(その他に、ACアダプタ、USB/シリアル変換ケーブルが必要となります)

HID Light Switch

 今回使用する「PIC10F200」(写真右)を含むPIC10シリーズは、僅か6ピンという“世界最小”のPICマイコンです。
(写真のPDIPパッケージは、8ピンですが、そのうち6ピンしか使われていません)

 これでも、チップ内部に4MHzのクロックを内蔵し、処理能力1MIPSを持つ、歴としたRISCプロセッサです。
(ちなみに、秋月電子通商さんで、1個70円でした)0xF9C7

#その昔、大学院の論文輪講で、当時有望視され始めたRISCプロセッサのテクノロジーについて、必死こいて英語論文を読んでいた頃を、懐かしく思い出します。
(それが、いまや70円ですよ、70円っ!!)

 「PIC10F200」は、プログラム用に256ワードのフラッシュメモリと、16バイトのデータメモリを持っています。また、外部入出力用に、4つのI/Oポートを持っています。
(その他、8ビットのカウンタを、1つ持っています)

 これだけあれば、今回の「フロントフォグランプ制御装置」のロジック(前回参照)を実装するには、十分過ぎるほどのスペックです。

 なお、「AKI-PICプログラマー Ver.4」は、標準の状態ではPIC10シリーズに対応していません。ボードのファームウェアを、Ver6.70以上にアップデートすることにより、PIC10シリーズに対応させることができます。

 また、PIC10シリーズは、PIC12シリーズとは若干ピンアサインが異なるため、ボード上のソケットにそのまま挿入して書き込むことができません。

 今回は、マニュアルを参考に、ICソケットとスルホール基板とを組み合わせて、(写真左)のような書き込みアダプタを作成しました。

HID Light Switch

 念のため、「PIC10F200」をセットした状態で「リード」し、内部のフラッシュメモリに正常にアクセスできることを確認しておきます。

 0xFF番地に書き込まれている、内蔵クロックのキャリブレーション用のデータが読み出せれば、ひとまずOKです。