www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik DS2450 1-Wire-AD-Wandler stört

Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Christian H. (netzwanze) Benutzerseite
Datum: 28.06.2009 16:58

Ich bin gerade dabei, eine Temperaturmessung (hobby!) mittels NTC und
DS2450 (AD-Wandler am 1-Wire-Bus) aufzubauen. Am Bus hängen mehrere
DS1820.

Das Einlesen der Temperatursensoren ohne DS2450 am Bus funktioniert
einwandfrei. Sobald ich aber den DS2450 dranhänge, werden die Sensoren
teilweise nicht mehr erkannt oder es gibt Störungen beim Einlesen der
Werte.

Am Schaltungsdesign kann es eigentlich nicht liegen, da ich die
Störungen in den verschiedensten Konfigurationen habe (DS2450 alleine,
kurze Kabel, lange Kabel, mit verschiedensten Stromversorgungen).

Nehme ich meine Prototypen und hänge nur den 1-Wire Pin des DS2450 vom
Bus ab und löte stattdessen einen DS1820 ein, sind die Störungen weg.
Sie müssen also direkt vom DS2450 kommen. Hänge ich den DS2450 (pin3 =
1wire) wieder dran (Lötbrücke; DS1820 bleibt dran) sind die Störungen
wieder da. Der DS1820 hängt an der gleichen Spannungsquelle.

Der DS2450 hängt direkt, ohne zusätzliche Beschaltung am 1-Wire-Bus.
Ich verwende keine parasitäre Stromversorgung. Ich habe zur Sicherheit
auch die Versorgung (5V) über verschiedene Quellen laufen lassen.

Auch den DS2450 alleine am Bus klappt nicht.

Ich habe den DS2450 auch ausgetauscht (3x). Ein Fehler des ICs ist daher
ausgeschlossen, außer er ist bei allen drei vorhanden.

Am Oszi (habe leider nur einen Analogoszi) kann ich keine Veränderungen
am Signal erkennen.

Hatte schon jemand die gleichen Probleme?
Autor: Rik Langobar (Gast)
Datum: 28.06.2009 19:40

Vielleicht gibt es Probleme mit dem Timing. 1-Wire-Geraete sind da
teilweise sehr pingelig. Eventuell mal die Signallaengen und Pausen
etwas variieren.
Autor: Christian H. (netzwanze) Benutzerseite
Datum: 28.06.2009 22:56

Rik Langobar schrieb:
> Vielleicht gibt es Probleme mit dem Timing. 1-Wire-Geraete sind da
> teilweise sehr pingelig. Eventuell mal die Signallaengen und Pausen
> etwas variieren.

Da kann ich nichts variieren. Als Host verwende ich einen DS2490
(USB-1-Wire-Host). Ich verwende auch nicht den Overdrive sonder fahre
mit regular speed.

Merkwürdig ist nur, dass die Störungen weg sind, wenn ich lediglich den
1-Wire-Pin des DS2450 abklemme, den Rest aber so belasse wie er ist.
Irgendwie muß der Wandler ja meinen Bus durcheinander bringen.
Autor: Gast (Gast)
Datum: 28.06.2009 23:14

Autor: Christian H. (netzwanze) Benutzerseite
Datum: 29.06.2009 08:39

Gast schrieb:
> http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2921
Das Datenblatt und alle dazugehörigen Dokumente habe ich mir schon
angesehen.

> http://www.ip-symcon.de/forum/f24/problem-ds2450-2646/
Ok, jemand anderes hat das gleiche Problem. Nur eine Lösung hatte da
keiner.
Es wird nur darüber diskutiert, wie die Infrastruktur aussehen soll.

An der Infrastruktur liegt es jedenfalls nicht, da es ja auch mit einem
direkt an den DS9490 angeschlossenem DS2450 nicht sauber funktioniert.
An der Anzahl der angeschlossenen Geräte auch nicht (die habe ich schon
variiert). Auch die Buslänge (zur Zeit < 5m) tut nichts zur Sache.

Noch was: Thema Pullup.
Im 1-Wire-Bus muß ein Pullup-Widerstand (5kOhm) vorhanden sein. Ich habe
hier lauf Datenblatt einen Widerstand eingesetzt.

Auf
http://www.ip-symcon.de/wiki/index.php/1Wire-Bus-System
steht, dass ein passiver Pullup die maximale Buslänge verkleinern würde.
Weiß jemand was von einem aktiven Pullup? Wie aufbauen?

Mit meinem Pullup habe ich schon experimentiert (Wert variiert und auch
ausgebaut). Bei Ausbau des Widerstandes erhöhen sich die Störungen
enorm.
Ich vermute mal, dass der DS2450 diesen Pullup irgendwie durcheinander
bringt.
Autor: RABIS49 (Gast)
Datum: 03.07.2009 21:34

Autor: Achim Finn (rkkmkn8a)
Datum: 01.12.2009 17:59

Hallo Christian,
hast du schon eine Lösung?

Ich habe nämlich ein ähnliches Problem. Auch ein DS2450 und auch nur er
macht Probleme. Ich betreibe ihn über einen DS2480D sollte also einen
"Stromg Pullup" schon mit drin haben. Angeschlossen hab ich ihn über
RJ45 nach IPS-Standard.
Er macht mir sporadisch Fehler, mal 2Min gar nix, dann erst einen, dann
mehrere, dann wieder nix, ganz seltsam.
Erst dachte ich an ein thermisches Problem, über die Laufzeit, aber
Kältespray und Feuerzeug hatten keien Wirkung.
Aktuell kann ich das Teil nicht zuverlässig betreiben...

Achim
Autor: Christian H. (netzwanze) Benutzerseite
Datum: 01.12.2009 21:23

Nein, habe noch keine Lösung.

Ich wollte das ganze auch mal mit einem 2480 ausprobieren (habe ihn
deshalb extra besorgt). Aus Zeitgründen muss das Projekt aber etwas
ruhen.

Den 2450 habe ich, wie ja schon beschrieben, an einem 2490 hängen.
Dieser steckt wiederum in einem Edimax-Router auf dem Linux mit OWFS
läuft. Solange nur eine Hand voll 1820 am Bus hängt, kann ich jede
Temperatur sauber auslesen. Hängt aber der 2450 mit dran, verschwinden
die erkannten Geräte nach einer kurzen Zeit aus der Geräteliste
(virtuelles Dateisystem), die danach wieder komplett neu aufgebaut wird.

Das gleiche passiert, wenn ich nur einen 2450 alleine am Bus habe (mit
verschiedenen 2490). Setze ich einen 1820 an die Stelle, gibt es keine
Probleme mehr.

Damals hatte ich aber noch kein Speicheroszi und konnte die Signale
nicht ansehen (auf meinem Analogoszi kann ich da nichts erkennen). Das
werde ich aber demnächst mal nachholen.

Ich melde mich auf jeden Fall wieder.
Autor: rkkmkn8a (Gast)
Datum: 25.01.2010 13:34

Hallo Christian,
also ich bin jetzt weiter gekommen mit dem Problem - meiner läuft nun.
In den Design Guidelines der 1-wire.org wird diverses empfohlen, was ich
dann teilweise umgesetzt habe:

- Masse von Power(Pin 3) und Data-Return(Pin 5) trennen, so dass diese
nur im Bus Master zusammen sind
- Kabel abschirmen und auf Power Masse

Allein damit habe ich die Fehlerrate von ca 1000 pro h auf nahe 0
gesenkt. Aktuell habe ich nur noch genau einen Fehler, wenn ein großer
e-Motor in direkter Nähe des Busses an geht.

Wobei in dem Dokument speziell für den DS2450 sogar noch Ferrit-Perlen
angeraten werden (siehe Seite 68 auf
http://www.1wire.org/Files/Articles/1-Wire-Design%...)

HTH
  Achim

Antwort schreiben

Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate

Hinweis: der Originalbeitrag ist mehr als 6 Monate alt.
Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net