Tip zum Auslesen des DS1820-Temperatursensor

Hallo,

Ich möchte ein Steuerung programmieren, welche unter anderen die Temperatur über einen Sensor DS1820 ermitteln soll. Der Sensor ist über RS232 mit dem PC verbunden. Im Internet gibt es einige fertige Software in C. Ich will aber gern die Auslesesoftware in Pascal in mein Komplettsystem umsetzen. Nach Studium der Datenblätter ist mir das Auslesen immer noch nicht ganz klar. Kann jemand ein ganz ganz kleines Beispiel für ein einfaches Auslesen der Temperatur des DS1820 bereitstellen, aus dem man das Prinzip erkennt?

Reply to
Michael Müller
Loading thread data ...

Bei Maxim/Dallas gibt es Pseudocode, den sollte man in C umsetzen koenne,

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
 Click to see the full signature
Reply to
Uwe Bonnes

Bei Maxim/Dallas gibt es Pseudocode, den sollte man in C umsetzen koenne, wenn man das Rad neu erfinden will...

formatting link

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
 Click to see the full signature
Reply to
Uwe Bonnes

Hallo Michael,

Das geht aber nur wenn auf dem PC keine Interrupts dazwischen funken. Also nix mit Windows. Das Timing am DS1820 muss auf ein paar Mikrosekunden genau sein.

Es gibt einige Apllikationsschriften dazu auf der Dallas Webseite. Nicht nur nach DS1820 suchen, sondern auch nach 1-wire. Leider sind nicht alle AppNotes fehlerfrei, insbesonder die AppNote162 enthält übelste Fehler (zumindest war es noch vor 8 Wochen so):

-- Die Delay-Routine ist natürlich stark compiler-abhängig und muss unbedingt überprüft werden.

-- Seite 11: Die Zeile delay(5) MUSS ersetzt werden durch for( ;read_bit() == 0 ; );

Gruss Michael

Reply to
Michael Koch

Man kann die serielle Schnittstelle das Timing fuer das One-Wire Protokoll erzeugen lassen. Dann ist es voellig timingunkritisch...

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
 Click to see the full signature
Reply to
Uwe Bonnes

Hallo Uwe,

ok, schreiben könnte ich mir noch vorstellen, aber wie soll das lesen funktionieren? Meinst du RXD und TXD direkt verbunden?

Gruss Michael

Reply to
Michael Koch

formatting link

Wenn man die +-/12 Volt Signale der PC Schnittstelle hat, braucht man noch einen MAX232 o.ae., um auf die 5 Volt fuer die OWI (One-Wire-Interface) Bausteine zu kommen, oder eine anderer trickreiche Schaltung.

Am Mikrokontroller hat man TXD und RXD mit 5 Volt Pegeln. Laeuft bei mir hier mit einem ATmega und avr-gcc.

Tschuess

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
 Click to see the full signature
Reply to
Uwe Bonnes

Das stimmt ganz sicher nicht, es gibt SW die unter Windows läuft, z.B. pointsix opc, die spricht fast alle 1-Wire Chips an, das Timing für die Chips wird dabei vom RS2321-Wire Wandler(von Maxim) erzeugt.

Ernst

--
Was ist TOFU? Wieso finden die anderen meine Artikel schwer zu lesen?
TOFU steht für "Text Oben, Fullquote Unten". Das ist eine Unart, die einen
 Click to see the full signature
Reply to
Ernst Keller

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.