"Unterprogramm" für Motorschutz erstellen?

Begonnen von Johaarnetz, 05 April 2016, 10:24:44

Vorheriges Thema - Nächstes Thema

Johaarnetz

Hallo liebes FHEM Forum.

Kurz vorweg:
Es soll eine Rollosteuerung für den Wintergarten werden. 4 Rollos, die über die GPIO-Schnittstelle des RasPis an ein 8-Kanal Solid State Relay-Board von SainSmart gesteuert werden.
Ich bin schon seit ein paar Wochen am basteln, habe mehrere Anleitungen durchgearbeitet und habe alle relevanten Daten in mein FHEM eingefügt. Es funktioniert! Ich kann meine Rollos von überall im WLAN steuern.

Nun zu meinem Problem:

Die Motoren dürfen zum Schutz nicht den Befehl zum Runter sowie Hoch fahren gleichzeitig bekommen.
Im Anhang ist ein Screenshot wie ich die Motoren "durchbrennen" lassen kann.  :o
Gerne würde ich das über eine art Unterprogramm lösen.:
Beispielsweise für Rollo hoch:
Wenn Eingang Rollo_hoch ist 1
dann Rollo_runter werde 0
warte 0,5sek
dann Ausgang Rollo_hoch werde 1

leider bin ich auf dem Gebiet totaler Anfänger. Wie kann ich das umsetzten?
MfG Johannes

Thorsten Pferdekaemper

Hi,

meiner Meinung nach sollte das per Hardware geregelt werden. Wahrscheinlich benutzt Du jeweils zwei Relais pro Rollo: Eins für Hoch und eins für Runter. Wenn beide an sind, dann gibt's einen Kurzschluss.
Die Schaltung sollte aber so sein, dass das von vornherein vermieden wird. Die beiden Relais müssen sozusagen in Reihe geschaltet werden. Das erste schaltet den Strom an und aus und das zweite ist für die Richtung zuständig. (Zumindest bei den meisten 230V-Rollladenmotoren.) Ich habe das mal im ersten Anhang schnell zusammengekritzelt. Natürlich braucht man dafür Wechsler, einfache Schließer gehen nicht.

Falls es sich um Gleichsstrommotoren mit Polwechselsteuerung handelt, dann sieht das ganze anders aus. In dem Fall muss man die Relais sozusagen "Rückwärts" einbauen. Siehe mein Gekritzel im zweiten Anhang.

Disclaimer: Ich gehe davon aus, dass jeder, der mit 230V rumspielt, auch weiß, was er (oder sie) da tut. Das, was ich geschrieben habe, ist nicht als Handlungsanweisung zu verstehen, sondern nur als Erklärung. Außerdem mache ich auch Fehler.

Gruß,
   Thorsten
FUIP

Johaarnetz

vielen Dank,

ich glaube auch das ich auf der Hardware-Seite absichern sollte. Ist immer nur eine Preisfrage, die mein Vater nicht hören will.

Als gelernter Elektroniker denke ich immer eher an eine Softwarelösung oder Digitaltechnik, die ich vor die Relays setzten kann.

fiedel

#3
Zitat von: Johaarnetz am 05 April 2016, 11:24:52
Als gelernter Elektroniker denke ich immer eher an eine Softwarelösung oder Digitaltechnik, die ich vor die Relays setzten kann.

Ich auch - aber nicht wenn ein 230 V Kurzschluss der worst case ist. Lass mal die Elektrik etwas "altertümlich" sein, sodass dann Flammen aus der Klemmdose hinter dem Vorhang schlagen... Als Elektroniker sind wir zwar theoretisch sogar Elektrofachkraft, aber für sowas kaufe auch ich immer "fertige" Eltako- Relais, oder zum Einsatzfall passende HM- 230V- Aktoren. Das ist den Preis dann mehr als Wert.

Gruß
Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Kuzl

Also ich meine zu wissen, dass so eine Verriegelung ebenfalls Hardwaretechnisch vorhanden sein muss, so habe ich das zuminderst gelernt.

Johaarnetz

Ja sehe ich auch vollkommen ein und kommt jetzt zum Einsatz.. :D

wollte aber trotzdem zusätzlich Programmtechnisch absichern. Es ist ja auch ein kleiner Klick weniger wenn bei eingeschaltetem Rollo_Hoch Signal das Rollo runter fahren kann und Rollo_Hoch von alleine abgeschaltet wird. Am besten nach einer kurzen Wartezeit um die Motoren zu schonen.

... und jetzt will ichs wissen wie das funktioniert ein Unterprogramm zu realisieren. :D

Rince

Wärst du so lieb und skizzierst, wie du das Board wo an dem Raspi angeschlossen hast?
Bekomme das nicht hin :(


Dafür bekommst von mir nen Tip:#
Leider hast du keinen Code gepostet, wie du das Rollo steuerst, bzw. welche Befehle da ablaufen.

Wenn du es so hast
set Rollo [rauf | runter | stop]

Dann wäre z.B. cmdalias dein Freund:

Ungefähr so:
define Rollo_schutz cmdalias set Rollo .* AS set Rollo stop;; sleep 1;; set $EVENT
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Johaarnetz

Hallo Rince,

viel Code habe ich auch nicht verwendet. außer:
define RolloVH RPI_GPIO 2   -  8 mal für die 4 Rollos, hoch und runter.

den Rest habe ich über die Weboberfläche durch Attribute hinzufügen gemacht. Geht natürlich auch als Code, als Anfänger war mir das dann so doch lieber.
Habe dafür auch mal nen Screenshot hier mit dazugepackt.

Füge die Zeichnung wie ich das Board an den RasPi angeschlossen habe hier mit an. Ob die einzelnen GPIO pins 100%ig mit meinem Aufbau übereinstimmen habe ich jetzt nicht geprüft, ist aber auch egal.
Hoffe du kannst alles erkennen.

frank

kurz nochmal ein entscheidender vorteil zur hardware verriegelung.
sollte mal ein relais "kleben" bleiben oder ein defekt in der ansteuerung eines der relais auftreten, kann eine software verriegelung den kurzschluss nicht verhindern.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Johaarnetz

leider kam es hier zu keiner Antwort. So ist das Projekt erst mal liegen geblieben, aber jetzt habe ich selbst eine Lösung gefunden.

Ich hoffe ich kann mit diesem Beitrag jemand anderem helfen.

Ich habe ein notify für jeden Zustand eines Dummys benutzt und darin eine Befehlskette ablaufen lassen.

define notify_RolloVorne_hoch notify Rollo_Vorne:Hoch set RolloVR off anschließend in der DEF im notify folgendes angefügt: ;sleep 0.5;set RolloVH on;

hierbei steht  RolloVR(Vorne Runter) und RolloVH(Vorne Hoch) für je einen GPIO pin, der so angesteuert und geschaltet wird.

Hardwareseitig wurde es in der Zwischenzeit durch Richtige Jalousie Relais abgesichert- sicher ist sicher!