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: ......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
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
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.
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
Der µC sitzt ja normalerweise nicht da, wo der Sensor misst. Daher ist sein Temp.-bereich unkritisch.Zitat von Kampi
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.
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
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?Zitat von hardware.bas
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.
Vor den Erfolg haben die Götter den Schweiß gesetzt
Lesezeichen