PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Digitaler Temperatursensor an Atiny oder Atmega



hardware.bas
06.06.2010, 09:13
Für die Realisierung eines Projektes ist es mir bisher leider nicht gelungen,
eine befriedigende Lösung zu recherchieren. Ursprünglich auf Basis einer
C-Control-Micro, siehe mein Posting in der entsprechenden Rubrik, denke
ich, die Realisierung auf Basis eines Atmel-Controllers mittels BASCOM
wäre eventuell professioneller. Es geht um Folgendes:
Es soll eine Temperatur in 200m Kabelweg gemessen weden, genau und
ohne Kalibrierung (daher keine analogen, frequenzproportionalen oder PWM-
Sensoren). Temperatursensor soll ein "echter" digitaler (z.B. 1820, TSIC
oder Ähnlicher) sein. Dessen Messergebniss soll eine Variable im ATMEL
aktualisieren, welche in gewissen Abständen über ein eigenes Protokoll
(langsam) über das 200m-Kabel ausgelesen wird und einem Hauptrechner
zugeführt wird. Während die Realisierung der Variablenauslesung,
Übertragung und Zuführung zum Hauptrechner meinerseits kein Problem
darstellt, wäre ich über Vorschlage, mit welchen digitalen
Temperatursensoren inklusive der Einlesesoftware in eine Variable des
ATMEL das möglich wäre, sehr dankbar. Sollten andere
Programmiersprachen als BASCOM (was am besten wäre) notwendig sein,
müsste dieses Patch sich jedoch problemlos in BASCOM einbinden lassen.
Für diesbezügliche Hilfe danke ich im Vorraus. VG Micha
sich jedoc

for_ro
06.06.2010, 11:35
Du hast ja selber schon den DS1820 angesprochen. Genau den würde ich nehmen. Da reicht ein ganz kleiner AVR, 1 Pin für 1-wire und max 2 für den UART zum Hauptrechner.
Das 1-wire Protokoll ist komplett in Bascom integriert.

hardware.bas
07.06.2010, 04:40
for-ro: ......Vielen Dank für den Tip. Durch die nunmehrige Festlegung
auf den DS1820 konnte ich zusätzlich zu Deinem hilfreichen Tipp noch
einige weitere Lösungen mit dieser Kombination finden. Ich hoffe, in den
kommenden Tagen erfolgreiche Tests hinzubekommen. VG Micha

hardware.bas
20.06.2010, 09:32
Eine kurze Frage dazu habe ich noch:
Ist es unbedingt notwendig, einen Quarz für den Atmel einzusetzen?
Pro Fühlerbaugruppe, welche aus einem Atmel, Fühler und geringer
Elektronik in einem 18mm Rohr besteht, ist nur geringer Platz vorhanden.
VG Micha

Kampi
20.06.2010, 11:22
Nein ist es nicht. Du kannst auch den internen Oszilator nehmen. Allerdings ist der für Temperaturmessungen nicht ganz so geeignet, weil der wohl ziemlich Temperaturabhängig ist und sehr ungenau ist. Aber wenn du nichts Zeitkritisches im Programm hast wo es sehr taktgenau sein soll dürfte der Temperaturdrift von dem nicht schlimm sein.
Um den zu aktivieren musste nur das Fuse-Bit für den Oszillator auf intern setzen.

Und je nachdem ob du in den negativen Bereich messen willst oder nicht sollteste einen Controller für den erweiterten Temperaturbereich nehmen falls du das nicht schon getan hast.

hardware.bas
20.06.2010, 11:35
Genauigkeit ist wichtig! Die "genaue" Bitfolge soll ja vom DS1820 kommen.
Also ein A/D-Sampling ist nicht gefordert. Wichtig ist das korrekte Auslesen des Digitalwertes aus dem DS1820. Wäre das ok? VG Micha

for_ro
20.06.2010, 12:11
Allerdings ist der für Temperaturmessungen nicht ganz so geeignet, weil der wohl ziemlich Temperaturabhängig ist und sehr ungenau ist.
...
Und je nachdem ob du in den negativen Bereich messen willst oder nicht sollteste einen Controller für den erweiterten Temperaturbereich nehmen falls du das nicht schon getan hast.
Der µC sitzt ja normalerweise nicht da, wo der Sensor misst. Daher ist sein Temp.-bereich unkritisch.

Das Timing des 1w-Bus ist einigermaßen empfindlich, aber ich denke auch, dass der interne Osc. da konstant genug ist. Ich habe immer Quarze dran, wenn ich Temp. Messungen gemacht habe, daher kann ich dir keine Erfahrungen dazu sagen.
Du merkst das aber, wenn die CRC-Prüfung fehlschlägt. Die würde ich dir empfehlen.

hardware.bas
20.06.2010, 13:47
Ursprünglich sollte der Atmel tatsächlich dort sitzen, wo gemessen wird. Bei näherem Studium des 1wire-Busses (praktisch werd ichs noch probieren),
stell ich grad fest, dass Dieser bis 300m (lineare Topologie) funktionstüchtig ist. In diesem Falle kann ich natürlich mehr Aufwand (elektronisch und voluminös) treiben. Sollte dies klappen, wäre ein Quarz kein Problem, die Datenübertragung muss dann jedoch über ein 2-poliges Kabel mit ca. 10 Sensoren sicher klappen. Das Kabel ist ein Messkabel für geophysikalische Messsonden, extrem stabil, jedoch warscheinlich keine CAT5-Qualität. VG Micha

for_ro
20.06.2010, 20:18
... die Datenübertragung muss dann jedoch über ein 2-poliges Kabel mit ca. 10 Sensoren sicher klappen. Das Kabel ist ein Messkabel für geophysikalische Messsonden, extrem stabil, jedoch warscheinlich keine CAT5-Qualität.
Wenn das Kabel wirklich nur 2-adrig ist, müsstest du die Sensoren im Parasite-Modus betreiben. Bist du sicher, dass dann auch noch 300m gehen?

Vitis
21.06.2010, 07:27
für den DS1820 würde es wohl auch ohne Quarz gehen, aber für die Kommunikation mit dem Host-Rechner wär n exaktes Timing wegen der Baudrate schon wichtig. -> Baudratenquarz empfohlen.

hardware.bas
21.06.2010, 17:22
Quarzeinsatz und ein grösserer Atmel ist schon "gebongt", wenn ich
die einzelnen DS1820 (o.Ä.) ohne Zusatzelektronik in die Messstellen
setzen kann und Parasite-Modus ist, so glaube ich, innerhalb der
auftretenden Temperauren von 0 C bis 50 C kein Problem.
Ich weiss nicht, wie es mit der Störfestigkeit aussieht, da es jedoch
minimale Messintervalle von 1min/Anzahl Messstellen geben wird,
denke ich, man kann eventuell das 2 aus 3 Prinzip anwenden, falls es
Probleme geben sollte. VG Micha