www.mikrocontroller.net

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


Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Rik Langobar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht 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.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: RABIS49 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Achim Finn (rkkmkn8a)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: rkkmkn8a (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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%...)

HTH
  Achim

Autor: Richard Scheffenegger (rscheff)
Datum:

Bewertung
0 lesenswert
nicht 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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail ü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
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.