Jump to content

Allgemeine Fragen zur Realisierung einer Rollosteuerung


Chris

Recommended Posts

  • Replies 60
  • Created
  • Letzte Antwort

Top Posters In This Topic

Du klemmst die Schalter komplett aus dem Stromkreis aus.

Mit den 220V haben sie nichts mehr zu tun. Dafür nimmst du die 5 V vom IO16 zum Schalten.

 

Anstelle der Schalter kommen die Ralais-Bricklets zum Einsatz.

 

Du steuerst dann sozusagen im Handbetrieb über die Schalter -> IO16 -> Programm -> Relais-Bricklet -> Motor deine Rollos an.

 

Und im Programm kannst du entscheiden wer Vorrang bei der Steuerung der Rollos hat. Entweder ein Programm oder deine Schalter.

 

Die beiden Stromkreise dürfen galvanisch nichts miteinander zu tun haben.

Sonst geht deine Hardware kaputt oder du weil du nen elektrischen Schlag bekommst.

Also Vorsicht.

Link zu diesem Kommentar
Share on other sites

Aaaaaaah. Jetzt verstehe ich (hoffentlich) was du meinst. TOLLE IDEE!!! Danke dafür! Meinst du das so wie im Anhang dargestellt?

 

Falls ja, ist es dann nicht so, dass wenn der Server (aus welchen Gründen auch immer) ausfällt, ich die Rollos gar nicht mehr bewegen kann? Das wäre nämlich ein echtes Problem. Ich sehe es schon kommen: Meine Frau alleine zu Hause und der Server funktioniert nicht -> die Rollos lassen sich nicht runter-/hochfahren.  :o Dann darf ich mir aber was anhören  ;D

Schaltung2.thumb.png.133dbeb5c2abc0be15f7e364dcc2ecd3.png

Link zu diesem Kommentar
Share on other sites

Ich denke das IO16 kannst du sogar knapper beschalten, zumindest wenn ich deinen Schalter richtig verstehe:

Mitte des Schalters mit dem 5V-Ausgang des IO16 verbinden (der ist immer High),

die anderen beiden enden wie gehabt. Insbesondere verstehe ich im aktuellen Design nicht, warum du den mittleren Kontakt des Schalters zweimal mit dem IO16 verbindest.

 

Aber vorsicht: So viel Ahnung habe ich gar nicht von Elektronik :D

Link zu diesem Kommentar
Share on other sites

Der Schalter hat die Position Hoch/Aus/Runter. Im Prinzip ein Wippschalter mit 0-Stellung, wobei bei der 0-Stellung eben weder der linke noch der rechte Kontakt geschlossen wird.

 

Aber vorsicht: So viel Ahnung habe ich gar nicht von Elektronik :D

Da sind wir schon mal 2 ;)

 

Mitte des Schalters mit dem 5V-Ausgang des IO16 verbinden (der ist immer High),

Achso? Mir ist halt nicht ganz klar, wie die Ein/Ausgänge des IO16 miteinander verbunden sind. Wenn das so geht, wäre es natürlich umso besser.

 

Insbesondere verstehe ich im aktuellen Design nicht, warum du den mittleren Kontakt des Schalters zweimal mit dem IO16 verbindest.

Das hat alles damit zu tun, wie ich die Schaltung des IO16 verstanden habe. Ich bin davon ausgegangen, dass jeweils zwei nebeneinanderliegende I/Os (A/Bi und GND) miteinander verbunden sind. Die Pärchen untereinander aber eben nicht. Da ich ja immer einen Kreislauf bilden muss. Bei näherer Betrachtung der Bilder sehe ich aber, dass es sich immer so verhält: [Ai,GND, Ai+1],[Ai+2,GND,Ai+3],...

Kann ich also davon ausgehen, dass ich die linke Ader vom Schalter (hoch) mit A0, die Mittlere mit dem Output an der Seite und die rechte Ader (runter) mit A1 verbinden kann? Dabei müssten dann A0 und A1 als Input eingestellt werden, richtig? Wenn das so korrekt ist, könnte man sich in der Tat in meinem Fall mit 7 Rollos ein Master Brick und ein IO16 Bricklet sparen.

 

Eines bleibt aber noch offen. Und das wäre aktuell sogar die wichtigste Frage: Gehe ich recht in der Annahme, dass so die Rollos nicht bewegt werden können, solange der Server aus ist?

Link zu diesem Kommentar
Share on other sites

  • 1 month later...

Hallo zusammen,

 

mittlerweile habe ich das kleine Projekt mit der Rollosteuerung umgesetzt. D.h. Kabel sind verlegt, entsprechende Schalter verbaut und Software ist geschrieben. Es ist so realisiert, dass ich pro Rollo einen Doppelwippschalter habe. Der rechte Wippschalter pro Rollo ist für die Umschaltung zwischen "Manuell" und "Automatik". Der Linke für die Manuelle steuerung (hoch oder runter).

 

Zur Erinnerung ich schalte mit dem DualRelay Bricklet pro Rollo die Stromzufuhr für "Hoch" oder "Runter".

 

Ich habe nun leider ein Problem mit den Bricks/Bricklets:

Diese scheinen sich recht häufig einfach aufzuhängen. Ich habe keine Möglichkeit mit dem BrickViewer eine Verbindung herzustellen. Die einzige Möglichkeit ist das USB Kabel rauszuziehen und wieder einzustecken oder den kleinen Reset Knopf an eines der MasterBricks zu betätigen. Da das System mir Arbeit erleichtern soll und ich nicht jeden Tag den Reset knopf drücken will, wollte ich mal fragen, ob das normal ist und/oder ob es dafür eine Lösung gibt.

 

Edit: Im EventLog von Windows finde ich folgenden Eintrag:

Could not receive from client (socket: 596, peer: 192.168.111.99), disconnecting it: WSAECONNRESET (71010054)

Link zu diesem Kommentar
Share on other sites

Hallo Chris,

 

was heißt

 

Ich habe keine Möglichkeit mit dem BrickViewer eine Verbindung herzustellen
Funktioniert dann das Connect schon nicht? Oder funktioniert das Connect du bekommst aber kein Brick, Bricklet angezeigt?

 

Hast du schon Varistoren versucht einzusetzen? Siehe: http://www.tinkerforge.com/en/doc/Hardware/Bricklets/Dual_Relay.html#inductive-load-switching

 

Wenn du uns Infos über deine Motoren (Spannung, benötigter Strom) gibst, dann helfe ich dir gerne bei der Dimensionierung.

 

Grüße

Link zu diesem Kommentar
Share on other sites

@FlyingDoc:

Ich habe diesem Post mal die Schaltung eines Rollos beigefügt. Insgesamt sind es aber 7 Rollos. D.h. 2 MasterBricks an 7 DualRelay Bricklets.

Wegen der Spannungsschwankungen: Dann müsste ja die USB Buchse des ServerPCs diese verursachen. Kann das wirklich sein?

 

@batti:

Das ist unterschiedlich. Überwiegend funktioniert der Connect über den BrickViewer nicht. Ich drücke auf den Button aber es passiert nichts. Es ist aber auch schon mal vorgekommen, dass der Connect noch funktioniert hat, aber nur eines der MasterBricks erkannt wurde.

 

Zum Thema Varistoren. Ja, hatte auch schon die befürchtung, dass es daran liegen könnte. Aber kann das wirklich sein? Ich kann den Absturz nicht reproduzieren. Unmittelbar nach einem Reset kann ich die Rollos wunderbar steuern - sowohl über mein Programm, als auch über den BrickViewer. Passt das Verhalten zu einem Varistoren Problem?

Schaltung_mit_Doppel_Wippschalter.png.e29f390a8fd9bacb2910c8e2071d424a.png

Link zu diesem Kommentar
Share on other sites

Das Verhalten passt zum Varistoren Problem. Der Schaltvorgang der Motoren produziert so viel Störungen, dass sich die Hardware aufhängt. Da hilft dann nur ein Reset oder einmal abziehen.

 

Wir haben da auch schon die wildesten Sachen erlebt. Falls du immer nur mit einem Dual Relay testest, dann tausche es bitte mal aus.

Wie gesagt wenn du mir etwas zu deinen verwendeten Motoren sagst, dann kann ich mal gucken was man da so an Varistoren etc. einsetzen kann.

 

Grüße

Link zu diesem Kommentar
Share on other sites

Edit: Im EventLog von Windows finde ich folgenden Eintrag:

Could not receive from client (socket: 596, peer: 192.168.111.99), disconnecting it: WSAECONNRESET (71010054)

 

Das bedeutet, dass ein zu brickd verbundenes Programm (brickv, oder dein eigens Steuerprogramm) die TCP/IP Verbindung aktiv beendet hat und dies von der brickd Seite nicht erwartet war, da noch Aktionen ausstanden. Das kann z.B. sein, dass noch Daten zu lesen waren oder ähnliches.

 

Das kann mit deinem Relais Problem zusammenhängen, muss es aber nicht. Es kann auch einfach nur auf ungünstiges Verhalten in deinem Programm hindeuten. Schwer zu sagen nur aus der Fehlermeldung heraus :)

Link zu diesem Kommentar
Share on other sites

...Falls du immer nur mit einem Dual Relay testest, dann tausche es bitte mal aus.

Nein, Teste immer mit der vollen Schaltung.

 

Wie gesagt wenn du mir etwas zu deinen verwendeten Motoren sagst, dann kann ich mal gucken was man da so an Varistoren etc. einsetzen kann.

Leider ist das Einzige, das ich dir über den Motor sagen kann, dass die Steuerung über 230V läuft. Und in der Tat verursachen die Motoren recht viel Störungen. Hatte das schon an anderen Stellen gemerkt und ich habe das Gefühl, dass die Bricklets diese durch einen Bruchteil einer Sekunde in der LED zeigen. Mehr als du in der Schaltung meines vorigen Posts ablesen kannst, kann ich dir leider nicht sagen. Die Rollos waren direkt mit den Fenstern dabei.

Link zu diesem Kommentar
Share on other sites

Edit: Im EventLog von Windows finde ich folgenden Eintrag:

Could not receive from client (socket: 596, peer: 192.168.111.99), disconnecting it: WSAECONNRESET (71010054)

 

Das bedeutet, dass ein zu brickd verbundenes Programm (brickv, oder dein eigens Steuerprogramm) die TCP/IP Verbindung aktiv beendet hat und dies von der brickd Seite nicht erwartet war, da noch Aktionen ausstanden. Das kann z.B. sein, dass noch Daten zu lesen waren oder ähnliches.

 

Das kann mit deinem Relais Problem zusammenhängen, muss es aber nicht. Es kann auch einfach nur auf ungünstiges Verhalten in deinem Programm hindeuten. Schwer zu sagen nur aus der Fehlermeldung heraus :)

Das stimmt schon. Ich trenne aktiv die Verbindung, nachdem das Programm fertig ist. Sollte man das nicht? Auf der anderen Seite, wenn die Bricks nicht abstürzen, tritt im Windows Event Log der Fehler nicht auf. Interessanterweise merkt das Programm teilweise gar nicht, dass die Bricks abgestürzt sind und arbeitet ganz normal weiter (setzt fleißig die Zustände der Relais), ohne dass eine Exception geworfen wird.

 

Eben habe ich noch diese Warnung im EventLog erhalten:

Handled only 0 of 1 ready USB event source(s)

 

Da ist das Programm dann auch abgestürzt, als es versucht die Verbindung zu trennen. Ich gehe dabei davon aus, dass der BrickDaemon gemerkt hat, dass zumindest ein MasterBrick nicht mehr da ist und daher die Verbindung nicht mehr bestehen konnte. Als mein Programm dann versuchte aktiv die Verbindung zu trennen, wurde eine Exception geworfen.

 

EDIT: Was passiert eigentlich, wenn das Programm die Verbindung nach der Ausführung nicht aktiv trennt? Der Prozess wird einfach nur geschlossen. Merkt der Daemon irgendwann, dass die Verbindung weg ist und schließt diese?

Link zu diesem Kommentar
Share on other sites

Interessanterweise merkt das Programm teilweise gar nicht, dass die Bricks abgestürzt sind und arbeitet ganz normal weiter (setzt fleißig die Zustände der Relais), ohne dass eine Exception geworfen wird.

 

Das kann passieren wenn du nur Setter und keine Getter nutzt. Du kannst aber die Setter so einstellen, dass auch diese auf eine Bestätigung warten und sonst eine TimeoutException werfen, müsste in der Doku zu finden sein.

 

Was passiert eigentlich, wenn das Programm die Verbindung nach der Ausführung nicht aktiv trennt? Der Prozess wird einfach nur geschlossen. Merkt der Daemon irgendwann, dass die Verbindung weg ist und schließt diese?

 

Wenn der Prozess normal geschlossen wird, dann wird in der Regel das Betriebssystem hinter dir aufräumen und die Verbindungen beenden. Bei einer Zwangsbeendigung des Programms oder Stromausfall würde das OS nciht aufräumen, die Verbindungen würden also halb-offen bleiben. Das würde der Brickd nur dann merken, wenn er Daten sendet (dann kommt nämlich das WSAECONNRESET).

Link zu diesem Kommentar
Share on other sites

  • 1 month later...

Das Problem mit den Abstürzen besteht nach wie vor. Hatte leider in letzter Zeit keine Zeit gefunden mich darum zu kümmern und musste so lange wieder per Hand schalten.

 

Heute habe ich mir aber endlich die Zeit nehmen können ein paar Messexperimente der Rollos zu machen. Ich habe zwar 7 Rollos aber nur zwei Arten. Die Eine ist ein normales Fensterrollo die Andere für ein großes Fenster (von Fußboden zur Decke). Leider musste ich feststellen, dass mein Messgerät kein Möglichkeit bietet die Stromstärke für Wechselspannung zu messen. Deswegen musste ich mir mit einem handelsüblichen Verbrauchsmesser behelfen. Dieser löst auf eine Nachkommastelle auf. Keine Ahnung ob das für eine Berechnung der Varistoren reicht. Folgende Messungen habe ich gemacht:

 

RolloAktionmax. Verbrauch (in W)Spannung (V)Stromstärke (A)
großhoch85 - 90224 - 2260,39
großrunter85-90,4224 - 2260,4
kleinhoch86 - 90225 - 2260,39
kleinrunter86 - 92225 - 2260,39

 

Auffällig ist, dass die Stromstärken teilweise nicht zu den Verbräuchen passen (W=V*A). Evtl. liegt das am Messgerät. Interessant ist auf jeden Fall, dass während des Fahrens alle Rollos (egal ob groß oder klein) irgendwo um die 88W liegen. Manchmal - und das nicht reproduzierbar - gibt es eben Ausschläge, so dass ich einmal über 92W (und das sogar bei einem kleinen Rollo) ablesen konnte. Sehr interessant finde ich auch, dass die Rollos tendenziell beim Runterfahren etwas mehr verbrauchen als beim Hochfahren.

 

Reichen die Daten, damit ihr mir die Varistoren berechnen könnt? Würde mich da sehr drüber freuen. :)

Link zu diesem Kommentar
Share on other sites

Hi batti,

 

vielen Dank für deine Antwort. Nun bin ich aber etwas verunsichert. Wenn ich bei Conrad nach Varistoren suche, wählt man diese nach der Schwellspannung aus. Meines Verständnisses nach wäre das in meinem Fall (und unter Berücksichtigung des Angebots) 240V. Kann es sein, dass du die Werte für die Lösung mit einem Wiederstand und einem Condenstar berechnet hast?

Gruß

Link zu diesem Kommentar
Share on other sites

Hi Chris,

 

hatte überlesen, dass du einen Varistor einsetzen wolltest.

Meine Antwort bezog sich auf ein R/C Glied. Bzgl. der Dimensionierung eines Varistors habe ich schon verschiedenes gelesen. Es gibt auch tolle Formeln, wenn man denn z.B. die Induktivität seines Motors kennt etc.

 

In deinem Fall würde ich mir zum Testen einfach mehrere Varistoren, mit verschiedenen Spannungen bestellen. Vrms sollte über deiner gemessenen Spannung liegen, damit der Varistor nicht im normalen Betrieb leitet. Würde also sowas wie 240V und 270V bestellen und mit der höheren Spannung anfangen zu testen. Strom mäßig wüsste ich jetzt nicht wie wir deinen Varistor berechnen wollen ohne Kenndaten des Motors etc. D.h. ich würde hier ggf. einfach überdimensionieren und mir einfach dicke Varistoren suchen.

 

Grüße

Link zu diesem Kommentar
Share on other sites

Hi Batti,

 

vielen Dank mal wieder für deine Hilfe. Kannst du mir noch einmal kurz ein paar Dinge erklären?

 

Ich hatte den Eindruck du warst etwas verwundert, dass ich einen Varistor nehme. Eignet sich in meinem Fall ein R/C Glied besser?

 

Sofern ich den Sinn des Varistors richtig verstanden habe, soll er die Spannungsspitze abfangen, die beim Schalten des Motors passiert. Wieso wäre es dann nicht sinnvoller den 240V Varistor (B72214P2151K101) zu nehmen. So wie ich es verstehe, würde ich alle Spannungsspitzen über 240V abfangen. Zwischen meinen gemessenen 226V und den 240V des Varistors ist doch immer noch genug Luft. Damit schütze ich auch gleichzeitig das Dual Relay Bricklet, das nur bis 240V zugelassen ist.

Link zu diesem Kommentar
Share on other sites

Ich hatte den Eindruck du warst etwas verwundert, dass ich einen Varistor nehme. Eignet sich in meinem Fall ein R/C Glied besser?
Bin auch kein Experte. Ob es sich besser eignet kann ich dir nicht sagen. Ich war irgendwie der Meinung das du eins einsetzen wolltest. Du kannst zum Testen ja mal die genannten Werte kaufen.

 

Sofern ich den Sinn des Varistors richtig verstanden habe, soll er die Spannungsspitze abfangen, die beim Schalten des Motors passiert.

Korrekt. Bei einer gewissen Spannung "bricht der durch" und schließt die Spannungsspitze kurz.

 

Ich habe mal das Datenblatt aufgemacht, der B72214P2151K101 scheint mir der falsche Typ zu sein, da VRMS =150V und VDC=200. Zusätzlich ist PMAX=0.6W (ist ein recht kleiner Typ).

 

Besser wäre dieser hier: B72220S0231K101

VRMS = 230V, VDC=300 und Pmax=1W

 

Wichtig ist das VRMS über deiner gemessenen Spannung liegt.

Link zu diesem Kommentar
Share on other sites

  • 2 weeks later...

Mal eine Frage zu deiner Schaltung allgemein...

 

Was passiert eigentlich, wenn der Rolladen tatsächlich mal gleichzeitig über beide Leitungen (hoch und runter) versorgt wird? Weiß das jemand?

 

Ich hätte jetzt zur Sicherheit die Relais hintereinander geschaltet - eines als AN/AUS-Schalter und eines für die AUF/AB-Auswahl (verstanden was ich meine?)- damit wäre eine parallele Versorgung beider Leitungen auch im Fehlerfall ausgeschlossen.

 

greetz

Carsten

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.


×
×
  • Neu erstellen...