Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann
Moderator: Co-Administratoren
-
papa
- Beiträge: 705
- Registriert: 22.05.2018, 10:23
- Hat sich bedankt: 24 Mal
- Danksagung erhalten: 120 Mal
Beitrag
von papa » 21.08.2019, 11:08
Psi hat geschrieben: ↑20.08.2019, 20:59
Ich habe das Gerät mal in Betrieb genommen.
Sketch:
https://github.com/pa-pa/AskSinPP/blob/ ... -DW-WM.ino
* Gerät lässt sich sofort per Serial anlernen
* RSSI etwas schlechter als Original HM-Geräte im selben Raum aber besser als meine sonstigen Bastelein
* Hab leider nur 2,6A auf 24V aber hier ist keine Erwärmung spürbar
* Der Helligkeitsübergang ist etwas ruckelig.
* Das "anschalten" war etwas knifflig. Es gibt 3x Helligkeits-Kanäle und 3x Farbtemperatur.
* FarbTemp wird über Kanal 2 gesteuert, 4 und 6 habe keine Auswirkung
* Helligkeit wird über 1 und 5 gesteuert, die Verknüpfungsregel verstehe ich nicht ganz aber zumindest kann man einen auf 100% stellen und mit dem anderen dann wie gewohnt justieren
* Der aktuelle RasperryMatic bietet für das Device *keine* Einstellmöglichkeiten für die Kanäle an. Dies war schon mal anders da ich schon öfter HM-LC-DW gebaut habe. Über den Homematic-Manager von Hobbyquaker kann man allerdings Params setzen und es scheint, als würden die auch greifen.
Flashe ich den Sketch mit
Code: Alles auswählen
typedef DimmerDevice<HalType,ChannelType,2,1> DimmerType;
zeigt die CCU wieder 6 Kanäle an. 1 und 2 Regeln allerdings nun wie erwartet und die anderen 4 sind "tot".
Nur mal ganz kurz - weil keine Zeit.
Die 8bit PWM sieht man leider beim Übergang. Ich nehme für den Dimmer nen STM32 mit 16bit PWM. Das sieht dann ganz super aus. Vielleicht würde hier auch nen anderer AVR helfen.
Die viruellen Kanäle müssen jeweils eingeschaltet werden. Siehe auch
https://www.elv.de/elektronikwissen/vir ... logik.html
Wenn Du den Sketch auf 2 Kanäle reduzierst, brauchst Du auch eine passende XML Datei. Sonst legt Dir die CCU immer alle 6 Kanäle an.
Anfragen zur AskSin++ werden nur im Forum beantwortet
-
Psi
- Beiträge: 512
- Registriert: 09.08.2018, 19:58
- Wohnort: Nürnberg
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 90 Mal
Beitrag
von Psi » 21.08.2019, 11:28
papa hat geschrieben: ↑21.08.2019, 11:08
Die 8bit PWM sieht man leider beim Übergang. Ich nehme für den Dimmer nen STM32 mit 16bit PWM. Das sieht dann ganz super aus. Vielleicht würde hier auch nen anderer AVR helfen.
Ich dachte, dass der ATMega328p einen
FastPWM Mode hat?
Google gibt hier auch etwas aus:
https://github.com/swharden/AVR-project ... -bit%20pwm
Das ist mir bewusst allerdings scheint der Default von AskSin++ nicht ganz richtig gesetzt zu werden. Dieser ist laut Doku für den ersten Helligkeits- und Farbtemp-Kanal jeweils 0 OR Chan1 bzw 0 OR Chan2 wobei Chan 3..6 standardmäßig auf Inaktiv stehen sollten. Stelle ich das (per HM-Manager) so ein dann siehts auch gut aus.
papa hat geschrieben: ↑21.08.2019, 11:08
Wenn Du den Sketch auf 2 Kanäle reduzierst, brauchst Du auch eine passende XML Datei. Sonst legt Dir die CCU immer alle 6 Kanäle an.
Das ist klar (ausgenommen Devices die ihre Kanal-Zahl selbst reporten können)
Bezüglich dem Darstellungsfehler der Geräteeinstellung konnte ich dank Jerome das Problem auf einen TCL-Error einschränken. Warum dieser aber passiert ist noch nicht klar.
-
pmayer
- Beiträge: 9
- Registriert: 17.07.2019, 12:39
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 9 Mal
-
Kontaktdaten:
Beitrag
von pmayer » 21.08.2019, 11:57
papa hat geschrieben: ↑21.08.2019, 11:08
Die 8bit PWM sieht man leider beim Übergang. Ich nehme für den Dimmer nen STM32 mit 16bit PWM. Das sieht dann ganz super aus. Vielleicht würde hier auch nen anderer AVR helfen.
Wir bauen genau aus diesem Grund gerade noch einen anderen Dimmer (10 Kanal, Hutschiene) auf ESP32-basis mit PCA9685 und damit 12-bit Auflösung:
https://hackaday.io/project/166533-din- ... pwm-dimmer
Liege ich eigentlich richtig, dass ich im HM-DW-WM sowieso nur 0-100% (0.00 - 1.00) dimmen kann und es dort keine Abbildung einer Dimmkurve auf 0-255 gibt? Welches Gerät emulierst du für deine 16bit oder ist das ein selbstdefiniertes Gerät?
(Bin leider nur noch kurz da, Flieger geht heute Nachmittag)
blog allgeek.de, twitter @pregopm, github codmpm
-
papa
- Beiträge: 705
- Registriert: 22.05.2018, 10:23
- Hat sich bedankt: 24 Mal
- Danksagung erhalten: 120 Mal
Beitrag
von papa » 21.08.2019, 13:44
pmayer hat geschrieben: ↑21.08.2019, 11:57
papa hat geschrieben: ↑21.08.2019, 11:08
Die 8bit PWM sieht man leider beim Übergang. Ich nehme für den Dimmer nen STM32 mit 16bit PWM. Das sieht dann ganz super aus. Vielleicht würde hier auch nen anderer AVR helfen.
Wir bauen genau aus diesem Grund gerade noch einen anderen Dimmer (10 Kanal, Hutschiene) auf ESP32-basis mit PCA9685 und damit 12-bit Auflösung:
https://hackaday.io/project/166533-din- ... pwm-dimmer
Liege ich eigentlich richtig, dass ich im HM-DW-WM sowieso nur 0-100% (0.00 - 1.00) dimmen kann und es dort keine Abbildung einer Dimmkurve auf 0-255 gibt? Welches Gerät emulierst du für deine 16bit oder ist das ein selbstdefiniertes Gerät?
examples/stm32/HM-DW-WM
Die Dimmerkurve wird durch die Klasse DimmerControl mit dem Templateargument PWM8 bzw. PWM16 bestimmt. Es gibt auch ein DualWhiteControl, was dann richtiges Dual-White-Handling macht. Also Helligkeit (Channel 1) und Farbtemperatur (Channel 2) berechnet. Siehe auch
https://github.com/pa-pa/AskSinPP/issues/40
Anfragen zur AskSin++ werden nur im Forum beantwortet
-
Psi
- Beiträge: 512
- Registriert: 09.08.2018, 19:58
- Wohnort: Nürnberg
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 90 Mal
Beitrag
von Psi » 21.08.2019, 17:44
Hi,
wenn ich das richtig verstehe hat der 328P einen 16-Bit Timer auf TC1 (PIN 9 und 10).
Da das CC1101-ChipSelect an GPIO-10 hängt könnte man das auf 3 legen und hätte somit 9 und 10 frei.
Wird der TC1 in AskSin++ gebraucht?
Würde sich die
PWM16-Klasse eigenen? Die ist in einem
#ifdef ARDUINO_ARCH_STM32F1 gewrapped.
Gibt es sonst Gründe warum es nicht gehen sollte?
-
papa
- Beiträge: 705
- Registriert: 22.05.2018, 10:23
- Hat sich bedankt: 24 Mal
- Danksagung erhalten: 120 Mal
Beitrag
von papa » 21.08.2019, 18:14
Der eine verfügbare 16bit Timer vom 328 wird für die sysclock benötigt. Bleiben nur die 2 8bit Timer für PWM.
Die PWM16 Klasse nutzt ordentlich Mathefunktionen. Könnte auf nem AVR möglicherweise zu komplex sein.
Sonst könnte man noch nen extra PWM Chip, wie den PCA9685, nehmen.
Anfragen zur AskSin++ werden nur im Forum beantwortet
-
TomMajor
- Beiträge: 1793
- Registriert: 30.08.2017, 23:25
- Hat sich bedankt: 175 Mal
- Danksagung erhalten: 399 Mal
-
Kontaktdaten:
Beitrag
von TomMajor » 21.08.2019, 18:53
Mögliche Lösung:
"ATmega328PB has two additional 16-bit Timer/Counters(TC3 and TC4) with separate Prescaler,
Compare Mode, and Capture Mode. There are three 16-bit Timer/Counters (TC1, TC3, and TC4) and ten
PWM channels available in ATmega328PB."
Viele Grüße,
Tom
-
Nitram101
- Beiträge: 76
- Registriert: 20.02.2017, 18:00
- Wohnort: Moormerland
Beitrag
von Nitram101 » 25.08.2019, 18:53
Hi alle zusammen,
ich habe heute mal versucht den Dimmer nachzubauen.
Habe aber beim compilieren des Sketches ein kleines Problem.
Für die Zeile:
typedef DimmerDevice<HalType,ChannelType,6,3> DimmerType;
bekomme ich folgeneden Fehler:
wrong number of template arguments (4, should be at least 5)
Alle Librayies und AskSin sind die neusten.
Hat jemand einen Tip für den Fehler, bzw welches Argument fehlt.
Vielen Dank
Martin
-
jp112sdl
- Beiträge: 12115
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 848 Mal
- Danksagung erhalten: 2150 Mal
-
Kontaktdaten:
Beitrag
von jp112sdl » 25.08.2019, 19:29
Also bei mir kompiliert die in der Lib mitgelieferte HM-LC-DW-WM.ino sofort
-
Nitram101
- Beiträge: 76
- Registriert: 20.02.2017, 18:00
- Wohnort: Moormerland
Beitrag
von Nitram101 » 25.08.2019, 20:05
Also hier mal der komplette Auszug aus der Fehlermeldung:
exit status 1
wrong number of template arguments (4, should be at least 5)
Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
Martin
Zuletzt geändert von
Nitram101 am 26.08.2019, 08:28, insgesamt 1-mal geändert.