Kann man die Öltemperatur abfragen ?
Guten Abend,
gibt es bei dem 4F die möglichkeit über eine Tastenkombination am Klimasteuergerät die Öltemperatur des Motors abzufragen wie es beim 4b möglich war.
Ich danke für eure Hilfe.
Gruß Micha
Beste Antwort im Thema
Heute gings wieder ein Schritt weiter, nachdem ich den Kampf gegen die Bedienung meines neuen digitalen Oszis gewonnen hatte. Es ist mir nun gelungen, das Signal-Gemisch, welches der kombinierte Öl-Stands-und-Temperatur-Sensor (ÖSTS) aussendet, zu dekodieren. Das gelang mir schon mal mit meinem alten Digi-Oscar, aber damals war keine echte Auswertung möglich. Der Neue wertet aus, und wie!
Dabei kam zunächst mal was Überraschendes rum. Es handelt sich bei dem ÖSTS ja um ein HELLA-Produkt, für welches "sigi290" dankenswerter Weise eine Datei mit Darstellung der Sensor-Signale eingestellt hatte.
http://www.motor-talk.de/.../...ltemperatur-abfragen-t2970683.html?...
Aber schon damals (2012) störte mich so Etliches, z.B. gelang es mir nicht, die Skizze vollumfänglich zu verstehen. Die enthielt - freundlich gesagt - Unzulänglichkeiten, wahrscheinlich auch den einen oder anderen Fehler. Und heute mußte ich feststellen, dass die weitestgehend unbrauchbar ist, weil die Firma Hella für Audi eine Sonderversion erstellt hatte. Das ergab auch eine vor 3 Tagen erhaltene Auskunft der Firma AMIS, welche den Microcontroller im Sensor herstellt.
Gettz zum Ergebnis meines neuen DOs:
Es gibt eine regelmäßige Abfolge von zwei sich abwechselnden Signal-Paaren. Jedes Paar startet mit dem gleichen Start-Signal, das ist knapp 12 MilliSekunden lang. Das jeweils zweite Signal enthält den Wert entweder der Temperatur oder des Öl-Standes. Dabei variiert die Pulslänge, wobei die Länge von Low- und High-Zustand freundlicherweise gleich lang ist. Der Ölstand interessiert jetzt mal nicht. Bei 20° C ist das Temp-Signal 42 ms lang, jeweils 21 ms low und 21 ms high. Mithilfe der neuen Technik und der Cursor-Messung kann das nun sehr genau bestimmt werden.
Schwitz und Uff......das war ein hoher Aufwand, um das raus zu bekommen. Die Firma Hella hätte ja......., wollte aber nicht!😠 Ist Geschichte, nun haben wirs auch ohne Ver-"Dunkla" geschafft.
Bild 1 zeigt das Temp-Signal (bei ca. 70° C)
Bild 2 das Ölstands-Signal (ein Teil von "High" ist durch ein Softmenü verdeckt, aber der Low-Teil zeigt das Ergebnis genauso.)
Grüße, lippe1audi
268 Antworten
bei den Sensoren liegt ein PWM Signal mit folgenden Aufbau an:
So was ähnliches hatte ich mir schon gedacht 😉
Cooles Bild! Danke!
@ kbankett
Klar hatte ich den Oszi dran, Signal war wie beschrieben, sah so aus wie ein missratenes Signal im Sekundentakt- runde Flanken, verschiedene Pegel. Die Erklärung könnte einfach sein.
@ sigi290
Ganz herzlichen Dank für die Übersendung der Datei mit dem "Hella-pwm-Signal". Darin findet sich dann auch der wohl entscheidende Hinweis: "open collector". Wenn der Ausgang ein solcher ist, kann es natürlich nicht verwundern, wenn ohne Widerstand zu Uv nichts Sinnvolles zu sehen ist. Entsprechender Test wird jetzt gleich nachgehölt, Antwort in ca. 15 min. Danke nochmal, Sigi😎
Gruß, lippe1audi
Eine Viertelstunde brauchte es nicht, wohl aber des Resistors zur Uv! War halt ein open-collektor-Ausgang. Ein 47 kO-R und schon funktionierte es los und wie! Saubere Rechtecke mit einer Amplitude, die ich vergessen habe, genau zu messen. Ist aber egal, die Signale sind voll brauch- u. auswertbar. Mit einem analogen Oszi u. einer vergleichsweise geringen Signalfrequenz ist es schwierig bis unmöglich, ein nur annähernd so schönes Bild wie aus "sigi20"s File zu erhalten. Da müßte ich mal den Digitalen anwärmen, kommt wohl später. Aber es sind ganz klar verschiedene Signale auszumachen hinsichtlich ihrer "Breite", rsp. ihrer zeitlichen Dauer. Eines davon scheint aus zwei direkt aufeinanderfolgenden zu bestehen, oder aber einem Signal geht ein super-schmales Bit voraus. Wunderschön sind jetzt auch die Veränderungen zu sehen, wenn man vom trockenen Zustand aus den Sensor flutet, zwar nicht in Öl, sondern in Wasser, das mag er auch. So trocken mag er weniger, da schlummert er bei gefühlt 1 Hz vor sich hin, im Nassen wird er quicklebendig und hat auf einmal viel zu sagen, will sagen, die Frequenz erhöht sich beachtlich. Das mal als versuchter Ersatz einer Beschreibung anstelle eines sauberen Ausdrucks eines Digioszis und auch ohne Amplitude u Zeiten notiert zu haben.
Ach so, damit ist auch die Befürchtung vom Tisch, dass die aktive Schaltung im Sensor nur auf Aufforderung durch einen Master sich regt. Ne - wie gesagt - der ist auch so gesprächig.🙂
Gruß, lippe1audi
Jetzt gibts was aufs Auge! Habe meinen Digioszi angeworfen, und zwei Fotos erstellt. Wenn ich das wunderschöne Diagramm des PWM-Signals, zur Verfügung gestellt von "sigi290", recht verstehe, dann gibt es ein Startbit und danach eine sich immer wiederholende Folge von genau drei Datenbits. Das Erste davon ist für die Öltemperatur, das Zweite für den Ölstand (level), und das dritte für was-weiß-ich, das ist nicht benannt u hat eine feste Länge. Wenn diese Interpretation richtig ist, dann hat meine D-Oszi alle 3 Bits der Wiederhol-Periode aufgezeichnet, dargestellt im Foto "Periode", und die Dehnung der Aufzeinung ergab dann, Kai, "unser" Bit für die Temp, dargest. im Foto "tempbit". Dieses gälte es, zu dekodieren (Länge).
Gruß, lippe1audi
Ähnliche Themen
Wieder ein Schritt weiter, ob es einer nach vorne, zur Seite oder aber gar......man weiß es nicht! Der Kampf gegen den Sensor hat Erfolge gebracht. Wahrscheinlich trifft deine Vermutung, Kai, Sensoren hätten ein robustes Leben, auch auf den Bucht-Sensor zu. Das wilde Geschwanke des Amperemeters, rsp. dessen Nadel, ist wohl gelüftet. Ein analoges A-Meter ist ja nun wirklich bei Frequenzgang nicht so der Bringer. Ein Widerstand in die Versorgungsleitung und ein Oszi brachten nun Licht: Der Sensor genehmigt sich einen gewaltigen Schluck aus der Accu-Pulle: 1,05 Ampere!😰 Aber nur für ca. 15 mS😉
Da setzt er wohl seinen Ultraschall-Impuls ab und in der restlichen Zeit wertet er das mit gemütlichen 20 mA aus und berichtet. Bei Veränderungen des Flüssigkeitspegels beschleunigt er aber heftig und schallt viel häufiger. Auch bei hohem P-Stand ist es deutlich mehr als bei niedrigem, aber das könnte so in Ordnung sein.
Prima, aber nur fast, denn nun habe ich mit dem Bericht Probleme. Oder mit dem Digioszi. Der spuckte heute andere Signale aus als gestern. Bei angenommener Frequenz von 1 Hz, entsprechend niedriger Pegel, keine Änderung, scheint er zwei verschiedene Signal im Wechsel zu senden. Eines könnte ein Startbit sein und dahinter jeweils ein Datenbit. Eine Messperiode bestände dann aus einem kompletten Signal im 2 Sek-Takt, im 1. Paar die Temp., im 2. Paar der Pegel. Um das Temp-Bit kennen zu lernen, habe ich zwei wirklich schöne Labormessbecher nebeneinander gestellt, eines mit 20°C und das andere mit heißem (anfangs kochendem) Wasser. Erhofft hatte ich, dass eines der beiden Datenbits "länger" wird. Iss aber nicht! Ich kann keinerlei Veränderung feststellen. Da hänge ich im Moment fest. Das wunderschöne Datenblatt für einen ähnlichen Sensor hatte da einen kräftigen Längenzuwachs erwarten lassen. Was nun tun?
Gruß, lippe1audi
1. Du solltest einfach noch einmal messen 😉
2. Wenn sich dann immer noch nichts ändert, Messaufbau kontrollieren und goto 1.
Kai 😎
Ergo: Go to 1)
Bilder des mal kalt (20°C) und mal heiß (ca. 90°C) getauchten Sensors. Auf die ersten Blicke kann ich da keinen Unterschied ausmachen. Wenn man denn möchte, könnte die Null-Zeit zwischen dem ersten und dem zweiten Bit-Paar im Heißbetrieb etwas größer sein. Ausgeschlossen ist das nicht, denn in dem Datenblatt für den fast baugleichen Sensor variert die Länge des Datenbits zwischen 22 mS und ca. 95 mS. In diesem Bereich soll die aktuelle Temp dargestellt sein, und die läge dann zwischen -40°C und +160°C. Der Unterschied zwischen 20° u 90°C (vielleicht wars inzwischen auch kühler, das habe ich nicht gemessen, sondern bin mit kochendem Wasser an den Messplatz geeilt) ja korrekt in der mit guten Willen sichtbaren/ eingebildeten Differenz der Null-Zeit dargestellt. Müßte man mit exakten Cursormessungen rausbekommen können - wenn das Digi denn sowas hätte.
Das Auslesen der Signale per µ-Controller bekäme ich ja schon hin. Aber vorher muss man erst mal wissen, wo denn nun genau die Temp-Darstellung sich verbirgt, und mein Sensor scheint eine andere Bit-Folge zu benutzen als in dem schönen Datenblatt des anderen.😕
Gruß, lippe1audi
Bin Stück weiter im Kampf gegen das unbekannte Wesen, den Sensor. Er sendet zwei Doppelbits aus. Das jeweils zweite Bit scheint keine Messgröße zu übertragen, es bleibt immer gleich. Das jeweils erste der beiden D-Bits verlängert die "1"-Zeit bei steigender Temp. Aber ach, nur in geringem Maße. Bei 20°C ist es 15 ms high, bei ca. 90°C gerade mal 23 ms. Die andere Meßgröße, der Pegelstand, wird durch den Abstand der D-Bits zueinander übertragen. Bei niedrigem Pegel ist der Abstd. groß, bei hohem gering. Eine genaue Auswertung kann naturgemäß nur über einen µ-Controller stattfinden, wobei hier ja nur die Temp interessiert. Aber das Prinzip wäre damit geknackt.🙂
Schwitz, der S hat sich ganz schön gewehrt. Lag u.a. daran, dass mein D-Oszi geringere Frequenzen als 10 Hz nicht darstellen mag - steht so in seiner Anleitung. Eine gelungene Triggerung der Signale ist teils ein Glücksspiel und die Darstellung von ein oder gar zwei Perioden ist nur zu erreichen, wenn man ihn gaaaaaaaaaaaanz lange streichelt.
Nun denn, jetzt stehe ich vor Schicksalsfragen: Pic und Assembler oder Atmel u C. Erste Kombi kenn u kann ich, zweite weder noch. Wie auch immer, jetzt wird es wohl Wochen dauern, bis diese nächste Hürde auch geknackt ist. Auf dem Bild ist das Temp-Bit mit seinem High-Pegel zu sehen.
Gruß, lippe1audi
Ja, mir sah es auf deinem letzten Bild auch schon so aus, als hätte sich die länge der ersten Pegeländerung minimal verändert.
Mit einem µC ist es wirklich einfach das zu messen / auszuwerten.
Du brauchst nur einen Timer und dann z.B. einen Interrupt-Pin, an dem du den Sensorausgang anschließt.
Dann eine globale Zählvariable, welche im Timer erhöht wird.
Resetten kannst du diese dann in der Interrupt-Routine und brauchst nur noch die Zähleränderung ablesen. Wie lange ein Timer-Tick braucht, kennst du aus der Timer-Initialisierung und der System-Clock.
Hast du dir denn jetzt schon überlegt, wie du den Wert dann darstellen möchtest?
In früheren Projekten habe ich ein S65 Display verwendet. Für dieses gibt es eine fertige ATMega Library, so daß man damit sehr schnell zum Ziel kommt.
Es gab auch noch ein anderes, noch kleineres Display aus irgendeinem Handy. Mist, erinnere mich nur gerade nicht mehr dran, welches das war. (findest du aber bestimmt beim Suchen auf mikrocontroller.net)
Schau sonst mal auf sparkfun.com da gibt es sehr nette Teile, die eigentlich auch alle immer mit einem verfügbaren Treiber sind.
(nur Vorsicht, die Seite schadet dem Geldbeutel - also, ich könnte da auf jeden Fall so einiges gebrauchen 😉)
Ich will dich ja nicht wirklich reizen, nein, will ich nicht. Aber ich schau als nächstes in meine gesammelten Lehr- u. Lernbücher-/Broschüren über PICs, und wie die dort die Anzeigen via Displays ausgeführt haben. Das allein schon, um eine Vorstellung zu haben, mit welchem Prog-Aufwand ich auf diesem Weg rechnen müßte. Ganz sicher gibt es da aber fertige Routinen. Eine schicke LCD-Anzeige habe ich schon im großen Versandhaus nahe München gefunden.
Die nach meinem Geschmack sehr geringe Änderung der High-Zeit müßte einen wirklich fixen Controller erfordern und vor allem eine Abfrage-Routine, die micro-kurz ist. Na ja, der Sensor deckt - wie gesagt - einen TempBereich von -40° bis + 160°C ab. Blätter jetzt erst mal ein wenig, lippe1audi
Das Projekt klemmt an einer zäh zu handhabenden Stelle. Die Sensorsignale sind vom Prinzip her dekodiert, rsp. erkannt, und jetzt müßten Temperaturwerte ausgelesen werden. Die sind aber wie schon erwähnt in der variierenden Länge eines Bits enthalten. Um die Messungen realitätsnah zu gestalten und nach nochmaligem Studium des Datenblatts eines baugleichen Sensors hatte ich einen Behälter gefertigt, in welchem der Sensor von unten eingeschraubt und von oben mit Mot-Öl begossen werden kann. Eine Platine u ein Kupferblech machten es möglich, dass das Messrohr des S nun wie in einer echten Ölwanne in echtem Mot-Öl gebadet wird. Für die Erwärmung dient eine Spirale aus Konstantan-Draht. Bilder siehe unten. Jetzt komme ich mit den Messungen nicht recht weiter. Erstes Messziel war es, das W-Bit bei den Temps von 20°, 30°, 40° u 50° C exakt in der Länge zu bestimmen. Und genau das will nicht so recht klappen. Bei Wiederholungen der Messreihen ergeben sich leider immer wieder Abweichungen von vorigen Werten. Es ist mir zwar weitestgehend gelungen, die Temperaturen stabil zu halten und das Thermometer ist ein genau abzulesendes Foto-Th., und das D-Oszi läßt einwandfrei getriggerte Signale zu, aber dennoch gibts diese Abweichungen. Was tun, sprach Zeus? Und wie ich die Messungen bei Temps von 100° und 120° durchführen soll, ist auch noch nicht raus.
Anregungen?
Gruß, lippe1audi
Wieviel Millisekunden ist das Signal denn bei den von dir überprüften Temperaturen?
Ich würde eigentlich davon ausgehen, daß die Kennlinie bei einem so modernen Sensor, welcher sogar einen Prozessor enthält, gleich im Sensor abgelegt ist.
Sinn würde es jedenfalls machen (der Hersteller ist dann in der Produktion der Sensoren deutlich flexibler) und dann viel Arbeit danach sparen.
Ich an deiner Stelle hätte also die Hoffnung, daß der Temperaturimpuls immer 22ms + Temperatur in Millisekunden ist (wenn man das von Sigi eingestellte Bild als Basis nimmt)
Wenn das nicht der Fall ist, dann würde ich wirklich das Kabel zum KI anzapfen, mir einen Messwerblock mit der Öltemperatur suchen und über dieses Feedback einen Abgleich vornehmen.
Poste doch bitte mal die Werte, die du gemessen hast. Bist du dir auch sicher immer nur den richtigen (Temperatur) Impuls zu messen?
Zitat:
Teilweise original geschrieben von kbankett
Ich an deiner Stelle hätte also die Hoffnung, daß der Temperaturimpuls immer 22ms + Temperatur in Millisekunden ist (wenn man das von Sigi eingestellte Bild als Basis nimmt)
Das isses ja, die Bewerbung von Hella mit dem Slogan "kundenspezifischer Signalausgang" trifft hier voll zu. Es gibt fast keine Übereinstimmung mit dem Sigi-Basis-Bild. Mal ein paar Werte von heute:
20° - 14,7 ms
30° - 16,9 ms
40° - 18,75 ms
50° - 21,5 ms
Und dann 20 min später bei der Wiederholung der 50°-Mssg.: 24,5 ms !😠
Gruß, lippe1audi
Und wie stabil sind die Werte bei der jeweiligen Messung?
Hast du die ms mit einem Controller ausgelesen oder per Oszi?
Vielleicht nimmt die Stabilität auch erst bei höheren Temperaturen zu? (ein FL KI zeigt ja auch erst ab 60° an)
Das ist mir jetzt auch aufgefallen, ich würde versuchen 60°, 70° und 80° zu messen.
Evtl. funktioniert der Sensor drunter einfach nicht richtig.