DS2413 als Input-Schalter

Begonnen von Punkt, 14 Mai 2013, 21:16:47

Vorheriges Thema - Nächstes Thema

Punkt

Hallo zusammen,

ich habe jetzt schon das halbe Internet durchsucht - aber irgendwie krieg ich's nicht auf die Reihe...

Den DS2413 kann ich ja sowohl als Output-Schalter (z.B. zum Schalten von Relais) aber auch als Input-Schalter verwenden.
Wenn ich das nicht falsch verstanden habe dann müsste ich einfach einen Schließer (Wechselschalter oder Reedkontakt an einem Fenster) anschliessen und über den DS2413 kann ich dann den Schaltzustand auslesen...

Hier hörts dann aber irgendwie auf mit den Schaltbeispielen die ich finde. Ich komm mit der Schaltung von Maxim irgendwie nicht klar.

Hat jemand ein Schaltbeispiel für mich welches ich verstehe?
Also einfach: was muss ich wo und wie anschliessen? :-)


Vielen Dank schonmal im Voraus und
viele Grüße

Michael
FHEM auf LXD-Container (Ubuntu 24.04) mit 1wire-Bus und I2C-Extensions
Datenbank: influxdb
verschiedene "Satellitensysteme" mit ESP-8266

Punkt

upps....

...falsche Abteilung - sollte in die Bastelecke.
Kann das jemand verschieben?

(Oder kann ich das selbst? :-) )
FHEM auf LXD-Container (Ubuntu 24.04) mit 1wire-Bus und I2C-Extensions
Datenbank: influxdb
verschiedene "Satellitensysteme" mit ESP-8266

Tobias

Einfach den A/B Ausgang des DS2413 mit einem Pullup in einen stabilen high-Zustand versetzten. Danach einfach A oder B mit GND verbinden.

In fhem musst du aber die A/B Ports vorher auf OFF schalten bevor der "kurzgeschlossene" Port erkannt wird.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Punkt

Hallo Tobias,

ich hab das mal versucht abzubilden - kannst du mal drauf gucken, ob das so ok wäre?


(siehe Anhang / see attachement)


Wäre da ein PullUp-Widerstand (R1) von 2kOhm in Ordnung?
Laut Datenblatt scheint man da 1,5 - 2,2 kOhm verwenden zu können...


Viele Grüße

Michael
FHEM auf LXD-Container (Ubuntu 24.04) mit 1wire-Bus und I2C-Extensions
Datenbank: influxdb
verschiedene "Satellitensysteme" mit ESP-8266

Tobias

sieht korrekt aus.
pah hatte mal auf meinen vorschlag hin einen reverseEngeneering Schaltplan des D2P aus dem fuchs-shop gepostet.
Kannst damit ja mal vergleichen. Da sind noch ein paar Bauteile mehr drauf.
http://forum.fhem.de/index.php?t=msg&goto=46461&rid=118&srch=d2p#msg_46461
Link
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Punkt

Hallo Tobias,

habs gerade so aufgebaut und getestet.

-> funktioniert. :-)

Das einzige was ich ändern musste:
Ich hab jetzt statt dem 2kOhm einen 1,6kOhm-Widerstand eingesetzt, da scheinbar der 2kOhm zu groß war um das Signal auf high zu ziehen.

Das kann aber auch daran liegen, daß ich meine 1Wire-Komponenten momentan noch mit 3,3V betreibe, da ich das ganze direkt an GPIO4 mit OWFS hängen hab.


Vielen Dank nochmal und
viele Grüße

Michael
FHEM auf LXD-Container (Ubuntu 24.04) mit 1wire-Bus und I2C-Extensions
Datenbank: influxdb
verschiedene "Satellitensysteme" mit ESP-8266

Prof. Dr. Peter Henning

Ich würde dem Teil noch spendieren:

- 2 Kondensatoren zur Entstörung der Versorgungsspannung
- 2 Kondensatoren und 2 Widerstände zum Entprellen der Schalter.

Das mit den 1,6 kOhm verstehe ich nicht, denn der Eingang ist hochohmig. 10 k reichen bei mir aus, um den Eingang auf "high" zu ziehen.

LG

pah

Punkt

Hallo pah,

erstmal vielen Dank für deine Hinweise.

Kann das bei mir daran liegen, daß die Versorgungsspannung im Moment nur 3,3V sind?
5V geht im Moment nicht, weil ich den 1Wire-Bus am Raspberry direkt an GPIO4 hängen hab und der nur 3,3V verträgt...

Ohjee...hab jetzt zu den Entstörkondensatoren viele unterschiedliche Schaltungen gefunden...

Welche Kondensatoren würden dann wo hin kommen?

Vielleicht hängt damit auch mein zweites Problem zusammen:

Wenn ich den DS2413 mit nem kurzen Kabel anschliesse (ca. 1m) dann hab ich ne super Verbindung.
Wenn ich aber ein Kabel mit 15 Meter dazwischen hab (Cat5) krieg ich kein sauberes Signal mehr und kann den Schalter nicht mehr ansteuern bzw. auslesen.

Hängt das mit den (momentan noch) fehlenden Entstörkondensatoren zusammen?
(und warum 2 Kondensatoren und nicht einer?)

ich weis - viele Fragen.... :-/

Trotzdem schon einmal vielen Dank im Voraus für jedwede Information... :-)


Viele Grüße

Michael
FHEM auf LXD-Container (Ubuntu 24.04) mit 1wire-Bus und I2C-Extensions
Datenbank: influxdb
verschiedene "Satellitensysteme" mit ESP-8266

Prof. Dr. Peter Henning

Hallo,

1. Kann sein - wundert mich trotzdem.

2. Entstörung: Beide dicht am DS2413. Warum zwei: Ein Elko mit relativ hoher Kapazität, zum Abpuffern niederfrequenter Schwankungen der Versorgungsspannung. Der ist aber wegen der oft hohen Eigeninduktivität ungeeignet, hochfrequente Störungen abzuleiten, darum noch einen HF-geeigneten Kondensator parallel (Werte unkritisch, sagen wir 10uF und 10-100nF)

3. Kann sein, dass sich das mit den Kondensatoren legt. Kann aber auch daran liegen, dass der I/O-Pin des RPi mit den bei dieser Kabellänge schlechteren Signalflanken nicht zu Recht kommt. Müsste jemand beantworten, der das auch direkt am GPIO-Pin betreibt.

LG

pah

Punkt

Hallo pah,

kommen die beiden Elkos dann zwischen +5V und GND?

Bringt das dann beim DS2413 was?
Das Problem bei dem ist ja, daß der keine eigene Versorgungsspannung hat sondern nur einen 1Wire-Eingang (also quasi ja parasitär gespeist wird).
Wo müsste ich die beiden Elkos dann dort einbauen?

Ich habe aber etwas anderes herausgefunden:
Ich habe da jetzt schon mehrere Sensoren und Zähler angeschlossen.

Zwei Counter sind an einem eigenen Bus-Zweig mit ein paar Metern Länge angeschlossen.
Wenn ich diesen Zweig abklemme hab ich keine Signalprobleme mehr und auch den DS2413 kann ich problemlos schalten.
(Kabel hab ich schon getauscht und auch schon anders verlegt...das hatte nicht wirklich was gebracht)

Ich denke, daß u.U. der Raspberry mit seinen 3,3V mit der Kabellänge und Sensorenanzahl (es waren dann insgesamt 7 Sensoren/Aktoren) nicht mehr zurechtkommt (wie auch von dir schon vermutet).

Ich werde die nächsten Tage meinen Busmaster-Adapter fertig haben - dann werd ich das mit 5V mal versuchen.
Vielleicht kann ich dann schon mehr dazu sagen...


Viele Grüße

Michael
FHEM auf LXD-Container (Ubuntu 24.04) mit 1wire-Bus und I2C-Extensions
Datenbank: influxdb
verschiedene "Satellitensysteme" mit ESP-8266

Prof. Dr. Peter Henning

Öh - ich habe glatt überlesen, dass es ein DS2413 ist. Passiert, wenn man die Meldungen nur schnell überfliegt.

Klare Aussage: Bei einem DS2413 bringt die Entstörung natürlich gar nichts, weil er nicht an der Versorgungsspannung hängt. Nach einem erneuten Blick ins Datenblatt aber nochmal das Unverständnis, dass die Widerstände zum Pullup so gering sein sollten - denn der garantierte Widerstand der Transistoren im Off-Zustand ist > 1 MOhm.

Dennoch lichtet sich der Nebel langsam: Die Ursache für die Fehler liegt hier vermutlich in der Sterntopologie. Die klare Empfehlung von Maxim ist, bei Sterntopologie die einzelnen Abzweige < 3,5 m zu halten. In dem Fall also lieber eine weitere Ader des Kabels spendieren, um eine Hin- und Rückleitung  (nur der Datenleitung) zu erzeugen und somit alle Sensoren an einer langen Leitung aufzureihen.

LG

pah

Punkt

ok, dann lass ich die Kondensatoren mal weg...

Mit dem Pullup hab ich mir nochmal Gedanken gemacht.
Wahrscheinlich hatte ich da nen Fehler.

Ich hatte nur nachgesehen ob "sensed" auf '1' gesetzt war.
PIOA wurde aber nicht umgeschaltet...

Ich hatte fälschlicherweise die Angaben verwendet die im Datenblatt bei "1-wire PullUP" angegeben sind.

Ich werde das aber nochmal testen - im Moment lese ich aber keine Schaltzustände aus sondern schalte mit dem DS2413 lediglich ein Relais...


Ja - ich werde das mit der Stern-Topologie mal umbauen - vor allem den Test mit "nur" der Rückleitung des Signals.

Ich habe den Zähler der da mit seinem Bus Probleme verursacht aber auch im Zählerkasten eingebaut - da gehen die 16^2-Leitungen direkt hinter dem Counter (DS2423) vorbei...könnte das ein Problem sein? Falls ja hätte ich ja im Zählerkasten recht wenig Möglichkeiten ohne in der Nähe der Haupt-Stromleitung das einzubauen...


Viele Grüße

Michael
FHEM auf LXD-Container (Ubuntu 24.04) mit 1wire-Bus und I2C-Extensions
Datenbank: influxdb
verschiedene "Satellitensysteme" mit ESP-8266

Punkt

Hallo,

kurzer Zwischenstand:

Ich habe jetzt meinen 1wire-Bus umgeklemmt.

Bisher hatte ich den Bus direkt an GPIO4 des Raspberry betrieben.
Das funktioniert wohl, wenn man 1-2 Temperatursensoren angeschlossen hat - dann hörts aber wohl schnell auf...

Ich hatte immer wieder Lesefehler auf dem Bus die nicht wirklich nachvollziehbar waren.


Gestern nun hab ich den Bus umgeklemmt indem ich einen selbst gelöteten I2C <-> 1Wire-Bus - Adapter angeschlossen habe.
Dieser versorgt den Bus jetzt auch mit 5V.

Was soll ich sagen:
Die Lesefehler sind verschwunden.

Aktuell habe ich noch den zweiten 1wire-Zweig (zu meinen Stromzählern) abgeklemmt aus Versuchsgründen.
Ich werde heute Abend diesen Zweig auch nochmal anklemmen um wieder den ursprünglichen Stern-Aufbau zu haben.

Dann kann ich testen, ob das mit dem neuen Bus-Adapter auch funktioniert...


Viele Grüße

Michael
FHEM auf LXD-Container (Ubuntu 24.04) mit 1wire-Bus und I2C-Extensions
Datenbank: influxdb
verschiedene "Satellitensysteme" mit ESP-8266

Punkt

Hallo zusammen,

ich wollte euch nur noch kurz mitteilen, daß ich jetzt auch den anderen Zweig an den Bus angeklemmt habe.
Es gibt weiterhin NULL lesefehler auf dem Bus - auch bei dieser Vermischung von Stern- und linearem Aufbau.

Das heist, die Fehler wurden tatsächlich dadurch verursacht, daß der Raspberry wohl für mehrere 1-Wire-Komponenten direkt an GPIO4 zu betreiben etwas zu schwach auf der Brust ist...wie gesagt - mit meinem selbst gelöteten Adapter/Busmaster läuft das Teil jetzt seit fast 2 Tagen komplett ohne auch nur einen einzigen Lesefehler.


Viele Grüße

Michael
FHEM auf LXD-Container (Ubuntu 24.04) mit 1wire-Bus und I2C-Extensions
Datenbank: influxdb
verschiedene "Satellitensysteme" mit ESP-8266

Prof. Dr. Peter Henning

Hm, ich denke eher, dass er nicht zu schwach ist - aber dass es auf dem Bus ein Timing-Problem gibt, gegen das der DS2482 immun ist. Die nachgebastelte Abfrageroutine auf dem I/O-Pin hingegen nicht.



LG

pah