Forum: Mikrocontroller und Digitale Elektronik PWM Hardware oder Software


von Brian (Gast)


Lesenswert?

Hallo,
ich habe einen Atmega644 in Betrieb und schalte mit ihm über einen Timer 
15 LED Ausgänge in Software-PWM.
Nun sollen zwei Ausgänge für Halogenlampen hinzukommen.
Bringt es Vorteile, diese über Hardware PWM laufen zu lassen oder macht 
es keinen Unterschied mehr, da eh schon ein Software-PWM in Betrieb ist.

Ich hätte da auch noch eine andere Frage:
Wie verhalten sich zwei Timer, die nebeneinander laufen?
Kann ich mir das so vorstellen, dass sie direkt "nebeneinander" laufen 
können, ohne sich zu beeinflussen oder geht das nur, wenn der eine Timer 
dann läuft, wenn es der andere nicht macht?
Beziehungsweise, wie groß wäre deren verzögernde Beeinflussung?

(Hintergrund: Während die Software-PWM gleichmäßig laufen soll, soll 
eine andere Anwendung mit einer anderen Frequenz ab und zu arbeiten. Wie 
groß wäre die Beeinflussung auf die PWM?)

Gruß, Brian

von Richard T. (richard_t)


Lesenswert?

Die Timer laufen schon nebeneinander ;)
ich weis nicht wie oft bei dir der Interrupt ausgelöst wird bei einer 
Software PWM wird über einen Timer ein Interrupt ausgelöst und dieser 
wird Abgearbeitet während dessen sind die anderen Interrupts gesperrt. 
Das heißt wenn der zweite Timer dann einen Interrupt auslöst während der 
erste noch aktive ist wird er um so viele Befehle verzögert bis der 
andere Interrupt abgearbeitet wird.

Aber glaube das macht nicht so viel aus den die PWM läuft vom Hz bis zum 
kHz bereich läuft und der µC im MHz bereich also sollte die 
Beeinflussung minimal sein ;)

von MaWin (Gast)


Lesenswert?

Wer programmieren kann, kriegt das ohne gegenseitige Beeinflussung auch 
in Software hin.

Wer es nicht kann, meint halt dafür 17 Hardware-PWM-Kanäle zu benötigen.

von Falk B. (falk)


Lesenswert?

@  Brian (Gast)

>Bringt es Vorteile, diese über Hardware PWM laufen zu lassen

Nein.

> oder macht
>es keinen Unterschied mehr, da eh schon ein Software-PWM in Betrieb ist.

ja.

>Wie verhalten sich zwei Timer, die nebeneinander laufen?

Laufen parallel.

>Kann ich mir das so vorstellen, dass sie direkt "nebeneinander" laufen
>können, ohne sich zu beeinflussen

Sicher.

>oder geht das nur, wenn der eine Timer
>dann läuft, wenn es der andere nicht macht?

Nö.

>Beziehungsweise, wie groß wäre deren verzögernde Beeinflussung?

Null.

>(Hintergrund: Während die Software-PWM gleichmäßig laufen soll, soll
>eine andere Anwendung mit einer anderen Frequenz ab und zu arbeiten.

DAS ist was anderes, du willst einen Interrupt mit dem 2. Timer machen. 
Der spuckt dir dann aber in deine Soft-PWM. Muss man geschickt 
programmieren, ggf. alles über einen Timer machen.

MFG
Falk

von oszi40 (Gast)


Lesenswert?

Richard Treichl schrieb:
> also sollte die Beeinflussung minimal sein ;)
Sofern Dein Programm richtig läuft. Man beachte aber auch den Störfall 
wenn alle EIN sind. Ob das Netzteil ausreicht?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Brian schrieb:
> Kann ich mir das so vorstellen, dass sie direkt "nebeneinander" laufen
> können, ohne sich zu beeinflussen oder geht das nur, wenn der eine Timer
> dann läuft, wenn es der andere nicht macht?
Ja. Das ist komplett getrennte Hardware. Erst, wenn der gemeinsame 
Interruptcontroller gebraucht wird, kommen die beiden miteinander in 
Kontakt. Das ist aber im Datenblatt des uC sicher so eingezeichnet...

von Brian (Gast)


Lesenswert?

Das Netzteil sollte ausreichen. Es ist auf den Worst-Case + Reserve 
ausgelegt.
Gut, dann wird der PWM der letzten zwei Lampen auch in Software 
realisiert und mit dem zweiten Timer muss ich mal schauen, wie ich 
diesen Störungsfrei laufen lasse.

Vielen Dank!

Gruß

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.