Forum: Mikrocontroller und Digitale Elektronik 4 Dimmerkanaele mit einem Timer bedienen


von Stefan (Gast)


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

von anfaenger (Gast)


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 ;-)

von Sven P. (Gast)


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.

von Falk B. (falk)


Lesenswert?

@Stefan (Gast)

>Wie wird sowas am besten geloest?

Ähnlich wie Soft-PWM.

MFG
Falk

von Stefan (Gast)


Lesenswert?

Hallo!

Danke euch fuer die Antworten.
Der Artikel zu Soft-PWM sieht sehr gut aus und hilft weiter.

Danke dafuer.

--stefan

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.