Hallo in die Runde, ich möchte gern ein Prüfgerät bauen, womit ein verbauter Temperatursensor mit Stecksystem (Länge Kabel / Stecker am Gerät 2,5 m) geprüft werden soll. Der Temperatursensor ist über eine vier Leiter Messung angeschlossen und das Kabel am Gerät hat noch einen Schirm, welcher mit auf den Stecker gelegt ist. Am Stecker also fünf Kontakte. Die Temperaturmessung sollte 0,5-1° genau sein. Es ist ein PT 100 verbaut.
Welchen Controller würdet ihr wegen der Genauigkeit bevorzugen und wie würdet ihr die vier-Drahtmessung überprüfen?
Oder meintest du, dass du Temperaturen mit 0,5 bis 1 Grad Schritten messen willst?
Im welchem Temperaturbereich willst du das haben? Wie viel Strom veträgt dein Sensor, ohne sich zu sehr selbst zu erwärmen? Das hängt sehr von seiner Umgebung ab. Je mehr umso besser, weil man dann eine höhere Spannung erhält.
Jeder Mikrocontroller mit ADC schafft 10 Bit ohne großartige Klimmzüge. Jedes Bit darüber macht die Sache erheblich komplexer. Viele Mikrocontroller bieten 12 Bit, aber verrauscht. Noch mehr Bits erfordern nach meinem Kenntnisstand einen separaren ADC.
Also rechne erst mal durch, ob du mit 10 oder 12 Bit aus kommst.
Der Arduino Nano kann 10 Bit, aber nicht differentiell (genügt vielleicht trotzdem). Den ESP32 kannst du knicken, dessen ADC ist im Vergleich dazu nur ein grobes nicht lineares Schätzeisen.
Ich würde einen STM32G4 (oder den älteren STM32F3) empfehlen, denn deren 12 Bit ADC unterstützen den "differential mode" und sie enthalten auch Operationsverstärker, die du wahrscheinlich brauchen wirst.
Es gibt extra IC für PT100 mit digitalem Ausgang. Zum Beispiel
Viele Mikrocontroller bieten 12 Bit, aber verrauscht.
Bei einem Temperatursensor hast du alle Zeit der Welt, um mehrere
Messung zu machen und das Rauschen heraus zu filtern.
Wohl wahr, wobei auch beim 10 Bit AVR das LSB wackelt, das 'Problem' Rauschen ist eher unabhängig von der Bitbreite. Unbenommen dessen haben die ADC der ESP-Reihe einen schlechten Ruf. Eine gute Lösung wäre ein externer ADC, ADS1115 bekommt man recht günstig.
Ich denke mal, der OP hat ein ganz anderes Problem,
Hallo an alle und danke für die Rückmeldungen. Im ersten Schritt ging es auch darum „irgendwie zu messen“, ob die beiden Drähte an der jeweiligen Sensorseite „richtig“ sind.
Beide gemeinsame Sensor Leitungen mit Mini Relais in Reihe schalten und einen Pull down auf Masse ziehen? Wenn Ergebnis passt, dann richtig angeschlossen…
MessWiderstand mit Relais als Spannungsteiler schalten, Spannung messen und das für jeweils beide Pfade, wenn beide gleich, dann richtig angeschlossen…
Bessere? Andere Ideen ?
Genauigkeit ist nicht das a und o, eher der richtige Anschluss…
Spannungsteiler mit 5 Widerständen (5x 1kOhm) zwischen Vcc und Masse. Die vier Leitungen des Temperatursensors jeweils dazwischen anklemmen.
Die Spannungen (ADC-Werte) mit einem bekannt guten Exemplar aufnehmen, danach dagegen vergleichen.
In schneller: Analog-Kompatatoren des Controllers verwenden (aber ich vermute, da haben weder ESP noch ATmega ausreichend viele).
Ohne Controller: 4x Komparator, Referenzspannung jeweils über einfachen Widerstandsteiler oder Poti einstellen, Leds an die Ausgänge, fertig.
Welchen Controller würdet ihr wegen der Genauigkeit bevorzugen
Völlig egal. 4-Leiter Pt100 wertet nicht der Controller aus, sondern ein ADC, 2-kanalig, vergleicht mit temperaturstabilen 100.00 Ohm Widerstand, z.B. MCP3422
Das Entscheidungskriterium für den uC ist eher: WLAN (ESP32) oder stromsparend, welches Display, LED (SH79F3212) oder LCD (HT66F-3195), und was er sonst noch tun soll.
Nein, die üblichen ADC im uC (10 oder 12 bit) lösen die geringe 0.038% Widerstandsänderung nicht genau genug auf für 0.5 bis 1 GradC Anzeigegenauigkeit.
Zudem sind die 5V im Vergleich zur internen Referenzspannung von 1.1V zu instabil für die Messung.
Nein, die üblichen ADC im uC (10 oder 12 bit) lösen die geringe 0.038%
Widerstandsänderung nicht genau genug auf für 0.5 bis 1 GradC
Anzeigegenauigkeit.
Ja.
Zudem sind die 5V im Vergleich zur internen Referenzspannung von 1.1V zu
instabil für die Messung.
"Ratiometrische Messung" sagt Dir etwas? Solange ADC und externer Widerstand an der selben Spannung hängen, kompensieren sich Abweichungen.
Wenn Du stabil und im Rahmen genau messen willst, ist keiner der beiden uC ohne einen externen ADC geeignet. Der AVR hat zu wenig Auflösung und der ESP ADC ist gruselig verrauscht. Entweder einen externen ADC nehmen, dann ist der uC egal, nimm den, der Dir am besten dient mit dem was Du sonst noch so benötigst drum herum.
Wenn es möglichst kompakt und wenig Chips sein soll, dann nimm einen STM32.
Wenn das ein Produktions-Prüfgerät oder Service-Prüfgerät werden soll, dann geht es Dir primär nicht um den Temperaturwert, sondern um einen korrekten Aufbau und saubere Verarbeitung. Du möchtest also eher einen Prüfplan abarbeiten im Sinne von:
Feed + -> Feed - über NTC = korrekter Widerstandswert bei aktueller Temperatur
Sense + -> Sense - = möglichst identischer Wert zu 1)
Feed + -> Sense + = möglichst niedrig Widerstand
Feed - -> Sense - = möglichst niedrig Widerstand
Shield -> Sense + = möglichst hoher Widerstand (deckt wegen 3) Feed + ab)
Shield -> Sense - = möglichst hoher Widerstand (deckt wegen 4) Feed - ab)
Für 1) ist es wichtig einen Referenz-Sensor zu haben, der als Vergleich genommen werden kann oder eine für Euch richtige Kennlinie mit Toleranz abzuspeichern.
Der Vorteil eines uC ist, dann Du jeden Pin dieser 5 Anschlüsse wahlweise zwischen einem ADC Eingang, einem GPIO Low, einem GPIO High oder einem GPIO Input Floating schalten kannst.
Es macht aber eventuell Sinn, eine der Leitungen fest mit VRef des ADC zu beschalten und alle Spannungen gegen diese Leitung zu messen. Alternativ ist es bei einem STM32 auch möglich die bei einigen Typen vorhandenen OPAs und DAC Ausgänge zu verwenden. Der DAC hängt auch an VRef wie der ADC und nimmt das etwas unvorhersehbare Verhalten der rein digitalen GPIOs raus.
Alles in allem kann so daraus ein Messgerät werden, denke ich. Aber ich kann mich auch irren, daher alles ohne Gewähr.
"Ratiometrische Messung" sagt Dir etwas? Solange ADC und externer
Widerstand an der selben Spannung hängen, kompensieren sich Abweichungen
Bloss ist dummerweise die Auflösung des ADC schon zu gering, um bei 1.1/1024V ausreichend zu sein,
erst recht wird die Messung komplett ungenau wenn man nur 5/1024V hat, denn dann ist die Schrittgrösse 5 x so gross.
Und erst die 5V im Vergleich der 1.1V Referenz messen um dann die 1.1V zu nutzen während der 1k/Pt100 Spannungsteiler an 5V hängt wird ruiniert durch kurzfristige Schwankungen von VCC am 100nF Kondensator weil der uC je nach Programmbefehl unterschiedlich viel Strom zieht, also sein VCC dafür zu schnell schwankt.
Ich würde gern einen Nano nehmen. Eine stabile 5 V Referenz mit etwas Leistung ist da. Wie gesagt, wenn die Temperatur-/+ 1 Grad klappert ist das Rille.
Bei den vielen Vorschlägen fehlt mir ein Anfang / Ansatz von einem Schaltplan, wie das Verschalten werden soll.
Bei den vielen Vorschlägen fehlt mir ein Anfang / Ansatz von einem
Schaltplan, wie das Verschalten werden soll.
Google nach Bildern zum Thema "PT100 differential schematics"
Für ein Prüfgerät muss er eigentlich nicht differential messen. Man muss nur eine korrekt Verdrahtung sicherstellen und kann dann auch noch mal ein paar Temperaturwerte mit einem eingebauten Sensor vergleichen, ob es grob passt. Daher ja mein Vorschlag einfach einen Controller mit sehr flexibler IO Konfiguration zu nehmen, damit man die korrekte Verlötung von Kabeln mit PTC und Stecker sicherstellen kann. In meinen Augen geht es nur um Kurzschlüsse, Verwechslung und offene Kontakte.
Stellt sich die Frage, ob der TO sich dazu schon mal einen Plan gemacht hat:
Für ein Prüfgerät muss er eigentlich nicht differential messen. Man muss
nur eine korrekt Verdrahtung sicherstellen und kann dann auch noch mal
ein paar Temperaturwerte mit einem eingebauten Sensor vergleichen, ob es
grob passt. Daher ja mein Vorschlag einfach einen Controller mit sehr
flexibler IO Konfiguration zu nehmen, damit man die korrekte Verlötung
von Kabeln mit PTC und Stecker sicherstellen kann. In meinen Augen geht
es nur um Kurzschlüsse, Verwechslung und offene Kontakte.
Ox Alpha schlägt dir folgendes vor (alsGerüst, die einzelnen Schritte solltest du prüfen):
Verdrahtungsfehler-Erkennung an einem Pt100 (4-Leiter-Technik) mit Microcontroller
Grundprinzip
Bei der Vierdrahtmessung fließt ein Konstantstrom I ≈ 1 mA durch zwei Speiseleiter (+U, –U), und die Spannung wird über die zwei Messleiter (+M, –M) hochohmig erfasst. Verdrahtungsfehler erkennt man, indem man gezielt Stromkreise unterbricht und misst.
Schaltungsentwurf
1
+5V
2
│
3
┌┴┐
4
│R│ 10 kΩ Referenzwiderstand
5
└┬┘
6
├──────────► ADC0 (Vref-Messung)
7
│
8
┌────────────┤
9
│ │
10
┌────┴─────┐ │
11
MCU│ DAC/PWM │ │
12
│ + OpAmp │──────┼────► Konstantstromquelle I = 1 mA
13
└──────────┘ │
14
│
15
┌──────┴──────┐
16
│ Sensor │
17
│ Stecker │
18
│ 1: +U │◄── I
19
│ 2: +M │◄── ADC1 (+)
20
│ 3: -M │◄── ADC2 (–)
21
│ 4: -U │◄── Rückleitung
22
└─────────────┘
23
24
Zusätzlich:
25
- Pull-up-Widerstände (100 kΩ) von jeder Leitung zu +3,3 V
26
→ über GPIO abschaltbar oder über hochohmige Eingänge messbar
27
- Schutz: Serienwiderstände 1 kΩ + TVS/Schottky-Dioden an jedem Pin
Kernidee: Jede der vier Leitungen bekommt einen hochohmigen "Detektions"-Pfad zum MCU. Damit lassen sich Unterbrechungen und Vertauschungen lokalisieren.
Prüfschritte (Testsequenz im Programm)
Schritt 1: Durchgangsprüfung der Speiseleitungen
Stromquelle aktivieren (I = 1 mA)
Spannung zwischen +U und –U messen (ADC über Shunt oder Referenz)
Erwartung: U = I × R_PT100 ≈ 100–140 mV (0 °C bis ~100 °C)
Fehler:
U ≈ 0 → Kurzschluss oder +U/–U vertauscht mit Messleitern
U > Versorgung / Sättigung → Unterbrechung in ±U
Schritt 2: Messleitungsprüfung
Spannungsdifferenz +M/–M messen
Erwartung: |U_M| innerhalb ±10 % von U_Speisung (hochohmiger Eingang, kein Stromfluss → kein Leitungsabfall)
Abweichung > 10 %: Vertauschung von M- und U-Leitern (dann fließt Strom über M-Leitungen) oder Wackelkontakt
Schritt 3: Einzeltest aller vier Adern (Strom aus!)
Alle internen Quellen deaktivieren
Über die 100-kΩ-Pull-ups nacheinander jede Leitung auf High ziehen und den Pegel der anderen drei messen:
Isolierte, korrekt verdrahtete Sensoren zeigen keine Kopplung
Kurzschluss zwischen zwei Adern → beide Pegel identisch → Fehler lokalisiert
Offene Ader → Pull-up zieht auf Versorgungsspannung trotz angeschlossenem Sensor
Schritt 4: Vertauschungs-/Polaritätstest
Stromrichtung umkehren (±I):
Erwartung: U_M wechselt das Vorzeichen, Betrag gleich
Das Ergebnis von Cursor habe ich als PDF angehangen. Das ist wie bei Forenbeiträgen, aus der Menge an Material suchst du nun das für dich passende heraus und ignorierst hoffentlich offensichtlichen Murks.
Den Schirm musst du noch einbeziehen, hatte ich bei
'entwirf eine schaltung und prüfschritte, um mit einem Microcontroller Verdrahtungsfehler an einem Pt100-Sensor in Vierdrahttechnik zu finden' vergessen.