Forum: Mikrocontroller und Digitale Elektronik ds18s20


von Markus (Gast)


Lesenswert?

Hallo,

ich habe 2 ds18s20 an einem 1-wire-bus. Funktioniert auch einwandfrei. 
Nur bei der Stromzufuhr zeigt er kurz erst 85°C an. Da ich damit ein 
Relay steuer, ist das ein wenig störend. Die Pumpe läuft für 'ne Sekunde 
und geht dann wieder aus. Gibt es eine Möglichkeit, diese "Start 85°C" 
zu unterdrücken?

Danke schonmal im Voraus.

Gruß Markus

von Norbert (Gast)


Lesenswert?

Dein Programm ändern :-)

Ne im Ernst, 85°C ist der Reset Wert des DS1820. Wenn du ihn 
einschaltest, musst du ja zunächst eine Messung starten, dann dauert es 
eine gewisse Zeit (je nach Auflösung bis zu 750ms) und erst dann kannst 
du den fertigen Temperaturwert auslesen. Wenn du jetzt den Sensor 
ausliest, bevor er mit der ersten Messung fertig ist, erhältst du den 
Reset Wert, deine 85°C. Du musst also dein programm dahingehend 
verändern, dass du am Anfang ersteinmal eine Messung anstösst und dann 
kurze Zeit wartest.

von Markus (Gast)


Lesenswert?

Hallo

so dass hört sich doch schon mal gut an. :-) Nur habe ich natürlich 
keine Ahnung wie ich das machen soll. Ich bin eigentlich schon zufrieden 
das ich das so hinbekommen habe. Gibt es irgendwo einen bsp-code in 
Bascom für das was Du meinst? Wenn ich Dich richtig verstanden habe soll 
ich nicht mit dem 1-wire reset anfangen???

Danke schon mal.

Gruß Markus

von Markus (Gast)


Lesenswert?

Nochmal ich. :-)

Ich hab mal schnell die routine kopiert.

Do
1wreset
1wwrite &H55
1wwrite Id1(1) , 8
1wwrite &H44

Waitms 300
1wreset
1wwrite &H55
1wwrite Id1(1) , 8
1wwrite &HBE
Ar1(1) = 1wread(9)
1wreset
Crcit....... usw.

von Norbert (Gast)


Lesenswert?

Mal abgesehen davon, dass ich mich mit Basic nicht auskenne ;-)

Ich gehe mal davon aus, dass das do zu einer Endlosschleife gehört, die 
du immer wieder durchläufst. Hast du den DS1820 in seiner 
Standardkonfiguration gelassen? Dann gibt er 12Bit Daten aus. Dafür 
braucht er allerdings 750ms. Als ersten Versuch würde ich daher einfach 
mal die Waitms 300 auf 800 erhöhen.

Meld dich dann einfach nochmal, ob es dann besser funktioniert oder 
nicht?

von Markus (Gast)


Lesenswert?

Hallo,

also der erste Sensor funktioniert jetzt wirklich so, wie es soll. (mit 
den 800ms) Aber dafür findet er den zweiten Sensor überhaupt nicht 
mehr!!!!???

Gruß Markus

von Markus (Gast)


Lesenswert?

Gut, hat sich erledigt! Beim nächsten mal Stromzufuhr war auch der 
zweite Sensor da. :-)

Danke!!!

Gruß Markus

von Norbert (Gast)


Lesenswert?

Sehr schön!

Dann wirf nochmal ein Blick in das Datenblatt des Sensors, dann weißt du 
auch, warum du 800ms warten musst. Fürs nächste Mal :-)

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
Noch kein Account? Hier anmelden.