Tip zum Auslesen des DS1820-Temperatursensor

  • Thread starter Michael MĂźller
  • Start date
M

Michael MĂźller

Guest
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?
 
Hallo Michael,

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.
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.

Kann jemand ein ganz ganz kleines Beispiel für ein einfaches Auslesen
der Temperatur des DS1820 bereitstellen, aus dem man das Prinzip erkennt?
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
 
Michael Müller <michi072@gmx.de> wrote:
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?

Bei Maxim/Dallas gibt es Pseudocode, den sollte man in C umsetzen koenne,
wenn man das Rad neu erfinden will...
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
 
Michael Müller <michi072@gmx.de> wrote:
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?

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

http://www.maxim-ic.com/an_prodline2.cfm/prodline/21
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
 
Hallo Uwe,

Man kann die serielle Schnittstelle das Timing fuer das One-Wire Protokoll
erzeugen lassen. Dann ist es voellig timingunkritisch...
ok, schreiben könnte ich mir noch vorstellen, aber wie soll das lesen
funktionieren?
Meinst du RXD und TXD direkt verbunden?

Gruss
Michael
 
Michael Koch <astroelectronic@t-online.de> wrote:
Hallo Michael,

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.

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.
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
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
 
Michael Koch <astroelectronic@t-online.de> wrote:
Hallo Uwe,

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

ok, schreiben könnte ich mir noch vorstellen, aber wie soll das lesen
funktionieren?
Meinst du RXD und TXD direkt verbunden?
http://www.maxim-ic.com/appnotes.cfm/appnote_number/214

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
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
 
On Thu, 8 Sep 2005 17:32:42 +0200, "Michael Koch" <astroelectronic@t-online.de>
wrote:

Hallo Michael,

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.

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.

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 RS232<->1-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
nicht nur in dieser Newsgroup, sondern im ganzen Netz unbeliebt macht.
Lies "Wie zitiere ich im Usenet?": http://www.afaik.de/usenet/faq/zitieren/.
 

Welcome to EDABoard.com

Sponsor

Back
Top