www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik 1-Wire Interface selber bauen


Autor: Christian S. (chris-berlin)
Datum:

Hallo zusammen,
versuche schon seit einige Zeit ein 1-Wire Interface mit dem DS2480 zu
bauen, leider findet der iButton Viewer nichts :-( habe schon mehrfach
gegoogelt und auch immer wieder die Schaltung gecheckt, es ist ja nicht
wirklich schwer des DS2480 zu beschalten.
Habe im Netz schon eine einfache Schaltung gefunden
http://lena.franken.de/hardware/schaltung_925_525.gif die funktioniert
auch ganz gut nur leider scheint das nicht ein echtes 1-Wire Interface
zu sein, mein Messprogramm findet des nicht, andere Programme wie z.B.
digitemp holt sich schön die Temperatur von 1820.
Hat jemand schon erfahrungen gemacht, das der DS2480 aus dem RxD senden
und TxD empfängt habe ich schon gelesen, aber es geht trotzdem nicht.

Grüße

Chris
Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Ich finde es schon etwas gewagt, 1-wire per Software am PC zu machen.
Das ganze ist etwas timingkritisch, dass ein PC das sauber hinbekommt
ist daher etwas unsicher.
Autor: Pete K. (pete77)
Datum:

Stell doch mal Deine Schaltung und Software hier vor. Ohne mehr Input
ist eine Ferndiagnose schwierig ... :-)
Autor: Peter Dannegger (peda)
Datum:

Benedikt K. wrote:
> Ich finde es schon etwas gewagt, 1-wire per Software am PC zu machen.


Machter ja nich.
Der DS2480 ist ein RS-232 zu 1-Wire Converter.

Die Software "iButton Viewer" braucht ja irgendein bestimmtes Java,
vielleicht ist da der Wurm drin.

Vielleichtz ist die Software auch geschützt und läuft nur mit der
original Maxim Hardware.

In jedem Fall sollte Maxim der beste Ansprechpartner für Probleme mit
ihrer Software sein.
Oder besuch das I-Button Forum.


Peter
Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Peter Dannegger wrote:
> Benedikt K. wrote:
>> Ich finde es schon etwas gewagt, 1-wire per Software am PC zu machen.
>
>
> Machter ja nich.

Ich sehe keinen DS2480:
http://lena.franken.de/hardware/schaltung_925_525.gif
Autor: Christian S. (chris-berlin)
Datum:

Hallo,
ich hatte erst die Schaltung gebaut von der Lena website, diese geht
wunderbar mit dem iButton Viewer von Maxim sowie dem Programm Digitemp,
leider funktioniert er nicht mit dem Program Weather Display. Ich gehe
mal davon aus das der DS2480B doch etwas anderes macht als die einfache
Schaltung. Genutzt habe ich dir Schaltung im Datenblatt des DS2480B
welche nur mit 5 Volt auskommt. Ein Max 233 nutze ich für diue
Pegelwandlung, die schaltung des Max 233 funktioniert mit andere
Hardware Problemlos.

Chris
Autor: eProfi (Gast)
Datum:

Ich habe ziemlich zeitgleich mit Dir auch einen DS2480 aufgebaut, und
der hat auf Anhieb funktioniert.
Ich verwendete für meinen Laptop (keine Serielle) auch ein
1-Euro-USB-Handydatenkabel - geht genauso gut.

Polarity-Pin richtig angeschlossen?
Bei der Software den richtigen Adapter ausgewählt (ich glaube für den
2480 muss DS9097U eingestellt sein, für den Lena-Adapter DS9097E (oder
umgekehrt?)

"Vielleichtz ist die Software auch geschützt und läuft nur mit der
original Maxim Hardware."
Nein, geht auch mit Selbstbau.


"Ich finde es schon etwas gewagt, 1-wire per Software am PC zu machen.
Das ganze ist etwas timingkritisch, dass ein PC das sauber hinbekommt
ist daher etwas unsicher."
Der Clou ist, dass bei der Lena-Lösung das kritische Timing die Serielle
Schnittstelle des PCs macht (sehr clever, die schicken ein Byte raus und
lesen es gleichzeitig wieder ein. Je nachdem, ob der 1w-Partner eine 1
oder eine 0 sendet, kommen verschiedene Zeichen zurück).


Und bei der DS2480-Lösung macht es der DS2480.

Das sind aber zwei völlig verschieden Methoden (die beide
funktionieren).
Autor: Christian S. (chris-berlin)
Datum:

Hallo eProfi,
Mit dem Pol Pin habe ich schon hin und her probiert, ich habe aber nicht
wirklich kappiert für was ich den brauche? Habe Ihn wir im Datenblatt
auf 5 Volt gepackt.
Ich habe die Schaltung zweimal aufgebaut und zweimal gehts nicht, also
bin ich irgendwie zu blöd, scheinbar mache ich irgendwo immer den selben
fehler.

Bei der Software hatte ich auch ein Autscan laufen lassen leider nichts
gefunden. Da die Beschaltung ja mehr als gering ist frage ich mich echt
wo der Wurm sein könnte.




<Ich habe ziemlich zeitgleich mit Dir auch einen DS2480 aufgebaut, und
<der hat auf Anhieb funktioniert.
<Ich verwendete für meinen Laptop (keine Serielle) auch ein
<1-Euro-USB-Handydatenkabel - geht genauso gut.
<
<Polarity-Pin richtig angeschlossen?
<Bei der Software den richtigen Adapter ausgewählt (ich glaube für den
<2480 muss DS9097U eingestellt sein, für den Lena-Adapter DS9097E (oder
<umgekehrt?)
Autor: eProfi (Gast)
Datum:

Und, wie geht's?
Hast Du schon mal Rx  Tx getauscht  gekreuzt?
Hast Du eine zweite serielle Schnittstelle / anderen Rechner, um die
Bytes auf Rx und Tx mal mitzulesen?

Oder einen Oszi?

Nochmal:
1.
die einfache Variante besitzt keine Intelligenz. Sie sendet ein Byte auf
der Seriellen  pro 1-Wire-Bit.

2.
Der DS2480 kann im Data-Mode mit einem Byte 8 1-Wire-Bits übertragen.
Der DS2480 übernimmt die gesamte Bitschieberei und das 1-Wire-Timing.


Ein Schaltplan oder eine exakte Beschreibung Deine Aufbaues wäre
gefragt.
Autor: Thilo M. (Gast)
Datum:

RS232-Polarity-Pin auf LOW für Pegelwandler und auf HIGH für direkten
Anschluss an 0..5V (direkt am µC), wenn ich das richtig gelesen habe ..
Autor: selbermacher (Gast)
Datum:

Hallo zusammen; ich will gerade in 1 wire einsteigen und würde gerne
selber ein Interface zusammenbauen. Der Tipp mit dem USB-Datenkabel
interessiert mich dabei besonders, weil ich keine serielle Schnittstelle
frei habe. Außerdem würde ich gerne Temperaturfühler dranhängen und
diese von einem dotnet Programm aus abfragen.
Autor: Pascal (Gast)
Datum:

Hallo Zusammen

Ich beschäftige mich zur Zeit ebenfalls mit dem Aufbau eines 1-Wire Bus.
Mein Ziel ist es schlussendlich mit meiner Anwendung mehrere EEPROM's
auf der gleichen Leitung auslesen und programmieren zu können.
Der Schaltplan den ich gemacht habe funktioniert wunderbar, ich kann
also ohne Probleme meinen 1-Wire-Master (DS2480B) ansprechen. Jedoch
habe ich etwas Probleme mit den Antworten die ich vom Master zurück
bekomme, sie entsprechen überhaupt nicht dem, was der Hersteller oder
die Datenblätter und Application Notes vorgeben. Wenn jemand also schon
Erfahrungen mit dem DS2480B gemacht hat, würde ich mich auch dafür
interessieren!

Gruss
Pascal
Autor: Pascal (Gast)
Datum:

Konnte mein Problem lösen... funktioniert jetzt!

Gruss
Pascal
Autor: selbermacher (Gast)
Datum:

Hat jemand einen einfachen Schaltplan für eine Lösung, die mit einem
einfachen USB-Kabel funktioniert und einen Tipp mit welchen Treibern /
welcher Software man von einem dotnet Programm aus die Sensoren abfragen
kann
Autor: Bjoern (Gast)
Datum:

Hallo,

ich habe mir etwas ähnliches zusammengebaut.
Den Schaltplan habe ich von dieser Seite allerdings den Zweiten der
Beiden.
http://public.rz.fh-wolfenbuettel.de/~hamannm/gene...

Im Moment habe ich 10 Sensoren angeschlossen und die funktionieren halle
hervorrangend.
Ich lese sie mit Digitemp für Windows aus. Dabei halt nur aus der
DOS-Ebene in eine Textdatei rein.
Dies klappt allerdings wirklich gut, obwohl ein grafisches Programm
natürlich deutlich angenehmer wäre.

Nun meine Probleme:
Die Auflistung der Sensoren erscheint nicht der physikalischen Reihe
nach sondern richtet sich nach aufsteigenden Seriennummern, sodass der
der 3 Sensor in der Liste ganz woanders auftaucht. Ist natürlich nicht
nur beim dritten so, dies war nur ein Beispiel.

Gibt es eine Möglichkeit dies irgendwie abzuändern und den Sensoren
(zumindest in der Textdatei) einen Namen zuzuordnen?

Kennt jemand ein Programm, welches grafisch unterstützt wird? Windows
wäre schon toll, allerdings setze ich gerade Linux auf.

Ich bin blutiger Anfänger in solchen sachen und bitte um Nachsicht. Ich
bin froh, dass ich überhaupt schon soweit bin.

Danke im Voraus.

Bjoern
Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Es gibt auch noch den DS2490. Der wird direkt an den USB-Port gehängt.
Dazu ist dann noch ein 3,3V-Regler von Nöten.
Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bjoern schrieb:
> Gibt es eine Möglichkeit dies irgendwie abzuändern und den Sensoren
> (zumindest in der Textdatei) einen Namen zuzuordnen?
Ich setzte den gerade erwähnten DS2490 unter Linux (MIPS sowie ARM) ein.
Dazu owfs (One-Wire-File-System). Jeder Sensor hat dann ein eigenes
Verzeichnis mit mehreren Textdateien, die gelesen (oder geschrieben)
werden können.

Das Auslesen ist einfach mittels "cat" möglich.

Für sprechende Dateinamen kann man von einem anderen Verzeichnis aus
einfach symbolische Links auf die Temperaturdateien setzen. So einfach
ist das dann.

> Kennt jemand ein Programm, welches grafisch unterstützt wird? Windows
> wäre schon toll, allerdings setze ich gerade Linux auf.

Selber schreiben. Es gibt auch einen OW-Webserver zum Projekt. Den
kannst Du einfach mittels HTML und einem Browser auslesen. Grafik so
viel Du willst mittels Javascript.
Autor: Pete K. (pete77)
Datum:
Angehängte Dateien:

Grafik kannst Du gut mit Gnuplot machen, auch unter Windows.

Die Daten habe ich aus einer CSV-Datei genommen und per Batch-Skript
unter Gnuplot als PNG-Datei gespeichert.
Autor: Bjoern (Gast)
Datum:

Vielen Dank schon mal für Eure Antworten.

Gnuplot werde ich mal probieren, allerdings nicht auf Windows.
Ich hab mich schon mal mit Cygwin beschäftigt, möchte dies aber nicht
weiter testen.

Wie gesagt, bin halt wirklich Anfänger und taste mich langsam an diese
Sachen dran. Werde mich jetzt erst mal intensiv mit Linux beschäftigen,
damit ich dort wenigstens etwas machen kann.

Ist halt alles bißchen doof, da der Rechner an dem die Sensoren hängen
(sollen) mein Fileserver ist (im Keller) und als OS Windows hat.

Aber irgendwie wird das schon werden.


@ Christian H

Das versteh ich nicht so ganz. Meine Schaltung läuft ja Grundsätzlich
sehr gut. Auch an einem USB per Adapter. Was würde der DS2490 denn mehr
bringen als der DS18S20?

Was ist denn ein OW-Webserver? Also was ein Webserver ist weiß ich
schon, aber einen Webserver für dieses Projekt habe ich noch nicht
gefunden.

Gruß Björn
Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bjoern schrieb:
> @ Christian H
>
> Das versteh ich nicht so ganz. Meine Schaltung läuft ja Grundsätzlich
> sehr gut. Auch an einem USB per Adapter. Was würde der DS2490 denn mehr
> bringen als der DS18S20?

Der DS2490 ist ein 1-Wire-Controller, der direkt an den USB-Port
angeschlossen wird. Hiermit ist das Timing auf jeden Fall
sichergestellt, was bei einer Softwarelösung am seriellen Port nicht der
Fall ist.

Der DS18S20 ist ein 1-Wire-Temperatursensor, also nicht vergleichbar mit
einem DS2490.

> Was ist denn ein OW-Webserver? Also was ein Webserver ist weiß ich
> schon, aber einen Webserver für dieses Projekt habe ich noch nicht
> gefunden.

Der OW-Webserver ist eigentlich nur ein kleines Programm, welches per
HTTP den Zugriff auf das OW-Filesystem (also auf die Daten der
angeschlossenen 1-Wire-Clients) erlaubt. Es ist kein ausgewachsener
Webserver wie der Apache.

Schau Dir mal www.owfs.org an. Da steht alles, was Du wissen musst.
Der Webserver heißt "owhttpd".

Du musst aber nichts selber übersetzten. Die Programme gibt es bereits
fertig für alle Distributionen.

Das ganze ist ideal, um auf einem Mini-Router (zB Edimax BR6104)
installiert zu werden. Also OpenWRT drauf, owfs mit owhttpd
installieren, 1-Wire dranhängen (software über GPIO oder über
1-Wire-Controller), fertig.
Daten auslesen geht dann einfach über einen beliebigen Webbrowser.
Autor: Bjoern (Gast)
Datum:

@ Christian H.

Danke für die ausführliche Beschreibung.

Auf www.owfs.org hab ich mich mal umgesehen, allerdings ist das wohl
alles etwas zu kompliziert.
Ich bin weiter auf der Suche nach einer Soft, die sich etwas einfacher
gestaltet.

Mir würde es wirklich helfen, wenn ich wie oben beschrieben, schon mal
die Seriennummern in Digitemp zuordnen könnte.

Sprich in der ausgegebenen txt-Datei die 10 Sensoren nicht aufsteigend
nach Seriennummern, sondern nach einer von mir vorgegebenen Reihenfolge.

Gruß Björn
Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bjoern schrieb:
> @ Christian H.
>
> Danke für die ausführliche Beschreibung.
>
> Auf www.owfs.org hab ich mich mal umgesehen, allerdings ist das wohl
> alles etwas zu kompliziert.
> Ich bin weiter auf der Suche nach einer Soft, die sich etwas einfacher
> gestaltet.

Das ist nicht so kompliziert:

owfs und owhttpd gibt es für jede Linux-Distribution. Nur einspielen
(yum; apt-get; yast...). Irgend einen unter stützten Adapter an den
Rechner und das Programm entsprechend konfigurieren (ein paar Buchstaben
in einer Textdatei). Dann das Programm starten und die Sensoren an den
Adapter.

cat /owfs/83746abf736798932/temperature   (Beispiel)!

Gibt Dir die Temperatur des Sensors 83746abf736798932 aus.

Etwas Vorarbeit:
cd /sensoren
ln -s /owfs/83746abf736798932/temperature kühlschrank_innen

Dann:
cat /sensoren/kühlschrank_innen

Das gibt dir ebenfalls die Temperatur dieses Sensors aus.

Rufst Du den cat per cron jede Minute auf und hängst noch ">>
kühlschrank_innen.log" dahinter, so hast Du einen Temperaturlogger.
Über diese Datei kannst Du dann Gnuplot laufen lassen.

Was willst Du denn genau machen? Erzähl mal.
Autor: Bjoern (Gast)
Datum:

Ich habe eine relativ große Heizungsanlage in unserem Haus.
Diese ist mit ca. 15m2 Solar zur Brauchwasser und Heizungsunterstützung
ausgestattet.
Zusätzlich zur Brennwertgastherme habe ich noch einen ca. 20kw
Wasserführenden Ofen im Wohnzimmer.
Die Sensoren sollen an folgenden Stellen angebracht werden:
vor und rücklauf gastherme, vor und rücklauf kaminofen, vor und rücklauf
solar, sowie 10 stück am puffer für die heizung sowie 10 stück am puffer
für das brauchwasser.
Hintergrund der vielen Sensoren am Puffer:
das sind Schichtenspeicher und man kann mit so vielen Sensoren relativ
genau sagen, auf welche Ebene welche Temperatur herscht und somit auch
wieviel Warmwasser man im Vorat hat. (muß ich heute Abend noch Holz
nachlegen oder reicht es bis morgen mittag)

einen Puffer hab ich mit 10 Sensoren ausgestattet, was halt wie gesagt
auch gut klappt.
Nur die Reihenfolge stimmt eben nicht und das ist doof.

Die Daten aus der Textdatei rufe ich im Moment per Ftp und Dyndns ab und
kann somit immer online gucken ;-)

Ob mans braucht oder nicht sei dahin gestellt. Aber ich hätte es halt
gern allein aus ergeiz.

Im Moment steht mir halt nur Windows zur Verfügung aber ich arbeite an
Linux.

Tja das zu meiner Geschichte

Gruß Björn
Autor: Bjoern (Gast)
Datum:

Hallo,

ich noch mal. Ich möcht ja nicht nerven, aber gibt es wirklich niemanden
der ein bißchen zu diesen Befehlen in digitemp etwas sagen kann?

Bin für jede hilfe dankbar.

Gruß Björn
Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Der Quellcode zu digitemp liegt doch auf der Homepage. Wieso nicht
selber anpassen?

Es gibt sogar eine Anpassung für eine MySQL-Datenbank. Damit ist Dein
Vorhaben sehr leicht möglich. Einfach zwei zusätzliche Datenbankspalten.
1x Sensorname; 1x Sortierreigenfolge (Zahl).
Autor: Sebastian (Gast)
Datum:

Vielleicht wären die 1-Wire Sensoren mit "Chain Function" eine Lösung
für dein Problem? Dabei wird immer der Ausgang des n-ten Sensors mit dem
Eingang des n+1-ten Sensors verbunden, wenn du so eine Art Perlenschnur
den Kessel hinauf legst, sollte das recht einfach umzusetzten sein.

http://www.maxim-ic.com/quick_view2.cfm/qv_pk/5355
Autor: Bjoern (Gast)
Datum:

Okay, danke für Eure Tips.
Ich werde mal probieren was ich machen kann. Ich melde mich solbald ich
weiteres rausbekommen habe, dass könnte ja auch für andere Leute
interessant sein.

Viele Grüße

Björn
Autor: Bjoern (Gast)
Datum:
Angehängte Dateien:

Hallo alle zusammen,

ich habe jetzt mal meinem Schwager meine Problematik erklärt und er hat
sich der Sache mal angenommen.

Ich wollte euch nur auf dem laufenden halten und hier mal meine jetzige
Variante darstellen.

Ich hoffe das klappt hier mit den Bildern einfügen.

Also, er hat irgendwas in PHP geschrieben, auf Basis von Digitemp.

Ich logge mich per Web-Browser auf den Server ein (mit Zugangsdaten) und
erhalten dann den Srceenshot Modulauswahl, hier kann ich bestimmen ob
ich mir einen Monat oder einen Tag ansehen möchte.

Danach kommt die Tages bzw. Monatsauswahl, in der ich per Scroll-Button
den entsprechenden Tag bzw Monat wählen kann.

Dann werden Daten in einem Diagramm (siehe Anhang: Ansicht) angezeigt,
in dem für jeden Sensor ein Diagramm dargestellt wird.
Im Moment sind die Sensoren noch nicht sortiert und beschriftet, folgt
aber dann.

Zur Zeit lese ich alle 15 Minuten aus (die 10 Sensoren ,der Rest folgt
noch, sind ja am Pufferspeicher installiert)
In der Tagesauswahl sieht man die Temperatur zur entsprechenden Uhrzeit,
in der Monatsauswahl gibt es auch für jeden Sensor ein Diagramm, welches
den Durchschnitt des Sonsors an dem entsprechenden Tag anzeigt. (bei
Bedarf poste ich noch einen Screenshot davon)

Dies ist nur die erste Version, mein Schwager hat mir noch ein paar
nette Spielereien versprochen. Was auf jeden Fall noch kommt, ist ein
Multidiagramm (frei definierbar für bestimmte Sensoren)

Also ich bin erst mal hoch zufrieden und es klappt jetzt schon mal sehr
gut.

Viele Grüße Björn
Autor: Bjoern (Gast)
Datum:
Angehängte Dateien:

Sorry wegen der schlechten Quallität, aber ich bin auf der Arbeit und
meine Mittel sind hier nur begrenzt.

Es sind dieses Wochenende neu Funktionen dazugekommen unter anderem
lassen sich jetzt nachträglich angeschlossene Sensoren oder auch weitere
Interface´s per Knopfdruck einbinden.

Gute Arbeit Schwager


Gruß Björn
Autor: Joerg (Gast)
Datum:

Hallo Björn,

das klingt sehr interessant, was dein Schwager da programmiert hat.
Kannst Du die PHP-Scripte hier mal posten?
... wäre sicherlich nicht nur ich daran interessiert... ;-)

Viele Grüße
Jörg
Autor: Thorsten R. (goofy79)
Datum:

Hallo, schaut doch mal auf http://www.hauptstrasse72.ath.cx vorbei
unter HowTo, da steht schon viel und es wird laufend erweitert.

Gruß Goofy

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




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 erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net