自作できるデジタル・タコメーターの完全版
少々電子工作できる人ならば自作できるデジタル・タコメーター
元はヤマハ SA16J JOG-ZIIに取り付けるために作ったデジタル・タコメーターですが四輪車両にも使用できるかも。車速センサー搭載している二輪車両は少ないので本来は自動車向けなのかもしれません。
作動している雰囲気。
当デジタル・タコメータは冬でのテストができていません。低温時液晶LCDの特性上表示の応答性が著しく劣るため、まともに表示できるかわからず、冬場0度以下になるような地域では使用できない可能性が高いです。
デジタル・タコメーターの回路図
Arduino NANOのマイコンボードで製作できるように、ブレッドボード上に組めるように、回路図を書きました。通常の回路図の方はこちらに記載してあります。
エンジン回転検出回路はCDI点火用です。トランジスタ点火やエンジン回転信号(0V-5V)から点火信号を得る場合はツェナダイオードを使わずに組んでください。ちなみに自動車やフルトラで作動するか確認できてません。
注意:中華品のArduino NANOに搭載されている3端子レギュレター(AMS1117)の最大入力電圧は15Vと低いための車両に取付使用するには適していません。そのため最大入力電圧の高い3端子レギュレターを新しく設けて対応します。
表示器のLCDモジュールは、UC1609のコントローラを内蔵している192×64 dotサイズのLCDモジュールに合わせてプログラムを作っているため他のLCDモジュールでは表示できません。
当方LCDモジュール、Arduino NANOや細かい電子パーツをわずかですがストックしているので、欲しい方はコメント枠にてご連絡をいただければ有償でメルカリで出品します。
- 192×64 dot UC1609 LCDモジュールは稀にメルカリで出品。
- Arduino NANO マイコンボード
プログラムコード(AVR Mega328P 16MHz用 / Arduino NANOなど)
プログラムコード HEXファイルは以下です。
※バージョン1.00
公開終了
※バージョン1.01(簡易データロガー搭載・一部プログラム改善版)
公開終了
※バージョン1.02(リフレッシュレート設定機能追加)
公開終了
※バージョン1.03(データロガーのサンプリングレートを500msから300msに変更・録画時間30秒)
公開終了
※バージョン1.04(データロガーの録画時間を30秒から60秒に変更)
提供終了
※Arduino NANOにhexファイルを書き込みするにはこちらのソフトウェアを使用します。
プログラムコードは著作権を放棄しておりません。そのため提供されたプログラムコードを個人利用することは可能でも商用利用することは禁止になります。またプログラムコードをWebで公開することも禁止です。もし違反が発見した場合は適切な処置をとらせていただきます。
また当方(個人)が使うために作ったプログラムになるため、バグや不具合、動かないなどがあった場合に当方は責任を取ることはできません。個人が自分のために作った自作品ということをご理解の上で利用のほど宜しくお願い致します。
自作したらまずはセッティングする
使う車両に応じて設定する必要があります。
モードセッティングへの移行は標準画面の状態で右ボタンを3秒間長押し。
- LCDの画面の明るさ調整(標準値 2)
- LCDのコントラスト調整(標準値 160)
- リフレッシュレート設定(標準値 300)Ver1.02から採用
- 点火パルス数設定(標準値 2/2)
- エンジン回転数バーの回転数設定(標準値 10000rpm)
- フロントタイヤの円周mm設定(標準値 655mm / 自動車の場合1570mmに固定)
- 車速パルス数設定(標準値 2/1)
- 車速補正(標準値 100%)
リフレッシュレート設定
表示機のLCDは低温になると応答速度が著しく落ちてしまい、データ更新をすばやく変化させることができなくなります。そのため冬場でそのような状態になった場合は、リフレッシュレートを300msから400~600msなどに引き上げて対応してみてください。夏場は200msに設定できます。
点火パルス数設定
クランクシャフト2回転に何回点火するか?の設定になります。
SA16J JOGの場合はクランクシャフト2回転に2回点火するので(2/2)。
エンジン回転数バーの回転数設定
エンジン回転数バーの回転スケールの設定。
8000rpm, 10000rpm, 12000rpmの3種類を設定できます。
フロントタイヤの円周mm設定
車速信号を得ているタイヤの円周mmを設定します。
例: SA16J JOGの場合フロントタイヤの円周は1280mmです。
当方の場合、素早く車速を更新してほしいので円周を半分の655mmに設定し、車速パルス数を通常4のではなく2に設定して、タイヤ半回転ごとに車速算出するようにしています。
四輪車の自動車車両の場合はJISにて車速は定義されているので、使用しているタイヤの大きさに関係なく、1570mmにしてください。
車速パルス数設定
車速パルスを発生させているタイヤ1回転に何回パルスが発生するかの設定です。
例: SA16J JOGの場合フロントタイヤ1回転に4回信号が発生します(4/1)。
四輪の自動車の場合メーターケーブル1回転に何回パルスが発生するかの設定になります。四輪の場合はネットで検索すればすぐに情報がでてきます。
車速補正
車両速度が実際の速度と異なる(誤差がある)場合にここの値を変更して補正します。
通常は100%の無補正です。
表示画面のモード
表示モードは3種類です。
左側ボタンを押して切り替えます。
- 通常画面
- ピークホールド画面
- データロガー画面(バージョン1.01から搭載)
- 0-30km/h, 0-60km/h区間タイム画面
ピークホールド画面
データロガー画面
区間タイム画面
ディスカッション
コメント一覧
はじめまして。Nonと申します。
このたび、マイコンを使ってバイクのタコメーターやスピードメーター
が自作できないかと検索したところ、貴サイトにたどり着きました。
特にスピードメーターの項は、文章を拝見する限りでは、私のやりたいことが
100%記載されているように思いました。
ただし、マイコン(arduinoを想定)を使って自作することは初めてのことなので、
既にあるコードを参考にして自作を計画したいと思います。
そこで、大変厚かましいことではありますが、スピードメーター、タコメーター
の作成されている部分のコードをいただくわけにはいかないでしょうか?
表示方法はまだ考えていないのですが、LCDなども併せて勉強してグラフィック
LCDが使えないかと思っています。
AVR、arduinoなどで使えるコードなら何とか勉強して理解しようと思っています。
無理なお願いかもしれませんが、ぜひ叶えていただければありがたいです。
よろしくお願いします。
メールにてご連絡を差し上げさせていただきました。