Mehrkanaliges PWM mit nur einem PWM-Ausgang

Gast #1337098
Hm... mit Software PWM hab ich keine so guten Erfahrungen gemacht, ich 
werde es ausprobieren.

Also geht es gar nicht mit nur einem Port? Ich dachte erst: Für die 
kleine Zeitspanne (ein PWM-Zyklus) den einen Duty-Cycle-Wert verwenden, 
den nächsten den zweiten, immer im Wechsel. Wenn der PWM-Zyklus kurz 
genug ist sollte das doch gehen, oder?
Gast #1337285
>Also geht es gar nicht mit nur einem Port? Ich dachte erst: Für die
>kleine Zeitspanne (ein PWM-Zyklus) den einen Duty-Cycle-Wert verwenden,
>den nächsten den zweiten, immer im Wechsel. Wenn der PWM-Zyklus kurz
>genug ist sollte das doch gehen, oder?

? ich weiß echt nicht wie du deinen PWM ausgang aufteilen willst ... das 
ist ein einzelner draht ... mit einer kleinen logikschaltung (z.b. UND 
mit einem weiteren ausgang) könnte man die pwm wechselweise zu dem einen 
oder andern verbraucher schalten (was für die verbraucher dann aber auch 
bedeutet nur 50% abzubekommen über die zeit gesehen)


und eine software-PWM ist immer so gut wie sie programmiert wurde.
2 Timer   oder 1 Timer mit 2 Comparewerten(PWM low) dann overflow(PWM 
high)  und Interupts ... ich wüsste nicht, was an dieser PWM auszusetzen 
wäre ...

wenn die frequenz der pwm nicht zu hoch ist, bleibt dem prozessor auch 
noch genügend rechenzeit für seine andern aufgaben.
Gast #1337377
sam schrieb:
>eine PWM zu Multiplexen macht eigentlich keinen sinn

Tschuldigung, wenn ich mich in diesen Thread mit reinhänge, aber ich 
habe ein ganz ähnliches Problem: Ich habe drei LED-Reihen an einem Port, 
die ich per Multiplexing ansteuere. Wenn ich jetzt noch die Helligkeit 
per PWM regeln will, dann müsste ich doch PWM und Multiplexing irgendwie 
kombinieren? Da ich ja nicht einen Hardware-PWM-Kanal auf drei 
Anschlüsse teilen kann, muss ich wohl Software-PWM verwenden. Wenn ich 
mit 100Hz 1:3 multiplexe und 256 Helligkeitsstufen brauche, bin ich bei 
(1000/100/3/256) 13yS Zykluszeit, was einer Interruptfrequenz von ca. 77 
khz entspricht. Das erscheint mir sehr viel, habe ich da irgendwo einen 
Denkfehler gemacht und das ganze geht noch einfacher?
#1337394
Software-PWM kann theoretisch sogar 16Bit-Auflösung!

Ich habe mal einen AVR programmiert und ein 16x16 RGB-Selbstbaudisplay 
mit 16M Farbtiefe gebaut (3x255 Stufen).

Das habe ich quasi in einer For 0 to 255-Schleife gemacht. Sobald ein 
Farbwert erreich wurde, wurde der Pin abgeschaltet. Somit konnte man 
quasi alle Ports des AVR als PWM-Out nutzen.

Beim PIC wird das nicht anderst sein!
#1337430
PICler schrieb:
> Hallo,
>
> ich habe jetzt endlich geschafft, den PWM im PIC16F627A anzusteuern und
> zu nutzen. Aber: Er hat nur einen PWM-Ausgang (RB3), ich bräuchte aber
> zwei, da ich Ziffern ineinander überblenden möchte.

Kannst du nicht das PWM Signal extern mit Hühnerfutter invertieren?
Wenn du sowieso nur eine Überblendung machen willst, müsste das doch 
gehen.
#1337683
@  Peter (Gast)

>mit 100Hz 1:3 multiplexe und 256 Helligkeitsstufen brauche, bin ich bei
>(1000/100/3/256) 13yS Zykluszeit, was einer Interruptfrequenz von ca. 77
>khz entspricht. Das erscheint mir sehr viel,

Ist es auch. Zu viel für praktische Anwendung.

@ Alex W. (a20q90)

>Software-PWM kann theoretisch sogar 16Bit-Auflösung!

Kaum. Siehe Soft-PWM

>Ich habe mal einen AVR programmiert und ein 16x16 RGB-Selbstbaudisplay
>mit 16M Farbtiefe gebaut (3x255 Stufen).

Im Traum.

>Das habe ich quasi in einer For 0 to 255-Schleife gemacht. Sobald ein
>Farbwert erreich wurde, wurde der Pin abgeschaltet.

WOW! Und das bei 1 Hz PWM Frequenz, was?

MFG
Falk
Gast #1337757
Falk Brunner schrieb:
>Ist es auch. Zu viel für praktische Anwendung.

Erst mal danke, dass mir überhaupt jemand geantwortet hat.
Allerdings bringt mich das einer Lösung noch nicht näher...
#1337818
PICler schrieb:
> zu nutzen. Aber: Er hat nur einen PWM-Ausgang (RB3), ich bräuchte aber
> zwei, da ich Ziffern ineinander überblenden möchte.

Was willst Du dann mit nem PWM-Ausgang ???

Du mußt beide Ziffern im Wechsel unterschiedlich lange ausgeben, z.B. 
von '6' auf '7' erst die '6' zu 100%, die '7' zu 0%, und dann langsam 
ändern, bis 0% '6' und 100% '7'.

Eine HW-PWM ist dabei völlig nutzlos.


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.