Forum: Mikrocontroller und Digitale Elektronik Temperaturerfassung PT1000 AVR


von Temp (Gast)


Lesenswert?

Hallo,

habe mir den Artikel schon durchgelesen. Leider keine brauchbare 
Schaltung gefunden
https://www.mikrocontroller.net/articles/Temperatursensor

Ich suche nach einen kleinem Schaltplan, um einen oder mehrere PT1000 
Sensoren auszulesen. Die PT1000 sind als 2Draht herausgeführt. Falls 
notwendig kann ich auch welche mit 3 oder 4 Leiter besorgen.

Ich möchte an einem Heizungssystem mehrere Temperaturen mitloggen. 
(Anlegefühler). Die Genauigkeit spielt eine kleine Unterrolle. Gerne 
möglichst genau. 1°K Abweichung sollte vollkommen ausreichen. Die 
Fühlerkabel sind zwischen 1 und 20m lang.

Messen möchte ich das ganze mit einem AVR Mega. Der Temperaturbereich 
ist zwischen -30°C (Aussenfühler) und 90°C (Vorlauf). Würde gerne mit 
einer Referenzspannung arbeiten die genau ist. Kann mir dazu einer die 
Schaltung zur Verfügung stellen?

von skorpionx (Gast)


Lesenswert?


von MaWin (Gast)


Lesenswert?

Temp schrieb:
> Kann mir dazu einer die Schaltung zur Verfügung stellen?

Du meinst echt, dass es für die passende Schaltung keine Rolle spielt ob 
1 oder 5 Sensoren ?
1
 +5V     +5V
2
  |       |
3
 4k7  +-------+
4
  |   |       |
5
  | +-|CH1+   |
6
  |/  |       |
7
Pt100 |       |
8
  |\  |       |
9
  | +-|CH1-   |
10
  |   |       |
11
  | +-|CH2+   |
12
  |/  |       |
13
Pt100 |       |
14
  |\  |       |
15
  | +-|CH2-   |
16
  |   |MCP3424|
17
  | +-|CH3+   |
18
  |/  |       |
19
Pt100 |       |
20
  |\  |       |
21
  | +-|CH3-   |
22
  |   |       |
23
  +---|CH4+   |
24
  |   |       |
25
 100R |       |
26
  |   |       |
27
  +---|CH4-   |
28
  |   +-------+
29
  |       |
30
 GND     GND
oder eine aus
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.7.8

von m.n. (Gast)


Lesenswert?


von Peter D. (peda)


Lesenswert?

Temp schrieb:
> Würde gerne mit
> einer Referenzspannung arbeiten die genau ist.

Die kürzt sich bei Widerstandssensoren raus, ist also egal.

Es gibt fertige ADCs, die nur einen stabilen Referenzwiderstand 
brauchen, z.B. AD7793.
Schaltungen mit OPVs brauchen oft mehrere genaue Bauteile, sind also 
komplizierter.
Am einfachsten sind digitale Sensoren, z.B. DS18B20, SMT172.

von grundschüler (Gast)


Lesenswert?

ebay, arduino + pt1000 eingeben. Besser und billiger sind ds1820.

von Dominik (Gast)


Lesenswert?

Temp schrieb:
> Ich möchte an einem Heizungssystem mehrere Temperaturen mitloggen.
> (Anlegefühler). Die Genauigkeit spielt eine kleine Unterrolle. Gerne
> möglichst genau. 1°K Abweichung sollte vollkommen ausreichen. Die
> Fühlerkabel sind zwischen 1 und 20m lang.

Die Auswertung von PT-Fühlern erfordert meist etwas Geschick mit dem 
Lötkolben (praktisch alle hochauflösenden ADC´s sind SMD und z.T. 
winzig)
oder entsprechenden zusätzlichen Schaltungs-und Bauteileaufwand, der 
sich natürlich mit der Fühleranzahl potenziert.

Wenn der Sensortyp nicht in Stein gemeißelt ist, kann man die Sache auch 
deutlich vereinfachen. Mittels Oversampling kann man dem internen ADC 
des ATMega auch mal 12bit entlocken, in diesem Anwendungsfall muss die 
Messfrequenz ja nicht besonders hoch sein. Damit lassen sich mittels 
geeigneter Fühlerwahl die Eingangs beschriebenen Anforderungen pro 
Messkanal spielend mit einem Widerstand + Fühler erschlagen, externe 
ADC´s braucht es dann auch nicht.

Gruß Dominik

von Peter D. (peda)


Lesenswert?

Dominik schrieb:
> Mittels Oversampling kann man dem internen ADC
> des ATMega auch mal 12bit entlocken

Lach.
Er will messen und keine Lottozahlen.

von Dominik (Gast)


Lesenswert?

Peter D. schrieb:
> Lach.
> Er will messen und keine Lottozahlen.

Zu früh gelacht...
... Läuft bei mir mit einem 20k Ntc stabil und nach "Kalibrierung" auch
äußerst genau (im Zehntel Grad Bereich / geprüft mit 
Anschütz-Thermometersatz) ;-)

Bevor ich es nicht selbst probiert habe war ich diesbezüglich 
zugegebenermaßen auch etwas skeptisch.

Gruß Dominik

von Michael B. (laberkopp)


Lesenswert?

Dominik schrieb:
> Zu früh gelacht...

Im Gegenteil, jetzt lachen wir erst richtig, denn aus deinem Beitrag 
kann man entnehmen, daß du nicht mal ansatzweise weisst, welche 
notwendige Bedingung existieren muss, damit diese Art der 
Auflösungssteigerung überhaupt funktioniert.

von Dominik (Gast)


Lesenswert?

Dazu gibt es auch ne AppNote von Atmel, finde die gerade aber nicht 
wieder.
Habs nur kurz überflogen, aber diese scheint es ähnlich gut oder sogar 
besser zu beschreiben, wichtig ist halt ein verlässliches "Störsignal" 
und da kann man ja zur Not nachhelfen (PWM).
https://www.silabs.com/documents/public/application-notes/an118.pdf

In Bezug auf die Temperaturfühler, bei Verwendung von KTY11-6,
(hab ich auch schonmal als Anlegefühler gesehen) wäre ein Oversampling 
nicht mal erforderlich, allerdings sind Glättung und Offsetkorrektur 
natürlich Pflicht:
1
T  R  R_Series  R_Sum  ADC10  ADC12
2
-40  1139,27  4000  5139,27  227  908
3
-30  1250,39  4000  5250,39  244  975
4
-20  1396,25  4000  5396,25  265  1060
5
-10  1495,86  4000  5495,86  278  1115
6
0  1630,21  4000  5630,21  296  1186
7
10  1772,32  4000  5772,32  314  1257
8
20  1922,17  4000  5922,17  332  1329
9
25  2000  4000  6000  341  1365
10
30  2079,77  4000  6079,77  350  1401
11
40  2245,17  4000  6245,17  368  1472
12
50  2418,21  4000  6418,21  385  1543
13
60  2599,06  4000  6599,06  403  1613
14
70  2787,65  4000  6787,65  420  1682
15
80  2983,99  4000  6983,99  437  1750
16
90  3188,08  4000  7188,08  454  1816
17
100  3399,91  4000  7399,91  470  1881
18
          
19
U  5  I_Max  0,000972901

Ob 2 oder 3 Leiter kann man sich streiten, 20m ist natürlich schon lang.

Gruß Dominik

Michael B. schrieb:
> Im Gegenteil, jetzt lachen wir erst richtig, denn aus deinem Beitrag
> kann man entnehmen, daß du nicht mal ansatzweise weisst, welche
> notwendige Bedingung existieren muss, damit diese Art der
> Auflösungssteigerung überhaupt funktioniert.

Dieses Forum besticht gelegentlich durch unheimlich konstruktiven 
Beiträge,
in der Tat habe ich auch schon oft gelacht was hier so verzapft wird.

von m.n. (Gast)


Lesenswert?

Dominik schrieb:
> In Bezug auf die Temperaturfühler, bei Verwendung von KTY11-6,
> (hab ich auch schonmal als Anlegefühler gesehen) wäre ein Oversampling
> nicht mal erforderlich, allerdings sind Glättung und Offsetkorrektur
> natürlich Pflicht:

Und wie korrigierst Du die Linearitätsfehler des ADCs?

von Dominik (Gast)


Lesenswert?

m.n. schrieb:
> Und wie korrigierst Du die Linearitätsfehler des ADCs?

Da der Atmega unspezifiziert ist gehe ich jetzt einfach mal vom 328p 
aus,
der hätte wahrscheinlich auch genug ADC-Kanäle:

Lt. Datenblatt:
0.5 LSB Integral Non-Linearity
±2 LSB Absolute Accuracy

Bei ca. 20 Werten für je 10 Grad wäre mir das pers. hier fast egal.
Der Offset ist entscheidender, da er bei den, von mir bislang 
verwendeten
AVR´s, einen Großteil der "Absolute Accuracy" ausmachte. Ein Faktor für 
die Linearität über den gesamten Messbereich langt wohl dicke.
(Ansonsten hat der 328p ein ganzes kb EEPROM)

Bevor das hier zur Glaubensfrage wird, es handelt sich nicht um
eine Temperaturüberwachung für Kernreaktoren.
Mir ist durchaus bewusst, das eine "genaue" Temperaturmessung von vielen
Einflussgrößen abhängt, ich habe diesbezüglich schon ein paar
Erfahrungen sammeln können. Sonst hätte ich mir wahrscheinlich keinen
kalibrierten Thermometer-Satz geleistet ;-)

Also zurück zum Thema:

Temp schrieb:
> Ich möchte an einem Heizungssystem mehrere Temperaturen mitloggen.
> (Anlegefühler). Die Genauigkeit spielt eine kleine Unterrolle.

Hier ist nicht mal von steuern die Rede.

Gruß Dominik

von m.n. (Gast)


Lesenswert?

Dominik schrieb:
> m.n. schrieb:
>> Und wie korrigierst Du die Linearitätsfehler des ADCs?
>
> Da der Atmega unspezifiziert ist gehe ich jetzt einfach mal vom 328p
> aus,
> der hätte wahrscheinlich auch genug ADC-Kanäle:
>
> Lt. Datenblatt:
> 0.5 LSB Integral Non-Linearity
> ±2 LSB Absolute Accuracy

Ich verstehe: wegen der vielen Eingangskanäle hoffst Du auf bessere 
Linearität.

von JoJetztMalHalblang (Gast)


Lesenswert?

Würde einfach zwei definierte Widerstände mit auf die Platine packen und 
mitmessen(2 zusätzliche Kanäle).

Das eliminiert nach Abgleich den Offset und den Verstärkungsfehler.

Nichtlinearitäten hast Du halt drin. Pukkt.

von JoJetztMalHalblang (Gast)


Lesenswert?

Mit den Referenzwiderständen kannst Du Dir dann die Korrekturgerade für 
deine Messwerte berechnen.

von Dominik (Gast)


Lesenswert?

m.n. schrieb:
> Ich verstehe: wegen der vielen Eingangskanäle hoffst Du auf bessere
> Linearität.

Wow, da bin ich ja noch gar nicht drauf gekommen!

Die werden je zu viert in Serie geschaltet, macht 12bit.

Von diesen Serienschaltungen nimmt man ebenfalls 4 parallel.
Macht einen integralen Linearitätsfehler von 0,5 / 4  = 0,125 
Millisievert.

Einziges Manko, der 328p hat nur 6 externe Kanäle am DIL, daher braucht 
man leider 2,6 AVR´s. Vernetzt wird dies dann über I2C, fallen noch zwei 
Kanäle weg, also vier AVRs. Damit die nicht so viel Platz auf der 
Platine brauchen
könnte man die unterhalb von Pin 8 ja absägen, dann gehen die als DIL16 
durch. Der USART liegt ja glücklicherweise oberhalb, damit könnte man 
die Messdaten dann auch gleich noch übermitteln.

@Temp,
Lass dich nicht verunsichern, die Aufgabenstellung lässt sich bei 
geschickter Fühlerauswahl mit einem Atmega328, Serienwiderständen 
(Sollte Metallschicht, muss aber nicht unbedingt Präzision sein) und
ner überschaubaren Menge Quelltext schnell und ausreichend lösen.
"Kalibrieren" muss Du natürlich, da sowohl die Widerstände als auch die 
Fühler und der ADC Toleranzen haben, dies ist aber bei den Anforderungen 
überschaubar.

Wie willst Du die Daten loggen? Sollen die auf der Platine gespeichert
werden? Dann brauchst Du sicher noch externes EEPROM/SRAM, Microchip hat
da gute Sachen für SPI/I2C auch im DIL-Gehäuse.



Gruß Dominik

JoJetztMalHalblang schrieb:
> Würde einfach zwei definierte Widerstände mit auf die Platine
> packen und
> mitmessen(2 zusätzliche Kanäle).
>
> Das eliminiert nach Abgleich den Offset und den Verstärkungsfehler.


Ja, ist auch ne gute Möglichkeit, sofern man denn dann die Fühler in 
ausreichender Genauigkeit kauft (bei einem 20 Cent NTC liegt man 
erfahrungsgemäß schnell 2 Grad (absolut) daneben).

JoJetztMalHalblang schrieb:
> Nichtlinearitäten hast Du halt drin. Pukkt.
Exact!
Die Nichtlinearität liegt bei 0.5 und man beachte zudem die 3 Buchstaben 
dahinter ;-)

von JoJoJO (Gast)


Lesenswert?

Dominik schrieb:
> m.n. schrieb:
>> Ich verstehe: wegen der vielen Eingangskanäle hoffst Du auf bessere
>> Linearität.
>
> Wow, da bin ich ja noch gar nicht drauf gekommen!
>
> Die werden je zu viert in Serie geschaltet, macht 12bit.
>
> Von diesen Serienschaltungen nimmt man ebenfalls 4 parallel.
> Macht einen integralen Linearitätsfehler von 0,5 / 4  = 0,125
> Millisievert.

Ist mir jetzt nicht ganz klar. Kannst das mal kurz erklären?

von Dominik (Gast)


Lesenswert?

JoJoJO schrieb:
> Ist mir jetzt nicht ganz klar. Kannst das mal kurz erklären?

;-)

Ja, ist doch logisch, jeder ADC-Kanal hat seinen Wirk- und 
Entfaltungsbereich zwischen GND und ADCx.

Reihenschaltung:
ADC0-GND/ADC1-GND/ADC2-GND/ADC3-GND

(AREF ist hier als Klammermaß (REF.) zu verstehen, kann man beliebig
dazwischenpacken, stylisch sieht es an ADC3 aus, Mehrnutzen ergibt sich 
an VCC, s.u.)

Dann noch ADC0 und GND von AVR1 bis AVR4 verbinden.

Vorteil dieser Schaltung ist zudem: Sie zeigt zuverlässig, ohne weitere 
Komponenten, ein (pos.) Offset des ADC an, wenn man AREF mit VCC 
verbindet.

Gruß Dominik

von Michael B. (laberkopp)


Lesenswert?

Dominik schrieb:
> Lass dich nicht verunsichern, die Aufgabenstellung lässt sich bei
> geschickter Fühlerauswahl mit einem Atmega328, Serienwiderständen
> (Sollte Metallschicht, muss aber nicht unbedingt Präzision sein) und
> ner überschaubaren Menge Quelltext schnell und ausreichend lösen.

Hasst du überhaupt die Aufgabenstellung gelesen ?

Die Fühler sind ausgewählt, Pt1000, und er will auf 20m auf 1 GradC 
genau messen, nicht bloss auflösen. Da wird er Zuleitungskompensation 
über 3/4-Draht machen müssen. Ob nun mit genauen externen OpAmps und 
dann in die internen A/D eines ATmega oder 1 genaueren externen 
A/D-Wandler ohne weitere OpAmps, jedenfalls NICHT mit den internen A/D 
des ATMega und nur mit Serienwiderständen ohne OpAmps.

Verunsicher ihn also nicht.

von Dominik (Gast)


Lesenswert?

Michael B. schrieb:
> Die Fühler sind ausgewählt, Pt1000, und er will auf 20m auf 1 GradC
> genau messen, nicht bloss auflösen.

Dem stimme ich nicht zu, da:

Temp schrieb:
> Die PT1000 sind als 2Draht herausgeführt. Falls
> notwendig kann ich auch welche mit 3 oder 4 Leiter besorgen.

Damit sind die Fühler zwar spezifiziert, aber noch nicht angeschweißt.
Der TO bietet quasi schon an hier zu wechseln.
Sinn eines Informationsaustausches ist üblicherweise auch Alternativen 
aufzuzeigen. Ob es für diese Anwendung zwangsläufig PT1000 sein müssen?

Nur als kleine Erinnerung:
Dominik schrieb:
> Wenn der Sensortyp nicht in Stein gemeißelt ist...

Michael B. schrieb:
> Da wird er Zuleitungskompensation
> über 3/4-Draht machen müssen. Ob nun mit genauen externen OpAmps und
> dann in die internen A/D eines ATmega oder 1 genaueren externen
> A/D-Wandler ohne weitere OpAmps, jedenfalls NICHT mit den internen A/D
> des ATMega und nur mit Serienwiderständen ohne OpAmps.

Wenn Du die PT1000 als gesetzt nimmst sind das die Szenarien, die
ich versuchte für den Fragesteller zu umgehen.

Obwohl es ohnehin eigentlich jeder verstanden hat:
Ja, mit PT1000 und nur Serienwiderstand wird das am internen ADC so 
nicht klappen. Das habe ich auch nie behauptet.

Ein 20m Kabel an einem PT1000 für eine Messstelle mit max 90°?
Kann man machen, meist hat das dann aber mit explosionsgefährdeten
Bereichen zu tun.

Michael B. schrieb:
> Verunsicher ihn also nicht.
<kein Kommentar>

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.