Hallo,
ich möchte eine Steuerplatine für einen Frequenzumrichter bauen.
Gleich vorneweg - das ist nicht mein erstes derartiges Projekt, und von
Leistungselektronik habe ich mittlerweile einige Ahnung.
Ich habe sowas schon mal mit einem HCS08-Mikrocontroller realisiert. Das
Problem dabei war, dass ich da eigentlich nur 2 PWM-Kanäle zur Verfügung
hatte, aber mittels diverser Tricks konnte ich dann doch alle 3 Phasen
korrekt ansteuern. Der Umrichter ist dann auch gelaufen! Wenn auch nur
bis wenige 100 Watt.
Wie auch immer - der LPC2468 hat doch diesen schönen PWM-Block, der 6
Ausgänge hat. Das schreit geradezu nach einer FU-Anwendung! Der Vorteil
da wäre natürlich, dass jeder dieser 6 PWM-Ausgänge direkt einen eigenen
Transistor (High- und Lowside) der Leistungsstufe ansteuern könnte. Und
rein durch Software könnte man damit dann wahlweise bürstenlose DC
en oder DAMs ansteuern - die benötigen ja unterschiedliche
Ansteuerverfahren.
Soweit zur Theorie. Jetzt die Praxis: erlaubt der LPC2468 eine solche
Anwendung des PWM-Blocks? Ich bin bisher davon Ausgegangen, dass ich
jeden PWM-Ausgang einzeln kontrollieren kann, und musste beim Studium
des Handbuchs gerade feststellen, dass dem gar nicht so ist. Entweder
habe ich den "single-edge mode", wo dann alle PWM-Signale gleichzeitig
auf 1 wechseln und beim entsprechenden Match dann wieder auf 0 gehen,
oder ich habe den "dual-edge mode", wo PWM1 bei Match 0 gesetzt und bei
MAtch 1 gelöscht wird, PWM2 bei Match 1 gesetzt und bei Match 2 gelöscht
usw.
Frage: Ist es somit, wenn ich nur die Pins des einen PWM-Blocks zur
Verfügung habe, trotzdem irgendwie möglich, "center aligned" PWM-Signale
zu bekommen? Ausserdem soll jede zweite PWM genau invertiert sein (incl.
deadtime, das müsste doch auch machbar sein?).
Kurz gesagt:
ich will eine Raumzeigermodulation machen, und die 6 PWM-Ausgänge über
Gatetreiber direkt zur Ansteuerung der High- und Lowside-FETs benutzen
(ich will also KEINE externe Logic mehr benutzen - früher musste ich
mittels Inverter die Highside-Ansteuerung generieren sowie extern noch
eine deadtime in die Signale rein mogeln, was ich mir hier ersparen
möchte).
Hi,
ich habe genau die gleiche Aufgabe zu lösen. Die 3 DutyCyles habe ich
bereits per SVPWM modellbasiert entwickelt und über Simulink/TargetLink
codegeneriert.
Problem bei mir: Meine PWM-Kanäle auf dem S12X sind zwar
Center-Alligned, aber es ist keine Totzeit einstellbar, d.h. irgendwie
muss ich hier die Gateansteuerungen verzögern. Leider fehlt mir noch die
entscheidende Idee. Eine Softwarelösung fällt meines Erachtens wegen der
sowieso schon hohen CPU-Load aus.
Kannst Du mir vielleicht in der Zwischenzeit deine damalige Analoglösung
zeigen? Hab ein paar Studenten die an dem Thema Umrichter arbeiten, und
die könnten sicher einen funktionierenden Ansatz brauchen.
Ich schau mal ob ich eine Softwarelösung für das PWM hinbekomme, sodass
der CO-Prozessor sind um die PWM-Erzeugung kümmert.
Ich nehme an auf deinem µC ist nicht mehr viel Rechenleistung frei nach
der SVPWM, oder?
Grüße,
Toby
Hi toby,
doch der Prozessor hat genug Ressourcen, um die SVPWM relativ problemlos
erledigen zu können. Wie gross die CPU load ist, kann ich dir nicht
genau sagen, aber ein serielles Terminal mittels Polling läuft nebenbei
völlig fehlerfrei, ebenso wie die Auswertung einer Tastatur sowie eine
kleine Displayausgabe.
Meine Totzeit habe ich wie folgt generiert:
Mit dem digitalen Signal über einen Widerstand auf einen Kondensator und
dann auf den Eingangspin eines 74HC14, dann nochmals 74HC14, damit es
nicht invertiert ist.
Der Eingangs erwähnte Widerstand ist mit einer Diode überbrückt, und
zwar so, dass bei einer logischen eins die Diode sperrt (der Kondensator
muss also erst aufgeladen werden, bis am Ausgang des letzten '14er eine
eins raus kommt), und bei einer logischen 0 leitet die Diode und der
Kondensator wird sehr schnell entladen. Somit wird das Einschalten
verzögert, das ausschalten jedoch mehr oder weniger kaum beeinflusst.
Bedingt aber, dass man Portpins hat, die ein bisschen Strom sourcen und
sinken können; sollte dies nicht der Fall sein, einfach den letzten
74HC14 als Treiber 'missbrauchen'.
Hi Gerhard,
ich hab nun vorerst einen Fahrtregler (Hextronik 120) aus dem Modellbau
missbraucht. Das Gerät hat pro Halbbrücke einen Gatetreiber "IR2103"
verbaut, welchen ich mit gleichphasigem PWM ansteuern kann. Funktioniert
prima soweit. Die genannte Lösung ist für die selbst gefertige Platine
eine gute Option, vielen Dank soweit.
Grüße,
Toby
Eine eigene Frage?
Dieser Thread ist über 17 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.