2 Takte gegenphasig ausgeben mit ATMEGA32

Gast #2207241
Lesenswert?

Hallo zusammen.

Ist es möglich mit den Timern im ATMEGA32 zwei Takte (Rechtecksignale) 
auszugeben, die genau um 180° Phasenverschoben sind?

Da es ja nur 2 8 bit Timer gibt (besser wären 2 16 bit Timer) sollte es 
mit den beiden 8 bit Timern realisiert werden.

Wäre es ein Ansatz den zweiten Timer einfach nach der halben 
Periodendauer meiner Frequenz einzuschalten?

Oder gibt es eine andere Möglichkeit?
Danke euch.
Gast #2207265
Lesenswert?

Inverter geht nicht, da ich den Takt ab und zu auschalten muss und dann 
müssen beide Ausgänge auf low sein.

Aber die Idee mit OCR1A invertiert und OCR1B nicht invertiert klingt 
vielversprechend. Dann brauch ich auch nur einen Timer.

Super. Danke erstmal.
#2207369
Lesenswert?

Der Timer läuft vo 0 bis ICR1 und zurück. (bei fast-PWM folgt auf den 
top-Wert direkt wieder 0)
Erreicht der Zählerstand nun den OCR-Wert, wird der Ausgang direkt von 
der Hardware gesetzt/gelöscht.
Da beide den gleichen Wert haben, passiert das gleichzeitig, aber 
gegenphasig.

ICR1=0x0080
OCR1A=0x0040
OCR1B=0x0040

kann sein, dass die OCR-Werte noch um 1 korrigiert werden müssen, um ein 
50:50-Signal zu erhalten, müsste ich nachschauen.
Gast #2207488
Lesenswert?

Ich habe den phase and frequency correct PWM gewählt. Ich bekomme an den 
Ausgängen den Takt wie gewünscht auch gegenphasig.
Ich habe aber noch nicht verstanden wie das intern abläuft und wo der 
Unterschied zu den anderen Modi ist

Auf jeden Fall habe ich jetzt versucht wie bereits erwähnt den Takt in 
betimmten Intervallen ab- und wieder anzuschalten. Ich halte dazu den 
Timer an in dem ich den Prescaler mit 0 0 Lade. Anschließend gebe ich 
die PORT PIN Funktion wieder frei (in meinem Fall an A und B low).

Wenn ich den Takt wieder zuschalte gehe ich in umgekehrter Reihenfolge 
vor. Wenn ich mir nun die Signale auf dem Oszi anschaue, kann dieser das 
Signal nicht mehr richtig triggern.

Ist es ein Problem wenn die Aus- Dauer länger ist als die An- Dauer? 
Irgendwie scheint der Zeitpunkt des Ein- und Ausschaltens immer ein 
anderer zu sein.

Muss ich eventuell noch das Zählregister TCNT löschen?

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