SOARISTO工房 Logo
BMW Archive

 前回の続きです。

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

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

 前回の続きです。

 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です。

 前回の続きです。

 M3 Coupeに、HIDフォグランプ(withハイワッテージバラスト)を無理矢理付けてしまおうというこの企画ですが、

Light Switch

 これまでに、純正の「ライトスイッチユニット」に、DMM(Digital Multi-Meter)などを当てて解析してきた状況をまとめると、以下のようになります。
(「日高義樹のワシントン・リポート」風に)0xF8EB

  • M3 Coupe(E92)に、3 Series(E90系)用の「ライトスイッチユニット」を取り付けると、「フロントフォグランプ制御」以外の機能は、正常に動作する。
  • M3 Coupeにおいて、フロントフォグランプスイッチを押下しても、「足下モジュール」の所定の端子には、フロントフォグランプの電源電圧(信号名:55V)は出力されない。
  • 「ライトスイッチユニット」と「足下モジュール」との間は、車種別の専用ワイヤリングとなっており、M3 Coupeにおいては、フロントフォグランプの制御信号(信号名:S55V)は配線されていない。
  • M3 Coupeにおいて、「S55V」を強制的にアクティブにしても、「55V」には電源電圧は出力されない。
  • 「足下モジュール」は、M3 Coupe(E92)も3 Series(E90系)も、同じ部品番号のものが使われていることから、車種別にコンフィギュレーションを変えているものと思われる。

 よって、車体側の改造を必要最小限に抑えるためには、正規ディーラーにある「ダイアグシステム」(DISplusやGT1)を使って、車種別のコンフィギュレーションのうち、フロントフォグランプのビットを“1”にしてリビルドしてもらえば、済むことになります。

 しかしながら、いつもお世話になっている正規ディーラーさんとはいえ、さすがに本来の設定ではないコンフィギュレーションを行うことには抵抗があるでしょうし、第一、ワランティーの問題もあるため、設定変更をお願いすることは難しいと思われます。

 よって、今後予定しているM3 M-DCT用の「Active Shifter」の製作なども見越して、自力で解決することにします。

 題して、「M3 Coupe用フロントフォグランプ制御装置」と呼ぶことにします。
(「制御装置」とかいうほどの、たいそうなものではありませんが)0xF9C7

 制御装置のロジックは、以下のようになります。

  • 「スモールランプ」がONになっている時に、フロントフォグランプスイッチを押下すると、フロントフォグランプがONになる。
  • フロントフォグランプスイッチを押下する毎に、フロントフォグランプのON/OFFが切り替わる。

 「そんなの当たり前じゃんっ!!」と思えるほど簡単なロジックですが、これをインプリメントしようとすると、少し複雑なことになります。

 インプリメント上の注意点をまとめると、以下のようになります。

  • 「ライトスイッチユニット」等のロジック系は、+5V動作であるが、フロントフォグランプ等の電源系は、+12Vで動作させる必要がある。
  • 「フロントフォグランプスイッチ」は、タクトスイッチとなっており、スイッチを押下する毎にチャタリングが発生し、動作が不安定になることから、その対策が必要となる。
  • 車載用であることから、入力信号がオープンであったり、電源にノイズが混入しても誤動作することのないよう、フェイルセーフとしておく必要がある。

 なお、「スモールランプ」の換わりに、「イグニッション電源」を入力とすると、エンジンを回している時にフロントフォグランプを点灯することができ、「デイタイムランプ」としての機能も持たせることができます。

 以上の機能を、TTLなどの汎用ロジックICで実現しようとすると、かなりの部品点数となってしまいます。

 例えば、タクトスイッチのチャタリング対策には、CR回路とシュミットトリガが必要となり、タクトスイッチを押下する毎に出力をON/OFFさせるためには、フリップフロップが必要となります。

 ということで、今回初めて、PIC(Peripheral Interface Controller)を使うことにします。
(回路屋の諸先輩には、「こんな簡単なロジックなのに、なんでわざわざPICまで使うの?」と思われるかも知れませんが、M3 M-DCT用の「Active Shifter」の製作に向けての、練習台ということで)0xF9C7

Light Switch

 Microchip Technology社のPICには、現在最もよく使われているPIC16シリーズ/PIC18シリーズ(データ処理幅:8bit)を中心に、その上位のPIC24シリーズ(データ処理幅:16bit)、dsPICシリーズ(PIC24シリーズにDSPコアを搭載)や、その下位のPIC10シリーズ/PIC12シリーズ(データ処理幅:8bit)など、幅広い製品がラインナップされています。

 今回の制御装置は、非常に簡単なロジックであり、また基板サイズをできるだけ小さく抑えるため、ベースラインシリーズの中でも最も簡単な構成の、「PIC10F200」を使用することにします。

 またも、ずいぶん間が開いてしまいましたが、前回の続きです。

 HIDフォグランプの本体を加工します。

 このユニットは、ARISTOの時代に購入し、530i M-Sportにキャリーオーバーし、さらに今回、M3 Coupeにキャリーオーバーします。かれこれ、10年近く使っていることになります。

High-Wattage HID Fog for M3 Coupe

 HIDフォグランプ本体の色は、もともとは「シルバー」ですが、M3 Coupeのインテークに埋め込むことを考えて、「マットブラック」(つや消し黒)に塗装します。
(530i M-Sportの時も、同じような加工をしました)

High-Wattage HID Fog for M3 Coupe

 こんな感じで、しっかりマスキングしてから塗装します。

 自分で言うのもなんですが、“塗装ワザ”については、幼い頃から培ってきた経験で、かなり成熟の域に達してきたと思います。
(なんと言っても、M3 Coupeは、1/1のプラモデル(ダイキャストモデル?)ですから)0xF9F8

 塗装の直接的な技術も重要ですが、塗装する際の環境作りも重要だったりします。
(これについては、別の機会に詳しく)

High-Wattage HID Fog for M3 Coupe

 塗装が完了し、パーツを組み合わせた状態です。

 M3 Coupeのインテークに埋め込むのが、楽しみです。0xF9CF

 しばらく放ったらかしになっていた、この企画ですが、

High-Wattage HID Fog for M3 Coupe

 フォグランプの取付予定位置です。

 エアインテークの部分は避け、ラジエターグリルの左右に取り付けることにします。

High-Wattage HID Fog for M3 Coupe

 ということで、加工用のラジエターグリルです。

High-Wattage HID Fog for M3 Coupe

High-Wattage HID Fog for M3 Coupe