Forum: Mikrocontroller und Digitale Elektronik PIC32 PWM demodulieren


von Pia B. (pia_b)


Lesenswert?

Hallo,

ich möchte mit dem PIC32-PINGUINO-MX220 ein PWM Signal demodulieren und 
anschließend als analoges Signal ausgeben.
Das PWM Signal ist mit 25kHz getaktet und die Abtastrate sollte 10% 
betragen.
Wie das PWM Signal funktioniert weiß ich, aber wie bekomme ich es hin, 
dass der PIC alle 4µsec das Eingangssignal überprüft ob es High oder Low 
ist? Krieg ich das gescheit mit den Timer-Interrupts hin? Wenn Timer1 
mit 40MHz getaktet ist und ich einen Vorteiler von 8 nehme und dan bis 
20 zählen lasse müsste das ja theoretisch hinhauen.
Oder gibts einen viel einfacheren Weg (ich habe gesehen das der Chip von 
sich aus auch PWM Signale erzeugen kann, also kann er sie vielleicht 
auch selbst demodulieren ohne dass ich da groß was mache?).
Ich steh jedenfalls noch ganz am Anfang mit dem Board und teilweise ist 
es nicht so einfach die nötigen Informationen zu finden.

Danke schonmal,
Pia

von Svenska (Gast)


Lesenswert?

PWM wird nicht demoduliert, sondern gefiltert. Hänge einen Tiefpass mit 
passender Grenzfrequenz dahinter.

von H.Joachim S. (crazyhorse)


Lesenswert?

Wenn du noch mehr damit vor hast, als es in ein 1:1 Analogsignal zu 
wandeln, ist das auch leicht möglich. Verwende einen externen Interrupt, 
der sowohl auf steigende als auch fallende Flanke reagiert (idealerweise 
direkt als input-capture), dann kannst du sehr genau das Verhältnis von 
Pulslänge und Periodendauer bestimmen.
Direkte Wandlung mittels RC-Glied ist nicht so trivial, wie es auf den 
1.Blick aussieht. Entweder hat man eine Restwelligkeit oder eine lange 
Einschwingzeit. Um es schnell und glatt zu machen, braucht es schon 
aktive Filter

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.