Gast
#1101131
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