Ist die Spannung des Steuermoduls und die Batteriespannung gleich?


8

Ist die Spannung des Steuermoduls (ab OBD-Modus 01 PID 42) und die Batteriespannung gleich? Wenn nicht, wie ist die Beziehung zwischen ihnen? Warum beträgt der Maximalwert der Steuermodulspannung (ab OBD-Modus 01 PID 42) 65,535 V, wenn die Batteriespannung in einem Auto maximal 14 V betragen kann?


Zur Verdeutlichung: Erhalten Sie tatsächlich 65,535 V als Messwert oder fragen Sie sich nur, warum der maximal mögliche Messwert diese bestimmte Zahl ist?
user253751

1
Wenn es ein Maximalwert von 99,999 wäre, wäre die Begründung ziemlich klar (5 Stellen, mit dem Dezimalpunkt nach dem zweiten). 65535 ist binär, 99999 dezimal.
user253751

Antworten:


9

Es sieht so aus, als ob das Problem mit dem eingehenden Signal liegt.

Wenn Ihr Fahrzeug nicht mit einem Flusskondensator ausgestattet ist , sind 65 V über der Batterie etwas zu viel. Selbst schwere Lastwagen lassen diese Spannung meines Wissens nicht laufen.

65535 ist die maximale vorzeichenlose 16-Bit-Ganzzahl.

Auf der OBD-II- Wiki-Seite sieht es so aus, als ob die von der OBD-II-PID gemäß SAE J1979 verwendete Formel lautet:

( A * 256 + B ) / 1000

Wobei A die ersten zwei Bytes sind, ist B die nächsten zwei Bytes. Wenn A und B beide 255 sind (also 11111111 in Binärform), erhalten Sie die maximal mögliche Spannung von 65,535 V.


Wenn dieses Ergebnis von einem Simulator stammt, würde ich dort die Schuld geben. Wenn dies das Signal ist, das von einem echten Fahrzeug kommt, würde ich nach einem ECU-Kurzschluss suchen (nicht sicher). Stellen Sie sicher, dass Sie die richtige Adresse abfragen, um dies als Möglichkeit für die ungewöhnliche Spannung auszuschließen.

Die Steuermodulspannung ist die an die ECU gelieferte Spannung. Es ist keine Batteriespannung, aber normalerweise nahe genug, wenn das Fahrzeug fährt.


1
Nicht so, als wäre Automobilsoftware von Anfang an so gut. Dies ist übrigens eine fantastische Antwort. :)
Rennfieber

6

Ich denke, was Sie sehen, ist nur ein Artefakt der Funktionsweise von Computern. Die von Ihnen angegebene Zahl ist nur 65535, in die eine Dezimalstelle eingefügt ist. Dies ist eine spezielle Zahl für Computer - dies ist der größte Wert, der in einer 16-Bit-Ganzzahl (2 Byte) gespeichert werden kann. Einfach ausgedrückt ist dies der größte Wert, der aufgrund der von ihnen gewählten Computervariablen für diese bestimmte Messung zurückgegeben werden kann. Es ist eine Erfindung der Programmierung - sie erwarten nicht, dass sie jemals 65 Volt misst. Wenn dies ein positiver oder negativer Wert sein könnte, wird möglicherweise ein Maximalwert von 32.767 angezeigt.

Eine andere Zahl, die Sie möglicherweise häufig sehen, ist 255. Dies ist der Maximalwert einer vorzeichenlosen 8-Bit-Zahl (Einzelbyte). Wenn der Wert positiv oder negativ sein kann, beträgt der Maximalwert 127.


Siehe meine Antwort. Ich glaube, ich bin auf etwas ...
Zaid

Normalerweise ist 12 7 der Maximalwert einer vorzeichenbehafteten 8-Bit-Ganzzahl.
user253751

@immibis, du hast mich - ich hatte in meinem Kopf "unterschrieben" und dachte -128. Vielen Dank.
JPhi1618

1

Bei laufendem Motor sollte die Spannung dem Ausgang des Generators / Spannungsreglers (der auch die Batterieladespannung ist) folgen. Wenn der Motor nicht läuft, wird die Batteriespannung verfolgt.

Über den Grund für den weiten Spannungsbereich kann ich nur spekulieren. Der ungeregelte Generatorausgang kann 48 V überschreiten, daher kann dies ein nützliches Diagnosedatum sein. Oder es kann nur ein Artefakt der digitalen Codierung sein, dass der Wertebereich den erforderlichen Wert überschreitet.


1
Wenn das CMV 65 + VDC erreicht, wie folgt das der Generatorspannung? Das würde eine Batterie in kürzester Zeit komplett braten. Das meiste, was ein fahrendes Fahrzeug an der Lichtmaschine lesen sollte , ist ~ 14VDC. Alles zu viel darüber hinaus und es ist Tschüss-Batterie.
Pᴀᴜʟsᴛᴇʀ2

@ Paulster2 Ich habe meine Antwort aktualisiert, um Ihre Fragen zu beantworten.
kmarsh

1

Die Spannung des Steuermoduls ist die Batteriespannung abzüglich eines Spannungsabfalls in der Verkabelung zwischen Batterie und ECU. 65535 ist ein vollständiges 16-Bit-Register. Das Steuergerät arbeitet wahrscheinlich mit ganzzahligen Zahlen (berechnet schneller), konvertiert jedoch die endgültige Ausgabe seiner OBD-Berechnungen in 'Gleitkomma-' oder 'reelle' Form (Zahlen, die Dezimalstellen verwenden können).

Der Grund, warum das Maximum nicht 65535, 6553.5 oder 655.35 ist, besteht darin, dass mit dem Dezimalpunkt, der zwei von links platziert ist, die größte Genauigkeit in der ganzzahligen Berechnungsstufe erzielt wird, während links von der Dezimalstelle genügend Stellen bereitgestellt werden, um alle wahrscheinlichen Werte anzuzeigen. Es ermöglicht dem Steuergerät im Wesentlichen, mit 3 Dezimalstellen in ganzen Zahlen zu arbeiten. Vielleicht nicht so wichtig für die Batteriespannung, aber ich nehme an, das ist das Prinzip.

Es gab möglicherweise nicht die Möglichkeit, einen Maximalwert von weniger als 65535 künstlich anzuwenden, aber selbst wenn dies der Fall war, sehe ich keinen Vorteil darin.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.