Algorithmus für Fahrzeiten bei Rolladenaktoren

Begonnen von Prof. Dr. Peter Henning, 16 April 2022, 05:17:28

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Ich habe mich wieder einmal darüber geärgert, dass ich mit den drei Registern driveUp, driveDown und driveTurn herumprobieren musste, um eine einigermaßen angepasste Rollladensteuerung hinzubekommen. Kennt irgendjemand den Algorithmus, nach dem die HM-Aktoren aus diesen drei Registern die Fahrzeit z.B. für eine Stellung 50% berechnen?

LG

pah

zap

Ich weiß nicht, ob es dazu einen Algorithmus gibt. Ich vermute, dass hier rein die Fahrzeiten verwendet werden. Je öfter Du den Rollladen auf Werte ungleich 0 oder 100 fährst, desto größer wird die Abweichung. Deshalb gibt es die automatische Kalibrierfahrt.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Prof. Dr. Peter Henning

ZitatIch weiß nicht, ob es dazu einen Algorithmus gibt
Aber ich  8)

Martin hat vor 10 Jahren hier etwas geschrieben: https://groups.google.com/g/fhem-users/c/0td1qVIUI8M?pli=1

Danach wird die "driveTurn"-Zeit mal addiert und mal nicht.

Stimmt aber mit meinen Messungen nicht überein...

LG

pah

martinp876

es kann keinen allgemeingültigen Algorithmus geben, wenn man das System betrachten. Eigentlich ist es leicht zu verstehen.
Der Aktor:
klar ist, dass der Aktor ausschliesslich den Motor für eine gewisse Zeit einschaltet. Mehr kann HM auch nicht wirklich tun, ohne Kenntnisse des Motors oder des Rollos.

Der Rollo:
Nehmen wir an, der Motor dreht immer mit der gleichen  Drehzahl, wenn er "an" ist. Dann wird das Rollo schneller, wenn es "oben" ist. Liegt schlicht daran, dass der Durchmesser der "Wickelung" grösser ist. Bei gleicher Drehzahl wir es mehrfach schleller, je nach Rollo-länge und dicke. Bei Jalousien ist der Effekt sicher deutlich kleiner.
=> man kann seinen Rollo vermessen und das ganze rechnen. Könnte man einbauen, sicher spassig. Wird aber einige Anwender verwirren.

Die Drehgeschwindigkeit:
im Idealfall läuft der Motor konstant, unabhängig von der Belastung. Habe ich einen breiten, schweren, langen Rollo wird der Motor unterschiedlich belastet. Hält der Motor seine U/min bei den unterschiedlichen Belastungen? nun, könnte sein... hängt vom Motor ab. Rollos werden ggf schneller, wenn sie "oben" sind (leichter) während Jaloisien langsamer werden.

Anfahren/stoppen:
mit absoluter Sicherheit beschleunigt der Motor nicht in Null-Zeit. Bremsen sicher auch nicht. Anfahren macht also einen offset. Der wird sich - auch wieder sicher - unterscheiden ob man hoch oder runder fährt. Will man das berechnen muss man das Anlauf-verhalten kennen .... und die Belastung. Also jedes Rollo separat. Die Belatung unterscheidet sich nach Stellung des Rollos. Ist der Rollo fast oben ist Anfahren-Hoch und Anfahren-Runter fast gleich (es sei den, der Motor ist nicht symetrisch!). Ist der Rollo fast unten sieht es anders aus.
=> Die Anzahl der steps ist also ein entscheidender Faktor.

HM hatte das alles betrachtet - und keine Lösung. Man kann das daran erkennen, dass die Fahrzeit hoch und runter unterschiedlich sind. Weiter dass man Kalibrierfahrten machen/automatisch programmieren kann.  Mehr ist kaum drin.

==> Wie oben beschrieben ist das Problem, dass weder der Motor noch das Rollo sinnvoll zu beschreiben sind.

Was HM nun wirklich schlecht gemacht hat (das einzige, was mich aufregt) ist, dass man im "Kommando-mode" nur Prozente für die Steuerung angeben kann. Kleinster Schritt ist "0,5% hoch". Damit hängt man von der Rollo-lange ab und erhält  - selbst bei gutmütigen Motoren - andere Ergebnisse je nach Rollo-Länge.

Was könnte tun:
erst einmal muss man das System vermessen, dann kann man linear interpolieren. Ich meine 4 Punkte sollten reichen. Man muss ggf beide Richtungen separat vermessen. Beispiel (immer von ganz oben anfangen!!!!)
Fahren von top bis 20%"virtuell" entspricht 22,5% real
Fahren von top bis 40%"virtuell" entspricht 44% real
Fahren von top bis 60%"virtuell" entspricht 62.5% real
Fahren von top bis 80%"virtuell" entspricht 81% real
Fahren von top bis 100%"virtuell" entspricht 102% real ##die Fahrzeit "down" ist immer länger als die reale Zeit. Der Motor stopt gemäß Endschalter, nicht Aktor!!!!

Nun das ganze von Bottom to Top. Hier auch immer von ganz unten anfangen.

De Formel: je nach aktuellem Stand (30% aktuelle Öffnung) wird die passende Formel genutzt, um auf die bspw. gewünschten 60% zu kommen.

weiter kann man für den Motor noch 0,5% für Anfahren/Bremsen  addieren.

Industriemaschinen/Steuernungen kennen ihre Moroten und Systeme. Anhand der bekannten / bestimmten Systemparameter können Aufzüge ohne Sensoren auf 0,5cm genau stoppen! Aber nur, wenn das System ausgemessen ist!

Zusammenfassung:
eigentlich sollten jedem nach kurzen Nachdenken die Grenzen des HM Systems ohne Sensoren und System-kenntnissen schnell klar sein. Mir ist es nun nicht wichtig, ob der Rollo bei 45% oder 48% oder 51% stoppt. Die Sonne soll mich nicht blenden. Der Aufwand lohnt sich also kaum, ist eher akademisch. Mein Problem der Neigung der Jalousie-Lammelen kann leider nicht cool gelöst werden, da die Jalousie-aktoren erst später auf den Markt kamen.

=> eine Wiederhlgenauigkeit erwarte ich schon - in den oben genannten Grenzen (Anzahl fahrten)

Prof. Dr. Peter Henning

Die Problematik ist mir klar, und die Messwerte habe ich schon seit längerer Zeit. Was ich eigentlich wissen wollte ist, wie die Aktoren aus den drei Parametern die Fahrzeit bestimmen.

LG

pah

martinp876

Das ist einfach.  Die angabe ist Prozent.  Wenn 60s drive down und du 10% fährst wird 6s eingeschaltet.
Nach oben könnte der Motor langsamer sein,  also ist 100% ggf ein anderer Wert.
Alles andere wäre Quatsch da eq3 Annahmen treffen müsste die so gut wie nie stimmen.
Turn ist schlicht die entladezeit beim umschalten.  Wird zwischen auf und ab ohne Wartezeit umgeschaltet wird die Energie aus den Spulen die Relais verbrennen. Geht echt fix. Die Standart 0.5s würde ich nie unterschreiten. Bei großen Motoren verlängern.  Manuelle Schalter haben das Problem kaum da man nur schwer schneller ist.
Turn geht also garnicht in die Berechnung ein.
Die register sind nicht in Prozent sondern absolut zu beschreiben.