Mal wieder DS1820

Markus Eisenberg

Neues Mitglied
05. Sep. 2010
86
0
0
Bielefeld
Sprachen
Hallo zusammen,

ich habe ein lüttes Problem, bei dem Ihr mir evtl. mit etwas Hintergrundwissen behilflich sein könnt:

Ich muss einige (min. 7) Temperaturen messen und wollte das dieses Mal mit den DS1820-Fühlern von Conrad erledigen (die mit 10m Kabellänge), da ich dort etwas fertig konfektioniertes bekomme (Faulheit siegt). Bei diesen Fühlern ist ja ein RJ12-Stecker verbaut. Das Datenblatt ist leider bzgl. der Belegung etwas schwammig.
Ich beabsichtige, Pin2 mit Masse und Pin5 mit 5V zu befeuern. Die Daten liegen dann auf Pin4. Nun zu meinen Fragen:

- Ist mit Schwierigkeiten zu rechnen, wenn ich die Datenleitungen aller Sensoren parallel schalte (also ein Stern) oder muss bei der Anzahl noch irgend ein Treiberbaustein dazwischen (welcher)?

- Die Beispiele, die ich gefunden habe, beinhalten alle eine ID von 8 Bit Breite. Lt. Datenblatt haben die Teile 64 Bit. Werden in den Beispielen immer nur die 8 untersten Bits verarbeitet? Ich will halt verhindern, dass ich mir 'nen Wolf suche, weil 2 Sensoren die gleiche ID zurückgeben (was bei 8 Bit ja durchaus im Bereich des Möglichen läge.

Schönen Gruss
Markus
 
Hallo Markus,
eine sehr weise Entscheidung. Die Sensoren funktionieren bei mir seit einigen Jahren ohne Ausfälle.
Die sternförmige Anordnung sollte funktionieren. Evtl. musst du mal mit dem PullUp Widerstandswert spielen.
Ich kenne keine Beispiele, wo nur die untersten 8-Bit benutzt werden. Die sind jedenfalls nicht eindeutig. Du kannst die Sensoren darüber auch nicht selektieren, um gezielt Daten abzufragen.
Das erste Byte ist der Typ, dann kommt eine 48-bit unique Number und dann eine CRC für diese 7 Byte.

HBA
 
Hallo Markus,

prinzipiell ist bei 1Wire eine Stern-Topologie möglich. Dabei werden alle Sensorleitungen an einem Punkt zusammengeführt an dem Dein ATmega sitzen muss.
In der Praxis wird aber dringend von einer Stern-Topologie abgeraten, da die Anschlusstellen bzw. einzelnen Leitungen unerwünschte Reflexionen auf der Leitung erzeugen. Stern ist nur eingeschränkt und bei kleinen Installationen verwendbar.

Die Spezifikation von Dallas lässt eine maximale Anzahl von <= 20 Slaves zu und die maximale Kabel-Gesamtlänge darf 100m nicht überschreiten.

Du solltest die Sensoren auf jeden Fall im 3-Draht-Modus und nicht im Parasite-Mode betreiben und an jedem Ende den bus terminieren. Bedeutet,
an jedem Ende einen ca. 3,3uF und 100nf kondensator über GND und +5V sowie einen PullUp so dimensioniert das der gesammt Widerstand zwischen
daten pin und +5v ca. bei 10k liegt.


Grüße,
Markus
 
Hallo,


besten Dank für Eure Antworten.

3-Draht Modus ist klar und auch so geplant. Ich muss halt aufgrund der Kabel einen Stern aufbauen. Ist ja auch auch genau dafür gedacht und lt. Datenblatt möglich.

Ob das Kabel sensorseitig terminiert ist, kann ich nicht sagen, da das Conrad-Datenblatt diesbezüglich keine Aussagen macht. Allerdings wird dort von einer Geasmtkabellänge von 60m gesprochen, die nicht überschritten werden soll ("soll" heist nicht "darf"). Da ich bei 7 Sensoren auf 70m komme, denke ich, dass das auch noch passen sollte. In den Aussagen ist ja schließlich etwas Sicherheit drin und schlimmstenfalls bekomme ich nicht jedesmal die Temperatur mit, was nicht tragisch wäre, da ich nur langsame Änderungen habe.
Einige Kabel könnte ich auch noch etwas kürzen, da 10m die Maximallänge ist.

Die Möglichkeit des Pull-up ist ja auch beschrieben und geht nur ein wenig auf die Genauigkeit aufgrund der Erwärmung des Sensors durch den höheren Strom. Da muss ich halt mal nachmessen, was noch so geht. Ich werde auf jeden Fall morgen mal den ganzen Kram bestellen und damit rumspielen. Sollte ich die Sensoren nicht zum fliegen bringen (glaub ich aber nicht), nerve ich Euch halt noch ein wenig. Ihr habt schließlich Zeit ohne Ende und wartet nur darauf, mir helfen zu DÜRFEN.

:D


Schönen Gruss
Markus
 
... im Augenblick noch nicht, aber wenn Dir so langweilig ist, kannst Du erstmal anfangen mein Auto zu waschen. Danach fällt mir sicherlich noch etwas ein.

Schönen Gruss
Markus
 
Falsches Forum :offtopic:
 
Hi zusammen,

wünsche besinnliche Tage gehabt zu haben.
Hier mal ein Zwischenbericht:

Nachdem ich zu dusselig war und 2 Stunden lang versucht habe, einen DS1820 einzulesen, den ich aber auf einem falschen Port angeschlossen habe, läuft es jetzt. Wie blöd kann man eigentlich sein? :confused:

Nun ja, er gibt jetzt alles so raus, wie ich es mir vorstelle. Als nächstes wird die Software so erweitert, dass die Sensoren einzeln eingelesen und dann die Adressen über ein Menue in das Eeprom geschrieben werden. Danach kommt dann der Betrieb aller Sensoren . Ich habe mir allerdings erstmal ein Fläschchen Roten geöffnet. Auch Zwischenziele dürfen gefeiert werden.

Schönen Gruss
Markus
 
Hallo Markus!

Nachdem ich zu dusselig war und 2 Stunden lang versucht habe, einen DS1820 einzulesen, den ich aber auf einem falschen Port angeschlossen habe, läuft es jetzt. Wie blöd kann man eigentlich sein?

Ja ja, das bestätigt mal wieder die Regel, dass der fehler meistens vor der Tastatur sitzt :vroam:

Aber nix für ungut, gelernt ist gelernt und beim nächsten Mal schaut man wahrscheinlich lieber doppelt genau hin.

Grüße,
Markus
 
Hi zusammen,

alles gut.
Mit ansteigender Zahl der angeschlossenen Sensoren musste der Widerstand (Datenleitung gegen 5V) immer geringer werden. Ich bin jetzt bei 1,8KΩ. Damit kann ich 8 Sensoren (im Stern mit dann 80m Kabel) sicher betreiben. Für die endgültige Version gehe ich dann auf 1,5KΩ runter. Da ich im Endeffekt auch nur 7 Sensoren nutze, sollte ich damit auf der sicheren Seite sein, zumal ich meinen Probeaufbau in einer deutlich dreckigeren (Einstrahlung PC, Monitor, Handy) Umgebung betreibe, als es im Gewächhaus der Fall sein wird.

@ Markus
Ich glaube kaum, dass es nächstes Mal besser wird.
Dusselige Fehler passieren ab und an.
Das ändert sich nie.
Ich mache meinen Job jetzt über 10 Jahre und habe es bisher nicht geschafft, Dusseligkeit abzustellen.
Ich habe schon deutlich länger vorm Rechner gesessen und der Fehler war dann eine übersehene Kleinigkeit.
Hierbei macht das aber nichts.
Ich muss ja mit den Atmels keine Kohle verdienen.

Schönen Gruss
Markus
 
ach ja ... das letzte bei mir waren beim TWI/I2C vertauschte SDA und SCL
vom Bus. Beim löten nicht aufgepaßt :D

Gruß
Dino


yip - oder in der Pfostenbuchse/ im Steckbrett gebrochener Draht. DAS passiert mir nie wieder; hab mir reichlich Verbindungsdrähte mit Aderendhülsen und Pfostenstecker versehen. Allerdings schützt mich das natürlich nicht davor, im Steckbrett eins daneben zu stecken...:rolleyes:


Grüsse,

Michael
 
Yepp,

.... oder einfach nur nen Pointer mit NULL initialisieren und sich wunder dass NULL drin steht. :D

.... oder nem String keine Länge mitgeben und wundern das nix drinsteht. :rolleyes:

.... oder einfach nur nen Tantal-Elko verpolen und sich wundern warum es zwei Wochen funzt und dann plötzlich nicht mehr :confused:

.... oder versuchen mit Open-Kollektor-Treibern LED's zu treiben die auch gegen Masse angeschlossen sind :eek:

Da sucht man sich nen Wolf! Wenn ich so gelenkig wäre ich hätte mir ja schon so manchmal selbst in den Hintern gebissen.

Grüße,
Markus
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)