-
Die vorliegende Erfindung betrifft ein Verfahren zur Plausibilisierung eines Drehzahlwertes eines Verbrennungsmotors der aus einem Kurbelwellensensorsignal ermittelt wurde. Außerdem betrifft die vorliegende Erfindung ein Computerprogramm, welches eingerichtet ist, jeden Schritt des erfindungsgemäßen Verfahrens durchzuführen, sowie ein maschinenlesbares Speichermedium, auf welchem das erfindungsgemäße Computerprogramm gespeichert ist. Schließlich betrifft die Erfindung ein elektronisches Steuergerät, welches eingerichtet ist, um mittels des Verfahrens einen Drehzahlwertes eines Verbrennungsmotors, der aus einem Kurbelwellensensorsignal ermittelt wurde, zu plausibilisieren.
-
Stand der Technik
-
Gemäß dem standardisierten EGAS-Überwachungskonzept für Benzin- und Dieselmotorsteuerungen ist die Software von Motorsteuergeräten für Verbrennungsmotoren in drei Ebenen gegliedert. Die Ebene 1 enthält die Anwendungssoftware, die Ebene 2 enthält die Überwachung der Anwendungssoftware und die Ebene 3 enthält die Überwachung der Hardware. Die Drehzahl des Verbrennungsmotors wird durch einen an der Kurbelwelle angebrachten Sensor ermittelt, welcher ein auf der Kurbelwelle angebrachtes mitdrehendes Geberzahnrades ausliest.
-
Das Kurbelwellendrehzahlsignal wird durch einen einzigen Drehgeber erfasst und in der gesamten Motorsteuerung in den Ebenen 1 und 2 verwendet. Die Drehzahl der Kurbelwelle wird aus der Winkelgeschwindigkeit berechnet und als Motordrehzahl in Umdrehung pro Minute bereitgestellt. Dies erfolgt in der Ebene 1 nach zwei unterschiedlichen Verfahren, nämlich durch Messung der Zeit, die für einen bestimmten konstanten Winkel benötigt wird oder durch die Messung des Winkels, der in einer bestimmten konstanten Zeit überstrichen wird.
-
In bestimmten Fahr- oder Systemzuständen, wie beispielsweise beim Herunterschalten in einen zu kleinen Gang oder bei Hybridfahrzeugen durch Anschleppen des Verbrennungsmotors mittels der schnelllaufenden E-Maschine können kurzzeitig sehr große Drehzahlsprünge auftreten. Ein gleiches Verhalten kann aber auch durch einen fehlerhaften Sensor oder durch eine fehlerhafte Hardwareauswerteschaltung entstehen, wenn falsche Winkelpositionswerte erzeugt werden.
-
Vermeintlich oder tatsächlich fehlerhafte unplausible Signale führen alle zu einer unplausiblen Winkelposition und dabei zu einer unplausiblen Drehzahl. Die Ebene 1-Auswertefunktion kann dies erkennen und in einem solchen Fall die Hardwareauswerteschaltung zurücksetzen. Damit wird eine neue Synchronisierung mit der drehenden Kurbelwelle durchgeführt und neue korrekte Werte werden berechnet. Außerdem kann die Ebene 1-Auswertefunktion die Drehzahl nach beiden beschriebenen Verfahren berechnen und so unplausible Ergebnisse erkennen und korrigieren.
-
Die Ebene 2-Überwachungssoftware zur Plausibilisierung der Motordrehzahl arbeitet mit demselben Hardwareregister und damit Winkelpositionssignal wie die Ebene 1. Die Drehzahl wird aber nur nach dem Verfahren durch Ermittlung des überstrichenen Winkels pro definierter konstanter Zeiteinheit berechnet, da die Ebene 2-Überwachung zyklisch in einem konstanten Zeitraster ausgeführt wird. Damit können in der Ebene 2 vermeintlich unplausible Drehzahlsprünge nicht von tatsächlich fehlerhaften unplausiblen Signalen unterschieden werden. In der Ebene 2 liegt im Gegensatz zur Ebene 1-Auswertefunktion auch keine Information über einen Fehlerzustand oder einen durchgeführten Winkeluhr-Reset vor. In solchen Fällen wird in der Ebene 2-Software ein falscher, in der Regel viel zu hoher Ebene 2-Drehzahlwert berechnet, der dann für die Plausibilisierung der Ebene 1 Drehzahl und in den nachfolgenden Ebene 2-Funktionen verwendet wird und zu einem fehlerhaften Verhalten führen kann.
-
Offenbarung der Erfindung
-
In dem Verfahren zur Plausibilisierung eines Drehzahlwertes eines Verbrennungsmotors, der aus einem Signal eines Kurbelwellensensors ermittelt wurde, wird ein Gradient des Drehzahlwertes ermittelt und mit einem vorgebbaren Schwellenwert verglichen. Der Gradient des Drehzahlwertes, welcher die erste Ableitung der Drehzahl nach der Zeit bzw. die zweite Ableitung der Winkelposition eines Kurbelwellengeberrades nach der Zeit ist, beschreibt Drehzahländerungen des Verbrennungsmotors. Damit ist sie dazu geeignet, um zwischen großen physikalisch plausiblen Drehzahlsprüngen des Verbrennungsmotors aufgrund großer Winkelpositionsdifferenzen und damit Drehzahldifferenzen und unplausiblen Drehzahlsprüngen aufgrund von Signalfehlern oder aufgrund von zufälligen oder systematischen Fehlern bei der Berechnung des Drehzahlwertes zu unterscheiden.
-
Der Drehzahlwert, der auf diese Weise plausibilisiert wird, kann insbesondere in einer Überwachung einer Anwendungssoftware berechnet werden. In dieser Überwachung, die üblicherweise in der Ebene 2 abläuft, ermöglicht es die Plausibilisierung mittels des Gradienten Fehlerzustände bei der Drehzahlwertbestimmung zu ermitteln, wie dies bisher nur bei Softwarefunktionen der Ebene 1 möglich war.
-
Der Drehzahlwert wird insbesondere aus der Winkelgeschwindigkeit eines Kurbelwellengeberrades des Verbrennungsmotors berechnet, die in einem vorgebbaren Zeitraum gemessen wird. Es handelt sich hierbei um eine Berechnungsmethode, die zyklisch in einem konstanten Zeitraster ausgeführt werden kann und somit für Softwarefunktionen der Ebene 2 geeignet ist.
-
Vorzugsweise wird der Gradient aus einer Drehzahländerung in dem vorgebbaren Zeitraum berechnet. Indem der Drehzahlwertberechnung und der Gradientenberechnung derselbe Zeitraum zugrunde liegen, kann für jeden Berechnungszyklus überprüft werden, ob das Sensorsignal und damit der Drehzahlwert plausibel ist.
-
Weiter ist es bevorzugt, dass ein Betrag des Gradienten berechnet wird und mit dem Schwellenwert verglichen wird. Der Vergleich des Absolutwertes des Gradienten mit dem Schwellenwert vereinfacht das Verfahren, indem positive Drehzahländerungen, also Beschleunigungen und negative Drehzahländerungen, also Verzögerungen, gleichwertig behandelt werden. Der Schwellenwert beschreibt die Dynamik des Verbrennungsmotors, so dass für jeden Verbrennungsmotortyp ein individueller Schwellenwert zu wählen ist. Er sollte mindestens so groß gewählt werden, dass die maximal mögliche Drehzahldynamik im Normalbetrieb, insbesondere beim Beschleunigen des Motors sowie in extremen Fahr- und Systemzuständen, wie beispielsweise einem Schalten in einen falschen Gang oder einem Starten des Verbrennungsmotors mit einem Elektromotor, damit sicher abgedeckt ist.
-
Wenn der Betrag des Gradienten kleiner oder gleich dem Schwellenwert ist, so kann ein korrektes Sensorsignal als Grundlage des Drehzahlwertes und eine korrekte Berechnung angenommen werden. Der Ebene 2 Drehzahlwert kann demnach für die Plausibilisierung der Drehzahl der Anwendungssoftware eines elektronischen Steuergeräts des Verbrennungsmotors, der Ebene 1 Drehzahl, verwendet werden. Wenn die Ebene 1 Drehzahl als plausibel erkannt wird, so wird diese für die weiteren Berechnungen auch in der Ebene 2 verwendet.
-
Wenn der Betrag des Gradienten hingegen größer als der Schwellenwert ist, so wird erkannt, dass ein Fehler bei der Ermittlung des Drehzahlwertes vorliegt. Nun kann gegebenenfalls eine Fehlerbehandlung eingeleitet werden.
-
Um im Fehlerfall Berechnungen in der Ebene 2 zuverlässig weiterführen zu können, ist es bevorzugt, dass nach Erkennung eines Fehlers ein Ersatzwert für den Drehzahlwert in der Überwachung der Anwendungssoftware, beispielsweise die Ebene 1 Drehzahl oder das Maximum der Ebene 1 und der Ebene 2 Drehzahl, verwendet wird. Auf diese Weise wird verhindert, dass die Verwendung eines falschen Drehzahlwertes in der Ebene 2 zu einem fehlerhaften Verhalten führen kann.
-
Wenn über die Dauer eines vorgebbaren Zeitraums ein Fehler bei der Ermittlung des Drehzahlwertes erkannt wird, kann mit hoher Zuverlässigkeit auf einen Defekt des Kurbelwellensensors oder einen Fehler bei der Berechnung geschlossen werden. In einer für die Ebene 2-Überwachung der Anwendungssoftware üblichen Weise ist es bevorzugt, dass nach einer weiteren zeitlichen Entprellung ein irreversibler Fehler angenommen und dauerhaft auf die Verwendung des Ersatzwertes umgeschaltet wird.. Dies kann dem Fahrer eines Kraftfahrzeugs, das von dem Verbrennungsmotor angetrieben wird, mittels eines HMI (Human Machine Interface) mitgeteilt werden. Außerdem kann ein Fehlereintrag im elektronischen Steuergerät erzeugt werden.
-
Das Computerprogramm ist eingerichtet, jeden Schritt des Verfahrens durchzuführen, insbesondere wenn es auf einem Rechengerät oder einem elektronischen Steuergerät abläuft. Es ermöglicht die Implementierung des Verfahrens auf einem herkömmlichen elektronischen Steuergerät, ohne hieran bauliche Veränderungen vornehmen zu müssen. Hierzu ist es auf dem maschinenlesbaren Speichermedium gespeichert. Durch Aufspielen des Computerprogramms auf ein herkömmliches elektronisches Steuergerät, wird das elektronische Steuergerät erhalten, welches eingerichtet ist, um einen Drehzahlwert eines Verbrennungsmotors mittels des Verfahrens zu plausibilisieren.
-
Kurze Beschreibung der Zeichnungen
-
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird in der nachfolgenden Beschreibung näher erläutert.
-
1 zeigt schematisch einen Verbrennungsmotor, der von einem elektronischen Steuergerät gesteuert wird, in dem ein Verfahren gemäß einem Ausführungsbeispiel der Erfindung ablaufen kann.
-
2 zeigt schematisch ein Kurbelwellengeberrad des Verbrennungsmotors gemäß 1.
-
3 zeigt ein Ablaufdiagramm eines Ausführungsbeispiels des erfindungsgemäßen Verfahrens.
-
Ausführungsbeispiel der Erfindung
-
Ein Verbrennungsmotor 1, der in 1 dargestellt ist, überträgt sein Drehmoment mittels einer Kurbelwelle 2. Um die Drehzahl dieser Kurbelwelle 2 und damit auch die Drehzahl des Verbrennungsmotors 1 ermitteln zu können, ist an der Kurbelwelle 2 eine Drehzahlerfassungseinrichtung 3 angeordnet. Diese gibt Messsignale an ein elektronisches Steuergerät 4 weiter, welches auch den Verbrennungsmotor 1 steuert. In dem elektronischen Steuergerät 4 läuft Anwendungssoftware 41 in einer ersten Ebene, eine Überwachung 42 der Anwendungssoftware in einer zweiten Ebene und eine Überwachung 43 der Hardware in einer dritten Ebene ab.
-
2 zeigt eine Detailansicht der Drehzahlerfassungseinrichtung 3. Ein Kurbelwellengeberrad 31 ist an der Kurbelwelle 2 angeordnet. Dieses ist als Zahnrad mit achtundfünfzig Zähnen 311 ausgeführt. Eine Lücke 312 entspricht zwei fehlenden Zähnen eines Zahnrades, das sechzig Zähne aufweisen würde. Ein derartiges Kurbelwellengeberrad 31 wird daher auch als „Geberzahnrad mit 60 – 2 Zähnen“ bezeichnet. Ein am Gehäuse der Kurbelwelle 2 angeordneter Sensor 32, der vorliegend beispielsweise als magnetischer oder optischer Sensor ausgeführt ist, wertet bei einer Drehung der Kurbelwelle 2 und damit einer Drehung des Kurbelwellengeberrades 31 die Zahnflanken aus. Dabei werden beispielsweise nur steigende Zahnflanken erfasst. Die nutzbare Auflösung beträgt deshalb 360°:60 Zähne = 6° pro Zahnsegment. Zur Erkennung einer definierten absoluten Winkelposition φ wird die erste steigende Zahnflanke nach der Lücke 312 als Referenzposition verwendet, welche die Nulllage des Kurbelwellengeberrades 31 angibt. Die vom Sensor 32 erkannten Zahnflankenimpulse werden im elektronischen Steuergerät 4 in einer Hardwareschaltung verarbeitet und der Anwendungssoftware 41 sowie der Überwachung 42 der Anwendungssoftware zur Verfügung gestellt.
-
Die Hardwareschaltung übernimmt dabei unter anderem die Zählung der Zahnflanken und die Erkennung der Referenzposition. Aufgrund der geringen Auflösung von 6° wird das Signal in der Hardwareschaltung interpoliert, um dann als Kurbelwellenwinkel φ mit einer nutzbaren Auflösung von beispielsweise 210 Inkrementen pro Umdrehung zur Verfügung zu stehen. Die Hardwareschaltung stellt in einem Hardwareregister, welches auch als Winkeluhr bezeichnet wird, die Winkelposition φ für die Anwendungssoftware 41 und für die Überwachung 42 der Anwendungssoftware bereit.
-
Die Drehzahl ω der Kurbelwelle 2 hängt gemäß Formel 1 von der Änderung der Winkelposition φ der Kurbelwelle 2 mit der Zeit t ab: ω = dφ / dt (Formel 1)
-
Diese Berechnung erfolgt auf zwei verschiedene Arten. Gemäß Formel 2 wird ein konstanter Weg Δφ
konst des Kurbelwellengeberrades
31 vorgegeben und die Zeit Δt
mess gemessen, in welcher dieser Weg zurückgelegt wird:
-
Gemäß Formel 3 wird ein konstanter Zeitraum Δt
konst vorgegeben und der Weg Δφ
mess gemessen, welchen das Kurbelwellengeberrad
31 innerhalb dieses Zeitraums zurücklegt:
-
Hierbei wird beispielsweise Δφkonst = 180° und Δtkonst = 100 ms gewählt.
-
Wenn für diese Berechnungen eine Winkelpositionsdifferenz Δφ zwischen zwei Zeitpunkten t1 und t2 gebildet werden muss, so erfolgt dies gemäß Formel 4 unlimitiert mit Überlauf, so dass sich auch dann ein positiver Wert ergibt, wenn die Referenzposition des Kurbelwellengeberrades 31 überschritten wird: Δφ = φ(t2) – φ(t1) (Formel 4)
-
Eine Umrechnung der beiden ermittelten Winkelgeschwindigkeiten ω in Drehzahlen n erfolgt gemäß Formel 5: n[ 1 / min] = ω[ ° / s]· 60s / min· 1 / 360° (Formel 5)
-
In einem Ausführungsbeispiel des erfindungsgemäßen Verfahrens wird in der Überwachung
42 der Anwendungssoftware eine Drehzahl ω bereitgestellt, die nur gemäß Formel 3 aus Winkelpositionen φ der Winkeluhr berechnet wurde
51. Anschließend wird aus dieser gemäß Formel 5 ein Drehzahlwert n
42 für die Überwachung
42 der Anwendungssoftware berechnet
52. Für den Zeitraum Δt
konst der Formel 3 wird weiterhin der Gradient dn
42/dt der Drehzahl gemäß Formel 6 berechnet
53:
-
Hierzu werden die Drehzahlwerte n42 zu den Zeitpunkten t1 zu Beginn des Zeitraumes Δtkonst und t2 zum Ende des Zeitraumes Δtkonst voneinander subtrahiert. Der Gradient entspricht also der Ableitung der Drehzahl n42 nach der Zeit.
-
Der Betrag |dn42/dt| des Gradienten dn42/dt wird berechnet 54 und anschließend mit einem Schwellenwert s verglichen 55. Der Schwellenwert s wurde in Abhängigkeit von der Dynamik des Verbrennungsmotors 1 gewählt. Ist der Betrag |dn42/dt| kleiner oder gleich dem Schwellwert s, so wird erkannt 56, dass der Sensor 32 und damit der Drehzahlwert n42 fehlerfrei sind. Der Drehzahlwert n42 wird dann für die Plausibilisierung des Drehzahlwertes n41, der in der Anwendungssoftware 41 berechnet wurde, und für weitere Berechnungen in der Überwachung 42 der Anwendungssoftware zugrunde gelegt 57.
-
Falls hingegen der Betrag |dn42/dt| für einen vorgegebenen Zeitraum größer als der Schwellenwert s ist, so wird ein Fehler des Sensors 32 oder ein Berechnungsfehler erkannt 58 und nach einer weiteren zeitlichen Entprellung ein Fehlereintrag im elektronischen Steuergerät 4 erzeugt. Alle weiteren Berechnungen in der Überwachung 42 der Anwendungssoftware werden mit einem Ersatzwert, dem Maximum aus dem Drehzahlwert n41, der in der Anwendungssoftware 41 berechnet wurde, und dem Drehzahlwert n42 der Überwachung 42 durchgeführt 59. Auf diese Weise wird eine Ersatzreaktion ermöglicht, die fehlerhafte Berechnungen innerhalb der Überwachung 42 in der zweiten Ebene ausschließt.