電子回路編です。
AE86純正タコメーターはイグナイターのコイルで昇圧した高電圧を
アナログ回路に入力して、電磁石とスプリングの力の釣り合いで動いているわかりやすい仕組みなんですが、レスポンスを良くしつつ正確な値を示すのが難しいようです。
今回作るステッピングモーターを使用したタコメーターは、見た目は針を動かすアナログメーターだけど、デジタル制御なので0Vと5Vのオンオフで制御します。
ECUが回転数に応じて点火信号を出力
↓
抵抗やコンデンサでマイコンに入力できる波形に変換
↓
マイコンは入力した点火信号のパルス間隔を計算し
回転数を求める
求めた回転数に合わせてどのくらい針を動かすか計算し
モータードライバへ出力
↓
マイコンからの指示に従ってモータードライバがステッピングモータを駆動する
という流れになっています。
ステッピングモータは
電源につなぐだけで回転する直流モータとは違って
複数あるコイルに電圧をかけると、一定の角度だけ回転するモータです。
この画像だと、4つのコイルに順番に電圧をかけることで回転させることができます。
指示した角度だけ回転させることができるところがミソです。
各コイルにかける電圧を0か100ではなく細かく制御することで、細かく回転させることもできます。
複雑な制御のようにみえますが、
ステッピングモータ用のモータドライバで
回転方向と回転数を指示するだけでモータを駆動してくれる便利なボードが売っているので使用しました。
A4988というモータドライバを使用しました。
フルステップで使う場合は12ピンだけでokです。
RESET リセット※RESETとSLEEPの機能を使わない場合はお互いに接続すればOK
SLEEP スリープ(省電力用)
STEP 0から1、1から0と電圧を変化させる度にモーターを1ステップ動かす
DIR 0なら右回転、1なら左回転と回転方向の指定
VMOT モータ用電源+(今回は9V)
GND モータ用電源-
2B モータのコイルに接続
2A モータのコイルに接続
1A モータのコイルに接続
1B モータのコイルに接続
VDD 回路用電源5V+
GND 回路用電源-
となっています。
今回設計した回路がこれです。

入力
1.IGN 12V
2.点火信号(motecM4同時点火の為、点火1と点火2をダイオードで合流させてから入力)
3.アース
出力
1.モータ2B
2.モータ2A
3.モータ1A
4.モータ1B
5.レブランプLED1
6.レブランプLED2
7.レブランプLEDアース
8.レブランプLEDアース
プルダウン抵抗の10kΩは100kΩに変更
並列に入っている0.1uFは4700pFに変更しました。
コンデンサはPICの入力にノイズが乗って針が暴れてるのを抑える効果があったので採用しています。
大きすぎるコンデンサと小さすぎる抵抗だと、
高回転で点火間隔が速くなった時にコンデンサが放電しきれずに、PICがずっとHIGHレベルで認識してしまうのでこの値になっています。
抵抗が小さい、コンデンサが大きすぎる例
パルスの間隔が狭くなったときに放電時間よりも速く次のパルスがやってくるので
PICがずっとHIGHレベルで認識してしまい、決まった回転数を超えると0回転になります
抵抗とコンデンサがちょうどいい例
ノイズ除去しつつ放電時間が十分に短いので、0Vまで下がるからPICへ正しく入力されます
なかなかうまく動かないので、
オシロスコープも買ってブレッドボード上で試行錯誤しました。
他には制御用の5V三端子レギュレータ
ステッピングモータ用の9V三端子レギュレータ
PICのリセット用プルダウン抵抗
レブランプLEDの電流制御用の抵抗
おまじないのバイパスコンデンサ
になります。(こんなに要らない?)
回路図が完成したので次はユニバーサル基板に部品を配置するんですが
フリーソフトを使ってパターンが交差しないように並び替えて最終的な形がこちらです。
部品を全部並べるとこんな感じ
複雑な回路をユニバーサル基板で初めて作ったんですが、
時間かかる&汚い&壊れそう
2号機を作るときはプリント基板発注に挑戦したいです。
次回、その2はプログラム編の予定です。
C言語って何?っていうところから始まったプログラミング・・・
ブログ一覧 |
自作タコメータ作成記 | クルマ
Posted at
2020/03/15 20:35:31