Forum: Mikrocontroller und Digitale Elektronik DS18S20 zeigt nur 00000000 an


von Lutze53 E. (lutze53)


Lesenswert?

Hallöchen,

nachdem ich mein LCD endlich fertiggestellt habe und die ersten Tests 
erfolgreich liefen, wollte ich endlich weiter machen und die Temperatur 
auf mein LCD zauber
Aber wie das ja so immer ist wird man immer schnell ausgebremst

habe erstmal im Netz geschaut nach einen Code, weil ich erstmal nur 
schauen wollte ob der DS1820 auch funktioniert, nur leider komme ich 
hier einfach nicht weiter
ich bekomme ständig nur "000000000000000" auf dem Display angezeigt. 
Also iwie wird das Teil nicht gefunden und ich finde einfach den Fehler 
nicht.
Habe auch schon einen anderen genommen und neu verlötet, aber auch hier 
kein Erfolg

hier mal der Code den ich genommen habe:
1
$regfile = "m32def.dat"
2
$crystal = 8000000
3
$hwstack = 40
4
$swstack = 16
5
$framesize = 32
6
7
8
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.0 , Rs = Portb.1
9
Config Lcd = 16 * 2
10
Config 1wire = Porta.1
11
12
13
Dim Dsid(8) As Byte
14
Dim I As Byte
15
Dim Nr As Byte
16
17
Nr = 1
18
Cls
19
20
' Ersten angeschlossenen DS1820 finden und Adresse auslesen
21
Dsid(1) = 1wsearchfirst()
22
23
Locate 1 , 1 : Lcd "DS1820 Nr " ; Nr : Nr = Nr + 1
24
Locate 2 , 1
25
For I = 1 To 8
26
 Lcd Hex(dsid(i))
27
Next
28
29
' 10 Sekunden warten
30
Wait 15
31
32
Do
33
 ' Nächsten DS1820 suchen
34
 Dsid(1) = 1wsearchnext()
35
 ' Wenn kein Fehler, dann ausgeben
36
 If Err = 0 Then
37
  Locate 1 , 1 : Lcd "DS1820 Nr " ; Nr : Nr = Nr + 1
38
  Locate 2 , 1
39
  For I = 1 To 8
40
   Lcd Hex(dsid(i))
41
  Next
42
  Wait 15
43
 End If
44
Loop Until Err = 1
45
46
47
Do
48
 Waitms 100
49
Loop
50
51
End

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Das ist toll:
> ' 10 Sekunden warten
> Wait 15

> Also iwie wird das Teil nicht gefunden und ich finde einfach den Fehler
> nicht.
Jetzt wäre ein Oszilloskop hübsch...
Hast du sowas?

von Lutze53 E. (lutze53)


Lesenswert?

Ne Osci habe ich leider nicht, würde jetz helfen, habe nur mal mit dem 
Voltmeter geschaut und am Ende beim Sensor die Spannung geprüft und da 
liegen auch jeweils 5V an DQ und VDD an.

Habe aber jetzt mal entgegen des Bildes im Datasheet mein Sensor gedreht 
und man staune es geht nun, man kann man nicht mal ein Datenblatt 
vertrauen.

also er findet ihn jetzt, Temperatur sind aber 85 Grad konstant, was 
meines Wissen ein Fehlercode ist muss ich mal schaun, hängt glaube mit 
den Delay´s zusammen.

von Lutz (Gast)


Lesenswert?

Lutze53 E. schrieb:
> also er findet ihn jetzt, Temperatur sind aber 85 Grad konstant, was
> meines Wissen ein Fehlercode ist muss ich mal schaun, hängt glaube mit
> den Delay´s zusammen.

Nö, 85 Grad sind der Resetwert.

von ich da (Gast)


Lesenswert?

Richtig, der erste Wert ist immer 85.

Lass dir mehrmals im 5 Sekundenrhytmus den Inhalt vom Scratchpad 
ausgeben.
Du wirst sehen, dann stehen dort realistische Werte drin.

von Lutze53 E. (lutze53)


Lesenswert?

ja habe mal die zeit erhöht fürs auslesen, jetzt kommen realistische 
Werte raus.

Vielen dank erstmal und natürlich noch schönen 2. Weihnachtsfeiertag :)

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.