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


von Christian H. (netzwanze) Benutzerseite


Lesenswert?

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?

von Rik Langobar (Gast)


Lesenswert?

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

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

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.

von Gast (Gast)


Lesenswert?


von Christian H. (netzwanze) Benutzerseite


Lesenswert?

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.

von RABIS49 (Gast)


Lesenswert?


von Achim F. (rkkmkn8a)


Lesenswert?

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

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

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.

von rkkmkn8a (Gast)


Lesenswert?

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%20Guide%20v1.0.pdf)

HTH
  Achim

von Richard S. (rscheff)


Lesenswert?

Blöde Frage, wurde der DS2450 nach dem Reset auch richtig initialisiert, 
oder einfach nur in den Bus gehängt ohne POR zu löschen? Vielleicht ist 
das der Grund, das er sich ständig angesprochen fühlt und die Daten 
korrumpiert?

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.