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

Re: HM-LC-Dim1PWM-CV

Beitrag von wackerer Held » 27.10.2018, 21:36

Ah ja! Jetzt kommen auch Werte an. Nur leider sind es ca. 6 – 10 meist zwei oder mehrstellige Zahlen ohne erkennbares System. Auch wenn der Wert der CCU des Kanals auf 0 steht oder konstant ein Wert eingestellt bleibt werden Zahlen ausgegeben (immer andere) !?!
Habe auch mal probiert eine zweite Led über einen zweiten PWM Ausgang simultan zu testen:
analogWrite(6,sdev.channel(1).status());
Ich hätte erwarte, dass die Led an Pin6 synchron zu channel1 läuft. Also sie flackert recht wild und unregelmäßig. Lediglich wenn rauf oder runtergedimmt wird folgt sie erkennbar der Dimm-Richtung. Die „standart“ Led an Pin3 funktioniert unverändert wie erwartet korrekt.

jp112sdl
Beiträge: 3349
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 36 Mal
Danksagung erhalten: 70 Mal
Kontaktdaten:

Re: HM-LC-Dim1PWM-CV

Beitrag von jp112sdl » 27.10.2018, 21:41

Hi,
wackerer Held hat geschrieben:
27.10.2018, 21:36
Also sie flackert recht wild und unregelmäßig.
Ohne mich im Detail mit den Timern auszukennen, würde ich vermuten, dass nicht alle Arduino Pins für PWM (gerade im Zusammenspiel mit der AskSinPP?) verwendet werden können.
https://sites.google.com/site/qeewiki/b ... -atmega328

Hast du mal noch einen anderen Pin, außer 6, getestet?

VG,
Jérôme

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

Re: HM-LC-Dim1PWM-CV

Beitrag von wackerer Held » 27.10.2018, 21:59

Habe ich jetzt ausprobiert - ist mit anderen PWM Pins das gleiche. Die zweite LED sollte ja auch nur ein Test sein ob ich in irgendeine "Formatfalle" bei den ausgegeben Werten tappe (String, Integer, Ascii..keine Ahnung...)
Was ich überhaupt nicht verstehe, dass auch ohne Veränderung ständig andere Werte ausgegeben werden. Und wie gesagt, beim dimmen ist aus dmn Wertehagel rein gar nichts abzulesen!

papa
Beiträge: 348
Registriert: 22.05.2018, 10:23
Danksagung erhalten: 11 Mal

Re: HM-LC-Dim1PWM-CV

Beitrag von papa » 28.10.2018, 07:59

Vielleicht zeigst Du uns mal den kompletten Code. So wird das nichts. Meine Glaskugel will einfach nicht bis zu Dir reichen :D

Und Du solltest vorsichtig mit den PWM-Pins beim AVR sein, da sie die Timer umstellen, mit welchem sie verbunden sind. Hab das jetzt nicht mehr so genau im Kopf, aber ich kamm irgendwann mal zu dem Schluss, dass ich mich für PWM nur noch mit dem STM32 beschäftige Da gibt es ausreichend Pins - auch in 16bit.
Anfragen zur AskSin++ werden nur im Forum beantwortet

Benutzeravatar
Psi
Beiträge: 148
Registriert: 09.08.2018, 19:58
Wohnort: Nürnberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 3 Mal

Re: HM-LC-Dim1PWM-CV

Beitrag von Psi » 29.10.2018, 23:20

Ich dachte naiv auch einen 2-Channel Dimmer mit nem Arduino Pro Mini umsetzen zu können und hab mal ein Fade simuliert auf nem zweiten PWM Port.

Von 1-254 ist die LED relativ dunkel, bei 255 dann max Helligkeit.

Kann das jemand erklären?
Wie würde der Sketch bei einem "Dim2PWM" aussehen?

papa
Beiträge: 348
Registriert: 22.05.2018, 10:23
Danksagung erhalten: 11 Mal

Re: HM-LC-Dim1PWM-CV

Beitrag von papa » 30.10.2018, 09:44

Du musst mal im Datenblatt des ATMega328 nachsehen - nicht jeder Pin kann PWM und Du musst auch darauf achten, welche Timer verwendet werden. Timer1 darf nicht verändert werden, da über diesen alle Timmings der Lib laufen.
Für Dimmer nehem ich nur noch den STM32 - der hat genug unabhängige PWM Pins.
Anfragen zur AskSin++ werden nur im Forum beantwortet

Benutzeravatar
Psi
Beiträge: 148
Registriert: 09.08.2018, 19:58
Wohnort: Nürnberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 3 Mal

Re: HM-LC-Dim1PWM-CV

Beitrag von Psi » 30.10.2018, 10:30

Das hab ich bereits getan aber leider übersteigt das mein Wissen (noch) etwas.

Aktuell haben wir ja:

Code: Alles auswählen

3:  OC2B  LED
5:  OC0B  LED ??
6:  OC0A  LED ??
9:  OC1A  LED ??
10: OC2   Funkmodul
11: OC1B  Funkmodul
wenn ich das richtig sehe.
Allerdings stehen in der I/O Multiplexing Tabelle all OCnm in der Spalte T/C #0.

Interpretiert man 0,1,2 als Timer dann würde sich auch jetzt schon der LED-PIN=3 einen Timer mit dem CC1101 teilen?

stan23
Beiträge: 635
Registriert: 13.12.2016, 21:14
Wohnort: Altmühltal
Hat sich bedankt: 41 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: HM-LC-Dim1PWM-CV

Beitrag von stan23 » 30.10.2018, 12:34

Die Pins an denen das Funkmodul hängt sind nicht für PWM bzw. die Timer-Funktionen konfiguriert, sondern für SPI (MODI, MISO, CLK, CS) sowie einen Interrupt-Eingang an GDO0.

Diese Pins haben intern quasi einen Multiplexer der zu den verschiedenen HW-Blöckenb umschaltet.

Somit beeinflusst das Funkmodul OC1 und OC2 nicht, aber trotzdem sind die Pins belegt.
Viele Grüße
Marco

RaspberryMatic
~60 Geräte (HM, HmIP, HMW, HBW, AskSin)

stan23
Beiträge: 635
Registriert: 13.12.2016, 21:14
Wohnort: Altmühltal
Hat sich bedankt: 41 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: HM-LC-Dim1PWM-CV

Beitrag von stan23 » 30.10.2018, 13:48

Wenn ich papa richtig verstehe, ist OC1 nicht frei, weil die Lib den Timers braucht.

Pin 5 oder 6 sollte also noch für eine LED gehen.
Viele Grüße
Marco

RaspberryMatic
~60 Geräte (HM, HmIP, HMW, HBW, AskSin)

Benutzeravatar
Psi
Beiträge: 148
Registriert: 09.08.2018, 19:58
Wohnort: Nürnberg
Hat sich bedankt: 8 Mal
Danksagung erhalten: 3 Mal

Re: HM-LC-Dim1PWM-CV

Beitrag von Psi » 30.10.2018, 20:19

Ich hab nun mal die anderen pins probiert.

5 und 6: Je nach analogWrite() ein Blinken im vllt ~150ms Takt.

9: Gesetzt als DIMMER_PIN für den Sketch, selbes schwaches leuchten wie bei manuellen analogWrite(); 255 gibt aber volle Helligkeit

Antworten

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