Forum: Analoge Elektronik und Schaltungstechnik Messschaltung für NTC Erfassung


von Florian F. (flofler)


Lesenswert?

Hallo zusammen,

ich möchte Temperaturen über mehrere NTCs (Temperaturbereich -30 bis 100 
Grad) digital mit einem Raspberry Pi erfassen. Meine Messschaltung soll 
parallel zu einem bereits vorhandenen Steuergerät angeschlossen werden 
und dieses im Betrieb nicht „stören".

Ich verwende einen ADC mit dem ich die Spannung messe die über einem 
Spannungsteiler abfällt. Durch die bekannten Widerstände des 
Spannungsteilers berechne ich den Widerstand des NTC (in meinem 
Testausfbau mit Poti simuliert).

Jetzt stehe ich vor folgendem Problem:

Um die Bordnetzspannung von bis zu 16V auf < 3,3V zu reduzieren habe ich 
als Spannungsteiler 100k und 22k Ohm Widerstände in Reihe parallel zum 
NTC geschaltet. Der NTC bewegt sich in einem Bereich von 26,7k Ohm - 190 
Ohm. Die Schaltung liefert im hohen Ohm-Bereich eine gute Auflösung der 
Temperatur. Allerdings ist das Messergebnis im NTC-Bereich < 1k Ohm 
nicht zufriedenstellend. Die Sensorkennlinie beschreibt in diesem 
Bereich ein Temperaturdelta von 10 Kelvin bei nur 60 Ohm. Die 10 Bit 
Auflösung des ADC entspricht hier einer Auflösung von ca. 140 Ohm. Dies 
führt zu sehr großen Temperatursprüngen.

Mein erster Ansatz war eine Reduzierung der Widerstände des 
Spannungsteilers auf 10k/2,2k Ohm. Dies würde die gewünschte Genauigkeit 
bringen. Allerdings „störe“ ich dann die Signalerfassung des 
Steuergeräts weil sich der Gesamtwiderstand durch die Messschaltung zu 
stark ändert.

Ein Maßnahme wäre der Einsatz eines 12 Bit ADC wie z.B. dem MCP3208. 
Aber vielleicht gibt es ja eine bessere Lösung. Kann ich den Widerstand 
über einen anderen Weg ermitteln ohne das vorhandene System 
(Steuergerät) zu stören und dennoch eine hohe Genauigkeit zu erreichen? 
Linearer Optokoppler?

Viele Grüße
Florian

von штампф ден троль (Gast)


Lesenswert?

In so einem Fall schreibe ich eine Simulation, um den optimalen 
Widerstand zu errechnen. Der NTC hat einen Widerstand von 10k bei 25 
Grad ?

Wie auch immer, die Aufloesung ist am Groessten wenn der Seriewiderstand 
am radiometrisch betriebenen Spannungsteiler gleich dem NTC Widerstand 
ist. Also fuer eine maximale Aufloesung bei 25 Grad macht man den 
Seriewiderstand gleich 10k.
Also schau mal, ob es einen Widerstand gibt, der ueber den gesammten 
Bereich eine brauchbare Aufloesung bieten kann. Falls nicht, gibt es 
zwei Moeglichkeiten, zwei Seriewiderstaende zum Umschalten, oder einen 
ADC mehr Aufloesung.

Und betreib den Spannungsteiler radiometrisch, also ab der ADC 
Referenzspannung. Dann sind alle Schwankungen weg. Alles andere ist 
Quatsch.

von Florian F. (flofler)


Angehängte Dateien:

Lesenswert?

Ich habe die Kennlinie des NTC als Screenshot angehängt.

Wenn ich den Widerstand des Spannungsteilers gleich dem NTC Widerstand 
wähle, dann ist der Gesamtwiderstand von NTC und Messschaltung nur noch 
halb so groß wie ohne die Messschaltung. Das würde im 
(Motor-)Steuergerät zu einer Verfälschung des Temperaturwertes führen. 
Daher kann ich den Tipp in meinem Fall nicht ohne Weiteres anwenden.

Was genau meinst Du mit "radiometrisch"? Die Bordnetzspannung von 16V 
kann ich nicht beeinflussen. Diese wird vom Generator des Fahrzeugs 
vorgegeben.

Dann bleibt jetzt nur noch eine Erhöhung der Auflösung des ADC und ggf. 
eine leichte Optimierung des Widerstands des Spannungsteilers unter 
Berücksichtigung der Auswirkungen auf die Funktion des Steuergeräts. 
Sprich: Ich muss mir überlegen, um welchen Betrag die Temperatur 
verfälscht werden darf ohne den Betrieb des Motors zu beeinträchtigen.

von Michael S. (e500)


Lesenswert?

Wie wäre es mit einem OPAMP als Spannungsfolger? Danach kannst Du jeden 
Spannungsteiler schalten den Du möchtest!?

von Anja (Gast)


Lesenswert?

Florian F. schrieb:
> Kann ich den Widerstand
> über einen anderen Weg ermitteln ohne das vorhandene System
> (Steuergerät) zu stören

Das vorhandene System nicht stören heißt:
- du darfst keinen Strom am Sensoreingang
  und der Sensormasse entnehmen oder einspeisen.
- du darfst auch keine Masseschleife ziehen.

-> Du brauchst entweder ein galvanisch getrenntes System oder eine 
differentielle Messung der Spannung über dem Widerstand.

In der Regel hat die vorhandene Auswerteschaltung einen Pull-Up 
Widerstand vom Sensor-Eingang zur Referenzspannung des dort verbauten 
ADC´s (ratiometrische Auswertung).

Um eine genaue Auswertung machen zu können muß Dein ADC mit einer 
exakten Kopie dieser Referenzspannung betrieben werden. Häufig kommt man 
an die Referenzspannung aber von außen nicht dran. (-> zusätzlicher 
Fehler 2-5%).

In der Regel wird auch nie ein Widerstand des NTCs berechnet sondern 
immer die Spannung am Sensor über eine Kennlinie direkt in Temperatur 
umgerechnet.

Gruß Anja

von Manfred (Gast)


Lesenswert?

Florian F. schrieb:
> Was genau meinst Du mit "radiometrisch"?

Da hat er etwas Wichtiges aufgeschnappt, kann es aber leider nicht 
schreiben.

Ersetze das "d" durch ein "t" = "Ratiometrisch", dazu finden sich jede 
Menge Erklärungen im Netz.

Da ist es gerade aktuell: Beitrag "Mehrere Pt-Widerstände ratiometrisch mit nur einem ADC"
Oder da im Text nach "ratio" suchen: 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC#Beschaltung_des_ADC-Eingangs

von Axel S. (a-za-z0-9)


Lesenswert?

Anja schrieb:
> In der Regel hat die vorhandene Auswerteschaltung einen Pull-Up
> Widerstand vom Sensor-Eingang zur Referenzspannung des dort verbauten
> ADC´s (ratiometrische Auswertung).

Das ist eine ziemlich verwegene Annahme.

Es gibt keine Garantie dafür daß der NTC mit einem Bein an GND liegt. 
Genauso gut kann der NTC am Vcc-seitigen Ende des Spannungsteilers 
sitzen. Und apropos Vcc - wenn diese Spannung schwankt (bei batterie- 
betriebenen Geräten ganz normal) dann schankt die Spannung am NTC auch 
bei konstanter Temperatur.

Aber es ist gar nicht gesagt, daß es überhaupt ein Spannungsteiler ist - 
es kann genauso gut auch eine Stromquelle einen Strom in den NTC 
einspeisen. Und das möglicherweise auch nicht permanent, sondern nur für 
ein paar ms jede Minute (Stromsparbetrieb). Oder der NTC ist Teil einer 
Oszillatorschaltung und die Zielschaltung wertet die Frequenzänderung 
auf Grund der Widerstandsänderung aus. etc. pp.

Ohne die intimsten Details des Geräts mit dem ein-(an-)gebauten NTC- 
Sensor zu kennen, kann man unmöglich sagen ob es sinnvoll oder überhaupt 
möglich ist, die Sensordaten in einem zweiten Gerät mitzuverwenden.

von Florian F. (flofler)


Angehängte Dateien:

Lesenswert?

Danke für die vielen Antworten und Informationen. Die muss ich erstmal 
sortieren.

Das Steuergerät stammt aus den 70er Jahren und es handelt es sich um 
eine diskrete analoge Schaltung ohne ICs. Der NTC ist 2-polig, also 
wirklich nur ein simpler temperaturabhängiger Widerstand an dem 
Bordnetzspannung anliegt.

Die interne Beschaltung des Steuergeräts kenne ich (noch) nicht. Es 
müsste aber so sein, dass der NTC ein Teil eines Spannungsteilers ist, 
dessen weitere Widerstände sich im Steuergerät befinden.

Da ich den ADC mit 3,3V versorgen muss, kann ich als Referenzspannung 
nicht nicht die Bordnetzspannung verwenden, da sie mit 16V zu hoch ist. 
Im Moment lese ich über einen 2. Messeingang des ADC die Spannung an 
einem 2. Spannungsteiler ohne NTC ein und normiere damit die Spannung an 
Messeingang1. Das klappt ganz gut. Ich habe mit dem Labornetzteil die 
"Bordnetzspannung" im Bereich 3-16V verstellt und trotzdem einen relativ 
konstanten Temperaturwert ermitteln können. In der Realität schwankt die 
Bordnetzspannung ja sogar noch deutlich weniger.

Das verlinkte "AVR-Tutorial: ADC" hilft mir schon weiter im Verständis. 
Ich verstehe das so: Wenn ich den Widerstand des NTC messen will muss 
ich mir immer einen Spannungsteiler bauen.
Um die Idee mit dem OpAmp zu verfolgen müsste ich doch 2 Spannungsteiler 
einbauen? Vor und hinter dem OpAmp. Dann verfehlt dieser aber den Zweck, 
dass die Messschaltung den bestehenden Schaltkreis nicht belastet, da 
dieser durch den Spannungsteiler vor dem OpAmp belastet wird.

von Anja (Gast)


Lesenswert?

Florian F. schrieb:
> Die interne Beschaltung des Steuergeräts kenne ich (noch) nicht.

Sollte ähnlich zu dem hier sein:

http://members.rennlist.com/pbanders/ecu.htm
http://members.rennlist.com/pbanders/ecu1.jpg
http://members.rennlist.com/pbanders/ecu2.jpg
http://members.rennlist.com/pbanders/ecu3.jpg

Ist leider kein einfacher Spannungsteiler sondern noch mit 
Kompensationsdioden und verschiedenen Betriebsarten.



Florian F. schrieb:
> und normiere damit die Spannung an
> Messeingang1. Das klappt ganz gut.

Ist ja auch im Prinzip eine Ratiometrische Erfassung (solange die Zeit 
zwischen beiden Messungen nicht zu arg auseinander liegt).

Gruß Anja

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.