Wechselrichter

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Ziel dieses Artikels ist der Bau eine Wechselrichter zur Netzeinspeisung aus einer Solaranlage.

Dass VDE Vorschriften beachtet werden müssen und das Ganze eine Zulassung haben muss ist nicht Inhalt dieses Artikels! Vielmehr geht es um eine Machbarkeitsstudie, mit Hobymitteln ein solches Gerät zu entwickeln.

Ich bitte um eine rege Diskussion und Verbesserungsvorschläge.

Bei mir soll es ein Wechselrichter ohne Ausgangstrafo werden, bei dem die Ausgangsspannung aus einem 400V DC Zwischenkreis mit einer H-Brücke per PWM gebildet wird. Jeder der eine andere Lösung gewählt hat, möchte sie bitte unter einer neuen Überschrift vorstellen.


Steuerung

Die Steuerung besteht aus einem Mega88 mit 20MHz Quarz der die PWM generiert und einem Mega88 @ 8MHz mit internem Takt der die Signale verarbeitet und den PWM Generator steuert. Desweiteren wird in der ENS und im MPP Tracker auch noch ein Controller genutzt.

Wechselrichter Foto.jpg


PWM Generator

Die Erzeugung des PWM Signals wird mit einem Mega88 @20MHz realisiert. Mein Ziel war eine Pulsfrequenz vom 16 KHz. Andere Frequenzen sind natürlich auch möglich, da müssen halt die Timerwerte angepasst werden.

Bei einer Frequenz von 16KHz ergibt sich eine Periodendauer von 62,5µsec. Teilt man die 20msec einer 50 Hz Periode durch 62,5µsec ergeben sich 320 Pulsperioden pro 50Hz Sinuswelle.

Bei einer Taktfrequenz des Controllers von 20MHz und einem Timer ohne Vorteiler ergeben sich 20MHZ / 16KHz = 1250 Timertakte. Das heißt der Timer muss bis 1250 hoch zählen um die 62,5µsec einzuhalten. Daraus ergibt sich, dass der Timer 1 genutzt werden muss.

Gewählt habe ich für den Timer 1 den Fast PWM Mode 14 . Weiterhin ist die invertierende PWM eingestellt, um die sonst auftretenden kurzen Spikes zu vermeiden. (If the OCR1x is set equal to BOTTOM (0x0000) the output will be a narrow spike for each TOP+1 timer clock cycle. Setting the OCR1x equal to TOP will result in a constant high or low output (depending on the polarity of the output set by the COM1x1:0 bits.))

Daraus ergaben sich folgende Einstellungen:

TCCR1A = ((1 <<WGM11)|(1<<COM1A1)|(1<<COM1A0)|(1<<COM1B1)|(1<<COM1B0)) ;
TCCR1B = ((1 <<WGM13)|(1 <<WGM12)|(1<<CS11)) ;


Der Timer zählt immer bis zum Erreichen von ICR1 hoch und beginnt wieder bei Null.

Die Ausgänge PORT B 1 und PORT B 2 sind low und werden beim Überschreiten von OCR1A bzw. von OCR1B auf high gesetzt. (Set OC1A/OC1B on Compare Match, clearOC1A/OC1B at BOTTOM (inverting mode))


Die PWM Einschaltzeiten ändern sich ständig gemäß der Sinustabelle, daher müssen nach Pulsperiode neue Werte in die Register OCR1A und OCR1B geschrieben werden. Dies geschieht in der “ISR (TIMER1_OVF_vect)“. Damit die ISR (TIMER1_OVF_vect) beim Erreichen von ICR1 aufrufen wird, wird:

TIMSK1= (1 <<TOIE1);

gesetzt.


Wechselrichter Ausgang PWM.JPG

Signal an den Ausgängen OC1A und OC1B

Sorry, war schon ein altes Scope, werde versuchen ein schöneres Bild zu machen.

Download Software: C Programm PWM Generator

Zentralsteuerung mit LCD

Download Software: C Programm LCD Anzeige

Leistungskreis

Wechselrichter 2PH.png

H-Brücke

Die H-Brücke bestehen aus 4x IRFP460 wird über zwei IR2109 gesteuert. Die Eingänge der IR2109 werden mit dem PWM Signal des PWG Genrators verbunden.

Wechselrichter Ausgang H-Brücke.JPG

Die Spannung am Ausgang der H-Brücke. Noch ist das ziemlich weit von einem Sinus entfernt.

Filter

Der LCL-Filter glättet die PWM zu einem Sinus-Signal.


Wechselrichter ausg leer.jpg

Signal im Leerlauf.

Wechselrichter ausg last.jpg

Signal unter Last

Auf dem Scope-Bild sieht man, wie stark der einst schöne Sinus verzerrt wird, wenn etwas Strom fließt. Da ist noch Verbesserungspotentional.


Spannungsversorgung

Da, solange der Wechselrichter nicht läuft, nur die 400V bis 500V DC Spannung von den Solarpanels da ist, muss der Wechselrichter seine Versorgungsspannung von dort beziehen.

Aufgrund des relativ geringen Leistungsbedarf kommt ein Flyback Schaltnetzteil zum Einsatz. Der VIPer50a benötigt nur wenige exteren Bauteile und kann mit bis zu 700V DC Eingangsspannung auskommen.

Erzeugt werden 12V DC zur Versorgung der Fet-Treiber und 5V für die Controller.


VIPer50 Board bestückt.png


Download Schaltplan: Schaltplan

Links