1-Wire Bus

Diskussion geplanter, bearbeiteter oder fertiger Projekte
Antworten
Phineas
Beiträge: 6
Registriert: Freitag 1. April 2011, 17:42

1-Wire Bus

Beitrag von Phineas » Montag 19. August 2013, 08:55

Ich weiß, dass ich hier ein Thema anspreche, das schon seit langem diskutiert wird und immer noch nicht abschließend gelöst wurde:
wie schließe ich Komponenten mit 1-Wire Bus Interface an ProfiLab oder RealView an?

Die existierenden Lösungen, die ich kenne, sind:
- USB-µPIO / Temp12: Nachteil dieser Lösung ist, dass die Temperatursensoren nur einzeln (sternförmig) angeschlossen werden können und die Anzahl auf 12 begrenzt ist. Der besondere Vorzug des 1-Wire Bus (paralleler Anschluss mehrerer (> 12)Sensoren an eine Leitung) kann so leider nicht genutzt werden. Auch der Anschluss anderer 1-Wire Komponenten (DS2450, DS2408, DS2438) wäre hier interessant ...
- Hygrosens TLOG-20 USB: dieses Teil habe ich mit DS18B20 Sensoren getestet und nicht zum Laufen bekommen (obwohl Greisinger mir mitgeteilt hat, dass diese Sensoren funktionieren sollten). Die Dokumentation ist ziemlich verworren und eine Fehlersuche fast unmöglich, da das 'User Interface' (ein Drucktaster und eine LED) nicht ausreichend beschrieben ist. Außerdem können nur max. 20 Sensoren angeschlossen werden. Die Original Sensoren von Greisinger enthalten interessanterweise einen Stützkondensator von 100 nF zwischen Masse und VCC.
- die Nutzung eines simplen RS-232 Adapters (DS9097E kompatibel) oder USB-Adapters (DS9097U kompatibel) in Kombination mit OneWireViewer, IButton Viewer, digiTemp oder LogTemp funktioniert bei mir bislang problemlos mit bis zu 20 Sensoren bei Leitungen bis 20 m. Diese Lösung ist leider ohne RealView oder ProfiLab, deren Funktionen ich natürlich vermisse.

Fazit: vielleicht ist es einigen Entwicklern doch möglich, entweder einen entsprechenden Treiber (DLL) für RealView/ProfiLab zu programmieren oder eine Firmware für USB-µPIO, die den 1-Wire Bus mit mehreren Sensoren an einer Leitung unterstützt.

Wie mir 'Paebbels' mitteilte, hat er vor einigen Jahren die Programmierung einer DLL für PLE aufgegeben, "da der von Dallas/Maxim bereitgestellte Treiber einen riesigen Bug enthielt und dieser zu diesem Zeitpunkt nicht behoben wurde. Bug: Alle Instanzen des Treibers teilen sich einige globale Variablen, so dass ein Busfehler sich auf alle Sensoren auswirkte. Ggf. ist das auch der Grund, warum einige Hersteller dann lieber auf Sternstrukturen setzen, so dass jeder Sensor unabhängig ist." Herzlichen Dank an ihn für diese Klarstellung.

Mir ist nicht bekannt, ob Maxim/Dallas in den letzten Jahren hier noch nachgebessert haben ...



Phineas Freak

Antworten

Zurück zu „Projekte“