多機能メーターの電圧計の測定値にズレがあることが分かりました。テスターの実測電圧と一致しません。今回はこの問題を修正しました。
下記は現在の回路図です。左上の抵抗が電圧計です。マイコンは3.3Vで動作しているのに対し、バイクのバッテリーは12Vと電圧が高いです。この12Vをそのままアナログ入力端子に印加すると、過電圧でマイコンが壊れてしまいます。このため、抵抗分圧でバッテリーの12Vを0.18倍にすることで降圧しています。
以下はテスターによる実測電圧と、正規化されたAD変換値の相関をプロットしたグラフです。安定化電源があれば電圧を振って確認できるのですが、そんな良いものは持っていないため、ACアダプター接続時、エンジンON時、エンジンOFF時の3ポイントで測定しました。ポイント数は少ないですが、線形になっているのだと思われます。
このグラフから得られた一次式をそのまま電圧計の補正式として実装しました。mbedのアナログ入力ライブラリのread()関数は、0~3.3Vを0~1のfloat型で返します。
batteryVoltageArray[averageIndx] = batteryADC.read() * 19.3 - 0.361;
ブログ一覧 |
多機能メーター製作 | 趣味
Posted at
2021/06/17 21:54:33