1W und DS18S20

OP #2845731
Hallo Leute!

Ich weiß, es gibt 1000 Anleitungen und Beiträge zu diesem Thema. Aber 
ich weiß vor lauter Input nicht mehr wo mir der Kopf steht, deshalb 
finde ich den Fehler nicht.

Ich möchte ganz einfach einen DS18S20 auslesen und die Temperatur auf 
einem Display ausgeben. Ich bekomme im Display leider immer nur die 
Ausgabe "FF".

Der Bascomcode s. Anhang.

Danke schon mal!
Angehängte Dateien:
OP #2846180
Hallo Frank!

Hab die Zeiten eben mal auf 800 gesetzt.
Leider immer noch keine Funktion.
Ich weiß nicht was ich da falsch machen.

Hab eben noch n Programm probiert wo ich leider nur noch die .hex Datei 
von hab. Das funktioniert. Hier werden sogar mehrere Sensoren Adresse 
ausgelesen und dann die Temperaturen angezeigt.

Das brauch ich ja hier nicht einmal. Ich möchte nur einen einzigen 
Sensor auslesen.

Mfg

Christian
#2846208
Hallo Christian,

ich habe gerade keinen Aufbau da, aber in meinen funktionierenden Quelle 
wird nur 1x 1wreset ausgeführt, nimm mal vorsichtig das 2. weg.
Wenn das auch nicht funktioniert mussich mal schnellwas aufbauen ...


MfG Frank_S
OP #2846216
Hallo Frank!

Macht leider keinen Unterschied. Aber so wie ich das kenne muss man doch 
jedes mal wenn man ne neue Funktion auf dem Bus ausführt den vorher 
reseten.

Wenn es für dich kein zu großer Aufwand ist, eine Testschaltung 
aufzubauen, wäre das toll von dir.

Mfg

Christian
Gast #2846229
HAst Du einen Pullup-Widerstand (4,7k)?

Setz mal Stackwerte:

$hwstack = 32        ' default use 32 for the hardware stack

$swstack = 10         'default use 10 for the SW stack

$framesize = 40          'default use 40 for the frame space
#2846251
Hallo,

im Anhang befinden sich die entsprechenden Codes die ich 
verwende/verwendet habe um die Sensoren auszulesen.... beim ID auslesen 
hab ich einfach Spannungsversorgung per Krokoklemmen und den Sensor an 
den uC-Pin (hat geklappt :D) ... und beim auslesen der Temperaturen 
hängen aktuell die 7 Sensoren an einem Netzwerk (Stern/Reihe gemischt um 
Umkreis von 20m mit ISDN-Kabel (war noch da :D) ... verwende aber 
aufgrund der doch recht hohen Kapazität durch die vielen Kabel einen 2k 
Pull-Up...

Viel Spaß und Erfolg!
Angehängte Dateien:
OP #2846254
Hallo!

Also, wenn der Quelltext funktioniert, ist das ja schon mal schön.

Ich habe Pin 1 an GND, Pin 2 an c5, Pin 3 an +5V und ein Widerstand 4,7k 
zwischen Pin 2 c5 und +5V. Hab auch schon ohne Widerstand versucht oder 
mal mit 10k.

Ich werd mal noch schnell die Angaben von Stefan in den Kopf des 
Quelltexts einfügen.

Mfg

Christian
OP #2846279
Hallo *.*!

Hab jetzt mal alles auf nem anderen Klemmbrett mit anderen Kabeln 
aufgebaut. Außerdem hab ich mal nen anderen Code in die "do loop" 
Schleife eingefügt.

Do
 1wreset
 1wwrite &HCC
 1wwrite &H44
 1wreset
 1wwrite &HCC
 1wwrite &HBE
 Ar(1) = 1wread(2)

 Waitms 500
 Locate 1 , 1
 Lcd Hex(ar(2)) ; Hex(ar(1))
 Locate 2 , 1
 Shift Ar(1) , Right , 1
 Lcd Ar(1)
Loop

End

Leider ohne Erfolg.

Die Ausgabe im Display :

Zeile 1 FFFF
Zeile 2 127

Schulterzucken.

Mfg

Christian
#2846321
Christian Betzen schrieb:
> Hallo *.*!
>
> Hab jetzt mal alles auf nem anderen Klemmbrett mit anderen Kabeln
> aufgebaut. Außerdem hab ich mal nen anderen Code in die "do loop"
> Schleife eingefügt.
>
> Do
>  1wreset
>  1wwrite &HCC
>  1wwrite &H44
>  1wreset
>  1wwrite &HCC
>  1wwrite &HBE
>  Ar(1) = 1wread(2)
>
>  Waitms 500

> Leider ohne Erfolg.
die Pause muss zwischen "ConvertC -0x44" und "ReadScratchpad -0xBE"
Vor der Ausgabe ist das Nutzlos. UND es sind immer noch weniger als 
750ms!

Sascha
OP #2846327
Hallo *.*!

Also, ich habe mir eben mal schnell zwei neue DS18S20 bestellt. Weil ich 
mir nicht mehr ganz sicher war, ob nicht zwischenzeitlich die Dinger 
abgeraucht sind.

Ich hätte es mir sparen können. Die Lösung für das Problem ist die 
richtige Taktfrequenz!

Jetzt muss ich das nur noch alles in mein eigentliches Programm 
einfügen.

Danke an Alle, die sich um das Problem gekümmert haben.

Mfg

Christian

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.