HOME
HUD型デジタルタコメーター
1.初めに

 戦闘機のような車のフロントガラスに映り込むデジタルタコメーターを作ってみました。

 ピーカンの天気ではさすがに見づらいですが、曇りの日なら十分に視認できます。

 夜は逆に明るすぎて支障があるので、ライトを点けると自動で減光するようにしています。

  車種ごとの配線の引き出し方等、車体側に関する質問にはお答えできかねますのでご了承ください。




2.回路図



 今回もワンチップArduinoを使用しています。

 LEDが48個、7セグメントLEDが4個とI/Oの数が多いので、さすがにワンチップArduino1個では制御できません。

 LEDはNJU3714Dという12ビットシフトレジスタを4個使用してデータを48個分シリアルに送り、ストローブ信号をローにすることでシリアルに送ったデータがLEDに一度に反映されます。LEDをクリアしたいときはクリアー信号をローにすれば一瞬でLEDが消えます。

 シフトレジスタに書き込む方法ですが、高位ビット(MSBファースト)から順次送信しますが、データポートをハイかローに設定してクロックを一度ハイにしてすぐにローにすることでシフトレジスタに取り込まれます。これを48回繰り返した後、ストローブをローにしてLEDに反映させます。

 7セグメントLEDには74HC4511を使用してI/Oを節約しています。ABCDの4ビットデータバスで数字(「0」〜「9」)を表示します。幸いなことにラッチイネーブル(LE)信号があるので、LEをハイにした時点でその時のデータバスの値が保持されます。

 7セグメントLEDの下2ケタは「00」固定です。分解能は100RPM単位となります。(バーグラフLEDは200RPM単位)

 夜になると眩しすぎて支障があるので、自動で減光させます。イルミネーション信号はカーナビのところに来ています。アルパインのサイトで検索できます。

 私の車種ですとイルミネーション「オン」で+12の信号がきますので、10kΩと4.7kΩで電圧を分圧して取り込んでいます。

 もしイルミネーション「オン」で12V⇒0Vになる車種の場合、スケッチの95行目の「if(digitalRead(illumi) == HIGH){」を「if(digitalRead(illumi) == LOW){」に変更すればいいです。

 また、12Vではなく5Vの場合は10kΩと4.7kΩの抵抗分圧しているところの4.7kΩをハンダ付けしないことで動作します。




3.配線図(メインボード)



 これは基板の表面から見た配線図です。数値表記のないコンデンサは0.1u積層セラミックコンデンサです。数値表記のないチップ抵抗(70個)はすべて100Ωです。青色チップLEDも同サイズ(2012)で48個ありますので、口述の組み立て概要をご参照下さい。



4.部品表

部品名型番数量購入元備考
丸ピンICソケット(28P)[300mil]2227MC-28-031個秋月電子通商P-01339
丸ピンICソケット (20P)2227MC-20-034個秋月電子通商P-00031
丸ピンICソケット (14P)2227MC-14-031個秋月電子通商P-00028
ピンヘッダ (オス) 1×40 (40P)1個秋月電子通商C-00167
7セグメントデコーダーIC(6個セット)[CD4511BPWR]CD4511BPWR1セットThinkAboutPCBTSSOP
2012型チップ抵抗100Ω(1セット50個)RC2012J101CS2セットThinkAboutPCB2012
2012型チップ抵抗器 3.3kΩ(1セット10個) RK73B2ATTD332J*101セットマルツ2012
チップトランジスタ2SC2712(50V150mA)(40個入) 2SC2712-GR1セット秋月I-00761
高輝度青色7セグメントLED表示器OSL10561−LB カソードコモン カソード共通接続OSL10561-LB4個秋月電子通商I-04107
三端子レギュレーター 5V1A NJM7805FA 5個入NJM7805FA1セット秋月電子通商I-00161
放熱器(ヒートシンク)25x24x17mm1個秋月電子通商P-05151
カーボン抵抗(炭素皮膜抵抗) 1/4W330Ω (100本入)RD-25TJ3311セット秋月電子通商R-25331
カーボン抵抗(炭素皮膜抵抗) 1/4W4.7kΩ (100本入)RD25S 4K71セット秋月電子通商R-25472
カーボン抵抗(炭素皮膜抵抗) 1/4W10kΩ (100本入)RD25S 10K1セット秋月電子通商R-25103
絶縁型ラジアルリードタイプ積層セラミックコンデンサー1000pF50V±5%5mm10個入RD15N102J1HH5L1セット秋月電子通商P-03111 0.001uF
積層セラミックコンデンサー0.1μF50V (25個入)FK28Y5V1H104ZN0061セット秋月電子通商P-06165
電解コンデンサー100μF25V85℃(ルビコンPK)25PK100MEFC5X112個秋月電子通商P-03122
汎用小信号高速スイッチング・ダイオード 1N4148 100V200mA(50本入)1N41481セット秋月電子通商I-00941
セラミック発振子(セラロック)コンデンサ内蔵タイプ 16MHzCSTLS16M0X55-B01個秋月電子通商P-00525
AVRマイコン ATMEGA168P−20PUATMEGA168P-20PU1個秋月電子通商I-03033
12ビットシリアル−パラレル変換IC NJU3714NJU37144個秋月電子通商I-03708
【TC74HC14AP】HCMOS-ICTC74HC14AP1個マルツ
高輝度青色チップLED 2012サイズ L−C170LBCT (10個入)L-C170LBCT5セット秋月電子通商I-00697
三端子レギュレーター 5V1A TA7805STA7805S1個秋月電子通商I-06312
放熱器(ヒートシンク)25x24x17mm1個秋月電子通商P-05151
HUD型車載デジタルタコメーター基板[HUDT001] HUDT0011枚ThinkAboutPCB



5.組立概要

 ↓これが基板の表面

 

 ↓これが基板の裏面です

 

 最初に7セグメントデコーダーICの「CD4511BPWR」を取り付けます。取り付け前にパターン面にフラックスを塗っておきます。私は大洋電機製のBS−65B(マルツ購入)のフラックスを使っています。

 

 次にICを乗せ、位置合わせをします。ICには方向性があります。ICの一番ピンはIC上に丸いくぼみがあるところです。それをシルク印刷の丸印と合わせます。この位置合わせを正確に行っておかないと、後々の修正に苦労します。パターンからはみ出ないように正確に合わせて下さい。

 

 位置合わせが終わったらどこか一か所に仮りハンダを盛ります。ピン間がショートしていても構いません。

 

 そして反対側のピンをすべて盛り盛りハンダを乗せます。

 

 仮りハンダした方のピンもすべて盛り盛りハンダを乗せます。

 

 次にハンダ吸い取り線で余分なハンダを吸い取ります。私は太陽電子の「CP−25Y」を愛用しています。フラックスが吸い取り線に含まれているので、ハンダ吸い取りが綺麗にできます。

 

 

 

 7セグメントドライバICのハンダ付けが終わった様子。

 

 7セグメントLEDを基板に挿入します。小数点の丸とシルク印刷の丸印が合うよう方向を合わせます。

 

 次に基板をひっくり返して、7セグメント用の100Ω表面実装抵抗をハンダ付けします。
 7セグメントLEDが上になるようにして、左側の二つの7セグメントLEDをハンダ付けしますがパターンは↓のようになっています。

 

 実は↓のように表面実装抵抗をハンダ付けするのが正解です。すみません、パターン設計ミスしました m(__)m

 

 パターンミスを修正するのですが、まず7セグメントLEDをすべてハンダ付けします。

 

 その後、↓のように表面実装抵抗の片側を7セグメントLEDにハンダ付けし、もう片側をリード線の余りなどで↓のように各表面実装抵抗を接続・ハンダ付けします。

 

 7セグメント4桁分のハンダ付けの様子。3.3kΩの表面実装抵抗と2SC2712もハンダ付けします。

 

 続いて表面にひっくり返し、まずバーグラフ用チップLEDの電流制限抵抗である100Ω表面実装抵抗をハンダ付けします。一番左から200RPM、400RPM、600RPM、800RPM、1000RPMです。1000RPM単位だけは目立つように縦に2個配列します。

 

 ↓100Ω表面実装抵抗48個がすべてハンダ付けされた様子。

 

 ↓続いて青色チップLED48個をハンダ付けします。チップLEDは方向性があり、見づらいですが小さな緑色のマーキングをしてあるほうがカソードで写真で見て下側がカソードになります。

 

 ↓残りのパーツをハンダ付けした様子。3端子レギュレーターの放熱板はハンダ付け後に取り付けようとすると干渉して取り付けられない場合がありますから、放熱板を付けた状態で3端子レギュレータをハンダ付けして下さい。
  12ビットシフトレジスタと74HC14は写真では直接ハンダ付けしていますが、心配な方はソケットを使うといいでしょう。

 

 あとは車への取り付けですが・・・
  ・「+12V」を車のキーをアクセサリーポジションに回したときに入る電源に接続して下さい。私はシガーソケットから取りました。バッテリーから取ると車が止まっているときも点灯してしまいます。
  ・「GND」を車の適当なボディーアースに接続して下さい。
  ・「illumi」をカーナビのところに来ているイルミネーション信号から取ってください。(アルパインのサイト参照)
  ・「RPM」を回転数信号から取って接続して下さい。わたしは こちら のサイトを参考にしました。



6.ターゲットとの接続

 ブートローダー書き込み済みのワンチップArduinoを用意してメイン基板へ実装します。

 次はスケッチライタとの接続ですが、5V系のシステムですので、スケッチライタも5Vに設定します。J1を2−3番ピンショートして5Vに設定します。



 スケッチライタと本体を5本のストレートケーブルで接続します。ピンヘッダにシルクで「G」と書いてあるピンがGND(黒線)です。

 あとはスケッチを書きこめば完成です。スケッチはArduino1.0.5で書いています。




7.スケッチの動作について

・デジタルタコメーターに関する資料はすべて こちらのホームページ に入っています。
・スケッチはArduino-IDE1.0.5で作成しています(2013/7/31現在)。
・私の車(ストリーム初期型)ではエンジン回転数のパルスは3000回転で100Hzです。4気筒4サイクルエンジンですので、エンジンの軸が1回転する間に2パルス出ているようです。
 気筒数が違う車や2サイクルエンジンではスケッチ内での計測間隔が異なります。正常に表示されない場合はスケッチ15行目の「#define RPMCOUNT 11240 //(3000RPM:100Hz)」の「11240」の数字を調整してください。
 例えば、実際の回転数より2倍に表示される場合は、11240を5620に変更すればいいです。
・ワンチップArduinoのブートローダー書き込み方法、スケッチの書き込み方法はこのHPの「ワンチップArduino作成用ブートローダー&スケッチライタ」を参考にしてください。

HOME


クリエイティブ・コモンズ・ライセンス
この 作品 は クリエイティブ・コモンズ 表示 - 非営利 - 継承 2.1 日本 ライセンスの下に提供されています。