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
eine PWM zu Multiplexen macht eigentlich keinen sinn ... deswegen : software-PWM auf 2 PINS.
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?
>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.
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?
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!
Software-PWM kann ohne Anforderung an Frequenz sogar 666 Bit haben ;)
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.
Hey, das ist mal ne super Idee, darauf bin ich noch gar nicht gekommen! Einfach aber genial. Danke!
@ 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
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...
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.