Entwicklung eines mobilen Meßinstrumentes zur Indizierung von Verbrennungsdrücken

© B. Radke Christian Bauer


Zielsetzung

Ziel des Projektes ist die Entwicklung eines mobilen Meßgerätes (Laptop) zur Indizierung der Druckverhältnisse in Ottomotoren (Druck/Kurbelwellenwinkel Diagramm), um eine möglichst 'agressive' Zündkennlinie für klassische Motorräder im Rennstreckeneinsatz zu ermitteln.
Die Forderung 'mobiler Meßstand' begründet sich in der nicht kommerziellen Natur des Projektes und den daraus resultierenden begrenzten Resourcen. Wir können uns keinen Motorprüfstand leisten und hoffen, in Fahrversuchen (großer Rucksack) an die gewünschten Meßdaten zu gelangen. Zielmotoren sind zunächst von Moto-Guzzi, da wir hier, ohne den Kopf anbohren zu müssen, einen oberflächenbündigen Drucksensor an Stelle der zweiten Zündkerze montieren können.

Bei erfolgreichem Abschluß ist evtl. die Entwicklung einer Zündanlage geplant, die mit Hilfe eines Klopfsensors (Köperschall) den Zündzeitpunkt möglichst knapp an der 'Klopfgrenze' regelt (Stand der Technik moderner Fahrzeuge).

Konzept

Das grundsätzliche Konzept zur Datenaquisition ist ein embedded Controller zur Erfassung der Analogwerte mit möglichst zeitnaher Zuordnung zu Kurbelwellenposition und einer schnellen Kommunikation zum Laptop, um die Datenflut zu speichern.

Im Dezember ist mir ein Evaluierungsboard von Zilog mit der eZ80F91 CPU und kompletter Entwicklungsumgebung (C-Compiler und Debugger) über den Weg gelaufen. Ja, es gibt ihn noch, den guten alten Z80! Er hat auch einen Kompatibilitätsmodus mit dem man seine 20 Jahre alten Programme laufen lassen könnte...
Inzwischen wird er mit 50MHz getaktet und führt die meisten Befehle in einem Zyklus aus. Adressbus und entspr. Register sind nun 24Bit breit, was ziemlich gewöhnungsbedürftig ist. ALU und Datenbus sind natürlich immer noch 8Bit.
Das 'F91' Derivat (auch Acclaim genannt) ist ein embedded Controller mit zahlreichen Funktionen (256KB Flash, 16KB RAM, Timer, Serielle, Irda, Ethernet, IO, usw...) die wir hier nur zum Teil benötigen. Das Evaluierungsboard bringt noch 1MB RAM und 1MB Flash mit.
Es war auch ein TCP/IP Stack mit preemptive multitasking Kernel (ohne Sourcen) dabei. Bedingt durch diversen Overhead ist dieser Kernel mit 200µs bis 300µs Task Switch Zeit allerdings zu langsam für unser Projekt. Ich habe also über Weihnachten einen eigenen, auf die Bedürfnisse abgestimmten multitasking Kernel mit ca. 30µs Task Switch Zeit implementiert.
Für die Erfassung der aktuellen Kurbelwellenposition soll ein Hallsensor und ein Triggerzahnrad mit einer 18-1 Teilung zum Einsatz kommen. Daraus ergibt sich alle 10° eine steigende oder fallende Triggerflanke. Durch Splineinterpolation hoffe ich auf eine Zuordnungsgenauigkeit von 1° zu den Signalen aus dem Drucksensor zu kommen. Die Zeit zwischen zwei Triggerflanken wird mit einem Quantisierungsfehler von nur 80ns (0.00576° bei 12.000U/Min) über einen mit 12,5MHz getakteten Timer (CPU integriert) gemessen.
Für die Analogdaten sorgt ein 12Bit A/D Wandler mit 8Kanal Multiplexer und 1M Samples/Sekunde, der mit der CPU über einen SPI Bus verbunden ist. Damit kann man 8 Kanäle mit 125KHz gleichzeitig abtasten, was für unser zu untersuchendes Frequenzspektrum von ca. 30KHz ausreichend ist. Die Abtastung erfolgt in einer jitterfreien ISR (NMI=non maskable Interrupt) die durch einen Timer alle 8µs aufgerufen wird.
Zur Kommunikation mit dem Laptop habe ich einen USB1 Baustein (max. 800KB/s Transferrate) ausgesucht. Dieser Durchsatz erlaubt die Übertragung von 2 mit 125KHz abgetasteten Analogsignalen + Kurbelwellenposition + langsameren Werten wie Lambda, Temperaturen (Abgas, Motor), Drosselklappenstellung usw.

Meßtechnik


Für eine zuverlässige Erfassung der Brennraumdrücke ist ein Oberflächendrucksensor am geeignetsten. Die nicht bündigen Sensoren haben das Problem einer Eigenresonanz im Verbindungskanal zum Sensor, wie z.B. bei Zündkerzen mit integriertem Sensor. Da sich die Eigenresonanzen im Bereich der gesuchten Schwingungen der Selbstentzündung von ca. 10-20KHz bewegen, ist eine zuverlässige Erkennung selbst nach entsprechender Signalverarbeitung fraglich.
Wie dem auch sei, haben wir bei einem Guzzi Motor mit Doppelzündung die bequeme Möglichkeit, die zweite Zündkerze durch den Drucksensor zu ersetzen. Da die Doppelzündung bei hohen Drehzahlen ohnehin kaum Einfluß auf die Ausbreitung der Flammfront hat und wir den Motor auf die Bedingungen im Rennbetrieb untersuchen, sind auch keine nachteiligen Auswirkungen zu erwarten.
Der Beschleunigungssensor (Köperschallmessung) ist linear mit einer Eigenresonanz bei 40KHz, also außerhalb des zu untersuchenden Bereiches.
Die geringen Ladungsänderungen in den Sensoren (Quarze) erfodern einen sehr sensiblen Ladungsvertärker (Bild) und eine hochkonstante Spannungsversorgung (wer mißt, mißt Mist). Wie ich diese Meßkette allerdings mobil bekomme ist noch ungewiss. Bei Kistler gäbe es schöne kleine Verstärker, aber die kosten...
Ziel ist nun die Werte aus dem Drucksensor mit denen aus einem Beschleunigungssensor, die an veschiedenen Stellen des Motors aufgezeichnet werden, zu vergleichen, um so die geeignete Stelle zu finden, an der später auch ohne Drucksensor die Selbstzündung (Klopfen) erkannt werden kann.
Damit man schon bei den Erprobungsfahrten an die Klopfgrenze gehen kann, erhält der embedded Controller zwei Endstufentransistoren, mit denen die Zündspulen auf 8µs (Sample NMI) genau angesteuert werden. Das entspicht bei 12.000U/Min einer Auflösung von 0,576°.Vermutlich muß der Laptop hier die Frequenzanalyse übernehmen, da die 8Bit CPU in der Floating Point Arithmetik zu schwachbrüstig ist. Dies hätte natürlich zusätzlichen Bandbreitenbedarf an der USB Schnittstelle zur Folge...
In einem endgültigen Design könnte man dann einen Beschleunigungssensor mit einer Eigenresonanz im fraglichen Bereich auswählen, um sich so die aufwendige A/D Wandlung zu sparen.
Rahmenbedingungen
Ich hatte die Komplexität der Problemstellung in meiner naiven Anfangsbegeisterung unterschätzt: über jedes Einzelne der zahlreichen Details in diesem Projekt, angefangen bei der Meßtechnik über Mechanik bis hin zur Mathematik, Informatik und nicht zuletzt Microsoft's Device Treiber Modell, könnte man seitenweise Abhandlungen schreiben.
Ich befürchte nur, daß mit heran nahendem Frühjahr ein fast 100%iger Einsatz meiner Freizeit nicht mehr drin ist und das Projekt verzögert.
Die 'begrenzten Resourcen' in diesem Projekt sind nicht zuletzt auch räumlicher Art. Es stehen nur wenige Meter Arbeitsfläche für sämtliche Meß- und Versuchsaufbauten zur Verfügung.

Ich möchte mich an dieser Stelle für Tipps und Bereitstellung von Materialien bei Manfred S., Frank B. sowie Analog Devices bedanken und jeden herzlich einladen, der zu diesem Projekt etwas beitragen möchte.

Bernardo

Datalab Software GmbH
Stand: 21.02.2004