1-Wire Initialisierung on Startup

Hallo,

mir ist bei meinen DS2408 Ausgängen folgendes aufgefallen:

Wenn ich die 5V der 2408 abgeschalte und danach wieder einschalte, haben die Ausgänge undefinierte Zustände. :mad: Mir schien es so, als wenn jeder 2te Port auf False und alle anderen auf True stehen.
Nach einem Neustart von IPS ist das dann immer noch so.:mad: Ich muss dann jeden Port einemal neue setzen.
Ich glaube es macht Sinn das die Instance einen Reset bei den Out Ports auf True beim Neustart durchführt. Ich weis leider nicht wie das bei den anderen 1-Wire Bausteinen ist, aber vieleicht gibt es da ja ein ähnliches verhalten.

Ist das schon berücksichtigt und nur ein Bug oder nicht ? :confused:
Muss ich da wohl was selber Scripten ?

Gruß

Oliver

Hallo Oliver,

das ist kein Bug. Im Datenblatt wird extra darauf hingewiesen, dass nach dem Einschalten der Zustand der Ausgangsports undefiniert (also zufällig) ist.

Es ist aber auch kein Aufwand das Problem mit einer Zeile Script-Code zu beheben.

Gruß
HJH

Hallo HJH,

dann werde ich mal ein Script dazu basteln. Doof ist halt nur das wenn die 5V mal wegwaren sich die Rollos direkt bewegen.
Schön wäre halt wenn die Instance das machen würde indem Sie die aktuellen Variablenwerte beim Start in die Out Module schreiben würde. Egal ich werde dann mal ein Init Script Basteln.

Danke

Gruß
ef

Ehrlich gesagt, finde ich das schon happig, wenn beim Einschaltvorgang Zustände undefiniert sind. Ich finde das gefährlich.

mfG Franz

Das ist in der digitaltechnik durchaus üblich… Niemand hat gesagt, dass 1-Wire gut zum schalten eines Sicherheitssystems ist.

Durch externe Beschaltung der Bauteile kannst du nach Anlegen der Betriebsspannung einen Zusstand erzwingen. Bei 1-Wire, denke ich, ist das aber aufwendig durch die serielle Datenübertragung. Da hilft wohl nur eine Überwachung der Betriebsspannung, die dann ein init-Script triggert. Ist für mein Empfinden eine „Dirty-Lösung“ aber ohne großen Aufwand realisierbar.

Toni

Hallo,

naja, also üblich sind undefinierte Schaltzustände eigentlich nicht, da man normalerweise bei solchen Chips einen Reset Eingang hat den man über einen Kondensator anschaltet.
In meinem Fall ist das mit den Rollos kein Problem da ich ja auch Scriptfehler hardwaremässig über Koppelrelais abfange. Ist halt nur doof wenn IPS mal nicht an den Start kommt, weil dann alle Rollos in anderen Positionen stehen und dann auch nicht mehr manuell gefahren werden können, da ja eine Richtung aktiv ist.
Das Init Script wächst dann natürlich auch mit dem IPS.

Gruß

Oliver

Hallo Oliver,

der DS2408 besitzt einen speziellen Pin (RSTZ: Pin 10), der wahlweise als Strobe-Ausgang oder als Reset-Eingang verwendet werden kann. Standardmäßig ist dieser Pin nach dem Einschalten als Reset-Eingang konfiguriert. Ein kurzes LOW-Signal bewirkt, dass alle Ausgangstransistoren sperren, was wiederum zur Folge hat, dass die physischen Ausgänge wegen der PullUp-Widerstände auf HIGH gehen.

Dies ist aber möglicherweise für Deine Anwendung genau der falsche Zustand. In diesem Falle könnte man über ein Logik-Gatter die nachfolgende Rollo-Ansteuerung sperren bis der DS2408 seine Befehle erhalten hat.

Gruß
HJH

Wiedersprichst du dir nicht grad selbst? Was wenn du den Kondensator nicht angeklemmt hast? Dann werden die Ausgänge nicht resettet - ergo - Zustand undefiniert…

Und sag jetzt nicht der Kondensator wäre nicht eine externe Beschaltung :wink:

Toni

Hallo HJH,

doch, genau das ist es, denke ich. Habe gerade auch nochmal ins Datenblatt gesehen. Ich brauche im default Zustand ein True am Ausgang. Mit off meinen die ja wohl Transistor gesperrt. Dann sollte es auch passen. (Ich schalte mit False die Rollos). Also müsste ich ja nur einen 10k Widerstand von RSTZ nach 5V und eine 10nF Kondensator von RSTZ nach Masse legen oder?:smiley:

Hatte mich eh schon immer gewundert das dies in den Beispielschaltungen von Maxim nicht berücksichtig ist.:confused:

Gruß

Oliver

RC Kobination ! Habe mich vieleicht falsch Ausgedrückt. Zur Zeit ist kein Kondensator drin.

egal ob C oder RC… Alles Extern…

Aber lass gut sein… Ist eh nur Wortklauberei… :smiley:

Hallo Tonic,

ja ber das ist ja das Problem extern ! Die Module sind auf Hutschiene und schon installiert. d.H. jetzt alles abklämmen hochrusten und wieder anklemmen bähhhhhhhhhhh :mad:

Gruß
Oliver

Darum ja die „Dirty-Lösung“…

ein Script wolltest du eh schreiben. Dann leg doch an nem Velleman board oder so die 1W UB an und prüfe so ob digital High ist. Immer wenn die Variable auf high (true) wechselt lässt du dein Script triggern.

Würde gehen,

nur der WAF ist das Problem. Wenn der Strom ausfällt und Oliver ist auf der Arbeit und IPS kommt nicht hoch …
Da weist was los ist wenn kein Rollo mehr fährt . :rolleyes:

Na ich Bastel da mal den C ein. Ist auch sauberer.

Gruß

Oliver

Sauberer auf jeden Fall… Und nicht wirklich teuer.

Ich werd mir ne alte (defekte) USV irgendwo her organisieren und instandsetzen. Dann sollten zumindest einige Stunden IPS sauber weiterlaufenlaufen. Den 1W Bus damit zu befeuer wäre aber Unsinn, weil der ohne Strom für die Aktoren eh nix ausrichtet. Und dann wäre so ein Script schon sinnvoll.

Toni

Ich werde das mal mit steiner besprechen. Wenn nichts dagegen spricht (quasi wenn wir uns damit nicht in einem anderen Fall ins Bein schiessen), kann ich das ohne Probleme einbauen.

paresy

Mir wurde ne art ‚master‘ ‚slave‘ schaltung schon gefallen.
Die 5V (12V, 24V was auch immer) wird zusammen mit IPS geschaltet - das heisst, wenn IPS-bereit ist, dann nur die spannung auf den 1-wire drauf.
Wird IPS runter gefahren, geht die 1-wire spannungsverzorgung erst runter und dann IPS.

Ja, klar… Die Idee hat was. Ohne IPS brauchste im Regelfall ja auch kein 1-Wire.

Dann musste dir aber alle Werte aus dem 1-Wire Sensoren oder Aktoren merken. Oder zumindest nen Definierten Punkt Wählen können. Damit bei IPS-Neustart nicht alle Rolläden (Im Beispiel von ef) zufahren.

Toni

Hallo zusammen,

leider habe ich dieses Thema bei mir noch nicht abschließen können. Ich habe nun für den Reset Eingang eine Hochrüstung in meinen Module eingebaut.
Kombintation von 10k und 10nF Kondensator. Dadurch sollte ich eigentlich einen Reset des DS2408 beim einschalten den Stromversorgung hinbekommen.
Wenn ich nur die 5V aufschalte ist alles OK.:smiley: Nach starten von IPS werden jedoch die Ports ohne System auf True oder False gesetzt. Dies passiert aber nur wenn die 5V Versorgung einmal weg war und danach IPS neu gestartet wird.

Hat da einer ne Lösung ? Vieleicht muss ich doch ein Start INIT Script schreiben. :mad:

Gruß

ef

Kannst du das mal näher umschreiben? Wenn IPS dabei durchläuft passiert das nicht?

Toni