HM-LC-Bl1-FM für Superrollo GW60 - Rückkopplung?

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Antworten
Gnu_
Beiträge: 46
Registriert: 01.05.2020, 08:44
System: CCU
Hat sich bedankt: 1 Mal

HM-LC-Bl1-FM für Superrollo GW60 - Rückkopplung?

Beitrag von Gnu_ » 29.10.2021, 20:46

Hallo zusammen,

ich habe mich an ein Projekt "Elektrischer Gurtwickler HomeMatic-fähig machen" gewagt. Dazu habe ich ein Superrollo GW60 gekauft.

Erst im Nachhinein habe ich festgestellt, das hier im Forum doch recht viel schon mit dem GW60 gearbeitet wurde (Ganz berühmt ist wohl der Umbau von Björn https://www.hempel-online.de/umbau-supe ... atic-.html).

Statt einem HM-MOD-Re-8 wollte ich jetzt einen Arduino Pro Mini mit dem "HM-LC-Bl1-FM" (https://github.com/pa-pa/AskSinPP/blob/ ... Bl1-FM.ino) Sketch flashen.

Dieser hat zwei Ausgänge (UP_PIN 16 und DOWN_PIN 17) um mittels Optokoppler die Rollos rauf und runter fahren zu lassen. Soweit so gut :D

Es gibt aber auch zwei weitere Pins (UP_BUTTON_PIN 6 und DOWN_BUTTON_PIN 3). Hierzu meine Fragen:

1) Verstehe ich richtig das dies zwei Eingänge sind? D.h. ich könnte zwei Schalter verwenden, um quasi die Rolladen rauf und runter fahren zu lassen?
2) Wenn ja, dann könnte ich doch die beiden originallen Tasten des GW60 dazu verwenden? Jetzt kommt aber der Haken: Der Arduino steuert ja das Rollo über diese beiden Tasten. Das würde doch dann eine "Kettenreaktion"/"Rückkopplung" verursachen, in dem der Arduino mittels UP_PIN den UP_BUTTON_PIN selbst drückt?
3) Könnte ich diese "Rückkopplung" im Sketch vermeiden? Z.b. die interrupts auf die beiden Eingangs buttons ignorieren, solange gerade selbst mit den Beiden Ausgängen gesteuert wird?

4) Die fragliche Code-Stelle sehe ich hier:

Code: Alles auswählen

virtual void switchState(uint8_t oldstate,uint8_t newstate, uint32_t stateDelay) {
    BaseChannel::switchState(oldstate, newstate, stateDelay);
    if( newstate == AS_CM_JT_RAMPON && stateDelay > 0 ) {
      //TODO Disable interrupt
      motorUp();
    }
    else if( newstate == AS_CM_JT_RAMPOFF && stateDelay > 0 ) {
     //TODO Disable interrupt
      motorDown();
    }
    else {
      motorStop();
     //TODO Enable interrupt again
    }
  }
  
Ich habe meine Hardware/Prototypen noch nicht ganz aufgebaut. Werde es aber wahrscheinlich morgen testen können.

Sind meine Gedankengänge richtig? Könnt ihr mir bitte dabei helfen?

Viellen Dank, euer

Gnu

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: HM-LC-Bl1-FM für Superrollo GW60 - Rückkopplung?

Beitrag von jp112sdl » 29.10.2021, 21:19

Schau dir mal https://github.com/pa-pa/AskSinPP/tree/ ... -Bl1-Velux und
https://forum.fhem.de/index.php/topic,1 ... msg1049402 an.

Vielleicht ist das auch direkt passend für das GW60

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Gnu_
Beiträge: 46
Registriert: 01.05.2020, 08:44
System: CCU
Hat sich bedankt: 1 Mal

Re: HM-LC-Bl1-FM für Superrollo GW60 - Rückkopplung?

Beitrag von Gnu_ » 01.11.2021, 10:17

Hallo,

Danke für den Sketch. Aber ich denke dieser hat genau das selbe Problem?

Ich habe jetzt mal meine Verkabelung angefangen aufzuzeichnen. Teil 1 ist der Weg vom Arduino zum Rollo. Dieser hat mit dem anderen Sketch auch funktioniert.

Bild 1: Arduino zu Rollo:
Arduino hat UP_PIN=A1 und DOWN_PIN=A2. Damit werden die zwei Optokoppler geschalten, welche jetzt im Bild die zwei LEDs betreiben (In echt ist es ja der Rollo-Motor) Die zwei Schaltkreise sind getrennt, den die Rollo laufen mit 24V und der Arduino mit 5V bzw 3,3V. Die zwei Taster sollen nach wie vor selbst das Rollo Steuern können.
Teil1_Arduino-zu-Rollo.PNG
Wie kann jetzt aber die zwei Taster abgreifen? Dazu brauche ich doch zwei weitere Optokoppler (so wie in Bild2?)
Teil2_Rollo-zu-Arduino.PNG
PS: Bilder made with fritzing

Gnu_
Beiträge: 46
Registriert: 01.05.2020, 08:44
System: CCU
Hat sich bedankt: 1 Mal

Re: HM-LC-Bl1-FM für Superrollo GW60 - Rückkopplung?

Beitrag von Gnu_ » 07.11.2021, 11:11

Hallo zusammen,

ich konnte das Problem mit der Rückkopplung nicht "Software-seitig" lösen. Deswegen habe ich es jetzt "Hardware-seitig" gemacht. Dazu habe ich die beiden Taster von der Rollo-Platine/Logik getrennt. Dadurch wird bei Tastendruck nur ein Signal an den Arduino gesendet, und keines mehr ans Rollo. Dadurch wird, wenn der Arduino das Rollo steuert, ebenfalls kein Tastendruck mehr ausgelöst und die Rückkopplungsschleife ist gebrochen!

Danke nochmal an alle, und bis zum nächsten Selbstbau-Projekt! =)

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“