Sitzmattensimulator für Mazda selberbauen

kaputte Sitzmatte (Siemens 5WK4 174)
kaputte Sitzmatte (Siemens 5WK4 174)

Stefans Mazda zeigte seit einiger Zeit durch Blinken der Airbaglampe im Armaturenbrett den Airbagfehler 4-5 an und signalisierte damit eine kaputte Sitzbelegungsmatte im Beifahrersitz. Diese Sitzmatte meldet dem Steuergerät, ob der Sitz belegt ist. Ist dies nicht der Fall, löst der Beifahrerairbag nicht aus. Schließlich existieren mindestens drei Zustände, die von der Sitzmatte an das Steuergerät gemeldet werden können:

  1. Sitz unbesetzt - keine Kontrollleuchte im Amaturenbrett, Airbag löst nicht aus
  2. Sitz besetzt - keine Kontrolleuchte im Amaturenbrett, Airbag löst aus
  3. fehlerhaftes oder gar kein Signal - gelbe Warnleuchte und rote Fehlerlampe aktiv, Airbag löst nicht aus

Problematisch ist die Unterscheidung der ersten beiden Zustände, da sie sich nicht unterscheiden lassen, ohne das Auto gegen einen Baum zu fahren... Der dritte Zustand wird dabei auch durch Airbag Code 47 oder 48 signalisiert.

Lösungsansatz

Da der Airbag uns sehr wichtig erschien, haben wir uns auf keine Experimente eingelassen, um die Sitzmatte zu reparieren. Eine neue Sitzmatte zu kaufen, erschien uns jedoch auch nicht als Ideallösung, da sie nur zusammen mit der Sitzfläche aus Schaumstoff für 412,07 € (inkl. Mwst.) verkauft werden - ein wirtschaftlicher Totalschaden. Im Internet fanden wir eine Firma, die Sitzmattensimulatoren vertreibt, die dem Auto vorgaukeln, es würde sich ein Beifahrer auf dem Sitz befinden, sodass der Airbag im Zweifelsfall immer gezündet wird. Die Kosten beliefen sich auf knapp 100 €, sodass wir beschlossen, dieses Gerät lieber selber zu bauen.

Durch Analyse der kaputten Sitzmatte, stellten wir fest, dass sie durch logische Impulse unidirektional mit dem Steuergerät kommuniziert. Solche Signale zu erzeugen ist kein Problem, sofern das korrekte Muster bekannt ist. Durch ein bisschen probieren gelang es uns schließlich, ein Signal zu erzeugen, dass das Airbag-Steuergerät akzeptierte. Dies wäre zum augenscheinlichen Beheben des Fehlers bereits ausreichend gewesen, es hätte sich dabei jedoch auch um den falsche Sitzbelegungszustand handeln können (Lebensgefährlich!). Zur Bestätigung verglichen wir unser Bitmuster mit dem Signal einer richtigen Sitzmatte, das so aussieht:

Signalverlauf bei belegtem Sitz (gemessen)
Signalverlauf bei belegtem Sitz (gemessen)

elektrotechnische Realisierung

Der Stecker der Sitzmatte hat drei Kontakte. Für rot und braun gelten die üblichen Kabelfarben. Bei eingeschalteter Zündung liegen hier etwa 12 Volt an, um die Sitzmatte (bzw. unseren Sitzmattensimulator) mit Spannung zu versorgen. Über das weiße Kabel senden wir dem Steuergerät das Signal. Um das Signal zu erzeugen, wird es über einen Widerstand auf den 12 V-Pegel der Spannungsversorgung gezogen oder über einen Optokoppler auf Masse gezogen. Statt eines Optokopplers kann selbstverständlich auch ein Transistor verwendet werden. Da wir jedoch eine zusätzliche Barriere zwischen dem Airbag-Steuergerät und unserer Schaltung einbauen wollten und genug Platz vorhanden war, verzichteten wir darauf. Schließlich sieht unser Schaltbild immer noch sehr einfach aus:

Schaltbild unseres Sitzmattensimulators
Schaltbild unseres Sitzmattensimulators

Wird die Zündung eingeschaltet, liegt auf der Signalleitung über den Widerstand zunächst ein ungepulstes 12 V-Potential. Das Steuergerät des Airbags wird dieses Signal als fehlerhafte Sitzmatte erkennen und einen Fehler ausgeben. Aktiviert der Mikrocontroller hingegen den Optokoppler, so zieht er die Signalleitung auf Masse und erzeugt den nötigen Impuls, der zur Erkennung der Sitzmatte erforderlich ist. Unser Prototyp ist zwar etwas groß geworden, passt jedoch problemlos in einen Schrumpfschlauch, um ihn dann unter dem Beifahrersitz oder dem Boden darunter zu verstauen. Er wurde bewusst nicht mehr im Sitz verbaut, um Beschädigungen am Zuleitungskabel oder am Simulator selbst zu vermeiden.

einfacher Sitzmattensimulator statt teurer, neuer Sitzmatte
einfacher Sitzmattensimulator statt teurer, neuer Sitzmatte

Dank Sebastians Unterstützung konnten wir einen zweiten Sitzmattenemulator bauen, in dem der kleine Bruder vom 7805 zum Einsatz kommt. Er ist um einiges kleiner, seine Leistung ist für Mikrocontroller und Optokoppler allerdings immer noch mehr als ausreichend. Abgesehen von einer winzigen Änderung im Schaltbild, die durch die kleinere Lochrasterplatine begründet ist, haben wir auf weitere Modifikationen verzichtet.

aktuelle Version mit leicht veränderter Schaltung
aktuelle Version mit leicht veränderter Schaltung

informationstechnische Realisierung

Die Wahl des Mikrocontrollers fiel auf einen PIC 12F675. Zur Realisierung wäre jedoch wesentlich weniger notwendig gewesen, allerdings hat dieser Typ einige Vorzüge: Zum einen kann auf einen zusätzlichen Hochziehwiederstand verzichtet werden, da der Chip MCLR selbst hochziehen kann, zum anderem ist die integrierte Schaltung selbst in der Lage, einen relativ stabilen Takt zu generieren. Unsere Lösung arbeitet daher mit 4 MHz, wobei der Prozessor die meiste Zeit mit Busywaiting verbringt. Das ist reinste Verschwendung, macht unsere Realisierung jedoch sehr leicht nachbaubar.

Da es offensichtlich nicht auf hohe Präzision ankommt, ist das Programm nicht in Assembler, sondern in C geschrieben. Der Quellcode lässt sich mit dem SDCC übersetzen. Wir stellen das Programm hier zur freien Verfügung:
Quellcode (HTML-Ansicht)
Gesamtprojekt (ZIP-Datei)

Kalibrierung

Jeder PIC 12F675 ist anders und weicht ein bisschen vom idealen 4 MHz-Takt ab. Um eine aufwändige Neuprogrammierung des Kalibrierungswertes zu vereinfachen, kann der Chip halbautomatisch auf den korrekten Wert eingestellt werden. Wenn beim Einschalten des PICs Pin 3 (GP4) mit Masse verbunden ist, wechselt der Chip in einen Lernmodus, in dem der interne Schwinger justiert wird. Sobald das korrekte Signal vorliegt, kann die Verbindung zwischen Masse und Pin 3 getrennt werden, um den korrekten Wert in den EEPROM des 12F675 zu speichern.

Das Signalmuster wird dabei nicht verändert, sonderlich lediglich zeitlich verzerrt. Der Sitzbelegungszustand wird nicht verfälscht. Die Vorgehensweise zum Kalibrieren des Wertes ist schnell zusammengefasst:

  1. Zündung ausschalten
  2. Pin 3 auf Masse ziehen (z.B. mit Pin 8 verbinden)
  3. Zündung einschalten
  4. sobald an Pin 2 eine Taktfrequenz von etwa 8,5 Hz anliegt, die Verbindung zwischen Pin 3 und Masse unterbrechen
    Die Warnlampe erlischt ab einer Frequenz von ungefähr 8,15 Hz. Sollte kein Frequenzmesser vorhanden sein, kann daher auch alternativ ein paar Sekunden nach Erlöschen der Warnlampe die Kalibrierung durch Trennen der Verbindung zwischen Pin 3 und Masse beendet werden. Der vollständige Vorgang dauert maximal 6 Minuten.

Fazit

Unsere Lösung funktioniert! Die Fehlerlampe ist erloschen und die Materialkosten betrugen weniger als 5 €. Unser Mikrocontroller arbeitet seit einem halben Jahr ohne jegliche Störung. Im Vergleich zu einer Sitzmatte (siehe oben) kann sich schließlich auch unser Signal sehen lassen:

Signalverlauf bei belegtem Sitz (simuliert)
Signalverlauf bei belegtem Sitz (simuliert)

Inzwischen haben wir unseren Sitzbelegungsmattensimulator auch in anderen Modellen getestet und gehen davon aus, dass er in der jeweils gesamten Baureihe funktioniert:

Wahrscheinlich funktioniert unserer Sitzmattensimulator auch in folgenden Modellen, was wir jedoch leider bisher nicht bestätigen konnten:

Sofern Nachbauten in anderen Fahrzeugmodellen funktionieren, würden wir uns über einen kleinen Kommentar freuen, um die beiden Listen anzupassen.

Anfrage nach unserem Simulator

Wir bieten unseren Simulator nicht zum Kauf an! Wer Interesse an einem solchen Simulator hat, kann die nötigen Bauteile selbst im Internet bestellen (z.B. bei Reichelt) und von einem Elektrotechnik-Studenten zusammenbauen lassen. Diese finden sich normalerweise an jeder technisch-orientierten Hochschule ;-)

Teileliste bei Conrad-Elektronik
BestellnummerArtikelbezeichnungAnzahlPreis (Stand: 09.06.2013)
165022-62PIC 12F67511,77 €
187038-62Optokoppler10,60 €
183024-62Spannungsregler 78L0510,43 €
443906-62100 µF Elko10,05 €
405272-621,5 kOhm Widerstand10,09 €
403210-62470 Ohm Widerstand10,10 €
162280-621N4148 Diode10,04 €

Um das Programm in den Mikrocontroller zu brennen, ist ein spezielles Gerät notwendig.

Haftungsausschluss

Diese Reparatur kann ein Sicherheitsrisiko darstellen. Unsere Schaltung suggeriert dem Auto, der Beifahrersitz wäre belegt, sodass der Airbag des Beifahrers im Ernstfall gezündet wird. Selbstverständlich konnten wir diesen Ernstfall nicht testen. Darum weisen wir ausdrücklich darauf hin, dass wir für Nachbauten keine Haftung übernehmen. Alle Daten dieses Artikels wurden nach bestem Wissen ermittelt, dienen jedoch ausschließlich zur Information. Unsachgemäße Veränderungen am Airbagsystem sind lebensgefährlich und führen nach §19 Abs. 2 StVZO zum Erlischen der Betriebserlaubnis! Eine neue Sitzmatte vom Fahrzeughersteller ist in jedem Fall die sicherste Variante.