Hallo, ich würde gerne mal ein Thermometer an meinen uC anschliessen um daten zu speichern und oder auszugeben. Da ich einen at89s52 habe, besitze ich keinen AD wandler, an den ich z.B. einen linearen ntc o.Ä. anschliessen könnte um Temperaturen zu messen. Gibts es nicht eine kleine mini schaltung, die mir die Temperatur auf 7 bit ausgibt? Ich habe von Temperatur Modulen keinerlei Ahnung deshalb frage ich einfach mal. Dankeschön.
Hallo Oliver, es gibt digitale Sensoren, welche über I2C-Bus angeschlossen werden, oder auch die Maxim 1-Wire-Bus Sensoren. Sieh einmal in den Artikeln nach, da oder zumindest hier im Forum gibt es auch den Code dazu. Suche einmal nach DS1820, dies ist so ein 1-Wire Sensor. Die sind am einfachsten, da brauchst Du nur einen Widerstand und den Sensor und schon kannst Du messen. Grüße Hans-Josef
Das geht auch mit einem Comparator, der ggf. im uC eingebaut ist: Über nen temperaturabhängiges R ein C solange aufladen, bis der Comparator zuschlägt. Die benötigte Zeit hängt mit der Temperatur zusammen. Ist etwas frickelig, läßt sich auch noch verfeinern, aber brauchtr nix außer Comparator, PTC/NTC und C. Cheers Detlef
Es gibt auch Temperatursensoren die ihren Werte als Frequenz oder PWM Signal ausgeben. Sowas ist EIGENTLICH am einfachsten. Allerdings bekommt man solche Sensoren nicht so gut. Die Maxim 1-Wire-Bus Sensoren sind, wenn man es genau betrachtet, schon recht kompliziert in der Programmierung. Aber es gibt halt ne menge Beispiele. Der große Vorteil von denen ist auch das man mehrere an einem Pin Betreiben kann. Ansonsten würde ich dir die TSic Sensoren von ZMD empfehlen. Die sind von der Programmierung wesetlich einfacher.
>>Werte als Frequenz oder PWM Signal ausgeben.
Ach ja, schon fast vajessen: Mit PTC/NTC einen RC Generator bauen.
Extrem einfach, läßt sich digital multiplexen. Muß man aber in der
Regeln mit Software linerisieren.
Cheers
Detlef
Überlege Dir, welchen Wertebereich, welche Genauigkeit und welche Zeitverzögerung Du bei der Messung Du haben willst, danach wird der Sensor ausgewählt. Was Du misst (Luft, Festkörper, Flüssigkeit) wird die Auswahl auch beeinflusssen. Und zuletzt spielt der Abstand zwischen Sensor und Kontroller eine Rolle. Der DS1820 beispielsweise ist digital, aber sehr träge und im oberen Wertebeich (der bei 125 Grad endet) ungenau. Dafür ist er unter 85 Grad sehr genau. Für jeden Sensor findest Du eine Lösung, die ohne ADC auskommt - es ist dann ein weiteres IC erforderlich. Speziell für die komplizierte Auswertung von Thermoelementen und PT100/1000 gibt es ICs, die alles übernehmen. DS1820-Sensor: 1-Wire-Interface (1 IO-Leitung), genau unter 85 Grad, ungenauer zwischen 85-125 Grad (+- 2 Grad), sehr langsam (Sekunden bis Minuten), Messbereich endet bei 125 Grad. Robustes Signal = sehr lange Leitung möglich. Thermoelement: Auswertung mit MAX6675 (SPI-Interface = 3 IO-Leitungen), IC-Messbereich endet bei 1024 Grad, ungenau (ca 2 Grad Abweichung im gesamten Messbereich), sehr schnell reagierender Sensor im Zehntelsekunden-Bereich, empfindliches Signal = keine langen Leitungen möglich, direkte Messung in Wasser möglich. PT100/PT1000: Auswertung mit UTI (Periodenmoduliertes Signal = 1 IO-Leitung + Timer), genau, Messbereich der Sensoren endet oft bei ca 500 Grad, in der Dünnfilmausführung mit Messbereich bis ca 130 Grad schnell. Längere Leitungen möglich. KTY11-5: Auswertung mit externem ADC (je nach Interface mehrere IO-Leitungen), Messbereich endet bei 150 Grad, aufwändige Kalibrierung für gute Genauigkeit erforderlich, in der TO92-mini-Version mittelschnell (wenige Sekunden), längere Leitungen möglich. usw.
Für I2C Bausteine (z.B.DS1620, usw.) und für LM75, o. DS1820 kann man sogar komplette SW-Lösungen finden. (Bei DS1621 mit Löten u. Programmieren hat die ganze "Installation" bei mir damals bloss ca. 2-3 Stunden gedauert.) Karoly
Jo, ich werd mir erstmal ein paar datenblätter ziehen und mal lesen, was mir so gefällt.
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.