-
        

Ergebnis 1 bis 6 von 6

Thema: ds1820 funktioniert nicht (anschluss richtig?)

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.12.2004
    Beiträge
    22

    ds1820 funktioniert nicht (anschluss richtig?)

    Anzeige

    Hallo, ich versuche erst mal mit Bascom einen ds1820 auszulesen. Ich hab ihn mit einem 4,7kOhm Widerstand wie hier beschrieben am RN-Control angeschlossen



    VCC hab ich am +5V meines hängen. Der GND Pin hängt in der Luft. Ist das korrekt?

    Hier außerdem der Bascom Code:

    Code:
    $regfile = "m32def.dat"                                     'Die Anweisung bestimmt Controllertyp, hier AVR Mega 32
    $framesize = 32                                             'Stackanweisungen, die eigentlich nur bei größeren Programmen
    $swstack = 32                                               'wirklich nötig werden
    $hwstack = 32
    $crystal = 16000000                                         'Die Frequenz des verwendeten Quarzes
    $baud = 9600                                                'Die Baudrate für RS232 Ausgabe.
    
    Config 1wire = Porta.0                                      'use this pin
    
    Dim Ar(2) As Byte , A As Byte , I As Byte , Temperatur As Integer
    Dim Halb As Byte
    
    Print "Temp:"
    Do
      Wait 1
      1wreset                                                   'reset the device
      1wwrite &HCC                                              'read ROM command
      1wwrite &H44
      Waitms 100                                                'read ROM command
      1wreset                                                   'reset the device
      1wwrite &HCC                                              'read ROM command
      1wwrite &HBE                                              'read ROM command
      For I = 1 To 2
        Ar(i) = 1wread()                                        'place into array
      Next
    
      Locate 2 , 1
      Temperatur = Ar(1)
    
      If Ar(2) > 0 Then Temperatur = 0 Else Shift Temperatur , Right
    
      Print Temperatur ; ".";
    
      Halb = Ar(1) And 1
    
      If Halb = 1 Then Print "5" Else Print "0"
    
      Print " C"
    Loop
    
    End
    Wenn ich den Sensor nicht angeschlossen hab bekomme ich 0.0 Grad ansonsten 0.5 Grad (und so kalt ist es hier auch nicht)

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.10.2005
    Ort
    Papenburg
    Alter
    42
    Beiträge
    101
    Tach,
    ich hab das ding auch,allerdings an einem Picaxe angschlossen, hab mit nen termostaten realisiert, dabei hab ich den gnd des sensors mit dem gnd des controllers verbunden, das funzt wunderbar. frei in "der luft hängende" anschlüsse, bei einem Bauteil mit nur 3 anschlüssen solten immer grund zum grübeln sein, wenn dein Code stimmt und und du ne brücke legst zwischen den beiden gnd sollte es klappen.

    Hohen Wirkungsgrad wünscht
    uwente

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    22.12.2004
    Beiträge
    22
    Hui, wenn ich da mit GND ran geh geht der Strom hoch. Ich hab mich jetzt nicht getraut die Strombegrenzung auf mehr als 200mA auf zu drehen (im Normalbetrieb ca 70mA) Außerdem hab ich rausgefunden, dass es schon bei 1wreset einen Fehler gibt (laut AVR Application Notes wurde dann kein Sensor gefunden)

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.10.2005
    Ort
    Papenburg
    Alter
    42
    Beiträge
    101
    oha, schonmal überprüft, ob das ganze evtl verpolt ist, diese to92 gehause können manchmal verwirrend sein.
    wenn du auf die flache bedruckte seite schaust, und die beinchen zu dir zeigen, dann ist das linke bein gnd, das mittlere ist die datenleitung und das rechte ist die Spannungsversorgung (3 bis 5,5 Volt)

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    22.12.2004
    Beiträge
    22

    Nachkommastellen?

    ok, so funktionierts, viele danke für die schnelle Hilfe

    Edit:

    Gleich nochmal die nächste Frage:

    Wie bekommt man ne höhere Genauigkeit hinterm Komma?
    Aus den Application Notes und Datenblatt werd ich nicht schlau, aber irgendwie soll es gehen. Digitemp (PC Interface) macht das außerdem auch ganz gut.

    Mir ist klar, dass die Genauigkeit trügt, aber ich brauche nur nen relativen Wert.

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    24.01.2006
    Ort
    Kirchdorf a. Inn
    Alter
    46
    Beiträge
    81
    Hallo sonium,

    der Hinweis "bottom view" im Datenblatt ist leider etwas klein dargestellt.

    Für die höhere Genauigkeit einfach dein Array vergrößern (9 Bytes siehe Seite 6), die for-Schleife von 1 bis 9 und die Formel auf Seite 3 implementieren. Der CRC-check ist sinnvoll, da bei mir sporadisch Fehlmessungen auftraten.

    Viel Spass beim Messen,
    wassermann

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •