SOARISTO工房 Logo
2009年8月 Archive
 1  |  2  | Next 
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です。

2009/08/23

 前回の続きです。

 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」を使用することにします。

2009/08/17

 皆さま、こんばんは。SOARISTOです。0xF9C6

 画面左下のODDメーターを模したアクセスカウンターが、遂に300万アクセスを超えました。

BMW M3 Coupe M-DCT

 この「SOARISTO工房」を開設したのは、2001年7月17日のことですから、今日でちょうど8年と1ヶ月が経ったことになります。

 その間、実にさまざまなことがありました。(しみじみ)0xF9C5

 今日ここまで来れたのも、クルマを通じてお知り合いになれた皆さまをはじめ、たくさんの方々に支えられてのことかと思います。

 ここに、これまでご支援・ご交友いただいた皆さまに、深く御礼申し上げます。

 ちなみに、200万アクセスを超えたのが、2007年の7月ですので、2年と1ヶ月で100万アクセスとすると、1日に約1,300回ものアクセスいただいたことになります。

 最近では、なかなか時間的余裕が取れないことから、工房の作品を楽しみにされている皆さまには、ご不満にお思いの部分が多々あろうかと存じますが、引き続き、クルマに係るDIYを中心に、技術を磨き、精進していく所存でございますので、どうぞよろしくお願い申し上げます。

 本当に、ありがとうございました。0xF9EB

〔これまでの軌跡〕

   2001年7月 開設
   2005年9月 100万アクセス突破
   2007年7月 200万アクセス突破
   2009年8月 300万アクセス突破

2009/08/15

 久しぶりに“理系”の血が騒ぎまして・・・、0xF9C7

pic01.jpg
(画像は、CQ出版社さんから)

 “とある構想”を実現するため、PICを勉強中です。

pic02.jpg
(画像は、CQ出版社さんから)

 現在構想中のものは、以下の3点です。

  1. M3 Coupe用フロントフォグランプ制御装置
  2. M3 M-DCT用「Active Shifter」
    ひーくん」さん考案の便利装置「Active Shifter」のM3 M-DCT用です。
  3. 車速感応型ナンバープレート制御装置
    PICはステッピングモーターも制御できるので、007のボンドカーばりに、車速が80km/h以上となると、ナンバープレートの取付角度が変わるという・・・。
    (当然、公道では使用できませんが)

 ということで、完成はいつになるか分かりませんが、どうぞお楽しみに。0xF9CE

 1  |  2  | Next