Forum: Mikrocontroller und Digitale Elektronik Langes Kabel am DS1820


von Peter D. (peda)


Lesenswert?

Ich habe festgestellt, daß die DS1820 sehr wohl wesentlich mehr als 5m 
vertragen:

Bisher habe ich 2 Sensoren an je 3m betrieben. Gestern habe ich 
testweise noch etwa 33m dazwischen geschaltet.
Ich verwendete RG174U, das ergibt etwa 3.3nF Kabelkapazität.

Zuerst ging nichts mehr. Da ich jedoch die Application-Notes schon 
gelesen hatte, war mir bekannt, daß es durch zu hohe Slew-rate zu 
Störungen kommen kann.

Nach dem Einfügen eines 220 Ohm am AT89C2051 ging dann alles wieder 
(Pullup = 2,2 kOhm).

In den Application-Notes sind aber noch Transistorschaltungen zur 
besseren Kontrolle der Slew-Rate beschrieben. Auch einen speziellen 
Transceiver-IC gibt es dafür.

Ich habe nur die alten DS1820, denke aber mal, daß die neuen DS18B20 in 
Bezug auf Störempfindlichkeit noch besser konstruiert sein sollten.

Alles in allem halte ich deshalb bis zu 100m für realisierbar.


Peter


P.S.:
Hallo Markus, ich habe einen neuen Beitrag angefangen, da sich das Thema 
gewandelt hat.

Vielleicht könnten noch andere ihre Erfahrungen schildern.

von Popei (Gast)


Lesenswert?

Servus Peter,

ich habe mal einige DS1820 an einen MC (NeuronChip) angeschlossen mit 
ca. 50m Kabel (2x0.8). Der MC hatte 5k Pullups.
ich hatte keine Probleme

von Markus Burrer (Gast)


Lesenswert?

Hm, interessant. Kann es vielleicht auch damit zusammenhängen, das Eure 
Leitungen relativ frei rumlagen ohne große Störer in der Nähe (230V 
Leitungen, Handys, Leuchtstofflampen...)?
Ich hab mir damals den Signalverlauf auf dem 1-Wire Bus angeschaut und 
der war so chaotisch, das es mich nicht gewundert hat, das nichts 
vernünftiges mehr ankam. Eine ungeschirmte Leitung hat so viele 
Störungen eingefangen, das die Signale aussahen wie der Bergkamm der 
Alpen, bei einer abgeschirmten Leitung war die Kapazität so hoch, das 
die Signale eher an Sinus als an Rechteck erinnerten
Also ich bin jedenfals alles andere an begeistert von diesem Bus. Für 
einen einzelnen, vielleicht auch noch bis zu 5 Sensoren über kurze 
Entfernung, kann man noch drüber reden, aber eine komplette 
Hausverdrahtung... kann ich mir nicht vorstellen.
In der Summe, je nach Haus, um ein vielfaches zu lang plus zu viele 
Sensoren an einem Bus lohnt die Mühe denke ich nicht. Und vor allem, 
wollt Ihr nur Themperatursensoren überall verteilen? Oder Uhrenbausteine 
und Speicher?  Viel mehr gibt es doch als 1-Wire noch gar nicht. Es gibt 
noch den DS2405, aber das wars dann auch schon. Ein Homenet kann man 
damit nicht aufbauen (und darum ging es doch ursprünglich, oder?)
Dann lieber I2C. Größere Auswahl an Funktionsbausteinen, bessere 
Verfügbarkeit auch bei Reichelt & co und bei entsprechend geringen 
Datenraten und vernünftigem Aufbau mindestens die gleiche Reichweite 
möglich wie bei 1-Wire, eher mehr.

Gruß
Markus

von Peter D. (peda)


Lesenswert?

Hi Markus,

das RG174U ist ja normales Koax-Kabel, d.h. da sollten keine Störungen 
reinkommen.

Das Deine Signale Scheiße sind kann wirklich an der zu hohen Slew-Rate 
liegen. Moderne CMOS-ICs können richtig große Ströme liefern. Nicht 
immer ist eben ein starker Treibertransistor besser.
Die Maxim Application-Notes beschreiben das sehr schön.


Ich will damit nur die Temperatur an verschiedenen Punkten messen und 
protokollieren. Der große Vorteil ist, daß man keine Stromversorgung an 
den Sensoren braucht. Ich hab die einfach direkt an das Koaxkabel 
angelötet und dann mit Schrumpfschlauch überzogen. Ist also nur ein 
Kabel mit nem Gnubbel am Ende.


Für eine komplette Haussteuerung, die auch Fenstermotoren und 
Heizventile steuern soll, würde ich nur noch CAN-Bus verwenden. Das ist 
einfach, billig und zuverlässig.

Als Verdrahtung könnte ich mir 8-adriges Twisted-Pair vorstellen mit 2 
Signaladern, Masse, +5V für den µC und +/-24V für die Lasten.

Als µC ist der T89C51CC02 klein, preisgünstig, stromsparend und leicht 
in C zu programmieren.

Und an so einen CAN-µC gehen dann alle 1-Wire-Sensoren im Raum mit ran. 
Das sollten dann unter 10m sein und damit kein Problem.


Peter

von Markus Burrer (Gast)


Lesenswert?

Hm, ich hatte damals einen HC11, der den 1-Wire Bus angesteuert hat. So 
dolle waren dessen Treiber eigentlich nicht.
Wenn Du CAN verwendest, wie machst du das dann mit dem Protokoll? 
Übernimmt das der Chip, programmierst Du das selber oder ignorierst Du 
das schlicht und ergreifend?
Hab mich nämlich auch mal ein wenig schlau gemacht, und CAN ist für mich 
eigentlich desshalb uninteressant geworden, da das Protokoll (im 
Vegleich zu RS485) ziemlich komplex ist und wenn man damit kommerziell 
was machen will muß man eine Lizenzgebühr abdrücken. Vielleicht kann 
mich ja jemand vom Gegenteil überzeugen.

Gruß
Markus

von Peter D. (peda)


Lesenswert?

@Markus,

das Protokoll braucht Dich nicht zu kümmern, das macht doch die Hardware 
vollständig allein.
Du must bloß Deine Daten in Pakete von 0..8 Byte unterteilen und jedem 
µC ein eigene 11-Bit Adresse zuweisen und das wars.


Es gibt dann noch höhere Protokolle, die auf dem CAN aufsitzen z.B. 
Devicenet, Canopen. Aber das braucht Dich nicht zu interessieren, 
solange Du nicht solche Geräte einsetzen willst.


Peter

P.S.:
Jetzt ist das Thema ja schon wieder vollständig anders.

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.