Forum: Haus & Smart Home Hausbus-Projekt - Rolladensteuerung - Gruppensteuerung?


von LukasW (Gast)


Lesenswert?

Hallo Forum,

ich plane gerade eine Rolladen-Gruppensteuerung für mein 
CAN-Hausbusprojekt.
Für die Kommunikation habe ich mir überlegt, dass mehrere BUS-Teilnehmer 
über Gruppen adressierbar sind. Ein BUS-Teilnehmer kann also einen Wert 
an eine Gruppenadresse schicken, alle anderen Teilnehmer entscheiden 
anhand ihrer Konfiguration ob sie die Nachricht auswerten oder nicht.

Ok, nun folgende vereinfachte Annahme: Ich habe einen Raum mit
- 2 Rolläden unterschiedlicher Höhe (Normales Fenster + Tür) an jewails 
einem Aktor
- 2 Taster-Kombinationen mit jewails einem "Hoch" und "Runter"-Taster, 
jewails an einem BUS-Teilnehmer

Zusammen also 4 Bus-Teilnehmer. Beide Taster-Kombinationen sind so 
programmiert, dass sie bei Betätigen der Taster eine Nachricht an die 
Gruppe "Rolladen" senden ("Runter/Stop" und "Hoch/Stop").

Drückt man nun einen Taster "Runter/Stop", sollen beide Rolladen runter 
fahren. Ein weiteres drücken auf einen der beiden Taster (egal welche 
Richtung) soll die Bewegung stoppen. Und hier kommt es zum Problem:

Sobald ein Rolladen die Endposition erreicht hat geht er in den Zustand 
Stop, während der andere noch im Zustand "Runter" ist. Wenn jetzt die 
Taste "Hoch/Stop" gedrückt wird bleibt der höhere Rolladen stehen (da 
der ja noch in der Abwärtsbewegung war), der kürzere fährt hoch!

Egal wohin ich die Logik verschiebe, so ganz einfach ist das Problem 
nicht zu lösen. Hat jemand einen Tip? Wie machen das Kommerzielle 
Systeme?

von LukasW (Gast)


Lesenswert?

Also, bei KNX geht das wohl ohne eine "Stopp" funktion, sonder mit einem 
Kurzzeit-Fahrbefehl (Fahrzeit zum Öffnen/Schließen einer Lamelle) der 
anschließend immer stoppt:

1. "Fahrt/Langzeit auf/ab" (langer Tastendruck)
2. "Stopp/Kurzzeit auf/ab" (kurzer Tastendruck)

Das wäre eine Lösung, wenn auch nicht so flexibel wie erhofft.

von Klaus (Gast)


Lesenswert?

Hallo Lukas,

woher weiss denn Deine Steuerung, welcher Motor noch fährt / welcher 
nicht ?

Bei kommerziellen Systemen ist es so, das das jeweilige Relais einfach 
für eine bestimmte Zeit geschaltet wird (wesentlich länger als der 
jeweilige Rolladen braucht)
Die Endabschaltung geschieht durch den Endschalter im jeweiligen Motor

Grüße

Klaus

von Martin L. (maveric00)


Lesenswert?

Hallo,

Rollläden haben immer einen Endstopp; damit ist die Laufzeit bei 
vollständiger Betätigung an sich egal. Man kann also einfach in beide 
Rollladensteuerungen die Laufzeit des langen Rollladens eintragen und so 
das Problem umgehen (Antwort hat sich mit vorhergehender überschnitten).

Schwieriger wird es, wenn Du Zwischenpositionen einspeichern und 
Anfahren können möchtest. Dann wäre eine Lösung, die Motorlaufzeit von 
der Befehlsakzeptanszeit zu trennen (also Laden 1 fährt vollständig in 
30 Sekunden, Laden 2 vollständig in 15 Sekunden aber beide 
interpretieren einen neuen Befehl, der innerhalb von 30 Sekunden nach 
dem letzten kommt, als Stopp-Signal).

Schöne Grüße,
Martin

von LukasW (Gast)


Lesenswert?

Zwischenpositionen will ich schon haben - die Idee mit der Entkopplung 
hatte ich auch schon.
Problem dabei ist, dass ich in meine Hardware eine automatische 
Laufzeitbestimmung implementiert habe, es ist also nicht ganz trivial 
die längste Laufzeit einer Gruppe zu bestimmen - zumal ja auch noch eine 
Zugehörigkeit zu unterschiedlichen Gruppen bestehen kann.

Aber vielleicht muss ich hier Abstriche machen, ist schließlich "nur" 
ein Eigenbauprojekt ohne wirtschaftliche Ziele ;-)

von Martin L. (maveric00)


Lesenswert?

Hallo,

falls Du doch automatisieren möchtest und überschüssige Controller- und 
Buskapazität hast, kannst Du auch mit einem Handshaking arbeiten:

Beim Losfahren meldet jedes Aktor-Gruppenmitglied "Ich fahr los" auf den 
Bus an die Gruppenadresse. Jedes andere Gruppenmitglied hört dies und 
zählt die Losfahrkommandos in einem Aktivitätszähler.

Beim Anhalten sendet jedes Mitglied ein "Ich haben fertig" an die 
Gruppenadresse. Jedes andere Mitglied dekrementiert daraufhin den 
Aktivitätszähler.

Kommt nun ein Kommando zum Umsteuern, stoppt jedes Gruppenmitglied den 
Rolladen, wenn der Aktivitätszähler >0 ist oder führt das Kommando aus, 
wenn der Aktivitätszähler = 0 ist.

Allerdings muss bei dieser Methode sichergestellt sein, dass kein 
einziges Buskommando verloren gehen kann (sonst geht die Synchronisation 
verloren). Als "Hosenträger" kann dann noch der Aktivitätszähler nach 
einer längeren Zeit ohne Kommando an die Gruppenadresse genullt werden, 
damit so ein Busfehler durch Nichtbetätigung des Schalters geheilt 
werden kann.

Schöne Grüße,
Martin

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.