Sehr geehrte Damen und Herren, ich möchte einen Sinus-Wechselrichter zu Demonstrationszwecken bauen, Ausgangsfrequenz 50 Hz. Dazu würde ich gerne einen Mikrocontroller nutzen und diesen dazu bringen, eine Sinus-PWM mit einer PWM-Frequenz von 25 kHz auszugeben. Am Ende soll eine H-Brücke aus diskreten MOSFETs stehen und die hochfrequenten Signale sollen mittels Spulen herausgefiltert werden, sodass der 50 Hz-Sinus übrigbleibt. Die Eingangsspannung kommt von vier Reihen-, Parallelverschalteten 10W-Solarmodulen und beträgt 32 V bis 44 V. Dazu habe ich folgende Fragen: 1. Welche Mikrocontroller sind geeignet? 2. Welche Programmiersprache soll ich benutzen? 3. Wie muss ich die Induktivitäten dimensionieren und verschalten? Ich habe zwar schon mehrmals mit PWM gearbeitet und auch mit Spulen zur Filterung hochfrequenter Signale, aber auf dem Bereich Mikrocontroller bin ich ein absoluter Anfänger, daher bitte ich Sie alles möglichst einfach zu halten. Ich möchte dieses Forum nicht als Entwickler missbrauchen, dafür aber einiges über Mikrocontroller und Wechselrichter lernen. Mit freundlichen Grüßen.
>Ich möchte dieses Forum nicht als Entwickler >missbrauchen, dafür aber einiges über Mikrocontroller und Wechselrichter >lernen. Lass erst mal eine LED blinken. Wechselrichter kommt dann viel, viel später.
Hallo Manfred, Manfred G schrieb: > 1. Welche Mikrocontroller sind geeignet? > 2. Welche Programmiersprache soll ich benutzen? 1.Ich würde Dir einen µC von Atmel z.B. einen ATtiny85/45/25 empfehlen. Dieser besitzt bereits Fast PWM Channels und ist per ISP programmierbar. Außerdem ist er sehr klein und im DIP-8 Package zu bekommen. 2.Ich würde Dir C empfehlen.
Momentan bastle ich an einem ähnlichen Projekt :).
Manfred G schrieb: > 1. Welche Mikrocontroller sind geeignet? PIC12F1840 > 2. Welche Programmiersprache soll ich benutzen? Ich würde es in C oder ASM machen Der PIC12F1840 hat einem PWM Modul, das bei 31.25kHz eine Auflösung von 10bit kann. Die Sinuswerte würde ich in einer Tabelle im Flash speichern und dann hintereinander ausgeben. Die Zeitabstände würde ich mit einem Timer Interrupt generieren. Wenn die die Genauigkeit der 50Hz nicht so wichtig ist, könntest du den internen 32MHz Oszillator des PICs verwenden, wenn's genau sein muss kommt ein Quarz an den µC. Manfred G schrieb: > aber auf dem Bereich Mikrocontroller > bin ich ein absoluter Anfänger Mir hat diese Tutorial beim Einstieg sehr gut geholfen: http://pic-projekte.de/wordpress/?p=133#comments
:
Bearbeitet durch User
Ich würd dringend zu Assembler raten. Sinustabelle im Flash schön und gut, allerdings nicht belastungsabhängig. Foglich muß man etliche tausend Mal pro Sekunde die Ausgangsspannung messen und lastabhängige Berechnungen zur Anpassung der PWM machen. Ich hab so einen Wechselrichter auf Basis eines PIC-Controllers. Genauen Typ müßte ich nachschauen. Es funktioniert also. Bin aber auch der Meinung, lieber erstmal in die µCs einarbeiten und erst dann mit gefährlicher Spannung (und Energie) rumspielen. Geladene Kondensatoren lassen sich nicht abschalten und wenn irgendwas in der Ansteuerung nicht passt machen 350..400V aus dem Zwischenkreis bei jedem Halbleiter im Lastkreis den Deckel auf.
Für Assembler (ASM) ist diese Seite gut: http://www.sprut.de/ Auf dieser Seite findest du auch eine paar Testplatinen. Ich habe mit für den Anfang die 40-pin-Testplatine von Sprut gebaut, und bin nach 3 Jahren immer noch zufrieden damit. Entwicklungsumgebung, Assembler und Compiler gibt's kostenlos von Microchip: http://www.microchip.com/pagehandler/en-us/family/mplabx/ http://www.microchip.com/pagehandler/en_us/devtools/mplabxc/home.html Als ICSP Programmer würde ich das PICkit3 empfehlen, mit diesem kannst du, sollte die Rechenleistung eines 8bit PICs nicht ausreichen auch 16bit PICs programmieren.
Wegen einer Demo in die Mikrocontroller Programmierung einarbeiten? Der Zeitaufwand lohnt sich nur, wenn du auch dabei bleiben willst. Am besten erst mal irgendein Tutorial zu irgendeinem Thema durcharbeiten. Und dann schauen, ob Mikrocontroller Programmierung was für dich ist.
> Wegen einer Demo in die Mikrocontroller Programmierung einarbeiten?
Also ich würd zu Demonstrationszwecken gerne ein 3 Gigawatt
Fusionskraftwerk bauen. Habe zwar keine Ahnung von kernphysikalischen
Abläufen, aber kann doch nicht so schwer sein, oder?! Da hab ich jetzt
nämlich kein Bock mich reinzuarbeiten.
Linus Torvalds schrieb mal einen Task-Scheduler. Einfach nur so als Demo. 10 Jahra später sagte er: hätte er damals gewusst, was das für ein Aufwand wird, hätte er gar nicht erst angefangen.
Christian Karle schrieb: > 1.Ich würde Dir einen µC von Atmel z.B. einen ATtiny85/45/25 empfehlen. > Dieser besitzt bereits Fast PWM Channels und ist per ISP > programmierbar. Aud dieser Seite ganz unten habe ich so ein Dings mal gebaut: http://www.schoeldgen.de/avr/ Das Projekt heisst 'Variable frequency drive with Tiny 25/45/85 ( C )' Treibt die Luftpumpe (Membranpumpe) für meinen Goldfischteich mit einem Solarpanel an. Lies dir den Quelltext durch, damit du einen Überblick bekommst, wie es funktioniert. Hier liegt die PWM Frequenz bei etwa 15kHz, aber es hindert dich niemand, die Timer mit der schnellen PLL anzutreiben.
:
Bearbeitet durch User
Hmm... Also einen Sinus mit einem µC zu erzeugen ist jetzt nicht so schwer... Man könnte z.B. in einem Array die berechneten Sinuswerte ablegen und diese dann mit dem Fast PWM Channel umsetzten... Low-Pass-Filter hintendran und dann die MOSFET's. Allerdings müsste die positive Halbwelle an einem Pin generiert werden und die negative an einem anderen Pin. Was meint Ihr dazu ?
Christian Karle schrieb: > Low-Pass-Filter > hintendran und dann die MOSFET's. Ich würde die MOSFETs direkt mit PWM ansteuern und die Tiefpass-Filterung erst nach den FETs machen. Das sollte den Wirkungsgrad enorm erhöhen. Der PIC12(L)F1840 hätte ein Enhanced PWM und kann die Signale für den Highside und Lowside Fet getrennt, mit Deadline erzeugen. An die Ausgänge des PICs würde ich dann eine IR2110 Mosfet-Treiber hängen. Der IR2110 hat eine Lowside und eine Highside Treiber mit Bootstrap integriert.
Max H. schrieb: > Ich würde die MOSFETs direkt mit PWM ansteuern und die > Tiefpass-Filterung erst nach den FETs machen. Das sollte den > Wirkungsgrad enorm erhöhen. Sry, habe mich vertan, meinte ich natürlich auch so :D
> mit Deadline
Muß eine neue Form von integrierter geplanter Obsoleszenz sein.
Wie ich schon gesagt habe und auch wenn ihr es nicht wahr haben wollt,
aber eine feste Sinustabelle alleine reicht nicht. Sonst hast Du im
Leerlauf prima 230V, belastet aber nur noch 120 oder so. Da muß schon
ein wenig gemessen und die PWM nachgeführt werden.
magic smoke schrieb: >> mit Deadline Sry, ich meine Deadtime. Wäre nett, wenn ein Mod das ändern könnte, sonst ergibt der Post teileweise wenig sinn.
:
Wiederhergestellt durch Admin
magic smoke schrieb: > Wie ich schon gesagt habe und auch wenn ihr es nicht wahr haben wollt, > aber eine feste Sinustabelle alleine reicht nicht. Doch, natürlich. Es hindert dich niemand, die Amplitude zu modulieren, bevor es auf die PWM geht. Mein o.a. Projekt hat deswegen einen Pegelsteller auf einem der ADC Eingänge. Mit dem Pegel wird der Sinus multipliziert und dann gehts auf den Timer.
Jo, das ist dann auch keine Sinustabelle alleine mehr. Sondern eine mit Skalierung.
Sehr geehrte Damen und Herren, erst einmal möchte ich mich recht herzlich für Ihre vielen Antworten bedanken. Das mit dem Mikrocontroller werde ich hoffentlich mit entsprechenden Tutorials schaffen. Die Ausgangsspannung ist bei dem Projekt gar nicht wichtig, es ist nur zu demonstrieren, dass man aus der Gleichspannung eines Solargenerators mit relativ wenigen Mitteln eine sinusförmige Wechselspannung machen kann. Doch was mir Sorgen macht ist die Herausfilterung des hochfrequenten Anteils der Spannung. Dazu möchte ich an die H-Brücke Spulen anklemmen. Welche Spulen sind geeignet und wie berechne ich ihre Induktivitäten? An Max H.: Vielen Dank für den Tipp betreffend des PIC-Tutorials. Ich lese es mir gerade durch und der erste Eindruck, den es macht, ist, dass es recht hilfreich ist. Entschieden habe ich mich auch für den PIC12F1840. Danke. Mit freundlichen Grüßen.
Manfred G schrieb: > Die Ausgangsspannung ist bei dem > Projekt gar nicht wichtig, es ist nur zu demonstrieren, dass man aus der > Gleichspannung eines Solargenerators mit relativ wenigen Mitteln eine > sinusförmige Wechselspannung machen kann. Dann kannst du ggf. den Code aus diesem Link übernehmen bzw. dich an diesem orientieren. Optimieren kann man es hinsichtlich Speicherbedarf im uC, wenn man den Sinus auf 1/4 der Periodenlänge beschränkt und entsprechend die Logik mit dem Zähler ändert. Wenn keine Optimierung notwendig/gewünscht ist, dann sollte das auch so passen. Beitrag "SPWM auf Atmega8, bitte um Feedback hinsichtlich Optimierung" > Doch was mir Sorgen macht ist > die Herausfilterung des hochfrequenten Anteils der Spannung. Dazu möchte > ich an die H-Brücke Spulen anklemmen. Welche Spulen sind geeignet und > wie berechne ich ihre Induktivitäten? Du kannst dir die modulierte Ausgangsspannung (wird wohl ständig zwischen DC+ und DC- hin und her wechseln) als Funktion aufschreiben und mittels Fourier die Oberwellen ausrechnen. Entsprechend kannst du sehen, wo du die Eckfrequenz deines Filters setzt, um dominante Oberwellen herauszufiltern. Ob eine einfache Spule reicht, wage ich zu beweifeln. Üblicherweise nimmt man ein LC oder ein LCL Filter. Bei den Spulen musst du darauf achten, dass sie nicht aufgrund zu hohen Stromes in die Sättigung gehen. Auch sollte das Kernmaterial für 20kHz geeignet sein, da das der hochfrequente Rippel ist. > An Max H.: Vielen Dank für den Tipp betreffend des PIC-Tutorials. Ich > lese es mir gerade durch und der erste Eindruck, den es macht, ist, dass > es recht hilfreich ist. Entschieden habe ich mich auch für den > PIC12F1840. Danke. Okay, dann vergiss meinen Link mit dem Atmega ;) Viel Erfolg
Für MPLAB X habe ich vor kurzem diese Video entdeckt: https://www.youtube.com/watch?v=lCzokKzD3-Q Ich habe noch ein Minimalprogramm (Configs + blinkende LED) für den 12F1840 gefunden. Das war einer meiner ersten Codes für PIC12 mit dem XC8 (vorher nur PIC18 mit C18 oder PIC12 in ASM)...
:
Bearbeitet durch User
> Die Ausgangsspannung ist bei dem Projekt gar nicht wichtig, es ist > nur zu demonstrieren, dass man aus der Gleichspannung eines > Solargenerators mit relativ wenigen Mitteln eine sinusförmige > Wechselspannung machen kann. Nunja, das werden die angeschlossenen Geräte sicherlich anders sehen. Aber einen Vorteil hat es: wenn Du nur eine rein theoretische Wechselspannung erzeugen willst, braucht da auch nichts angeschlossen werden. Außer dem Oszi. Folglich brauchst Du für nichts Strom und die Filterung wird entsprechend einfacher. > Doch was mir Sorgen macht ist die Herausfilterung des hochfrequenten > Anteils der Spannung. Dazu möchte ich an die H-Brücke Spulen anklemmen. > Welche Spulen sind geeignet und wie berechne ich ihre Induktivitäten? Nicht Dein Ernst irgendwie. Viel Spaß bei den Tutorials. Ich hab das Gefühl das wird der Anfang einer unendlichen Geschichte.
magic smoke schrieb: > Ich hab das Gefühl das wird der Anfang einer unendlichen Geschichte. Die Zukunft wiederholt sich eben... Ist wie die "Elektor" lesen.
Sehr geehrte Damen und Herren, ich bitte höflichst um Entschuldigung, dass ich schon lange nicht mehr nach den Thread geschaut habe. Was mir immer noch nicht klar ist, ist, wie ich die Spulen dimensionieren muss und wie ich sie verschalten muss. Außerdem sind mir noch folgende Fragen eingefallen: 1. Welche MOSFETs eignen sich? Alle n-Kanal Logic-Level MOSFETs? 2. Sind MOSFET-Treiber notwendig? Ich würde diese am liebsten weglassen und einfach in der Software Totzeiten einarbeiten? 3. Ist dieses Einarbeiten von Totzeiten mit großem, programmierischem Aufwand verbunden? Ich bedanke mich schon einmal für Ihre konstruktiven Antworten. Mit freundlichen Grüßen, Maximilian G.
Manfred_G schrieb: > 1. Welche MOSFETs eignen sich? Alle n-Kanal Logic-Level MOSFETs? > 2. Sind MOSFET-Treiber notwendig? Ich würde diese am liebsten weglassen > und einfach in der Software Totzeiten einarbeiten? Bei den Highside FETs wird es ohne Treiber schwierig... > 3. Ist dieses Einarbeiten von Totzeiten mit großem, programmierischem > Aufwand verbunden? Welchen µC verwendest du? Bei oben genannten PIC12F1840 ist es nicht nennenswert mehr Aufwand als PWM ohne Totzeit.
Sehr geehrter Max H., ich danke herzlich für Ihre kompetente Antwort. Mit freundlichen Grüßen, Manfred G.
Gerne auch "du", auf das "Sie" kann ich problemlos verzichten.
:
Bearbeitet durch User
> 1. Welche MOSFETs eignen sich? Alle n-Kanal Logic-Level MOSFETs? Das ist genauso wie die Frage, ob sich alle Glühlampen für die Beleuchtung einer Turnhalle eignen. Klare Antwort: Nein! > 2. Sind MOSFET-Treiber notwendig? Ich würde diese am liebsten weglassen > und einfach in der Software Totzeiten einarbeiten? Wenn Du PWM möchtest, heißt das schnelles Schalten der FETs. Ohne Treiber kaum möglich. Es geht hier nicht um einen Billig-Modellbau-Fahrregler, sondern Du möchtest einen Wechselrichter bauen. Mit PWM und Sinusmodulation... > 3. Ist dieses Einarbeiten von Totzeiten mit großem, > programmierischem Aufwand verbunden? Wenn Du einen geeigneten Controller verwendest, der dafür ausgelegt ist, kann der das in Hardware und Du brauchst es nur bei der Initialisierung der PWM-Einheit zu berücksichtigen. Ansonsten vielleicht doch dem Treiber überlassen, dann hast Du zumindest etwas Sicherheit gegen Softwarefehler. > Was mir immer noch nicht klar ist, ist, wie ich die Spulen > dimensionieren muss und wie ich sie verschalten muss. [ ] Ich kann Schaltpläne lesen. [ ] Ich kann die Goggle Bildersuche bedienen.
Sehr geehrte Damen und Herren, noch einmal möchte ich mich für die konstruktiven Antworten bedanken. Doch mir sind immer noch ein paar Dinge unklar: 1. Welcher MOSFET ist (als Beispiel) geeignet? 2. Wie muss ich den Filter dimensionieren? Die Antwort von Alex ist leider zu komplex für meine Mathematikkentnisse. Es geht bei dem Projekt nicht darum, einen Wechselrichter mit einem möglichst niedrigen Klirrfaktor zu bauen, sondern eher darum, um zu zeigen, dass es relativ simpel ist, Gleich- in Wechselspannung umzuwandeln. Also muss der Filter auch nicht übermäßig gut sein. Mit freundlichen Grüßen, Manfred G.
> relativ simpel ist, Gleich- in Wechselspannung umzuwandeln
Naja, im Vergleich zu einer Gehirntransplantation schon.
Aber ich denke, Du wirst eher das Gegenteil beweisen.
Wie viel Leistung willst du wechselrichten? Strom, Spannung?
Sehr geehrter Max H., die Frage nach der Leistung ist eine gute Frage. Ich denke, dass der einstellige Wattbereich (also circa 5 W) ausreicht. Die Spannung beträgt 32 V - 44 V, weshalb der Strom etwa 16 mA beträgt. Mit freundlichen Grüßen, Manfred G.
Sehr geehrter Max H., Verzeihung bitte. Der Strom beträgt natürlich circa 156 mA. Tut mir leid, ich habe mich vertippt. Mit freundlichen Grüßen, Manfred G.
Manfred_G schrieb: > 32 V - 44 V, weshalb der Strom etwa 156 mA beträgt. Für diese Leistung sollte der Großteil der Mosfets geeignet sein, ein Beispiel der IRLML0060 oder IRLZ34N..... Dazu noch ein Treiber wie z.B. dem IR2101.
:
Bearbeitet durch User
http://www.mikrocontroller.net/articles/Wechselrichter da hab ich auch schon mal so was probiert. Axel
Sehr geehrter Axel, Sehr geehrter Max H., ich danke für Ihre / Deine Antwort. Die Wiki-Seite "Wechselrichter" habe ich schon gesehen. Betreffend der MOSFETs habe ich mich für den IRLZ34N entschieden. Beim Treiber verstehe ich nicht, warum Du mir einen Halbbrücken-Treiber vorschlägst, müsste es nicht ein H-Brücken-Treiber sein (falls es so etwas gibt) oder vier einzelne MOSFET-Treiber. Mit freundlichen Grüßen, Manfred G.
Manfred_G schrieb: > Beim Treiber verstehe ich nicht, warum Du mir einen > Halbbrücken-Treiber vorschlägst, Zwei Halbbrücken ergeben eine Voll(H-)Brücke. > vier einzelne MOSFET-Treiber. Von denen müsste aber zwei Low- und zwei Highside Treiber sein. Der oben genannte IR2101 ist ein Low- und ein Highside Treiber in einem Gehäuse.
Sehr geehrter Max H., verstanden, danke für die Hilfe. Jetzt fehlt noch der LCL-Filter, für den ich mich in Anlehnung an ein Fachbuch entschieden habe. Doch wie schätze ich die Werte der Bauteile ab? Mit freundlichen Grüßen, Manfred G.
Sehr geehrte Damen und Herren, ich frage mich immer noch, wie ich die Induktivitäten und den Kondensator für den LCL-Filter abzuschätzen habe. Ich habe bereits in der Wikipedia nachgeschlagen, doch ich verstehe das Berechnen des Tiefpasses nicht. Könnte mir jemand die Sache etwas kleinschrittiger erklären? Mit freundlichen Grüßen, Manfred G.
Sehr geehrte Damen und Herren, gerade eben habe ich es dank der Hilfe der Wikipedia doch noch geschafft die Spulen und den Kondensator abzuschätzen: Die beiden Spulen müssen 2,5 µH haben und der Kondensator 2 µF. Jetzt also wieder zurück zu den anderen Problemen wie der Programmierung. Was bedeutet denn |= in C? Dies habe ich noch in keinem Tutorial gefunden. Vielen Dank für Ihre Antworten. Mit freundlichen Grüßen, Manfred G.
|= ist das bitweise oder und die Kurzschreibweise von A=A|B; Siehe http://pic-projekte.de/wordpress/?p=133#Bitweise_Logische_Funktionen https://de.wikibooks.org/wiki/C-Programmierung:_Operatoren#.E2.80.A6_und_noch_etwas_Logik
:
Bearbeitet durch User
2.5µH? wie kommst du denn darauf, das scheint mir ziemlich klein! Warum brauchst du ein LCL Filter? LC sollte ausreichen für ein Demonstrator an ohmscher Last. Bzw. ein L sollte an ohmscher Last auch schon reichen, C nur dann wenn man kein Dreiecksignal möchte. In erster Näherung schätz man das dann z.B. so ab (für L bzw. LC Filter): uL = L diL/dt worst case: dt = 1/(2f) = 20µs uL = 1/2udc = 22v diL = 30% imax = 46.8mA L >= uL dt / diL = 9 mH
Sehr geehrte Damen und Herren, Sehr geehrter Max, ich habe gestern meine Prüfung über das Thema abgelegt, ob ich bestanden habe, weiß ich noch nicht. Ich bedanke mich herzlichst für Ihre und vor allem für Deine Hilfe, Max, die sehr konstruktiv war. Ich finde es toll, dass es so gute Foren gibt. Danke Ihnen allen, wir werden sicherlich bald wieder posten. Bis dahin verbleiben wir mit freundlichen Grüßen, Manfred G.
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.