YPVSディスプレイと名乗ってますが、便宜上であって各種の情報を写すマルチディスプレイと考えて頂ければと思っています。YPVSインジケータを載せておけば、わかりやすいという感じなのかもしれませんね。要は自分が欲しかった情報を表現出来ればなぁなんて思ってます。
技術的に無理な話や表現出来ないものも中にはあるかも知れませんがこれなら実現出来るのではないかとしてプログラムに勤しんでいます。おかげで丸1年ほどかかりましたがタコメータのアイドリング時の揺らぎを抑える問題も何とかプログラミングで解決しそうな感じです。
YPVS情報を可視化として作られたものは、テキサス・インスツルメンツのLM3914のレベルメータICを使ってましたがこれには汎用性が余りなく専用品に近い設計になってしまいます。
というのもYPVSを動かすためにバイクによって制御方法や動作電圧が異なるからです。
例えば、RZR用YPVSは1.2V(全閉)~2.4V(全開)の電圧範囲で動作しますが、LANZAは3.9V(全閉)~1.7V(全開)で動作します。これは動作側バルブが右にあるか左にあるかでモータを逆回転させる必要があるために制御方法が異なるのです。
RZRの場合は電圧増加を見れば良いのですが、LANZAは電圧減少を見る必要があります。
今回はマイコンを使ってますのでプログラムで簡単に対応出来ますが、オリジナルとは違った手法で解決を考えていて、テスト段階ではRZRの電圧に合わせた決め打ちなので恥ずかしいプログラムですが、最終的に変数やコマンドを使って作成する予定で最低限、RZRには使えるようなプログラムには作り替えたいと思ってます。
こちらは特殊なマイコンですが安価ですし、クマ出没注意さんのスケッチの大半を拝借してますのでYPVSインジケータとしてのスケッチは同様に解放予定です。改造してどんどんと使ってほしいと思ってます。取りあえずYPVS部分は完成しました。多少プログラム的微調整は残ってますがトビラの絵がそれです。
USBの5Vをカーボン抵抗1.5KΩと1.0KΩで分圧して2V(実際は2.1V程度)を作成してA0に投入してますが83%と表示してますのでまずまずだと思います。机上では安定していますが入力端子にコンデンサバッファー等を回路的に持つ必要有りかな、などこと考えています。
二つ目に必要な情報は電圧計です。RZRには不要と思われがちですが、CDIなどがOSR-CDIに変わっているとバッテリ電圧を監視するのは結構重要なポイントです。一つ目の手法で使った分圧抵抗での電圧監視ですが3.3VとADCが4096分解能ということを忘れて一つ目と同様になんども失敗してます。自分でも嫌になるほど阿呆です。思考に柔軟性が失われてますね。
三つ目は重要な話ですが、元々あった場所に水温計があります。これの代わりに情報を提示しなきゃ意味がありません。こちらは以前水温計として使ったサーミスタの情報をそのまま流用します。今回は暖機が必要な低い水温はLと表現したり、オーバーヒートしそうな場合はHとして点滅動作もできるのではないかと思ってます。
4つ目は完全な当方の趣味です。いつも時間を気にするタチなのですがRZRには時計などはありません。今回はどうしても付けたくて頑張っていますが、時計合わせという難問が立ち塞がっています。WIFI部分は秋月で買ったESP32-WROOM-32Eマイコンボードを使ってテストしてます。
5つ目も考えているのですが、こちらはセンサー部分の開発が全く進んでいないのでプログラム的に先行で開発して使えれば良いなぁなんて思ってます。
ESP32-C3を選んだ理由としてこちらにはDEEPSLEEPという機能があり、待機中にはほとんど電気を食わない(44μA)という機能があります。極小の待機電力ならバッテリに優しく出来るかと思います。
割り当て端子別の機能
GPIO0 電圧PV アナログ入力(YPVSの電圧変動を監視)
GPIO1 電圧 アナログ入力 (ACC電圧を監視)
GPIO3 ??アナログ入力 (アナログ値を監視)
GPIO7 水温計 アナログ入力 (サーミスタを監視)
GPIO20 時計
GPIO21 時計
殆ど絵に描いた餅ですが、頑張って作っていこうかと思ってます。
コメント