Forum: Mikrocontroller und Digitale Elektronik Fast PWM invertiert und nicht invertiert gleichzeitig


von Jonix (Gast)


Lesenswert?

Hallo zusammen,
ich bin zur Zeit dabei, eine Ventilansteuerung für 2 Ventile mit dem 
ATmega8 zu entwerfen. Dabei wird jedes der beiden Ventile mit PWM Signal 
gesteuert. Wenn Ventil 1 offen ist, soll Ventil 2 geschlossen sein und 
wenn Ventil 1 geschlossen ist, soll Ventil 2 offen sein. Desweiteren 
soll jede Position dazwischen möglich sein, also z.B. Ventil 1 80% 
geöffnet und Ventil 2 20% geöffnet.
Mein Plan war, den Modus "Fast PWM" zu benutzen. Optimal wäre es , wenn 
ich den invertierten und den nicht invertierten Ausgang gleichzeitig 
Verwenden könnte, dann hätte der eine Ausgang ja automatisch immer den 
Gegenwert vom anderen wie gewünscht.
Nun meine Frage: Ist das irgendwie so zu bewerkstelligen? Ich komme 
nicht ganz mit dem Datenblatt zurecht, aber scheinbar ist der Ausgang 
immer nur an einem Pin.
Wäre nett wenn mir jemand helfen könnte.

Vielen Dank schonmal,

Gruß Jonix

von Matthias (Gast)


Lesenswert?

Die Steuerung der Polarität des Signals kannst du der
Table 37. Compare Output Mode, Fast PWM
entnehmen. Für Timer 1 würde dann im Register TCCR1A unter COM1A1/Com1A0 
10 (=non inverting) bzw. unter COM1B1/COM1B0 11 (=inverting) 
eingetragen.

von spess53 (Gast)


Lesenswert?

Hi

Beim Timer1 hast du doch zwei Compareregister. COM1A1/COM1A0 auf Normal,
COM1B1/COM1B0 auf Invertiert stellen und beide Compare-Register mit dem 
gleichen Wert füttern. Fertig.

MfG Spess

von Ulrich (Gast)


Lesenswert?

Die Atmel Controller Tiny261 und ähnliche haben zusätzliche Invertierte 
Ausgänge. Da kommt noch eine kleine Verzögerung (dead time)um einen 
Zyklus dazu - das sollte aber für eher langsame Ventile keine Problem 
sein.

Da man die Ventile wohl nicht direkt am µC anschießen wird, kann man 
ggf. auch einfach einen invertierenden und einen nicht invertierenden 
Treiber nehmen.

In Software geht es mit fast jedem µC, halt 2 Kanäle nutzen, einen davon 
Invertiert schalten und dann jeweils den gleichen Wert in das PWM 
register. Falls die Ventile nicht ganz linear sind hätte man mit der 
Software-Lösung später die Möglichkeit hier noch zu korrigieren.

von spess53 (Gast)


Lesenswert?

Hi

Ulrich (Gast) Schrieb:

>Die Atmel Controller Tiny261 und ähnliche....

Jonix (Gast) schrieb:

>ich bin zur Zeit dabei, eine Ventilansteuerung für 2 Ventile mit dem
>ATmega8 zu entwerfen.

@Ulrich

Du hast aber Recht. Ich verstehe auch nicht, warum man sich aus der 
Palette der AVRs nicht den passenden sucht. Statt dessen wird immer 
versucht das Problem mit den möglichst ältesten AVR zu lösen.

MfG Spess

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.