Forum: Mikrocontroller und Digitale Elektronik DS18B20 und Low Pegel


von Black (Gast)


Lesenswert?

Hallo,

ich versuche mich grade an dem Temperatursensor. Jedoch hat mein Code 
bisher nicht funktioniert. Nun habe ich mal mit einem Multimeter 
gemessen und bei einem LOW Pegel immernoch 4,36 V gemessen (High liegt 
bei ca. 5V) Nun die Frage ob das LOW entspricht.

Zur Schaltung:
Vdd zu 5V (Netzteil)
alle GND zusammengeschaltern (vom STK500, Sensor, und vom Netzteil)
DQ zum Eingangspin und ebenso noch eine Verbindung mit 4,7k nach 5V (vom 
Netzteil). Wenn nötig ist mach ich noch ein Bild vom Steckbrett.

Hoffe das mit jemand helfen kann ;)

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Black wrote:
> Hallo,
>
> ich versuche mich grade an dem Temperatursensor. Jedoch hat mein Code
> bisher nicht funktioniert. Nun habe ich mal mit einem Multimeter
> gemessen und bei einem LOW Pegel immernoch 4,36 V gemessen (High liegt
> bei ca. 5V) Nun die Frage ob das LOW entspricht.

Tut es nicht.

> Zur Schaltung:
> Vdd zu 5V (Netzteil)
> alle GND zusammengeschaltern (vom STK500, Sensor, und vom Netzteil)
> DQ zum Eingangspin und ebenso noch eine Verbindung mit 4,7k nach 5V (vom
> Netzteil). Wenn nötig ist mach ich noch ein Bild vom Steckbrett.
>
> Hoffe das mit jemand helfen kann ;)

Schaltplan wäre nützlich und die Angabe von wo nach wo du mit dem 
Multimeter gemessen hast und auch in welchem Zustand deiner Schaltung, 
d.h. wo in welchem Code sich das System befindet.

von Black (Gast)


Angehängte Dateien:

Lesenswert?

Anbei der Aufbau.
Gemessen hab ich vom Punkt 1 (GND STK500) nach Punkt2 (DQ Pin). Obwohl 
es der gleich Wert ist wie am obersten Widerstandsbeinchen oder am 
grünen Kabel.

Code:
.equ DS1820_REG    = DDRB
.equ DS1820_PORT  = PORTB
.equ DS1820_PIN    = PINB
.equ DS1820_WIRE  = 0
.....

Gemessen 5,15V bei:

  cbi   DS1820_PORT, DS1820_WIRE  ; High
  cbi   DS1820_REG, DS1820_WIRE
main:

  rjmp   main


Gemessen 4,32V bei:

  cbi   DS1820_PORT, DS1820_WIRE  ; LOW
  sbi   DS1820_REG, DS1820_WIRE

main:

  rjmp   main

von Stefan B. (stefan) Benutzerseite


Lesenswert?

>  cbi   DS1820_PORT, DS1820_WIRE  ; High
>  cbi   DS1820_REG, DS1820_WIRE

Du hast hier einen Eingang definiert (DDRB.0 = 0) und den zugehörigen 
internen Pullup ausgeschaltet (PORTB.0 = 0).

Die gemessene Spannung (ohne Kontrolle der Messpunkte s.u.) von 5,15V 
kann ich nicht nachvollziehen. Nur soviel: vom µC kann die Spannung 
nicht kommen, d.h. sie kommt über die externe Beschaltung (4,7K 
Pullups?).

>  cbi   DS1820_PORT, DS1820_WIRE  ; LOW
>  sbi   DS1820_REG, DS1820_WIRE

Während des Codeablaufs hast du zunächst einen Eingang mit deaktiviertem 
internem Pullup, d.h. am Eingang ist vom µC her keine Spannung messbar.

Nach dem Codeablauf hast du einen Ausgang mit Pegel LOW, d.h. am 
Ausgang SOLLTE vom µC her auch keine Spannung messbar sein.

Ich würde die externe Beschaltung peinlichst genau untersuchen. Für ddie 
Ferndiagnose ist der Schaltplan dazu das Mittel der Wahl. Mit dem Foto 
kann ich nichts anfangen. Da ich kein STK500 besitze müsste ich zuerst 
den Schaltplan heraussuchen und dann die Leitungen aus deinem Foto 
versuchen in den Schaltplan einzuordnen... vielleicht kann jemand mit 
einem STK500 vor sich besser helfen.

von Black (Gast)


Lesenswert?

Hab den Fehler gefunden. Hab den Sensor falsch rum reingesteckt. Das 
Dallas Datenblatt ist auch irreführend. Normalerweise (Technische 
Zeichnung) müsste das die Draufsicht sein und nicht die Ansicht von 
unten. :p Naja nächstemal lesen das es die Ansicht von unten ist.

von Andreas K. (a-k)


Lesenswert?

Bei der Pinbelegung von Transistoren ist die Sicht von unten, also auf 
die Pins, ziemlich verbreitet. Und der DS18x20 sitzt nun einmal in einem 
Transistorgehäuse.

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.