HM-LC-Dim1PWM-CV

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

Moderator: Co-Administratoren

wackerer Held
Beiträge: 9
Registriert: 14.10.2018, 11:13
Wohnort: Koblenz

HM-LC-Dim1PWM-CV

Beitrag von wackerer Held » 14.10.2018, 12:06

Hallo zusammen!

Erst einmal vielen Dank für das tolle Projekt hier. Der Nachbau ist durch die Beispiele echt einfach, und durch die direkten Verknüpfungen ergibt sich eine für mich bisher unerreichte Ausfallsicherheit und damit verbundene enorme Steigerung des WAF :D !!
Leider bin ich schon an meine Grenzen gestoßen. Ein einfacher LED Dimmer soll durch das Beispiel HM-LC-Dim1PWM-CV ersetzt werden. Die Steuerung über CCU klappt auch wunderbar. Leider funktioniert der Taster (Config-Button) über den als Wandtaster auch hauptsächlich gesteuert werden soll nicht. Kurzer Druck schaltet wie erwartet ein bzw. aus. Langer Druck versetzt auch nach Ablauf der einstellbaren Reset-Zeit den ProMini leider in den Anlern-Modus. Es gibt also keine Möglichkeit über langen Taster Druck zu dimmen.
Auch wenn ich einen zweiten, als Taster konfigurierten ProMini direkt verknüpfe funktioniert es nicht richtig. Mit der automatisch von der CCU angelegten Standartverknüpfung „Taster-Dimmaktor“ klappt das Prinzip mit gaaaanz langsamer Dimmung (nicht praktikabel). Stellt ich das Profil „Dimmer ein/aus & heller/dunkler“ ein ergibt sich bei langem Taster druck ein mildes Flackern (dimmt immer eine Stufe rauf – dann direkt wieder runter). Tasterdruck simulieren in der CCU funktioniert auch nicht. Hat hier jemand ein Tipp?

Und gleich noch eine Frage! Es gibt ja reichliche Möglichkeiten um Sensordaten in die CCU zu bekommen. Gibt es auch einen Weg für Werte (z.B. 8-Bit Dimmwerte) nach „Draußen“ z.B. über I2C oder serielle Schnittstelle mit mehr als einem Kanal? Durch entsprechend nachgeschaltete Hardware (Phasenabschnittsdimmer, I2C 16-Kanal-PWM-Modul) könnten dann mehrere Geräte/Kanäle bedient werden. Also der HM-LC-Dim1PWM-CV mit mehreren virtuellen Kanälen? Mein Ziel wäre es dann einen HM-LC-Dim1T-FM nachzubauen ggf. mit mehreren Kanälen. Also CCU-> Dimmwert-> ProMini-> I2C-> „Atmegadimmer“ mit ZC und Phasenabschnitt.

Viele Grüße,
Tim

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

Re: HM-LC-Dim1PWM-CV

Beitrag von papa » 14.10.2018, 12:46

Welchen Sketch benutzt Du denn ? Es könnte sein, dass mein Beispiel im Master derzeit Probleme hat/macht, da ich mächtig an den Dimmer-Sachen geschraubt habe. Ich nutzte als Dimmer jetzt einen STM32, da dieser über ausreichend 16bit PWM-Kanäle verfügt. Hardware siehe hier Platine für LED PWM Dimmer. Als Software kommt der Sketch aus stm32/HM-DW-WM zum Einsatz. Hier kann man einfach einen Dreh-Encoder anschliessen und dann die Helligkeit schön mit einem Drehknopf einstellen.
Anfragen zur AskSin++ werden nur im Forum beantwortet

wackerer Held
Beiträge: 9
Registriert: 14.10.2018, 11:13
Wohnort: Koblenz

Re: HM-LC-Dim1PWM-CV

Beitrag von wackerer Held » 14.10.2018, 12:54

Vielen Dank für die Antwort. Das Verhalten ist sowohl bei der Master als auch bei der V3- Version das gleiche.

Das stm32 - Beispiel habe ich auch gesehen. Ausprobiert habe ich es nocht nicht da der stm32 noch irgendwo zwischen hier und China ist. Hier hätte ich aber auch wahrscheinlich wieder das "Taster-Problem". Die Verkabelung bzw. der Taster sind in der Wand vorgegen. Und um einen HM-LC-Dim1T-FM (ggf. Mehrkanal) nachzubauen muss es doch auch was eleganteres geben als PWM-Signale die man dann doch nicht braucht zu erzeugen?!

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

Re: HM-LC-Dim1PWM-CV

Beitrag von papa » 15.10.2018, 03:18

Hm - jetzt wie ich das nochmal in Ruhe lese, funktioniert es doch genau wie programmiert. Du kannst mal den ConfigToggleButton durch den InternalButton ersetzen. Dann geht zwar Config mit dem Taster nicht mehr, aber dafür müsste der LongPress den Dimmer steuern.

Code: Alles auswählen

InternalButton<DimmerType> cfgBtn(sdev,1);
Anfragen zur AskSin++ werden nur im Forum beantwortet

wackerer Held
Beiträge: 9
Registriert: 14.10.2018, 11:13
Wohnort: Koblenz

Re: HM-LC-Dim1PWM-CV

Beitrag von wackerer Held » 16.10.2018, 16:36

Hab ich gleich mal ausprobiert. Es ist auf jeden Fall ein Schritt in die Richtige Richtung. Der Tasterdruck wird nun richtig erkannt. Den langen Tasterdruck erkennt man nun auch an der länger blinkenden Status Led. Zur CCU wird alles auch korrekt übermittelt.

Leider funktioniert "ToggelDim" noch nicht so ganz wie ich dacht. Ein konstanter, langer Druck dimmt nun immer im Wechsel EINE Stufe rauf -> EINE Stufe runter. Man sieht also ein Blinken! Die anderen Funktionen wie z.B. "UpDim" mit langer Druck -> langsames hochdimmen funktionieren richtig.
Insgesamt ist das für mich aber ein riesen Fortschritt da "ToggelDim" nur das Tüpfelchen auf dem i wäre. Mit "Ein/Aus & Hochdimmen" ist das ganze ja schon praktisch alltagstauglich :D !
Kann ich eigentlich diese Modifikationsmöglichkeiten der Beispiele irgendwo nachlesen :?:

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

Re: HM-LC-Dim1PWM-CV

Beitrag von papa » 17.10.2018, 12:26

Da scheint das ToggleDim noch nicht richtig implementiert zu sein. Wie sollte es dann eigentlich funktionieren?
Anfragen zur AskSin++ werden nur im Forum beantwortet

wackerer Held
Beiträge: 9
Registriert: 14.10.2018, 11:13
Wohnort: Koblenz

Re: HM-LC-Dim1PWM-CV

Beitrag von wackerer Held » 17.10.2018, 21:26

Taster Kurz -> Ein/Aus
Taster lang -> langsames hochdimmen von beliebigem Startwert bis 100% (durch loslassen des Tasters bleibt Hochdimmen auf der aktuellen Stufe stehen)
Nochmal Taster lang -> langsames runterdimmen von beliebigem Startwert bis 0% (s.o.)
Nochmal Taster lang wieder hochdimmen …usw…

Ich bin bei meinen Versuchen den Dimm wert an einen 2 Atmega zur Phasenabschnittsdimmung weiterzureichen recht früh gescheitert. Wie heißt denn die Variable in welcher der aktuelle Dimm wert steht bzw. wo kann ich die finden?
Der Code ist für meine Programmierfähigkeiten noch etwas zu kryptisch :oops: .
Mein Plan war, den Wert einfach über ein Serial.write in der Hauptschleife bei Veränderung auszugeben.

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

Re: HM-LC-Dim1PWM-CV

Beitrag von papa » 18.10.2018, 19:19

Du kannst dafür auch mal ToggleDimToCounter probieren. Das solte auf jeden Fall abwechseln hoch- und runterdimmen. Allerdings kann es damit auch passieren, dass am Anfang runtergedimmt wird.

Welchen Wert willst Du haben ? Die Channelwerte - also auch von den virtuellen Channels. Oder den Resultwert aus der Zusammenrechnung der Channels ?

Den aktuellen ChannelWert gibt es mit

Code: Alles auswählen

channel.status();
Den Resultwert kann man derzeit von außen nicht abfragen.
Anfragen zur AskSin++ werden nur im Forum beantwortet

wackerer Held
Beiträge: 9
Registriert: 14.10.2018, 11:13
Wohnort: Koblenz

Re: HM-LC-Dim1PWM-CV

Beitrag von wackerer Held » 26.10.2018, 21:04

Habe alles möglich versucht um an den PWM-Wert zu kommen.
Mit „channel.status()“ komme ich leider über die Fehlermeldung
„'channel' was not declared in this scope“ nicht hinaus.

Habe auch unter Dimmer.h mit den"Pwm"- und "calcPwm" - Werten usw. kein wirkliches Glück gehabt.

Ob ich einen virtuellen oder Resultkanalwert bekomme wäre mir eigentlich egal solange er eindeutig zuzuordnen und über die CCU zu steuern ist.

Was könnte ich denn da noch probieren?

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

Re: HM-LC-Dim1PWM-CV

Beitrag von papa » 26.10.2018, 22:02

Du musst natürlich schon den Channel vom Device holen. "channel" war oben nur der Platzhalter. Den Wert des ersten Channel kriegst Du mit

Code: Alles auswählen

sdev.channel(1).status();
Anfragen zur AskSin++ werden nur im Forum beantwortet

Antworten

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