PMW erzeugen mit PIC24FJ64GB002

Gast #4555199
Lesenswert?

Hallo Zusammen,

ich möchte gerne mit dem PIC24FJ64GB002 5 seperate PWM signale für div. 
LED´s erzeugen.
Die Pulsweite soll durch Variablen (1 je PWM) gesteuert werden.

Alle LED´s befinden sich auf einem Remappablen peripheral pin, die im 
entpsrechendem Register der Funktion zugeordnet werden muss soweit kein 
Problem.

Mir ist unklar wie ich dies Programmieren muss da im Datenblatt immer 
die Rede von PWM mit "OUTPUT COMPARE WITH
DEDICATED TIMERS" die rede ist.



Datenblatt µC

http://ww1.microchip.com/downloads/en/DeviceDoc/39940d.pdf


Ich freue mich über eure Hilfe!

Mit freundlichen Grüßen

Amanre
Gast #4556275
Lesenswert?

Ich häng dir mal was für den PIC24FV32KA301 an, musst du halt anpassen.

Da gibts einen Init-Funktion (initpwm), die schaltet die PWM ein.
Die zweite Funktion setPWM(DC, periode, sysclock) berechnet und setzt 
Periodendauer und Tastverhältnis.
DC ist in %, periode ist in µs, Der sysclock ist in Hz. Man kann auch 
andere Taktquellen verwenden.

Diese Funktionen verwenden OCFB (Fault Input), dass musst du halt 
auskommentieren. Die PWM kommt zu OC2 heraus. Das musst du dann auf 
einen Port mappen. Der FV32KA301 hat kein Portmapping, weshalb das 
fehlt.

Im Übrigen ist das vom Datenblatt abgetippt. Da gibts ein Kapitel "Ouput 
Compare", da steht ein Kochrezept drin.

Ob das funktioniert? Weiß nicht, sehr viel getestet hab ich nicht. Mit 
8MHz, 250µs und 80% gehts. Ich glaube, die ist "center alligned", aber 
das müsstest du nachkucken.

Hat mich ca. 20min gekostet. Beispiele gibts auch bei Microchip, aber 
abtippen ging schneller, als sich da einlesen.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren