|
|
PWM Generator mit variablem Duty Cycle |
|
CoolMan |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.06.2011, 09:59
Titel: PWM Generator mit variablem Duty Cycle
|
|
Hallo Zusammen,
ich arbeite im Rahmen meiner Diplomarbeit mit DSpace und Simulink. Nun benötige ich zum Ansteuern von speziellen Druckluftventilen eine PWM. DSpace kann an zwei Ausgängen selber eine PWM mit variablem Duty Cycle bereitstellen. Da ich allerdings 6 PWM Signale brauche, die ich alle unterschiedlich einstellen können muss, benötige ich noch irgendwie einen PWM Generator, der sein Signal auf einen Ausgangspin von DSpace legen kann. Das Rausführen auf DSpace ist kein Problem, aber wie generiere ich eine PWM deren Duty Cycle ich zur Laufzeit variieren kann?
Bin für jede Hilfe dankbar!
Gruß
CoolMan
|
|
|
|
|
CoolMan |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.06.2011, 10:02
Titel: Nachtrag
|
|
Noch ein Nachtrag: Ich verwende Matlab / Simulink 2008b
|
|
|
Idefix_1024 |
Forum-Century
|
|
Beiträge: 230
|
|
|
|
Anmeldedatum: 16.10.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.06.2011, 10:44
Titel:
|
|
|
|
|
hat denn das dSpace System keine weiteren PWM Ausgänge?
Welches dSpace System verwendest Du denn?
Einen digital IO Pin für eine PWM Signal zu nutzen ist nicht unbedingt ratsam!
Wenn ich das richtig verstehe möchtest Du also einen digital IO Pin für eine definierte Zeit high und low setzen um damit ein PWM signal zu erzeugen?
In Simulink kann man dazu einen Block anlegen, der bei jedem Aufruf des Blocks einen Zähler hochzählt. Dann kann man definieren aus wievielen Zählschritten ein PWM signal besteht und durch den DutyCycle kann man dann sagen wieviele Zählschritte davon der Ausgang high sein soll. Sonst ist er low.
Problem dabei ist, dass das pseudo PWM signal natürlich recht schlecht aufgelöst ist. Du kannst nur jeden Abtastschritt des Programms entscheiden ob high oder low. Deshalb wird dieses Zählerprinzip bei den dSpace PWM Ausgängen mit einer Schaltung in Hardware realisiert und mit 20ns Auflösung soweit ich mich erinnere...
Einzig sinnvolle Lösung ist normalerweise ein dSpace System mit 6 PWM Ausgängen zu verwenden. Welche Schaltzeiten möchtest Du denn erreichen? Im Hz Bereich könnte das auch mit digital IOs klappen...
|
|
|
CoolMan |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.06.2011, 16:02
Titel: AW:
|
|
Hallo Idefix_1024!
Danke für die Antwort. Mein dSpace System hat leider keine weiteren PWM Ausgänge. Ich verwende die dSpace Microautobox 1401/1501.
Die notwendige Schaltfrequenz beträgt 50Hz, das sollten die I/Os der dSpacebox eigentlich können. Ich benötige Dutycycles zwischen 0.3 und 0.8. Auch das sollte mit den normalen I/Os machbar sein.
Ich habe eine Lösung ausprobiert, die ich gefunden habe mit einem Sinus, der dann mit dem Vorzeichen gewertet wird und so zu einem Rechtecksignal gelangt. Das funktioniert ganz gut. Durch eine Adition lassen sich auch die gewünschten Duty Cycle einstellen. Ich werde aber auch deine Lösung nochmal in betrachtziehen.
Nochmals Danke für die Antwort!
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|