Hallo zusammen Ich möchte mit einem Atmega324 ein 3-Phasen PWM Signal erzeugen. Leider hat der uC nur 3 Timer wovon zwei jeweils zwei Ausgänge haben und der letzte nur einen. Nun meine Frage, gibt es eine möglichkeit, die Timer0 & 1 miteinander zu Synchronisieren? So dass beide gleichzeitig von 0 an hochzählen? Oder gibt es eine andere Möglichkeit ein Synchroner 3-Phasen PWM zu erzeugen? Das es mittels Software PWM geht, ist mir klar, aber eine Hardwarelösung wäre mir lieber... Danke schonmal
Claudio Hediger schrieb: > Nun meine Frage, gibt es eine möglichkeit, die Timer0 & 1 miteinander zu > Synchronisieren? So dass beide gleichzeitig von 0 an hochzählen? Ja, das geht. Man kann sie gezielt stoppen, zurücksetzen und starten.
Tach Claudio, wie Markus schon sagte: Yes, you can! Beide timer gleich einstellen und dem zweiten Zählerregister einen Startwert etwas größer als 0 geben. Du musst nämlich die Zeit mit einrechnen, die du brauchst um den einen timer nach dem anderen zu starten. Du musst halt nur jedes mal, wenn du an der timer Konfiguration was veränderst, aufpassen, dass dir die timer nicht asynchron werden. Thor
Alex S. schrieb: > wie Markus schon sagte: Yes, you can! Beide timer gleich einstellen und > dem zweiten Zählerregister einen Startwert etwas größer als 0 geben. Du > musst nämlich die Zeit mit einrechnen, die du brauchst um den einen > timer nach dem anderen zu starten. Stimmt, sollte gehen, man muss aber gut aufpassen. Leichter ist es vermutlich per GTCCR, getestet hab ich es selbst aber noch nicht. Siehe Datenblatt des ATmega324A, Kapitel "17.11.9 GTCCR – General Timer/Counter Control Register". Ich nehm an, es geht um den ATmega324A und nicht um den ATmega324 – den ohne A finde ich nämlich nicht bei Atmel...
@Markus Mhh, netter Trick. Kannte ich noch gar nicht. Der geht offenbar bei allen neueren AVRs. Thor
Nehm liber gleich einen Rechner der das per HW macht und dazu billiger ist: Renesas RL78 (am billigsten) ST STM8 ST STM32 diverse Microchip haben alles bessere Peripherie und sind dazu noch billiger als der ATMEL
Hansdampf schrieb: > Nehm liber gleich einen Rechner der das per HW macht und dazu billiger > ist: > > Renesas RL78 (am billigsten) > ST STM8 > ST STM32 > diverse Microchip > > haben alles bessere Peripherie und sind dazu noch billiger als der ATMEL Versteh dich grad nicht. Der genannte AVR macht das doch per Hardware, und günstig ist er auch.
AVR447 beschreibt, wie man 3 Timer im ATMega 48/88/168 synchronisieren kann, falls die GTCCR Features nicht vorhanden sind. Die 3-Phasen PWM ist dann sehr brauchbar und braucht keinerlei externe Hardware. Habe hier gerade einen kleinen (700-1000 Watt) FU programmiert, den ich evtl. mal in einem Artikel vorstelle, wenn die GUI fertig ist. Der angeschlossene Motor jedenfalls schnurrt schon wie ein Kätzchen :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.