Forum: Mikrocontroller und Digitale Elektronik DS1820 zeiht nur 85Grad an


von Chris C. (chris-berlin)


Lesenswert?

Hallo zusammen,
habe ein Problem mit einen DS18S20, es wird leider immer nur 85 Grad 
angezeigt. Habe VDD und GND auf Masse gepackt und einen 4,7 KOhm von der 
Daten auf 5 Volt.
Klemme ich die 5 Volt direkt an VDD geht garnichts mehr, es wird kein 
DS18S20 gefunden. Und so bekomme ich nur 85 Grad. Es soll unter Bascom 
laufen mit einem Atmega8.

Chris

von Andreas K. (a-k)


Lesenswert?

Die 85° zeigt er genau so lange an, bis er zu einer Messung aufgefordert 
wurde. Einfach nur immer Werte auslesen verleitet ihn dazu nicht.

Und bei parasitärer Versorgung (VDD=GND) muss während der Messung das 
Signal aktiv hochgezogen werden sonst geht dem Ärmsten die Luft aus. Der 
4,7K Pullup reicht dafür nicht, da muss der Signalpin mithelfen.

von Randy (Gast)


Lesenswert?

Wir haben den 18S20 benutzt, da hatten wir des Effekt dass die erste 
Messwertübertragung immer 85° war (eine Art Standartwert der geliefert 
wird wenn keine Messung da ist).
Mach mal mehrere Messungen ohne einen Reset oder Init dazwischen.

Randy

von Chris C. (chris-berlin)


Lesenswert?

Erstmal danke für die Antworten,
a-k : Habe schon gesucht wir meinst du das mit dem Signalpin? und wie 
schließe ich Ihn dan an? Im Netz finde ich immer nur was mit Parasit 
Power und 5 Volt.

Randy : Ich habe mir die Routine abgetippt

Config 1wire = Portc.0

Dim Ar(2) As Byte
Dim Zaehler As Integer
Cls
Zaehler = 0
Do
 Zaehler = Zaehler + 1
 1wreset
 1wwrite &HCC
 1wwrite &H44
 1wreset
 1wwrite &HCC
 1wwrite &HBE
 Ar(1) = 1wread(2)

 Waitms 500
 Print Hex(ar(2)) ; Hex(ar(1))
 Shift Ar(1) , Right , 1
 Print Ar(1)
 print zaehler
 Wait 2
 Loop

End

Ist hier vieleicht ein Fehler, ich bin noch ein Anfänger und das sollte 
das erste Projekt werden.

Chris

von Avr N. (avrnix) Benutzerseite


Lesenswert?


von Andreas K. (a-k)


Lesenswert?

Die Messung dauert etwas. 750ms solltest du ihm schon gönnen. Messung 
starten (44) und sofort auslesen (BE) geht nicht.

von Chris C. (chris-berlin)


Lesenswert?

Vielen Dank, jetzt habe ich es halbwegs kapiert und er misst jetzt 27 
Grad, wie bekomme ich noch zwei Komastellen hin?

Chris

von [Frank] (Gast)


Lesenswert?

@Christian

Meinst Du 2 Nachkommastellen ?
Ich kenne nur eine Routine, für 0.1 Grad Auflösung und habe das vor 
langer Zeit mal so realisiert

' calc for 0.1C resolution T is 10 times greater (integer)
' D0-D7 sind die 8 Bytes des DS1820
If (d0 And 1)=1 Then Decr d0
t=(50*d0-25+(100*(d7-d6))/d7)/10

Frank

von Chris C. (chris-berlin)


Lesenswert?

[Frank] wrote:
>
> ' calc for 0.1C resolution T is 10 times greater (integer)
> ' D0-D7 sind die 8 Bytes des DS1820
> If (d0 And 1)=1 Then Decr d0
> t=(50*d0-25+(100*(d7-d6))/d7)/10
>
Hallo Frank,
vielen Dank aber mir sagt das jetzt nichtz wirklich was, wie müßte ich 
das bei mir einbauen?

Chris

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.