Forum: Digitale Signalverarbeitung / DSP / Machine Learning PWM - Signal AUSWERTEN mit Simulink


von closed loop (Gast)


Lesenswert?

Hallo uC - Community,

ich muss ein PWM - Signal mit Simulink auswerten.
Und zwar bekomme ich auf ein Eingang meines Mikrocontrollers ein 
zufälliges PWM-Signal welches ich nun mit Hilfe von Matlab auswerten 
möchte.

Bevor ich nun die Hardware am PC anschließe würde ich dieses Szenario 
gerne mit Simulink modellieren das heißt ich benutze gerade erst mal den 
"Pulse Generator" - Block als PWM Signal.

Die Informationen dich ich gerne hätte sind die Periodendauer und das 
Ein-/Ausschaltverhältnis. Ich benötige noch nicht mal mehr die genaue 
Zeit sondern nur das Verhältnis "duty cycle".
Hat sowas schon mal jemand gemacht oder gibt es eine Idee ?
Ich bin für jede Hilfe sehr dankbar weil ich schon einige Stunde vor 
diesem Problem sitze !

Vielen Dank für eure Mühe

closed loop

von Alexander L. (lippi2000)


Lesenswert?

Was du brauchst ist ein schneller Zähler.
Gestartet (getriggert) wird dieser bei der 0-1-Flanke. Anschließend wird 
dieser immer inkrementiert. Sobald eine 1-0-Flanke folgt, wird der 
aktuelle Zählerwert als Zeitdauer für die Null-Dauer abgespeichert. Der 
zähler läuft nun weiter bis zum erneuten Auftreten der 0-1-Flanke und 
wird dann entsprechend abgespeichert. Dieser Wert entspricht der 
Periodendauer.

Nun kannst du den Tastgrad einfach berechnen.


Müsste in Simulink genau so gehen.

Genauer kannst du es mit einem analogen Integrator in Simulink machen. 
Einfach ein zusätzliches Sägezahnsignal mit Anstieg 1 einsetzen, welches 
die Zeitbasis darstellt und anschließend zwei Integratoren, die über 
eine Logik mit deinem PWM-Signal aktiviert werden.

Gruß Alexander

von closed loop (Gast)


Lesenswert?

Hi Alexander,

vielen Dank für deine Antwort das wird mir echt weiterhelfen, da ich es 
die ganze Zeit versuche mit Standart Simulinkblöcken zusammenzubasteln 
und nicht wirklich funktioniert :/ .
Ich werde das sobald ich wieder vor Matlab sitze ausprobieren.

Danke

c_l

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.