LIN Bus Analyse des Regensensors

  • So, ich habe jetzt einfach mal die Sicherung des Regensensor gezogen (laut Sicherungsplan und Schaltplan ist das "F6" im BCM) und nochmal nen Scan gemacht und dabei kam raus das der Sensor auf ID 0x05 und 0x35 hört.

    Ein putziger Nebeneffekt ist das mit abgezogenem Sensor das BCM den Wischer in der Automatik-Stellung so bedient als hätte man die Intervallstellung eingeschaltet, vermutlich eine Schutzschaltung. Eine Anzeige im IPC bekommt man davon übrigens nicht, was ich ja echt schade finde.

    "Lernen ist Erfahrung. Alles andere ist einfach nur Information."

    Albert Einstein

  • Ok klingt interessant, mal sehen was du alles noch raus findest.

  • Ein putziger Nebeneffekt ist das mit abgezogenem Sensor das BCM den Wischer in der Automatik-Stellung so bedient als hätte man die Intervallstellung eingeschaltet, vermutlich eine Schutzschaltung.

    Was soll er auch machen wenn er keine Werte vom Regensensor bekommt, ausgehen wäre doof. Ich denke auch es ist die "failsafe" Schaltung um bei Sensorausfall während der Fahrt die Sicht zu gewährleisten.

    Mein Verbrauch 677593_3.png

  • Ich beschäftige mich gerade intensiv mit dem Sensor, der ja ein kombinierter Regen- Licht-Sensor ist.

    Ich erweitere diesen Beitrag immer mit den neuesten Erkenntnissen damit nicht alles so verstreut zu suchen ist. Also bitte immer mal wieder drüber schauen.

    Die Regensensor-Funktion

    Die Regenerkennung basiert darauf das eine Infrarot-LED schräg von innen auf die Scheibe strahlt, dieses IR-Licht gemäß einfallswinkel=ausfallswinkel zurück auf einen Infrarot-Lichtsensor fällt. Kommt nun Wasser auf die Stelle an der der Strahl reflektiert wird, wird ein Teil des IR-Lichts durch die geänderte Lichtbrechung weggeleitet. Das erkennt der Sensor und weiß das die Scheibe nass wurde.

    Die Lichtsensor-Funktion

    Der Lichtsensor ist einfach ein weiterer Infrarot-Sensor. IR deshalb, damit er zwischen Tageslicht und Kunstlicht unterscheiden kann und nachts unter einer Laterne trotzdem das Fahrtlicht angeht.

    Die Hardware

    Soweit, ganz grob zur Funktionsweise des Sensors. Der im Mondeo eingesetzte Sensor ist von BOSCH und hat die OEM Nummer 1 397 212 103. Im MK4 hat er die Teilenummer "6G9N-17D547-AD" (bzw. bei Fahrzeugen mit Spurhalteassistent "BV6T-17D547-AD"). Er ist, wie erwähnt am LIN8 des BCM angeschlossen, der elektrisch mit LIN2 zusammen einen Bus bildet.

    Versorgt wird er über das BAT-SAVER Relay im BCM, also sobald es Licht im Innenraum gibt ist er bestromt. Abgesichert ist er einzeln über die 5A Sicherung "F6".

    Die LIN-Kommunikation

    Steuerung des Regensensors über ID 0x06 (wird vom BCM gesendet)

    Die LIN-IDs des Sensors konnte ich ja bereits durch Log-Differenz herausfinden, aber das ist ja nicht alles. Denn was ich gelernt habe ist, das der Sensor nicht einfach nur periodisch ausgelesen wird, sondern er muss auch mit Daten vom Fahrzeug versorgt, bzw. programmiert werden.

    Die Stellung (Mode) und Empfindlichkeitseinstellung (Level) des Wischerhebels ist ein wichtiger Parameter für den Sensor, denn er soll ja den Scheibenwischer nur auslösen wenn die Automatik-Stellung gewählt und die gemessene Regenmenge die eingestellte Empfindlichkeit überschreitet.

    Hierzu habe ich den Wischerhebel im AUTO Modus gelassen und nur die Empfindlichkeit geändert und konnte beobachten wie die Bytes in ID 0x20 der Einstellung folgten:

    90 82 03 00 → Stufe 1
    91 82 03 00 → Stufe 2
    92 82 03 00 → Stufe 3
    93 82 03 00 → Stufe 4
    94 82 03 00 → Stufe 5

    Die Stufe ist also in den unteren 4 Bits des ersten Bytes kodiert (Lower Nibble):

    Code
    0x80 -> 10000[00]0 -> 0
    0x82 -> 10000[01]0 -> 1
    0x84 -> 10000[10]0 -> 2
    0x86 -> 10000[11]0 -> 3

    Wenn der Hebel auf Automatikmodus steht ist Bit 4 vom ersten Byte gesetzt:

    Code
    0x90 = 100[1] 0000 (Bit 4 = 1) -> Wischer AUTO-Modus aktiv
    0x80 = 100[0] 0000 (Bit 4 = 0) -> Wischer aus / manueller Modus

    Die ID wird also klar vom BCM versendet und nur der Regensensor kann mit diesen Werten irgendwas anfangen. Es würde mich nicht wundern wenn der Sensor in der Payload einer "seiner" IDs die Übernahme der Information quittiert.

    Initialisierungssequenz auf ID 0x05

    Nach dem einschalten des Sensors über das BAT-SAVER Relay und der Abfrage durch das BCM folgt immer eine Sequenz aus:

    Code
    40 09 -> 40 08

    das könnte eine Initialisierung sein, die den Betriebszustand des Sensors anzeigt. Anschließend fällt der Payload auf

    Code
    40 02 oder 40 00

    zurück, was den normalen Operationsmodus darstellt. Möglicherweise sind "40 09" und "40 08" auch Quittierungen für Parameter die das BCM auf ID 0x06 für den Sensor aufgelegt hat (Stellung des Wischerhebels und eingestellte Empfindlichkeit)?

    Statuswerte des Regensensors auf ID 0x05

    Erkannter Regen wird im ersten Byte (b[0]) der Payload kodiert:

    Code
    b[0] = 0x40 = 0[1]00 0000 (Bit 6 = 1) -> Wischerstellung auf Manuell oder Aus
    b[0] = 0x00 = 0[0]00 0000 (Bit 6 = 0) -> Wischerstellung Automatik
    
    b[0] = 0x00 = 0000 000[0] (Bit 0 = 0) -> Wischerstellung AUTO und Scheibe ist trocken
    b[0] = 0x01 = 0000 000[1] (Bit 0 = 1) -> Wischerstellung AUTO und Regen auf Scheibe erkannt (= Wischer soll auslösen)

    Also Gibt Bit 6 die grundsätzliche Automatikfunktion wieder und Bit 0 ist der Auslöser für den Wischer. Die Regenintensität kommt hier nicht direkt rüber, sie ergibt sich aus dem Puls/Pauseverhältnis von Bit 0. Die ID 0x05 wird mit ~ 2,7 kHz gesendet, also etwas weniger als 1 Nachricht pro Millisekunde. Daraus lässt sich ein schönes PWM erzeugen, welches das BCM dann in eine Intensität umwandelt und dementsprechend die Wischergeschwindigkeit steuert.

    Also gaaanz vereinfacht ausgedrückt: Wenn das Bit 0 durch aktivieren von Intervallwischung nicht auf "0" geht dann schalte in die nächst höhere Stufe bis entweder wieder "1"en kommen oder die höchste Stufe erreicht ist.

    Statuswerte des Helligkeitssensors auf ID 0x05

    Die Helligkeit ist im zweiten Byte (b[1]) der Payload kodiert. Nach der Initialisierung spring der Wert von ID 0x05 nämlich auf "40 02" bei Dunkelheit bzw. "40 00" bei Tageslicht. Damit ist klar das das zweite Bit Hell/Dunkel signalisiert:

    Code
    b[1] = 0x02 = 0000 00[1]0 (Bit 1 = 1) -> Dunkel
    b[1] = 0x00 = 0000 00[0]0 (Bit 1 = 0) -> Hell

    "Lernen ist Erfahrung. Alles andere ist einfach nur Information."

    Albert Einstein

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!