www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mehrkanaliges PWM mit nur einem PWM-Ausgang


Autor: PICler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Wie ist das möglich?

Gruß
Jens

Autor: sam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eine PWM zu Multiplexen macht eigentlich keinen sinn ... deswegen : 
software-PWM auf 2 PINS.

Autor: PICler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: sam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Alex W. (a20q90)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Software-PWM kann ohne Anforderung an Frequenz sogar 666 Bit haben ;)

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: PICler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey, das ist mal ne super Idee, darauf bin ich noch gar nicht gekommen! 
Einfach aber genial. Danke!

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  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

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.