以前に作ったシフトポイントインジケータを追加で作成してくれと友人に頼まれましたが、以前のモノはタコメーターやABSなどの制御に使われる専用のFV変換ICを使用しておりまして、入手経路が限られるのが難点でした。
そこでヒマを見てはPICを使って作製してみようと考えていました。ゲートタイムを決めてその間に何パルス入って来たかを計測して回転数を求めるタイプを作ってみたのですが、ゲートタイムを長くすると反応が悪く、短くすると低回転での精度が悪いとなってしまって製作途中でほったらかしにしていたのでした。
そんな折り、GaregeTさんのページに特定パルス数が入力されるまでの時間から回転数を求めるという方法で作成されたインジケータが載っていまして、そのアイディアを頂いて作ってみた所、満足出来るモノが出来ましたので紹介します。
GarageTさんの所で紹介されているのはインプレッサの純正メータにMTでは隠れているATポジションインジケータに多連LEDを埋め込んで光らせるというもので純正メーターの外観を損なわずスマートな取り付けが可能なモノです。動画で作動している様子がアップされていますのでインプレッサ乗りの方はぜひご覧になってみて下さい。ソースファイルも丁寧な注釈付きで公開されていますのでPICに慣れ親しんだ人も参考に出来る所がいっぱいあります。
私が今回作製したものは
■出力はLED2つとブザー1つ
■スイッチを2つ付けてそれで動作回転数を設定する
■回転数は100rpmから16000rpmまで100rpm刻みで設定
■回転数設定用に7セグメントLEDを付ける
■ロードスター以外でも使えるように
■例によって廃棄用基板に付いてる部品を使うのを最優先(^^;
以上の点を考慮しました。
以前の物は実際にその回転数までエンジンを吹かして設定しなくてはならないので設定変更する時に周りに気を使うという欠点がありましたが、今回の物は回転数直読で設定しますのでその点安心です。また、純正タコメーターよりもこのインジケーターのほうが正確な回転数を表示します。
■部品表
名称
|
型番
|
数量
|
価格
|
サンハヤト汎用基板 | ICB-288V(47x72mm) |
1.0
|
90
|
PIC | 16F84A |
1.0
|
400
|
ICソケット | 18Pin |
1.0
|
100
|
セラロック | 10Mhz |
1.0
|
30
|
7セグメントLED | GL8RO3(カソードコモンの物) |
1.0
|
200
|
押しボタン | ノーマルオープン |
2.0
|
100
|
ケース | 基板の大きさから適当な物を選ぶ |
1.0
|
100
|
ブザー | 自己励振回路内蔵の物 |
1.0
|
500
|
LED | 高輝度赤 |
1.0
|
50
|
三端子レギュレータ | 78L005A |
1.0
|
50
|
電解コンデンサ | 35V47uF |
2.0
|
40
|
トランジスタ | 2SC2120 |
1.0
|
50
|
コンデンサ | 10pF |
1.0
|
10
|
コンデンサ | 0.01uF |
1.0
|
10
|
コンデンサ | 0.1uF |
1.0
|
10
|
抵抗 | 330 |
9.0
|
90
|
抵抗 | 3.3k |
1.0
|
10
|
抵抗 | 10k |
1.0
|
10
|
抵抗 | 5.1k |
2.0
|
10
|
抵抗 | 100k |
1.0
|
10
|
抵抗 | 1M |
1.0
|
10
|
配線用コード | 基板用の細い物とメーター配線用の物 |
--
|
--
|
ギボシ端子 | 10set200円ほどでカーショップで売ってます |
9.0
|
200
|
部品取り付け面から見た図です。振動対策として部品を全て寝かせて取り付けた為とボタンが大きめな為にこの大きさになっていますが、キッチリ詰めればこの2/3くらいの大きさにはなりそうですね。 | |
裏の半田面です。 以前に作成したF/V変換ICを使用したものに比べてずいぶんスッキリとしています。 PICは動作に必要なメモリーなどが全て内蔵されている事と、入出力ピンがそれなりの電流をドライブ出来るようになっているので配線作業を大幅に簡略出来るのが魅力です。 |
|
今回の基板にちょうど良い大きさのプラスチックケースが手元にありました。 7セグLEDが見えるように透明なケースが良いでしょうね。ボタン用と、配線引き出し用の穴を開けます。 |
|
ケースに納めたところです。なかなかスッキリと収まりました。これをドライバーズシート足下のヒューズボックスそばにしっかり固定します。設定変更の時に取り出しやすいようにマジックテープなどで固定しておくと良いでしょう。 | |
2号機はどこまで小さく出来るか挑戦してみました。1/3の大きさに収まりましたが配線が大変なのでもう少し大きめに作ったほうが良いです | |
1号機と2号機を並べてみました。この中間くらいの大きさが作りやすさを考えると丁度良いと思います。 |
操作 |
7セグLED表示 |
説明 |
SW1とSW2の両方を押す | スイッチを押してる間は左のように表示します | |
両方のスイッチから手を離す | 現在のLED1設定の1000の位を表示 | |
SW2で設定変更 | 〜に変化 | A〜Fは10〜15です。例:12000rpmならC |
SW1で確定 | 現在のLED1設定の100の位を表示 | |
SW2で設定変更 | 〜に変化 | |
SW1で確定 | スイッチを押してる間は左のように表示します | |
SW1から手を離す | 現在のLED2設定の1000の位を表示 | |
SW2で設定変更 | 〜に変化 | |
SW1で確定 | 現在のLED2設定の100の位を表示 | |
SW2で設定変更 | 〜に変化 | |
SW1で確定 | スイッチを押してる間は左のように表示します | |
SW1から手を離す | 現在のブザー設定の1000の位を表示 | |
SW2で設定変更 | 〜に変化 | |
SW1で確定 | 現在のブザー設定の100の位を表示 | |
SW2で設定変更 | 〜に変化 | |
SW1で確定 | スイッチを押してる間は左のように表示します | |
SW1から手を離す | 現在のパルス数設定を表示 | |
SW2で設定変更 | 〜に変化 | クランク1回転でのパルス数(ロードスターなら2) |
SW1で確定 | スイッチを押してる間は左のように表示します | |
SW1から手を離す | 現在のディマー設定を表示 | |
SW2で設定変更 | 〜に変化 | LED1&2の点灯時の明るさ設定(7が一番明るい) |
SW1で確定 | スイッチを押してる間は左のように表示します | |
SW1から手を離す | 現在の表示設定を表示 | |
SW2で設定変更 | 〜に変化 | 7segLEDの表示内容設定 |
SW1で確定 | クルクル回る(^^) | LEDが徐々に明るくなりブザーが鳴る |
設定終了 | 〜 | 設定された表示になります |
点火方式の設定はクランクが1回転するのに何発のパルスが入力されるかの設定です。ロードスターの場合はクランクシャフトが1回転する間に約1.5msec幅のパルスが2つ入ってきます、この場合は2を、クランク1回転に付き1発しか信号が来ないなら1を設定してください。
設定した回転数になるとLEDやブザーが動作するわけですが、これにはOFFする時に100rpmの差を持たせてあります。
例えば設定値が6800rpmだった場合、回転数が上昇し6800rpmになるとLEDが動作し、6700rpmに回転数が下がるまで動作したままになります。これによって設定回転数周辺でのLEDのON/OFFの繰り返しを防いでいます。
パルス数の設定により6気筒や、8気筒でも使えるように想定して作ってあります。がしかし、そのようなクルマに乗っている人が近くにいないもので実際にクランク1回転に付き何発のパルスが入ってくるのか全然知りません。6気筒なら3発、8気筒なら4発と(または気筒数にかかわらず1?)いう想定で作っていますが、もし知っている人がいたら教えて下さい。
Ver1.7で新しく追加された機能として表示内容の設定があります。この中でピークホールド機能というのは2000rpm以上の場合は最大の回転数で表示をキープします。2000rom以下に回転が落ちて1秒くらいは最大回転数を保持して、それ以降は現在値を表示します。