Praktische Ansteuerung des CJ125:
Man hat zwei verschiedene Möglichkeiten das SPI-Interface zum CJ125 aufzubauen:
- 1. Software SPI
- 2. Hardware SPI
In meinen ersten Designs und Entwicklungen habe ich mit einem Software SPI-Interface gearbeitet. Man spart sich hier die z.T. fehlerträchtige Konfiguration des SPI-Interface und kann jeden Schritt selbst festlegen/überwachen.
Das Interface ist schnell programmiert und auf die eigenen Bedürftnisse angepasst.
In späteren Versionen bin ich auf das Hardware SPI-Interface umgestiegen, welches in (fast) jedem Atmel AVR integriert ist. Diese Variante spart Ressourcen, verkleinert das Programm und ist dabei wesentlich schneller.
In der Praxis benötigt man das Interface nur für zwei Dinge:
- 1. Wechseln in den "Calibration Mode"
- 2. Auslesen und löschen des Fehlerregisters
Nach dem Power-Up wechselt der CJ125 automatisch in einen "Standalone Mode" und gibt ohne weitere Konfiguration die aktuellen Werte für Sondentemperatur und Lambdawert aus. Um genauere Werte zu erhalten und den Heizungs-Regler besser einstellen zu können, muss man sich jedoch die Offset-Werte mit dem "Calibration Mode" holen.
Um in den "Calibration Mode" zu gelangen, muss man die Bits "RA" und "LA" im INIT_REG1 setzen. Direkt danach wird an UA die Spannung für Lambda = 1 ausgegeben (ca. 1,5V). Am Pin UR wird die Spannung für die optimale Sondentemperatur ausgegeben (ca. 0,9V).
Das Fehlerregister DIAG_REG muss regelmäßig ausgelesen werden. Mit dem auslesen wird das Register automatisch gelöscht. Enthält das Register einen Fehler, so wird an den Ausgängen UA und UR eine falsche Spannung ausgegeben. Liest man das Register also nicht aus, so kann man die Sonde durch zu starkes heizen zerstören bzw. erhält falsche Lambdawerte.
Regelung der Heizung:
Die Regelung der Heizung ist je nach Einsatzzweck sehr unterschiedlich. In einem Ottomotor ist die Abgastemperatur im Leerlauf relativ niedrig und die Sonde muss geheizt werden. Ist man aber z.B. auf der Autobahn (mit Vollstoff versteht sich ) unterwegs kann die Abgastemperatur über 900°C auf 1000°C zusteuern. In diesem Betriebsfall muss die Sondenheizung abgeschaltet werden um eine Überhitzung zu verhindern.
Eine andere Situation ergibt sich in einem Lambda-geregelten Holzofen. Hier ist die Temperatur auf einem sehr konstanten und niedrigen Niveau.
Die Sonde selbst arbeitet bei einer Temperatur von etwa 750°C optimal. Man hat jedoch einen kleinen Spielraum, denn die Sonde liefert auch schon bei niedrigeren Temperaturen einen ausreichend stabilen und genauen Messwert.
In den hier vorgestellten Platinen ist eine Reglerroutine für die Sondenheizung integriert. Dabei handelt es sich um einen recht einfachen PI-Regler.
Berechnung des Lambdawertes:
Zuerst muss man den aktuell fließenden Pumpstrom durch die Pumpzelle ermitteln:
Ip = (UA - UOffset) / (Verstärkung * RShunt)
- UA: Spannung am Pin UA in Volt
- UOffset: Spannung am Pin UA im Calibration Mode in Volt
- Verstärkung: Abhängig vom VL-Bit im INIT_REG1. Bei VL=1: 17; bei VL=0: 8
- RShunt: Beträgt für LSU4.2 und LSU4.9 generell 61,9 Ohm
Beispielrechnung (fetter Bereich):
- UA = 1,24V
- UOffset = 1,47V
- VL= 8 (für fetten Bereich empfohlen)
IP = (1,24V - 1,47V) / 8 * 61,9
IP = -0,000464A = -0,464mA
Schaut man im Datenblatt einer LSU4.9 nach, so erkennt man: IP = -0,50mA = Lambda 0,90. Der Lambdawert im Beispiel wäre also circa 0,92.
Mit den Werten, die in den Datenblättern für die LSU4.2 und LSU4.9 gegeben sind, lässt sich mit Hilfe von Excel ganz einfach eine "Trendlinie" erzeugen:
Man kann schön sehen, dass die Kurve im Bereich von Lambda = 1 einen Knick hat. Es ist daher sinnvoll mit zwei Ausgleichsgeraden zu arbeiten (eine für den fetten und eine für den mageren Bereich).
Trennt man die beiden Bereiche voneinander und lässt sich z.B. von Excel oder MatLab eine Trendlinie erzeugen, so erhält man folgendes Ergebnis:
Während die Trendlinie für den fetten Bereich fast problemlos bis in den Bereich von Lambda 0,6 "verlängern" kann, ist das bei der Ausgleichslinie im mageren Bereich nicht so.
Der Strom müsste sich asymptotisch einem Maximum nähern.
Für hohe Sauerstoffkonzentrationen ist es daher empfehlenswert, nicht mehr den Lambdawert auszugeben sondern auf die Sauerstoffkonzentration in % umzusteigen:
Ein weiterer Vorteil steckt hier in der äußerst einfachen Umrechnung. Anstatt einer Gleichung zweiten oder dritten Grades, reicht hier eine einfache Gerade aus.
Der Pumpstrom steigt linear zur Sauerstoffkonzentration in %.