Forum: Mikrocontroller und Digitale Elektronik Mcp3551 PT1000 Schaltung


von Dennis M. (4source)


Angehängte Dateien:

Lesenswert?

Hallo,
Habe in diesem Post:
Beitrag "22bit ADC MCP3551 liefert halbes Ergebnis"

Die schaltung im Anhang gefunden und wollte wissen ob anstatt eines 
TC2014 ein LP2980 sinnvoll ist oder hat vielleicht jemand einen anderen 
Vorschlag für einen low drop Regulator. Sollte bei Conrad oder reichelt 
verfügbar sein.

Schonmal vielen Dank.

Dennis

von Markus (Gast)


Lesenswert?

Beide werden mindestens für Rauschwerte kritisch.
Du hast 22-bit Sigma-Delta ADC und mit Vcc kann es leiden.

von MiWi (Gast)


Lesenswert?

Dennis M. schrieb:
> Hallo,
> Habe in diesem Post:
> Beitrag "22bit ADC MCP3551 liefert halbes Ergebnis"
>
> Die schaltung im Anhang gefunden und wollte wissen ob anstatt eines
> TC2014 ein LP2980 sinnvoll ist oder hat vielleicht jemand einen anderen
> Vorschlag für einen low drop Regulator. Sollte bei Conrad oder reichelt
> verfügbar sein.
>
> Schonmal vielen Dank.
>
> Dennis

Da PT100x kein extrem dynamischer Sensor ist kannst Du in SW eine 
gleitende Mittelwertbildung machen und dann ist`s relativ egal solage 
die Versorgung über einen Messzyklus halbwegs sauber ist - Daher 
ausreichend C an den ADC.

Wenn Du den Sensor steckbar machst ESD-Schutz nicht vergesssen, sonst 
brezelt es Dir zu unzeiten den ADC auf.

von Georg (Gast)


Lesenswert?

Markus schrieb:
> Du hast 22-bit Sigma-Delta ADC

Wozu das denn? Um die Auflösung sinnvoll zu machen müsste der Sensor auf 
1 Millionstel Grad kalibriert sein. Klar, die harten Bastler hier machen 
das mit kochendem Wasser und Eiswürfeln aus dem Kühlschrank.

Georg

von Klaus R. (klara)


Lesenswert?

Dennis M. schrieb:
> Die schaltung im Anhang gefunden und wollte wissen

Gibt es einen besonderen Grund mit einem PT1000 die Temperatur zu 
ermitteln? Wenn ja, dann sollte man zumindest ratiometrisch messen, 
sonst wird es aufwändig.
Ich verwende seit über einem Jahr den MCP9808. Ich nehme allerdings ein 
Breakout des MCP9808. Zur Ansteuerung genügt ein D1Mini für 4,50€. Dazu 
benötigst Du nur noch die Arduino IDE, kostenlos. Ebenfalls kostenlos 
ist die Software zur Ansteuerung des MCP9808. Es gibt da einen 
reichlichen Fundus.

https://www.reichelt.de/at/de/d1-mini-esp8266-v2-0-d1-mini-p253978.html?&trstct=pos_0&nbc=1

https://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf
https://www.reichelt.de/at/de/temperatursensor-msop-8-mcp-9808-ems-p137341.html?search=mcp9808&&r=1

http://www.esp8266learning.com/wemos-mcp9808-digital-temperature-sensor-example.php

mfg klaus

von m.n. (Gast)


Angehängte Dateien:

Lesenswert?

Georg schrieb:
> ... mit kochendem Wasser und Eiswürfeln aus dem Kühlschrank.

Kochendes Wasser aus dem Kühlschrank? Hast Du eine Typenbezeichnung?

Wenn Du nicht auf mK auflösen mußt, reicht vielleicht auch eine einfache 
Schaltung: Beitrag "PT1000, einfache Auswertung mit AVR (ATmega328)"

Höhere Auflösung erhält man mit einem zusätzlichen OPV oder einem µC mit 
>= 12 Bit ADC. Siehe Anhang.

von Klaus R. (klara)


Lesenswert?

m.n. schrieb:
> Höhere Auflösung erhält man mit einem zusätzlichen OPV oder einem µC mit
>>= 12 Bit ADC. Siehe Anhang.

Ich hatte mit meinen PT1000 das gleiche Problem. Zum Abgleich hatte ich 
mir einen Messwandler für ca. 35€ gekauft, der zusammen mit einem eng 
tolerierten PT1000 für ca. 6€, Abweichungen im Bereich +/-0,2°C messen 
konnte. Das war aber wiederum auch nur relativ. Denn meine Referenz 
hatte ansich ja auch eine Toleranz.

Der MCP9808 hat eine typische Abweichung von +/-0,25°C. Das ist absolut, 
nicht relativ von irgendetwas.

Vor über 10 Jahren hatte ich neben den PT1000 den DS1631 eingesetzt. Der 
kostete damals bis zu 5€ und war ungenauer. Die damalige Steuersoftware 
konnte ich zudem nicht auf einen D1Mini portieren. Das hätte Wochen 
gedauert.

 https://datasheets.maximintegrated.com/en/ds/DS1631-DS1731.pdf

Da ich zügig zum Ziel kommen wollte habe ich einfach auf Arduino IDE und 
D1Mini umgeschwenkt. Es ist einfach zu verführerisch. Man muß so gut wie 
nichts selber programmieren. Die Lösung ist billiger, genauer und bietet 
noch weitere featchers wie WLAN.
mfg Klaus

von John (Gast)


Lesenswert?


von m.n. (Gast)


Lesenswert?

Klaus R. schrieb:
> Der MCP9808 hat eine typische Abweichung von +/-0,25°C. Das ist absolut,
> nicht relativ von irgendetwas.

Und wie messe ich damit die Temperatur meines Lötkolbens?
Die Geschmäcker sind verschieden. WLAN zum Beispiel brauche ich 
überhaupt nicht.

von Uwe B. (uwebre)


Lesenswert?

Dennis M. schrieb:

> Die schaltung im Anhang gefunden und wollte wissen ob anstatt eines
> TC2014 ein LP2980 sinnvoll ist oder hat vielleicht jemand einen anderen
> Vorschlag

Ja. Lass den Regler weg, wird wegen der ratiometrischen Messung nicht 
benötigt. Vref direkt auf VCC legen.

Uwe

von Klaus R. (klara)


Lesenswert?

m.n. schrieb:
> Und wie messe ich damit die Temperatur meines Lötkolbens?
> Die Geschmäcker sind verschieden.

Ich hatte ja auch anfangs danach gefragt warum er mit einem PT1000 
messen möchte. Es gibt einige gute Gründe die dafür sprechen. Nur ist 
der Aufwand dann immer höher als über I2C zu messen.

Den Lötkolben würde ich mit einem Thermoelement messen.
mfg klaus

von Dennis M. (4source)



Lesenswert?

Schon mal vielen Dank für die ganzen Antworten.

> die Versorgung über einen Messzyklus halbwegs sauber ist - Daher
> ausreichend C an den ADC.

Woher weiß ich das ich ausreichend C, gehe ich mal von aus das 
Kondensatoren gemeint sind, habe welche größe/n sollte ich da wählen 
oder wo gibt es Informationen darüber wie ich diese wählen sollte?

Klaus R. schrieb:
> Gibt es einen besonderen Grund mit einem PT1000 die Temperatur zu
> ermitteln?

Ja denn gibt es und zwar brauche ich einen Temperatur Bereich von 
0-600°C und als PT1000 hab ich einen gefunden der diesen Bereich hat und 
relativ preiswert ist. Der MCP9808 scheint mir für diesen Temperatur 
Bereich auch nicht das richtige zu sein (oder täusche ich mich da).

m.n. schrieb:
> Wenn Du nicht auf mK auflösen mußt, reicht vielleicht auch eine einfache
> Schaltung: Beitrag "PT1000, einfache Auswertung mit AVR (ATmega328)"

Sieht mir nach ziemlich der gleichen schaltung aus nur direkt an einem 
ATmega328 angeschlossen über dessen ADC hab ich viel schlechtes gelesen.

Klaus R. schrieb:
> D1Mini umgeschwenkt

Ich arbeite mit einem ATMEGA328 Chip der hat auch noch andere Aufgaben 
zu erledigen und Platz ist auch nicht viel da deshalb ein Wechsel des 
Systems nicht mehr wirklich in Frage kommt.

John schrieb:
> Von Microchip gibt es eine AN für MCP3551 mit PT100:
> https://ww1.microchip.com/downloads/en/AppNotes/00001154B.pdf

Dieses Datenblatt hab ich bearbeitet und eine schaltung entworfen die 
der im Bild fast identisch war nur das mir der richtige Spannungsregler 
gefehlt hat. Deshalb die Frage hier nach dem spannungsregler.

John schrieb:
> Und dazu noch ein Referenz Board:
> https://www.microchip.com/developmenttools/ProductDetails/TMPSNSRD-RTD2

Das sieht interessant aus hat jemand Erfahrung mit diesem Board oder mit 
dem Spannungsregler der darauf verbaut ist MCP1702T-25

Uwe B. schrieb:
> Ja. Lass den Regler weg, wird wegen der ratiometrischen Messung nicht
> benötigt. Vref direkt auf VCC legen.

Das ganze Gerät wird nachher Batterie betrieben sein. Also ein 
spannungsregler wird aufjedenfall vorhanden sein außerdem könnten 
größere Spannungsschwankungen auftreten da auch ein heizelement 
betrieben werden soll. Wäre es dann nicht sinnvoll einen 2. 
Spannungsregler ein zu bauen der nur für die Vref zuständig ist und der 
unter last nur einen geringen Spannungs Verlust hat?

von Uwe B. (uwebre)


Lesenswert?

Dennis M. schrieb:

> Das ganze Gerät wird nachher Batterie betrieben sein. Also ein
> spannungsregler wird aufjedenfall vorhanden sein außerdem könnten
> größere Spannungsschwankungen auftreten da auch ein heizelement
> betrieben werden soll.

Das Heizelement wird ja wohl nicht an der Versorgung des Controllers und 
des MCP3551 hängen.
Wegen der ratiometrischen Messung ist die Spannung weitgehend egal, ein 
kleiner Filter (LC) kann natürlich nicht schaden.

Temperaturen kann man schön lange mitteln, das entspannt zusätzlich.

Du solltest für den Temperaturbereich evtl. über ein Thermolelment 
nachdenken.

Uwe

: Bearbeitet durch User
von Dennis M. (4source)


Lesenswert?

Uwe B. schrieb:
> Das Heizelement wird ja wohl nicht an der Versorgung des Controllers und
> des MCP3551 hängen.

Nein das natürlich nicht.

Uwe B. schrieb:
> Du solltest für den Temperaturbereich evtl. über ein Thermolelment
> nachdenken.

Diese sind halt nicht gerade preiswert und auch nicht besonders leicht 
die in kleiner Baugröße zu finden

von m.n. (Gast)


Lesenswert?

Dennis M. schrieb:
> direkt an einem
> ATmega328 angeschlossen über dessen ADC hab ich viel schlechtes gelesen.

µC selber sollen ja alle des Teufels sein, habe ich zumindest so 
gelesen.

Es wäre vielleicht hilfreich, wenn Du beschreiben würdest, welchen 
Temeraturbereich, mit welcher Auflösung und welcher Genauigkeit Du 
messen möchtest.
Der Spannungsregler ist bestimmt nicht Dein Problem; der ADC des 
ATmega328 wohl auch nicht.

von Uwe B. (uwebre)


Lesenswert?

m.n. schrieb:
> Der Spannungsregler ist bestimmt nicht Dein Problem; der ADC des
> ATmega328 wohl auch nicht.

Nee, der ADC nicht. Jedenfalls wenn er eine externe, genaue, 
Referensspannungsquelle nutzt. Bleibt die Auflösung von 10 Bit. Dennis 
muß ja auch noch die Kennlinie linearisieren.
Der benötigte Verstärker braucht viele Bauteile, muß ggf. abgeglichen 
werden.

Der MCP3551 ist genau für diesen Anwendungsfall gemacht. Gute Auflösung 
und Linearität, braucht kaum Strom und nur einen Widerstand um sich 
herum.
Warum soll Dennis sich das Leben schwerer machen als erforderlich und 
dabei noch ein fragwürdiges Ergebnis erzielen?

Uwe

von Klaus R. (klara)


Lesenswert?

Dennis M. schrieb:
> Klaus R. schrieb:
>> Gibt es einen besonderen Grund mit einem PT1000 die Temperatur zu
>> ermitteln?
>
> Ja denn gibt es und zwar brauche ich einen Temperatur Bereich von
> 0-600°C und als PT1000 hab ich einen gefunden der diesen Bereich hat und
> relativ preiswert ist. Der MCP9808 scheint mir für diesen Temperatur
> Bereich auch nicht das richtige zu sein (oder täusche ich mich da).

Ja. Man sollte solch wichtige Angaben wie den Temperaturbereich sofort 
anfangs erwähnen. Dann sehen die Anforderungen oft ganz anders aus.

Es gibt sogar eine namhafte deutsche Firma die Platinsensoren herstellt.

https://www.heraeus.com/de/hne/sensor_products/product_overview_hne/sensors.html

Schau mal auf den Link. Dort kannst Du die Sensoren nach dem 
Temperaturbereich auswählen. Je nach Anspruch auf Genauigkeit ist auch 
die Toleranzklasse wichtig. Zumindest weißt Du dann warum einigen 
Sensoren eben billiger sind.

Die Technischen Informationen von Heraeus sind gut aufbereitet und sehr 
lesenswert. Stöbere sie mal durch.

https://www.heraeus.com/de/hne/technical_information/technical_information.html

Also 600 °C zu messen ist schon etwas.
Viel Spass.
mfg Klaus

von Dennis M. (4source)


Lesenswert?

m.n. schrieb:
> Es wäre vielleicht hilfreich, wenn Du beschreiben würdest, welchen
> Temeraturbereich, mit welcher Auflösung und welcher Genauigkeit Du
> messen möchtest.

Temperatur Messbereich: 0-600°C
Temperatur Meiste Zeit: vermutlich 300-500°C
Messgenauigkeit: +/-1°K ausreichend mehr schadet nicht
Auflösung: hätte ich die 22bit die der MCP3551 (glaub) wirklich nutzbar 
hat genommen

Werde jetzt erstmal das mit einem einfachen Spannungsteiler wie Uwe 
meinte erstmal Versuchen.

Wie groß sollte ich die Vref Spannung wählen?

: Bearbeitet durch User
von Uwe B. (uwebre)


Lesenswert?

Dennis M. schrieb:

> Wie groß sollte ich die Vref Spannung wählen?

Vref = Vcc

Figure 2 in der AN 1154

https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en534808

Uwe

von Dennis M. (4source)


Lesenswert?

Ok alles klar vielen Dank erstmal. Teste es dieses Wochenende mal.

von Markus (Gast)


Lesenswert?

Ich hatte eine Referenz-Schaltung von AD7124 benutzt, mein PT1000 
Projekt zu verwirklichen (Heizkessel).
Die Isolation brauchte ich nicht, einfach nicht implementiert.

Das Power kam von einem einfachen (aber guten) LDO und Pi-Filter.

https://www.analog.com/en/design-center/reference-designs/circuits-from-the-lab/CN0382.html#rd-functionbenefits

von W.S. (Gast)


Lesenswert?

Dennis M. schrieb:
> Die schaltung im Anhang gefunden und wollte wissen ob anstatt eines
> TC2014 ein LP2980 sinnvoll ist oder hat vielleicht jemand einen anderen
> Vorschlag für einen low drop Regulator.

Im Grunde brauchst du den Spannungsregler nicht. Überhaupt nicht. 
Schließe Vref über einen (Angst-)RC-Tiefpass an Vcc an und dimensioniere 
den Vorwiderstand (=Referenzwiderstand) zwischen Vref und E+ so, daß der 
PT1000 nicht überlastet wird. Damit machst du dann deine ratiometrische 
Widerstandsmessung.

Bedenke dabei, daß die Spannung über dem Referenzwiderstand gleich dem 
Bereichsendwert minus der gemessenen Spannung ist.

Ich würde dir allerdings eher zu einem PT100 raten, denn der MCP3551 ist 
an seinen Eingängen E+ und E- nicht sonderlich hochohmig - und das 
verfälscht das Meßergebnis spürbar bei zu hochohmigem Sensor.

W.S.

von Dennis M. (4source)


Lesenswert?

W.S. schrieb:
> Bedenke dabei, daß die Spannung über dem Referenzwiderstand gleich dem
> Bereichsendwert minus der gemessenen Spannung ist.

Was meinst du mit Bereichsendwert?

W.S. schrieb:
> Ich würde dir allerdings eher zu einem PT100 raten, denn der MCP3551 ist
> an seinen Eingängen E+ und E- nicht sonderlich hochohmig - und das
> verfälscht das Meßergebnis spürbar bei zu hochohmigem Sensor.

Kann ich dem nicht abhelfen wenn beispielsweise an denn 3 Eingängen 
(Vref, Vin-, Vin+) einen Widerstand Vorschalte oder funktioniert das 
nicht?

von Dennis M. (4source)


Lesenswert?

Hat soweit alles funktioniert mit dem vorgeschlagenem Spannungsteiler.

Habe aber gerade festgestellt das ich garkeinen PT1000 habe sondern es 
ist ein PT100. :D

Wenn mir das früher aufgefallen wäre hätte ich mir viele Nerven 
gespart...

von W.S. (Gast)


Lesenswert?

Dennis M. schrieb:
> Was meinst du mit Bereichsendwert?

Uref = Uvorwiderstand + Usensor
AlleBitsDesAdcHigh + 1 = WertVomVorwiderstand + WertVomSensor

Wenn bei einem 10 Bit ADC also der Wert des Sensors zu 100 gemessen 
wurde, ist dann der Wert für die Spannung über den Vorwiderstand 
1024-100, also 924. Ist jetzt alles klaro?

W.S.

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.