www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ds18s20


Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Norbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Norbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus (Gast)
Datum:

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

Danke!!!

Gruß Markus

Autor: Norbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.