Es ist viel Text, ich weiß. Danke für's Trotzdem-Lesen, weil in einer
eigentlich einfachen Sache ein Problem besteht, wozu ich noch keine
passende Lösung parat habe.
Ich bin am KI (Kombiinstrument) meines VW am Tüfteln, um die
Plateaufunktion (vom Hersteller gewollt falsche Anzeige der
Kühlwasser-Temperatur) zu eliminieren.
HIER Beitrag "suche Schrittmotor-Schaltung (Patch für VW Kombiinstrument)"
und HIER Beitrag "Re: Arduino Analogeingang - leider nur sehr kleine Spannungsdifferenz (0,4V)"
zu sehen.
Wie Bild im letzten Link zeigt, geht es vorwärts. eigentlich sind jetzt
nur noch ein µC (z.B. ARDUINO) und ein paar Bauteile (H-Bridge) nötig,
um das Ziel zu erreichen: Den Schrittmotor der Kühlwasseranzeige selbst
anzusteuern.
Leider habe ich gestern ein Problem bemerkt. Dazu komme ich weiter unten
gleich noch. Vorher will ich mein Vorgehen erörtern.
Der Kühlwassertemperaturgeber nennt sich 'G2'. Er schaltet gegen Massem
wie es üblich ist. Hier sowas wie ein Schaltplan:
https://t4-wiki.de/w/images/Elektrik_Geber_Kuehlmittel_TDI_2000.jpg
Plan war, G2 von der Platine des KI abzugreifen. Das ist bereits
geschehen, siehe Bild CIMG0493.JPG. Natürlich hochohmig, weil G2 noch
weitere Funktionen ansteuert. Die Original-Technik darf ich nicht
stören. Und darin liegt auch das Problem, denn der Spannungsteiler, für
den G2 das Signal liefert, verwendet keine stabilisierte Spannung,
sondern die nackte Bordspannung (12 bis 14V). Und diese schwankt!!
Dadurch schwankt auch der Messwert. Und zwar bei unveränderter
Temperatur. Wie soll ich denn da messen können ???
Bemerkt habe ich das gestern, Da habe ich am G2 ein Voltmeter
angeschlossen, um mal zu sehen, wie der Wert sich verhält. Beim erste
Blinken sah ich das Malheur: Der Messwert blinkt mit :((
Natürlich ändert sich der Wert auch, wenn Verbraucher eingeschaltet
werden, z.B. das Licht oder Gebläse eingeschaltet wird. Wenn das Licht
an ist, hat der Sensor einen Spannungssprung von ca. 0,2 Volt (siehe
Bilder CIMG0498.JPG und CIMG0499.JPG).
Bitte jetzt nicht lästern. Natürlich ist es klar, dass ein (an der
Bordspannung hängender) Messwert sich ändert, wenn die Bordspannung sich
ändert. Ich ging allerdings davon aus, dass das KI eine stabilisierte
Spannung verwendet, um per Spannungsteiler das Eingangssignal für den
Prozessor zu bilden. Das ist aber definitiv NICHT der Fall.
So kann natürlich nicht gemessen werden. Aber was soll ich tun? Mir
fallen zwei Möglichkeiten ein:
1. Die 12-14V Bordspannung (natürlich per Spannungsteiler) als
ADC-Referenzspannung (ARef) zu schalten.
2. Die Bordspannung mit einem eigenen ADC-Eingang zu messen und die
Schwankungen intern im µC zu verrechnen.
Ich würde gerne wissen, wie der Hersteller (VW bzw. VDO) das Problem
gelöst hat. An diese Info komme ich aber garantiert nicht ran. Wie
würdet ihr das Problem lösen?
Jörg R. schrieb:> ...nur die Überschrift gelesen....>> Gib dem AD-Wandler eine eigene Referenzspannung, unabhängig von VCC.
Sch...Überschrift nicht mehr geprüft. Nicht VCC des Prozessors, sondern
die Versorgungsspannung des Gebers war gemeint
Roth schrieb:> Dadurch schwankt auch der Messwert. Und zwar bei unveränderter> Temperatur. Wie soll ich denn da messen können ???
Wenn dein Sensorsignal linear von seiner (schwankenden)
Versorgungsspannung abhängt, musst du eine ratiometrische Messung
machen, d.h. die Referenz für den ADC muss auch per Spannungsteiler aus
derselben schwankenden Spannung abgeleitet sein. Hochfrequente Störungen
(in Größenordung der Wandlungszeit) müssen trotzdem rausgefilter werden.
Roth schrieb:> Jörg R. schrieb:>> ...nur die Überschrift gelesen....>>>> Gib dem AD-Wandler eine eigene Referenzspannung, unabhängig von VCC.>> Sch...Überschrift nicht mehr geprüft. Nicht VCC des Prozessors, sondern> die Versorgungsspannung des Gebers war gemeint
Egal. Der AD-Wandler benötigt eine definierte Spannung mit der er
vergleichen kann. Er sollte also eine geregelte Spannung als Referenz
zugeführt bekommen.
Ihr seid wirklich schnell, danke :)
Wolfgang schrieb:> d.h. die Referenz für den ADC muss auch per Spannungsteiler aus> derselben schwankenden Spannung abgeleitet sein.
Und wie kriege ich es hin, dass die Schwankungen, gemessen in Volt, in
der Höhe völlig identisch abgebildet werden? Dazu müssen doch die
Widerstände beider Spannugsteiler (ARef und ADC-Pin) im selben
Verhältnis zueinander stehen? Oder irre ich mich jetzt? Je mehr der
Spannungsteiler gegen Plus geht, desto höher ist doch der Absolutwert
der Schwankung. Lässt sich das elektronisch lösen, oder nur per
Software?
Jörg R. schrieb:> Egal.
Nein, absolut nicht.
> Der AD-Wandler benötigt eine definierte Spannung mit der er> vergleichen kann. Er sollte also eine geregelte Spannung als Referenz> zugeführt bekommen.
Nein.
Er muß die (heruntergeteilte) Bordspannung als Referenzspannung nehmen.
Nur dann stimmt das Verhältnis zwischen der Spannung, die der Geber (mit
seiner Beschaltung) liefert und der Bordspannung.
Gut. Ratiometrisch messen scheint die Lösung zu sein.
http://www.elektronik-kompendium.de/forum/forum_entry.php?id=14895 Das
Wort kannte ich noch nicht, aber es liegt auf der Hand.
Darf ich denn an den ARef-Pin eine sich (teilweise schnell) ändernde
Spannung anlegen, oder kommt der µC dann durcheinander?
Roth schrieb:> Darf ich denn an den ARef-Pin eine sich (teilweise schnell) ändernde> Spannung anlegen, oder kommt der µC dann durcheinander?
Na freilich.
Das, was Du und ich als "schnell" empfinden, läßt so einen Kontroller
nur
müde blinzeln.
> Darf ich denn an den ARef-Pin eine sich (teilweise schnell) ändernde> Spannung anlegen, oder kommt der µC dann durcheinander?>Na freilich.>Das, was Du und ich als "schnell" empfinden, läßt so einen Kontroller>nur>müde blinzeln.
Da wär ich jetzt nicht so überzeugt. Ich denke, dass sich Vref während
der Wandlungszeit nicht mehr als 1LSB ändern sollte, sonst sind die
Messwerte vermutlich Mist.
Grüsse
Roth schrieb:> Ich bin am KI (Kombiinstrument) meines VW am Tüfteln, um die> Plateaufunktion (vom Hersteller gewollt falsche Anzeige der> Kühlwasser-Temperatur) zu eliminieren.
Oh ja, DAS nervt mich auch an meiner Karre,
diese geitige Behindertheitnder Entwickler, die sich nicht denken
können, daß eine korrekte Anzeige auch Sinn macht und
Diagnosemöglichkeiten ergibt,
habe dafür aber ODB Anzeige der echten Temp auf Tablet.
Genau so bescheuert, daß der Wagen zwar sehr genau weiss wann eine
Glühlampe durchgebrannt ist und das im Inspektions-Log vermerkt, aber
dem Fahrer auf dem Kombiinstrument nicht anzeigt.
Roth schrieb:> Gut. Ratiometrisch messen scheint die Lösung zu sein.
Ja, auch Messung über 2 Eingänge (Messwert und Spannung) und
rückrechnen.
> Darf ich denn an den ARef-Pin eine sich (teilweise schnell) ändernde> Spannung anlegen, oder kommt der µC dann durcheinander?
Eigentlich nicht, die Spannung sollte während der Messung konstant
bleiben, aber die dauert nur Mikrosekunden.
Man bildet den Mittelwert mehrere Messungen, dann stören Störungen nicht
so.
Temperatur-Messer schrieb:> Na freilich.
OK. Wenn das geht, will ich es nachher gleich umsetzen.
Und wie kriege ich es hin, dass die (heruntergeteilte) Bordspannung (in
Absolutwerten) dieselben Spannungssprünge hat wie der zu messende
Sensorkreis? Lässt sich das überhaupt zu 100% kompensieren, oder muss
ich per Software mit einem Multiplikator arbeiten?
geb schrieb:>> Darf ich denn an den ARef-Pin eine sich (teilweise schnell) ändernde>> Spannung anlegen, oder kommt der µC dann durcheinander?>>>Na freilich.>>Das, was Du und ich als "schnell" empfinden, läßt so einen Kontroller>>nur>>müde blinzeln.>> Da wär ich jetzt nicht so überzeugt.
Aber ich. :-)
> Ich denke, dass sich Vref während> der Wandlungszeit nicht mehr als 1LSB ändern sollte, sonst sind die> Messwerte vermutlich Mist.
Das ist eine Temperaturmessung in einem verhältnismäßig trägen System.
Da muß man nicht wie ein armer Irrer abertausend Mal pro Sekunde
abfragen.
Wenn man alle 500ms abfragt, kann man schön in Ruhe rechnen (lassen).
Nur keine ungesunde Hektik.
:)
MaWin schrieb:> Man bildet den Mittelwert mehrere Messungen, dann stören Störungen nicht> so.
So kann man es machen. Leider weiß ich nicht, wie der µC sich intern
verhält. Ob er (a) erst alle Eingänge gleichzeitig puffert, und dann die
Werte einliest, oder (b) die Pins nach-und-nach einliest.
(a) wäre der Idealfall. Aber bei einem kleinen System dürfte (b) wohl
wahrscheinlicher sein. So oder so werde ich Mittelwerte bilden - müssen.
***
Danke schon mal an alle für die vielen, wirklich guten Tipps :-)
Temperatur-Messer schrieb:> Wenn man alle 500ms abfragt, kann man schön in Ruhe rechnen (lassen).> Nur keine ungesunde Hektik.
Na ja Murphy redet auch noch mit. Ob mS oder µS , irgendwann zum
Zeitpunkt X ändert sich der Wert. Und wenn X mit Zeitpunkt des Pollens
zufällig identisch ist, ist Ergebnis falsch :( oder nicht?
Roth schrieb:> Leider weiß ich nicht, wie der µC sich intern> verhält. Ob er (a) erst alle Eingänge gleichzeitig puffert, und dann die> Werte einliest, oder (b) die Pins nach-und-nach einliest.
Das Datenblatt des µC gibt gerne Auskunft.
Roth schrieb:> Leider weiß ich nicht, wie der µC sich intern> verhält. Ob er (a) erst alle Eingänge gleichzeitig puffert, und dann die> Werte einliest, oder (b) die Pins nach-und-nach einliest.
Natürlich nach und nach.
simutaneous sampling wird extra beworben wenn er es kann.
Brauchst du nicht.