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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.