コントロールモジュールの電圧とバッテリーの電圧は同じですか?


8

制御モジュール電圧(OBDモード01 PID 42から)とバッテリー電圧は同じですか?そうでない場合、それらの間の関係は何ですか?車内でバッテリー電圧が最大14 Vになる可能性があるのに、(OBDモード01 PID 42からの)制御モジュール電圧の最大値が65.535 Vであるのはなぜですか?


明確にするために、実際には読み取り値として65.535Vを取得していますか、それとも最大読み取り値がその特定の数値である理由を単に疑問に思っていますか?
user253751 2016年

1
最大値が99.999の場合、理由はかなり明確になります(5桁、小数点は2番目の小数点以下)。65535は2進数で、99999は10進数です。
user253751

回答:


9

問題は着信信号にあるようです。

車両にフラックスコンデンサーが装備されていない限り、バッテリー両端の 65 Vは少なすぎます。私の知る限り、大型トラックでさえその電圧をかけません。

65535は、最大の符号なし16ビット整数です。

見てみるとOBD-II SAE J1979に従ってOBD-II PIDで使用する式があるように見えwikiページ:

( A * 256 + B ) / 1000

Aは最初の2バイト、Bは次の2バイトです。AとBが両方とも255(バイナリでは11111111)の場合、最大可能電圧、65.535 Vが得られます


この結果がシミュレータからのものである場合、私はそこに責任をピン留めします。これが実際の車両からの信号である場合は、ECUの短絡をチェックします(ただし、わかりません)。異常な電圧の可能性としてそれを除外するために正しいアドレスをポーリングしていることを確認してください。

制御モジュール電圧は、ECUに供給される電圧です。バッテリーの電圧ではありませんが、通常、車両の走行中は十分に近い電圧です。


1
自動車用ソフトウェアとは異なり、そもそも良いことです。ところで、これは素晴らしい反応です。:)
レースフィーバー

6

私が見ているのは、コンピューターが機能する方法の成果物にすぎないと思います。あなたが与える数はそれに小数が挿入されたちょうど65535です。これはコンピュータにとって特別な数値です。これは、16ビット(2バイト)の整数で保持できる最大値です。つまり、簡単に言えば、使用することに決めたコンピューター変数のために、その特定の測定に対して返すことができる最大値です。これはプログラミングの問題です-彼らは65ボルトを測定することを期待していません。これが正または負の値である可能性がある場合、最大値は32,767になることがあります。

あなたが多く見るかもしれないもう一つの数は255です。これは8ビット(シングルバイト)の符号なし数の最大値です。値が正または負の場合、最大値は127です。


私の答えを見てください。私は何かに
夢中

通常、12 7は、符号付き8ビット整数の最大値です。
user253751

@immibis、あなたは私を得た-私は頭の中で「署名」していて、-128と考えていました。ありがとう。
JPhi1618 2016年

1

エンジンが作動しているとき、電圧オルタネーター/電圧レギュレーターの出力(バッテリー充電電圧でもあります)追跡する必要があります。エンジンが作動していないときは、バッテリー電圧を追跡します。

電圧範囲が広い理由を推測することしかできません。未調整のオルタネーター出力は48Vを超える可能性があるため、有用な診断データとなる可能性があります。または、値の範囲が必要な範囲を超えているのは、デジタルエンコーディングのアーチファクトにすぎない場合もあります。


1
CMVが65 + vdcに達した場合、オルタネーター電圧をどのように追跡しますか?あっという間にバッテリーを完全に揚げるでしょう。ほとんどの走行中の車両、オルタネーターで読み取る必要があります〜14vdcです。それを超え過ぎたものとそれはさようならバッテリーです。
–Pᴀᴜʟsᴛᴇʀ2

@ Paulster2私はあなたの質問に答えるために私の答えを更新しました。
kmarsh 2016年

1

コントロールモジュール電圧は、バッテリー電圧からバッテリーとECU間の配線の電圧降下を差し引いたものです。65535は完全な16ビットレジスタです。ECUはおそらく整数で動作しますが(計算はより高速です)、OBDの計算の最終出力を「浮動小数点」または「実数」形式(小数点を使用できる数値)に変換します。

最大値が65535、6553.5、または655.35ではない理由は、小数点を左から2桁に配置することで、計算の整数段階で最大の精度が得られ、小数点の左側に十分な場所があり、すべての可能性のある値を表示できるためです。これにより、ECUは整数で小数点以下3桁まで機能します。おそらくバッテリー電圧にとってそれは重要ではありませんが、私はそれが原則だと思います。

65535未満の最大値を人為的に適用する機能はなかったかもしれませんが、たとえそれを行う利点がなかったとしても。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.