Hallo, Ich habe in einem großen Schaltnetzteil (Cisco WS-CAC 3000W) einen Temperatursensor (TMP36) befestigt, um die Temperatur eines Kühlkörpers mit einem Arduino Uno (bzw später nur Amega3328p) zu messen. Das Problem ist nur, dass in diesem netzteil natürlich einiges an Störungen verursacht wird, wodurch die gemessene Temperatur stark schwankt. Ich habe schon ein geschirmtes Kabel verwendet, was die Störungen aber nur abgeschwächt hat. .) Die Schirmung hört ca 1cm vor den Anschlüssen des TMP36 auf, besser wäre, wenn sie bis zum Sensor selbst gehen würde, richtig? .) Wie wichtig sind kurze Kabel? Gerade sind es noch ca. 30cm, kann ich aber später auf 10cm kürzen, wenn das ganze mal eingebaut ist. .) Was mache ich mit der Schirmung? Der Ausgang des netzteils ist potentialfrei und das soll auf so bleiben. Soll ich also die schirmung mit Masse des Ausgangs oder mit Erde verbinden? .) Was ist mit einem LC- oder RC Tiefpass oder auch nur einem parallelen Kondensator direkt vor dem Atmega? LG Julian
Direkt am Sensor einen Abblockkondensator für die Versorgung. Vor deinen ADC-Eingang einen Tiefpaß.
Julian D. schrieb: > Ich habe in einem großen Schaltnetzteil (Cisco WS-CAC 3000W) einen > Temperatursensor (TMP36) befestigt, um die Temperatur eines Kühlkörpers > mit einem Arduino Uno (bzw später nur Amega3328p) zu messen. Das Problem > ist nur, dass in diesem netzteil natürlich einiges an Störungen > verursacht wird, wodurch die gemessene Temperatur stark schwankt. Warum verwendest du in einer gestörten Umgebung ausgerechnet einen Sensor, der für Störungen besonders empfänglich ist? In einem Sensor mit integriertem Digitalinterface müsstest du das störempfindliche Analogsignal gar nicht erst über lange Kabel schicken. Probiere mal einen DS18B20
Danke, mache ich morgen. Und soll die Schirmung auf Masse oder Erde?
> Warum verwendest du in einer gestörten Umgebung ausgerechnet einen > Sensor, der für Störungen besonders empfänglich ist? Das ist der einzige Temperatursensor den ich zuhause habe und ich dachte mir dass er gut geeignet ist. > Probiere mal einen DS18B20 Ich denke da macht das Gehäuse Probleme. Ein großes rundes stahlröhrchen kann die Wärme vom kühlkörper bei weitem nicht so gut und schnell aufnehmen wie die flache Seite eines TO92-Sensors, besonders wenn das auch noch im luftstrom eines Lüfter sitzt.
Julian D. schrieb: > Ich denke da macht das Gehäuse Probleme. Ein großes rundes stahlröhrchen > kann die Wärme vom kühlkörper bei weitem nicht so gut und schnell > aufnehmen wie die flache Seite eines TO92-Sensors Genau deshalb wird der DS18B20 u.a. in einem TO92-Gehäuse verkauft https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf https://www.ebay.com/itm/392649133555
Hallo, Julian D. schrieb: > um die Temperatur eines Kühlkörpers > mit einem Arduino Uno (bzw später nur Amega3328p) zu messen. Das Problem > ist nur, dass in diesem netzteil natürlich einiges an Störungen > verursacht wird, wodurch die gemessene Temperatur stark schwankt Ich habe den Verdacht daß entweder der (Zwischen-)Kühlkörper den Du messen willst auf Drain Potential des Schalttransistors hängt oder die Leitungen starke Magnetfelder auffangen. Im ersteren Fall sind es elektrische Felder Der Sensor muß vollständig Geschirmt und der Schirm auf Gehäusepotential des Netzteils gelegt werden. Im zweiten Fall kannst Du nur die Leitungsverlegung beeinflussen. (Verdrillen, eng benachbart am Metall-Gehäuse verlegen). Julian D. schrieb: > Danke, mache ich morgen. Und soll die Schirmung auf Masse oder Erde? Erde ist nur Personenschutz vor gefährlichen Berührspannung. (Hat mit der Schaltungsfunktion nichts zu tun). Ein Schirm nach der reinen Lehre verbindet das Metallgehäuse um den Sensor (Netzteil?) mit dem Metallgehäuse der Auswerteschaltung (Arduino?). Die Leitungen Gnd, Signal, Versorgung sind dann in einem Faradayschen Käfig und brauchen keine (funktionale) Verbindung zum Gehäuse. Was ich befürchte: mit deiner zusätzlichen Leitung verringerst Du die erforderlichen Isolationsabstände zu spannungsführenden Teilen. - Ist der Kühlkörper den Du messen willst niederohmig geerdet? (Personenschutz) - Hast Du genügend Abstand zu stark stromdurchflossenen Leitungen (Drossel, Schalttransistor, Freilaufdiode, Snubber). - Wie sind die Leitungen verlegt? Gruß Anja
df2ds schrieb: > Den DS18B20 gibts auch im TO92-Gehäuse! Drei Mal darfst du raten, was in den "runden stahlröhrchen" drin ist ;-)
Dieses bei deiner Konstruktion zu erwartende Problem wurde meines Erachtens nach schon in deinem anderen Faden angesprochen: https://www.mikrocontroller.net/attachment/551769/20220328_105724.jpg Beitrag "Re: Temperatursensor mit sekundenkleber befestigen" Beitrag "Re: Temperatursensor mit sekundenkleber befestigen"
Wolfgang schrieb: > Genau deshalb wird der DS18B20 u.a. in einem TO92-Gehäuse verkauft > https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf > https://www.ebay.com/itm/392649133555 Das würde gehen. Wenn ich die Störungen bei dem TMP36 nicht wegkriege werde ich mir den kaufen und einen Monat warten (juhuu) Anja schrieb: > Ich habe den Verdacht daß entweder der (Zwischen-)Kühlkörper den Du > messen willst auf Drain Potential des Schalttransistors hängt oder die > Leitungen starke Magnetfelder auffangen. Letzteres ist wahrscheinlicher, da der kühlkörper potentialfrei ist (isolationspads). > Im ersteren Fall sind es elektrische Felder Der Sensor muß vollständig > Geschirmt und der Schirm auf Gehäusepotential des Netzteils gelegt > werden. > Im zweiten Fall kannst Du nur die Leitungsverlegung beeinflussen. > (Verdrillen, eng benachbart am Metall-Gehäuse verlegen). Mein jetziges Kabel ist zwar geschirmt aber nicht verdrillt. Anfangs habe ich ein verdrilltes ungeschirmtes verwendet und da waren die Störungen ein bisschen stärker. Vielleicht werden die durch magnetische UND elektrische Felder verursacht. > Was ich befürchte: > mit deiner zusätzlichen Leitung verringerst Du die erforderlichen > Isolationsabstände zu spannungsführenden Teilen. > > Ist der Kühlkörper den Du messen willst niederohmig geerdet? Nein, potentialfrei. > (Personenschutz) > Hast Du genügend Abstand zu stark stromdurchflossenen Leitungen > (Drossel, Schalttransistor, Freilaufdiode, Snubber). Darauf habe ich jetzt ehrlich gesagt nicht besonders geachtet, werde aber dann darauf schauen. 2aggressive schrieb: > Dieses bei deiner Konstruktion zu erwartende Problem wurde meines > Erachtens nach schon in deinem anderen Faden angesprochen: > https://www.mikrocontroller.net/attachment/551769/20220328_105724.jpg > Beitrag "Re: Temperatursensor mit sekundenkleber befestigen" > Beitrag "Re: Temperatursensor mit sekundenkleber befestigen" Da ging es um die Verfälschung der Messwerte durch den luftstrom, ist aber schon gelöst. Hier geht es um die Störungen.
Julian D. schrieb: > ... und einen Monat warten (juhuu) Wenn dich die (max.) Lieferzeit von diesem Anbieter stört, bestell den Sensor doch woanders. Den gibt es an fast jeder Straßenecke. Mouser hat noch mehr als 47000 im Lager und liefert dir sicher gerne einige davon - innerhalb weniger Tage.
... oder Digikey https://www.digikey.de/de/products/detail/analog-devices-inc-maxim-integrated/DS18B20-T-R/1197286 p.s. Mouser hat irgendwelche Probleme (47.703 Auf Bestellung ???)
Julian D. schrieb: > Da ging es um die Verfälschung der Messwerte durch den luftstrom, ist > aber schon gelöst. Ok. >Hier geht es um die Störungen. Wie sehen die denn aus? Hat dein TMP36 einen Lastwiderstand am seinem Ausgang, zB 100k gegen GND? Eine "Brechstangenlösung" (USING TMP35/TMP36/TMP37 SENSORS IN REMOTE LOCATIONS) findet sich im Datenblatt https://www.analog.com/media/en/technical-documentation/data-sheets/TMP35_36_37.pdf auf Seite15.
Wolfgang schrieb: > ... oder Digikey > https://www.digikey.de/de/products/detail/analog-devices-inc-maxim-integrated/DS18B20-T-R/1197286 > p.s. Mouser hat irgendwelche Probleme (47.703 Auf Bestellung ???) gerade gelesen: Standardlieferzeit des Herstellers: 78 Wochen; und Preise! 5,7€, Pollin sogar 7,x€ Die Dinger gab es "früher" für ca.2€
:
Bearbeitet durch User
Julian D. schrieb: > Nein, potentialfrei. Potentialfrei ist bei HF eine Illusion. Der Schalttransistor koppelt mit einigen pF den kompletten Spannungshub des Drains auf den Kühlkörper. Es gibt also einen kapazitiven Spannungsteiler zwischen der parasitären Koppelkapazität des FETs und der parasitären Koppelkapazität des Kühlkörpers zur Umgebung (Gehäuse). Gruß Anja
Nachdem mir bei dem Versuch, den schrumpfschlauch vom Temperatursensor zu lösen, die anschlussbeinchen abgebrochen sind, werde ich jetzt den DS18B20 kaufen. Das blöde ist nur, dass alle Angebote die ich bis jetzt gefunden habe, entweder über 10eur kosten oder eine ewig lange lieferzeit haben. Bei digikey bin ich mit 18eur Versand (AUT) bei 28eur...findet jemand einen Verkäufer der den billig und mit kurzer Lieferzeit verkauft? Oder gibt es ähnliche Temperatursensoren für den arduino? LG Julian
Verstehe das lieferproblem nicht. Einfach unter google schauen. Genügend Angebote ab 2 EUR
Segor und Barrybase liefern fuer 2.4Eur (Berrybase, to-92) oder 18B20 in Edelstahlrohr (segor, 5Eur). Gruesse Th.
Kalle S. schrieb: > Verstehe das lieferproblem nicht. > Einfach unter google schauen. Genügend Angebote ab 2 EUR Hoffentlich ist dann auch drin was drauf steht. Es gibt mehr ale einen Bericht, dass die nicht echt sind oder gar einfach Tranistoren umgelasert wurden. Im wesentlichen hatte ich Glück, aber auch schon Halbleiter vom Chinesen, die Fake oder nicht maßhaltig waren.
Thomas W. schrieb: > Segor und Barrybase liefern fuer 2.4Eur (Berrybase, to-92) oder 18B20 in > Edelstahlrohr (segor, 5Eur). Der von berrybase hört sich gut an. Ich habe da noch etwas interessantes gefunden. https://www.berrybase.de/sensoren-module/temperatur/bmp280-breakout-board-2in1-sensor-f-252-r-temperatur-und-luftdruck?c=98 Temperatur und luftdruck über I2C. Luftdruck brauche ich natürlich nicht, aber könnte ich den auch benutzen? Der wäre nämlich billiger zu kriegen. Das Gehäuse des bmp280 ist klein und aus metall, sollte also die Wärme gut aufnehmen können.
Hab's auch noch auf Amazon gefunden, gleich drei Stück ums selbe Geld (inkl. Versand). https://www.amazon.de/gp/product/B07FRW7YTK/ref=ox_sc_act_image_1?smid=A1X7QLRQH87QA3&th=1 Besteht da schon fake-gefahr? Wenn nicht werde ich den nehmen.
Julian D. schrieb: > https://www.amazon.de/gp/product/B07FRW7YTK/ref=ox_sc_act_image_1?smid=A1X7QLRQH87QA3&th=1 > > Besteht da schon fake-gefahr? Wenn Du sie zeitnah testen kannst, ist das Risiko überschaubar, dank Amazon. Auch zu den China-Boards mit BMPxxx gibt es kritische Kommentare, ich tue mich aber schwer, ob die wirklich schlecht oder die Käufer zu blöd sind. Wie wäre das eigentlich mit einem simplen NTC? Ich habe eine Anwendung gebaut, wo ich bei xx°C einen Lüfter einschalte, bei yy°C wieder aus bzw. bei zz°C die Notabschaltung veranlasse. Die Temperaturen zwischendurch interessieren mich nicht, sowas ist mit einem K-Fühler relativ einfach zu justieren.
Mit einem ntc habe ich wieder das störungsanfällige analoge Signal wie beim TMP36.
Julian D. schrieb: > Mit einem ntc habe ich wieder das störungsanfällige analoge Signal wie > beim TMP36. Das bezweifele ich, da dass Gebilde deutlich niederohmiger ist.
Na wenn das so ist...habe mir jetzt aus einem PC-Mainboard den NTC ausgebaut der die CPU-Temperatur misst. Er nennt sich 103BK0, ich finde aber kein DB. Darum habe ich ein paar kleine Messungen durchgeführt, mit einem (digitalen) Thermometer und dem NTC am multimeter in einem Topf mit Wasser, welches ich dann am Herd erwärmt habe: 12°C....16,9k 21°C....11,7k 41°C....5,6k 45°C....4,8k 56°C....3,4k 57°C....3,3k 100°C...1k Dann habe ich eine kennlinie aufgezeichnet, siehe Bild. Das ist nicht sonderlich genau, aber +-3°C kann ich verkraften. Jetzt stellt sich die Frage, ob ich mir die Mühe machen soll eine Formel für diesen graph zu ermitteln oder ob ich die Werte einfach in einem Array abspeichern soll. Ich denke letzteres wäre einfacher, da mich eh nur die Werte zwischen ca. 20 und 60°C interessieren. Das wären dann je 40 Werte für Temperatur und Widerstand. Dann würde ich gerne wissen, welchen Widerstand ich als "shunt" nehmen soll. Der ntc hat bei 25°C den nennwiderstand von 10kOhm, steckt anscheinend auch im Namen: 103bk0 - 103 = 10^3(Ohm). Soll ich einfach 10k als shunt nehmen? Oder weniger damit mehr Strom fließen kann und das ganze störungsunempfindlicher wird? Und noch was: soll ich die Spannung am ntc oder am shunt messen? Beim shunt werden wahrscheinlich auch weniger Störungen auftreten, wenn er beim arduino und nicht beim shunt sitzt, oder? LG Julian
Julian D. schrieb: > Dann würde ich gerne wissen, welchen Widerstand ich als "shunt" nehmen > soll. Scheint ein normaler 10k NTC zu sein. (B25/85 ca 3900) nicht Shunt sondern "pull up" Widerstand. Der Widerstand muß an die Referenzspannung des ADCs angeschlossen werden (ratiometrische Messung). Das kann auch die Versorgungsspannung des Prozessors sein wenn diese als Referenz verwendet wird. An den ADC-Eingang dann ein 100nF gegen (Analog-)Masse. Die beste linearität und Empfindlichkeit (Auflösung) ergibt sich wenn der Pull-up = geometrischer Mittelwert aus minimum und maximum des gewünschten Meßbereichs ist. Annahme 20 Grad = 12K5 und 60 Grad = 2K5 -> Pull up = sqrt(12K5*2K5) = 5K6. Bei 30 Grad Temperaturdifferenz habe ich üblicherweise 0.3 Grad Linearitätsabweichung. Bei 40 Grad dürften es etwa 0.5 Grad sein. Eine Lineare interpolation aus Spannung zu Temperatur (fallende Kennlinie) reicht also. Der NTC hat dann etwa 0.1 Grad Auflösung bei einem 10 Bit A/D-Wandler. (was etwa Faktor 5 besser ist als der TMP). Gruß Anja
Julian D. schrieb: > Jetzt stellt sich die Frage, ob ich mir die Mühe machen soll eine Formel > für diesen graph zu ermitteln oder ob ich die Werte einfach in einem > Array abspeichern soll. So viel Aufwand wäre das nicht. Einfach die Daten in eine Tabellenkalkulation eingeben und die Parameter B und R0 per Solver bestimmen. https://en.wikipedia.org/wiki/Thermistor#B_or_%CE%B2_parameter_equation Was sinnvoll ist, hängt davon ab, wie teuer die Implementation der Rechnung im Vergleich zur Tabelleninterpolation ist.
So, habe es jetzt endlich geschafft, mit einem Exponentialfunktion-rechner eine Formel zu ermitteln, die von der genauigkeit her in dem nötigen Bereich in Ordnung ist: t=87,31706*e^(-0,000125076*R) t...Temperatur R...Widerstand e...Konstante(2,71828...) mal schauen ob ich das ganze in den Arduino bekomme.
Julian D. schrieb: > So, habe es jetzt endlich geschafft, mit einem > Exponentialfunktion-rechner eine Formel zu ermitteln, die von der > genauigkeit her in dem nötigen Bereich in Ordnung ist: > t=87,31706*e^(-0,000125076*R) > t...Temperatur > R...Widerstand > e...Konstante(2,71828...) > mal schauen ob ich das ganze in den Arduino bekomme. Du hast ein paar Stützpunkte an einem warmen Topf Suppe ermittelt und du brauchst eine Genauigkeit von +/- 3°C. Wäre es nicht eine prima Idee erst einmal stabile und reproduzierbare Werte aus dem AD-Verdauungstrakt des Controllers zu extrahieren? PS. 98,15443421% aller Berechnungen schleppen unnötig viele Nachkommastellen mit sich herum.
Julian D. schrieb: > mal schauen ob ich das ganze in den Arduino bekomme. Wozu der Umweg über den Widerstand und die Exponentialfunktion. Dein ADC mißt das Spannungsverhältnis von Eingangsspannung zu Referenzspannung und keinen Widerstand. Auf der Spannungsebene ist das ganze über den kleinen Temperaturbereich relativ linear. Gruß Anja
Anja schrieb: > Auf der Spannungsebene ist das ganze über den kleinen Temperaturbereich > relativ linear. Verstehe ich dich falsch? Wenn man eine Gerade durch die Punkte 25°C/10k und 60°C/3k zieht, gibt es teilweise Abweichungen von über 5°C. Und jetzt habe ich diese Formel schon mal, also bringt es nichts wenn ich sie ändere. Hab den Sensor gerade verbaut und alles getestet - und es funktioniert!!! Die angezeigte Temperatur ändert sich nicht, nicht mal beim einschalten des netzteils, wo der Wert beim TMP sogar bis -10°C runtersprang. Danke an alle hier! LG Julian
Beitrag #7030857 wurde vom Autor gelöscht.
Julian D. schrieb: > Verstehe ich dich falsch? Offensichtlich. Rechne mal die Spannungen aus die sich bei den Temperaturen und 5K6 Pull-Up Widerstand einstellen. Gruß Anja
Julian D. schrieb: > Soll ich einfach > 10k als shunt nehmen? Oder weniger damit mehr Strom fließen kann und das > ganze störungsunempfindlicher wird? >> nicht Shunt sondern "pull up" Widerstand. Das ist Deine Rechenaufgabe: Der NTC und der Festwiderstand bilden einen Spannungsteiler. Trage die gemessenen sieben Werte plus einen Festwiderstand von 10k in eine Tabellenkalkulation und schaue Dir an, welche Spannungen sich dabei ergeben. Nun veränderst Du in der Tabelle den 10k auf andere Werte - dann wird erkennbar, welcher Wert zum gewünschten Meßbereich bzw. zum Bereich des A/D-Eingangs vom µC passt. Je nach Anforderung kannst Du das Teilerverhältnis so hinlegen, dass außerhalb eines Nutzfensters einfach nur Überläufe "kalt" oder "kritisch warm" gezeigt werden, dafür aber der interessierende Bereich eine bessere Auflösung bekommt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.