4 Dimmerkanaele mit einem Timer bedienen

Gast #1101131
Lesenswert?

Hallo!

Ich baue gerade einen 4-Kanal Phasenabschnittsdimmer mit einem atmega8. 
Im Nulldurchgang schalten also die Endstufen ein und ein Timer startet. 
Ist die jeweilige Zeit fuer einen Kanal erreicht schaltet er ab.

In einem Versuchsaufbau mit 2 Kanaelen habe ich dafuer einfach die 
beiden Overflow-Interrupts verwendet und es hat wunderbar funktioniert.

Nun frage ich mich wie ich am besten vorgehen sollte mit den 4 Kanaelen, 
da es ja nur die beiden Overflow-Interrupts fuer einen Timer gibt. Ich 
moechte die Zeit gerne moeglichst genau einstellen, d.h. beispielsweise 
20000 Stufen, je nachdem wie viele "Ticks" es zwischen 2 
Nulldurchgaengen gibt. Diese Aufloesung deswegen, da ich die 
Moeglichkeit vorsehen will Korrekturkennlinien zu applizieren und mit 
nur z.B. 256 Stufen wird das alles vermutlich zu grob.

Ich koennte also z.B. die Kanalzeiten aufsteigend sortieren und beim 
erreichen einer Zeit die jeweils naechste setzen. Aber was ist wenn die 
sehr nahe beieinander liegen und bis OCR1x gesetzt ist der Timer schon 
daran vorbei ist?

Oder bei jedem Tick alle Kanaele mit dem Counter vergleichen und 
entsprechend schalten. Nur dann haengt der Prozessor vermutlich die 
meiste Zeit in der ISR.

Wie wird sowas am besten geloest?

Vielen Dank schonmal.

Gruss,
--stefan
Gast #1101315
Lesenswert?

bin zwar kein profi, aber ich glaube das wird üblicherweise so gelöst:

man konfiguriert den timer so, dass er 20000mal pro halbwelle einen 
interrupt auslöst. in diesem interrupt wird eine variable hochgezählt 
und bei übereinstimmen mit einem der vorgegebenen werte wird der 
entsprechende ausgang geschaltet.

ds wären allerdings bei 50hz netzfrequenz 2.000.000 interrupts pro 
sekunde. was wohl ein bißchen viel für en prozessor ist. also musst du 
dich entweder mit einer geringeren auflösung abfinden, oder auf jemand 
schlaueren warten ;-)
Gast #1101316
Lesenswert?

'anfaenger' hat da vollkommen Recht.
Allerdings ist eine Auflösung von 20.000 Schritten wirklich unnötig. 256 
Schritte sind hingegen zuwenig, das weiß ich aus Erfahrung (-> DMX), 
dabei sieht man nämlich gerade in den Augenwinkeln die Abstufungen beim 
Dimmen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren