Hallo Zusammen! Ich bin ein gewöhnlicher Student, 25, aus Hessen und habe an euch alle eine Frage die ich mir mit meinem aktuellen Kentnissen nicht beantworten kann. Ich bitte deshalb um eure qualifizierte Mithilfe, da ich hier bei einigen Themen schon sehr gute Infos entnehmen konnte. Mein Aufbau ist folgender: Ich habe 10 Motoren, Drehstrom, Asynchron, 2polig, nix besonderes. Die Motoren sind jeweils an einen kleinen Umrichter mit einer gemeinsamen Zwischenkreisspannung angeschlossen (sprich 10 ASM, 10 Umrichter). Die Umrichter haben jeweils drei Phasen deren Strom ich über Strommesszangen (nach Hall- bzw. Rogowski- Prinzip) auslese (1A~1mV). Die Umrichter bekommen jeweils 6 PWM Signale, welche den Sinusverlauf des Stroms über dutycyle (Tastverhältnis) und Frequenz angeben (sprich 60 PWM Signale). Problem 1: Der Strom hat Frequenzen von 1 bis 250Hz, sprich ich muss nach Nyquist mit wenigstens 500Hz, eher mehr abtasten. Dann habe ich den Strom, den ich in meine Steuerung bzw. Regelung einbringen will. Ich bin der Meinung ich kann hier einen einfachen multiplexer nehmen, aber welche Spezifikationen muss dieser haben. Oder sollte ich pro Maschinen einen Multiplexer nehmen? Wie bekomme ich die Signale vom multiplexer über eine Art Speicheroszi oder sowas in meinen Rechner bzw. in ein FPGA? Problem 2: Ich habe vorher mit einem alten dSpace Board mit FPGA gearbeitet. Super easy, weil man ein Simulinkmodell einfach auf das FPGA laden konnte, ausreichend analoge und digitale Ein- und Ausgänge. Jetzt soll ich das ganze ohne dSpace auf ein FPGA bekommen. Mit "das Ganze" meine ich die Generierung eines Sinussignals über Vorgaben von Taktverhältnis und Frequenz, der Vergleich mit einem Dreieck bzw. Sägezahn für die PWM Generierung und dann die Ausgabe als 5V Signal für den Umrichter. Hinterher soll dann auch eine komplette Regelung auf das FPGA. Klingt super einfach, aber ich habe nichtmal einen Ansatz wo ich anfangen sollte. Ausser evtl VHDL lernen :D Gibt es eine Simulink to VHDL Übersetzer oder muss man da zwangsweise für diesen Spezialfall zu Fuß gehen? Das was ich nutzen würde (nach bisherigem Stand) wäre ein solches Board: http://www.dx.com/p/ep2c5t144-altera-cyclone-ii-fpga-mini-scm-development-board-148979?tc=USD#.VH4c2Pvthpa Ich brauche bei der Generierung eine PWM Frequenz von 20kHz und Signalfrequenz von 1 bis 250 Hz. Jetzt frage ich mich aber: Reichen die Ressourcen des FPGA Boards dafür bzw. reicht es für wenigstens eine Maschine? Und wie binde ich das Board so an, das ich ggf. alle Werte live am PC auslesen kann? Wenn ich die Steuerung auf das FPGA bekomme kann ich mir mit der Regelung bestimmt selber helfen, aber der Schritt fehlt aktuell. Problem 3 Die Idee hinter der ganzen Aufgabe ist, die zehn Motoren exakt gleich Laufen zu lassen, bis auf jeweils wenige grad Rotorversatz zueinander. Sprich ASM 2 bekommt einen Sinusstrom, der dem Sinusstrom der ASM 1 in allen 3 Phasen bspw. um 5 Grad nacheilt. Der ASM 3 Sinusstrom hat 10 Grad zu ASM 1, usw. immer mehr versatz bis ASM 10. Es soll mit dem Aufbau ein elektrisches Koppelverhalten gemessen werden, bei gesteuertem und geregeltem Betrieb. Wie bekomme ich alle FPGA Boards simultan zueinander? Kann ich sozusagen eine gemeinsame Clock vorgeben? Sofern jemand nun aufschreien möge, der möge bitte einen geistigen Erguss dazu beitragen. Ich kann nur sagen, dass ich mit einem dermaßen komplexen Problem bisher nicht konfrontiert wurde und wir im Studium nix, aber auch garnix dergleichen gelernt haben. Ich würde dieses Problem gern lösen, auch wenn mit Hilfe, damit ich mich später mal zurecht Ingenieur schimpfen kann. Vielen Dank, allein fürs durchlesen bis hier her :) Wenn Fragen bestehen, ich arbeite die ganze Zeit dran (ausser wenn Vorlesung ist) und versuche ASAP zu antworten.
:
Verschoben durch User
"Der Strom hat Frequenzen von 1 bis 250Hz, sprich ich muss nach Nyquist mit wenigstens 500Hz, eher mehr abtasten." Klugscheiss: mit mind. mehr als 500Hz. Und gab es nicht auch mit ganzzahligen vielfachen Probleme? Ist zu lange her.
Ja absolut :D also ich meinte auch f(abtast)>2f(signal), eher mehr da man ja nicht von idealen Signalen ausgehen kann. Ich würde ja fast zu 1000Hz Abtastfrequenz tendieren.
Hallo, wenn ich es richtig verstehe sind die PWM Signale zu generieren und die Stromwerte zurückzulesen(ADC). Das lässt sich potenziell auch per Mikrocontroller machen. Vom Konzept her würde ich persönlich die Steuerung/Reglung von jedem Motor seperat machen und über ein Clocksignal synchronisieren, da es dadurch einfach erweiterbar ist. TommyT schrieb: > Problem 1: > Der Strom hat Frequenzen von 1 bis 250Hz, sprich ich muss nach Nyquist > mit wenigstens 500Hz, eher mehr abtasten. Dann habe ich den Strom, den > ich in meine Steuerung bzw. Regelung einbringen will. Ich bin der > Meinung ich kann hier einen einfachen multiplexer nehmen, aber welche > Spezifikationen muss dieser haben. Oder sollte ich pro Maschinen einen > Multiplexer nehmen? Wie bekomme ich die Signale vom multiplexer über > eine Art Speicheroszi oder sowas in meinen Rechner bzw. in ein FPGA? Das klingt konfus. Wozu möchtest du Multiplexer nutzen? Ich vermute, du meinst einen Analog-Digital-Wandler (ADC). Der ADC misst den Signalpegel, gibt ihn per Schnittstelle (z.B. SPI oder I2C) an den Controller (FPGA oder µC) weiter und der schickt das ganze dann per USB an den PC. TommyT schrieb: > Gibt es eine Simulink to VHDL > Übersetzer oder muss man da zwangsweise für diesen Spezialfall zu Fuß > gehen? Scheint es zu geben: http://de.wikipedia.org/wiki/Simulink#Codegenerierung TommyT schrieb: > Die Idee hinter der ganzen Aufgabe ist, die zehn Motoren exakt gleich > Laufen zu lassen, bis auf jeweils wenige grad Rotorversatz zueinander. > Sprich ASM 2 bekommt einen Sinusstrom, der dem Sinusstrom der ASM 1 in > allen 3 Phasen bspw. um 5 Grad nacheilt. Der ASM 3 Sinusstrom hat 10 > Grad zu ASM 1, usw. immer mehr versatz bis ASM 10. Bei einer ASM läuft der Rotor asynchron zum angelegten Drehfeld. So wie du es beschrieben hast wird es nicht funktionieren. Gruß Kai PS: Erzähl mal noch, womit du schon Erfahrung hast und was du studierst, damit man die infragekommenden Lösungen besser abschätzen kann.
>wenn ich es richtig verstehe sind die PWM Signale zu generieren und die >Stromwerte zurückzulesen(ADC). Das lässt sich potenziell auch per >Mikrocontroller machen. Jap genau. Ja schon, es soll nur sehr schnell sein. Ich dachte eigentlich bisher an eine FPGA da ich ausschließlich damit gearbeitet habe. >Vom Konzept her würde ich persönlich die Steuerung/Reglung von jedem >Motor seperat machen und über ein Clocksignal synchronisieren, da es >dadurch einfach erweiterbar ist. Das ist ein toller Gedanke! Würde natürlich nicht gerade platzsparend sein :D >Das klingt konfus. Wozu möchtest du Multiplexer nutzen? >Ich vermute, du meinst einen Analog-Digital-Wandler (ADC). Der ADC misst >den Signalpegel, gibt ihn per Schnittstelle (z.B. SPI oder I2C) an den >Controller (FPGA oder µC) weiter und der schickt das ganze dann per USB >an den PC. Oh okay. Da hab ich wohl was falsch verstanden. JA prinzipiell soll das Signal möglichst schnell eingelesen und digital gewandelt werden so das ich des wie du bereits sagtest über SPI oder I2C einlesen kann. Schnell ist halt der Punkt. Alles soll mega dynamisch sein. Sprich 30 Stromsignale einlesen mit mehr als 500Hz braucht ja einiges an ressourcen. >Bei einer ASM läuft der Rotor asynchron zum angelegten Drehfeld. So wie >du es beschrieben hast wird es nicht funktionieren. Sorry war zu ungenau. Es geht nicht um die Mechanische Rotorfrequenz sondern um die elektrische, vom stator induzierte. Also auf gut deutsch sollen die Statorströme phasenverschoben zu einander sein, und das variabel. Aber wie gesagt exakt um einige grad nur. >PS: Erzähl mal noch, womit du schon Erfahrung hast und was du studierst, >damit man die infragekommenden Lösungen besser abschätzen kann. Ich studiere Elektro-Informationstechnik, schwerpunkt Aktorik und Antriebstechnik. Ich habe bisher viele Projekte gehabt, in der es um FEM Simulation, Messungen mit LABVIEW oder Matlab Simulink ging. Ansteuerungen und Regelungen habe ich bisher auch nur über Simulink gemacht. Alles eher vereinfacht über dSpace Boards und dSpace Control Desk Software. Matlab geht ganz gut von der Hand, bei C+ oder ähnlichem tue ich mich schwer. FPGA Programmierung auf Maschinenebene habe ich keine Erfahrung. Umrichtertechnik, Ansteuerung und die Hintergründe kenne ich auch. Am besten liegen mir die Maschinen, aber das bringt mich hier nicht wirklich weiter :D ziemlich interdiziplinär das ganze.
PS: Muss ich nicht sogar die Ströme mit der PWM Frequenz abtasten, sprich 20khz, damit ich keine Informationsverluste habe, welche sich innerhalb der Regelung garantiert bemerkbar machen? Dann wirds aber haarig bei 30 Signalen mit den ADUs oder? schonmal vielen Dank für die schnellen Antworten :)
TommyT schrieb: > Dann wirds aber > haarig bei 30 Signalen mit den ADUs oder? Nö, mit einem FPGA ist das überhaupt kein Thema, da läuft ja eh alles parallel ab. Nur sollte man vorher in etwa wissen, wieviele Ressourcen im FPGA man braucht, um nicht einen zu kleinen einzubauen. Aber da gibts ja zum Glück eine Prima Sache: Simulation. Du entwirfst das Design in VHDL/Verilog und simulierst bis alles passt, was rein muss, und es korrekt arbeitet. Dann kannst du die Synthese durchlaufen lassen und bekommst gesagt, ob es ins FPGA passt. Dazu musst du noch kein Stück Hardware haben, sowas wie du vorhast, kann man sehr leicht simulieren. Und über 20Khz SampleRate lacht das FPGA doch.
@TommyT (Gast) >Ich habe 10 Motoren, Drehstrom, Asynchron, 2polig, nix besonderes. Die >Motoren sind jeweils an einen kleinen Umrichter mit einer gemeinsamen >Zwischenkreisspannung angeschlossen (sprich 10 ASM, 10 Umrichter). Die >Umrichter haben jeweils drei Phasen deren Strom ich über Strommesszangen >(nach Hall- bzw. Rogowski- Prinzip) auslese (1A~1mV). Die Umrichter >bekommen jeweils 6 PWM Signale, welche den Sinusverlauf des Stroms über >dutycyle (Tastverhältnis) und Frequenz angeben (sprich 60 PWM Signale). Also willst du 10 Umrichter selber ansteuern? >Der Strom hat Frequenzen von 1 bis 250Hz, sprich ich muss nach Nyquist >mit wenigstens 500Hz, eher mehr abtasten. Dann habe ich den Strom, den >ich in meine Steuerung bzw. Regelung einbringen will. Nö, Umrichter funktionieren anders. Die (innere) Regelschleife läuft mit der PWM Frequenz! > Ich bin der >Meinung ich kann hier einen einfachen multiplexer nehmen, aber welche >Spezifikationen muss dieser haben. Oder sollte ich pro Maschinen einen >Multiplexer nehmen? Wie bekomme ich die Signale vom multiplexer über >eine Art Speicheroszi oder sowas in meinen Rechner bzw. in ein FPGA? Einfach nur die 250 Hz Phasenströme messen reicht bei weitem nicht für eine sinnvolle Regelung. >ganze ohne dSpace auf ein FPGA bekommen. Mit "das Ganze" meine ich die >Generierung eines Sinussignals über Vorgaben von Taktverhältnis und >Frequenz, der Vergleich mit einem Dreieck bzw. Sägezahn für die PWM >Generierung Macht kein Mensch mehr so. Das macht man alles volldigital. >und dann die Ausgabe als 5V Signal für den Umrichter. >Hinterher soll dann auch eine komplette Regelung auf das FPGA. Warum? Als Studienarbeit? > Klingt >super einfach, Nö. >aber ich habe nichtmal einen Ansatz wo ich anfangen >sollte. Siehts du. > Ausser evtl VHDL lernen :D Gibt es eine Simulink to VHDL >Übersetzer oder muss man da zwangsweise für diesen Spezialfall zu Fuß >gehen? VHDL ist hier das kleinste Problem. >Ich brauche bei der Generierung eine PWM Frequenz von 20kHz und >Signalfrequenz von 1 bis 250 Hz. Jetzt frage ich mich aber: Reichen die >Ressourcen des FPGA Boards dafür bzw. reicht es für wenigstens eine >Maschine? Sicher. > Und wie binde ich das Board so an, das ich ggf. alle Werte >live am PC auslesen kann? Du hast verdammt viel vor. Vor allem bei deinem Wissensstand. >Wenn ich die Steuerung auf das FPGA bekomme >kann ich mir mit der Regelung bestimmt selber helfen, aber der Schritt >fehlt aktuell. Dir fehlen Grundlagen, das ist viel schlimmer. Du hast ein ungesundes Halbwissen, weil du mal mit einem FPGA rumgespeilt hast. Bis zu einer gescheiten Umrichteransteuerung ist es ein weiter Weg. >Die Idee hinter der ganzen Aufgabe ist, die zehn Motoren exakt gleich >Laufen zu lassen, bis auf jeweils wenige grad Rotorversatz zueinander. PLL. Kann man auch volldigital machen. >Wie bekomme ich alle FPGA Boards simultan zueinander? Kann ich sozusagen >eine gemeinsame Clock vorgeben? Sicher. >Erguss dazu beitragen. Ich kann nur sagen, dass ich mit einem dermaßen >komplexen Problem bisher nicht konfrontiert wurde Merkt man. > und wir im Studium >nix, aber auch garnix dergleichen gelernt haben. Ich würde dieses >Problem gern lösen, auch wenn mit Hilfe, damit ich mich später mal >zurecht Ingenieur schimpfen kann. Da hast du ganz schön viel vor. Zuviel für meinen Geschmack. Ob man nurn ein FPGA oder einen uC nimmt ist zweitrangig. Ein FPGA ist hier eher nicht wirklich nötig, wenn gleich man die 10 Regler dort reinbringen könnte. Bevor sowas denkbar wird, musst du erstmal EINEN Motor mit einer Ansteuerung und Regelung versehen, die sich auf ein Taktsignal synchronisieren und pahsenreglen kann. Wenn das läuft, kann man es leicht noch 9x nachbauen. Viel Erfolg
@supachris >Nö, mit einem FPGA ist das überhaupt kein Thema, da läuft ja eh alles >parallel ab. Nur sollte man vorher in etwa wissen, wieviele Ressourcen >im FPGA man braucht, um nicht einen zu kleinen einzubauen. Aber da gibts >ja zum Glück eine Prima Sache: Simulation. Du entwirfst das Design in >VHDL/Verilog und simulierst bis alles passt, was rein muss, und es >korrekt arbeitet. Dann kannst du die Synthese durchlaufen lassen und >bekommst gesagt, ob es ins FPGA passt. Dazu musst du noch kein Stück >Hardware haben, sowas wie du vorhast, kann man sehr leicht simulieren. >Und über 20Khz SampleRate lacht das FPGA doch. Super, vielen Dank für die Info :) @falk >Also willst du 10 Umrichter selber ansteuern? Jipp >Nö, Umrichter funktionieren anders. Die (innere) Regelschleife läuft mit >der PWM Frequenz! Ich bitte höflichst um eine nähere Erläuterung >Einfach nur die 250 Hz Phasenströme messen reicht bei weitem nicht für >eine sinnvolle Regelung. Sorry wenn ich dir teilweise widerspreche, habe diesen Sommer über ein ASM Modell eine herkömmliche ASM geregelt. Hab mir das ganze Drehzahlgeberlos gemacht über ein Drehzahlmodell aus Drehmoment und Strom. Gut, ob das sinnvoll ist weis ich nicht :) Aber es hat funktioniert, wenn auch nicht toll. >Macht kein Mensch mehr so. Das macht man alles volldigital. Ich bitte erneut höflichst um eine nähere Erläuterung. >Warum? Als Studienarbeit? Jap, erstmal die Ansteuerung als Projektarbeit, damit ich darauf aufbauend die Regelung als Masterarbeit bauen kann. >Du hast verdammt viel vor. Vor allem bei deinem Wissensstand. >Dir fehlen Grundlagen, das ist viel schlimmer. Du hast ein ungesundes >Halbwissen, weil du mal mit einem FPGA rumgespeilt hast. Bis zu einer >gescheiten Umrichteransteuerung ist es ein weiter Weg. Ja stimme ich dir absolut zu, aber wenn es mir keiner bei bringt dann versuche ich es wenigstens eigenständig zu lernen. Ich möchte mal was reißen später im Beruf und nicht mit SWAG auf mein Harz 4 warten oder einer von den "haben wir nur kurz in der Vorlesung behandelt"-Ingenieuren werden. >Da hast du ganz schön viel vor. Zuviel für meinen Geschmack. >Ob man nurn ein FPGA oder einen uC nimmt ist zweitrangig. Ein FPGA ist >hier eher nicht wirklich nötig, wenn gleich man die 10 Regler dort >reinbringen könnte. Bevor sowas denkbar wird, musst du erstmal EINEN >Motor mit einer Ansteuerung und Regelung versehen, die sich auf ein >Taktsignal synchronisieren und pahsenreglen kann. Wenn das läuft, kann >man es leicht noch 9x nachbauen. Danke, ja stimmt eigentlich. Ich versuche erstmal für einen Motor das ganze zu schaffen. Erweitern geht ja meistens leichter. >Viel Erfolg Dankeschön, ich bemühe mich :)
@ TommyT (Gast) >>Nö, Umrichter funktionieren anders. Die (innere) Regelschleife läuft mit >>der PWM Frequenz! >Ich bitte höflichst um eine nähere Erläuterung Ein Motorregler hat viel Ähnlichkeit mit einem Schaltregler. Über eine PWM wird ein Spannungs/Strommuster generiert. Die innerste und schnellste Regelschleife ist die PWM-Regelung des Stroms. Hier wir in jedem PWM-Zyklus der Strom überwacht und bei Überstrom in wenigen Mikrosekunden der PWM-Zyklus beendet. Das läuft sinnvollerweise rein in Hardware (Komparator). >Sorry wenn ich dir teilweise widerspreche, habe diesen Sommer über ein >ASM Modell eine herkömmliche ASM geregelt. Hab mir das ganze >Drehzahlgeberlos gemacht über ein Drehzahlmodell aus Drehmoment und >Strom. Gut, ob das sinnvoll ist weis ich nicht :) Aber es hat >funktioniert, wenn auch nicht toll. Du erkennst deine Schwäche? >>Macht kein Mensch mehr so. Das macht man alles volldigital. >Ich bitte erneut höflichst um eine nähere Erläuterung. Es ging um deine Aussage. "der Vergleich mit einem Dreieck bzw. Sägezahn für die PWM Generierung" Das habe ich so verstanden, als dass du das klassisch analog aufbauen willst, also Dreieckgenerator mit OPV + Komparator. Eben das macht man nicht, sondern volldigital mit einem Zähler und digitalem Komparator + noch bissel Logik. Im Mikrocontroller ist das schon alles drin, im FPGA muss man alles selber zusammenbauen. >Ja stimme ich dir absolut zu, aber wenn es mir keiner bei bringt dann >versuche ich es wenigstens eigenständig zu lernen. Eien löbliche Einstellung. Aber gerade bei so einem Brocken muss man schrittweise vorgehen, nicht alles auf einmal machen und sich ein paar Optionen offenhalten, spreich, ggf. auch eineige fertige Module nutzen. Sonst hat man am Ende nur halbfertige Sachen.
>Ein Motorregler hat viel Ähnlichkeit mit einem Schaltregler. Über eine >PWM wird ein Spannungs/Strommuster generiert. Die innerste und >schnellste Regelschleife ist die PWM-Regelung des Stroms. Hier wir in >jedem PWM-Zyklus der Strom überwacht und bei Überstrom in wenigen >Mikrosekunden der PWM-Zyklus beendet. Das läuft sinnvollerweise rein in >Hardware (Komparator) Da werde ich direkt mal nachlesen. Kann sein das ich weis was du damit meinst aber ich bin mir gerade unsicher. > "der Vergleich mit einem Dreieck bzw. Sägezahn für die PWM Generierung" > > Das habe ich so verstanden, als dass du das klassisch analog aufbauen > willst, also Dreieckgenerator mit OPV + Komparator. Eben das macht man > nicht, sondern volldigital mit einem Zähler und digitalem Komparator + > noch bissel Logik. Im Mikrocontroller ist das schon alles drin, im FPGA > muss man alles selber zusammenbauen. Ja das meite ich digital. Ich merke ich muss präzise reden sonst versteht man mich schlecht, sorry :) Ich hab des auf dem alten FPGA auch alles digital gemacht, damit war das für das nächste Projekt sozusagen Voraussetzung. Analog ist quatsch, das sehe ich absolut ein. Da es ja möglich ist von Simulink direkt in den FPGA "zu schreiben" werde ich also zuerst einmal alles in Simulink machen und dann alles wie von supachris angesprochen simulieren bis es passt. > Eien löbliche Einstellung. Aber gerade bei so einem Brocken muss man > schrittweise vorgehen, nicht alles auf einmal machen und sich ein paar > Optionen offenhalten, spreich, ggf. auch eineige fertige Module nutzen. > Sonst hat man am Ende nur halbfertige Sachen. Vielen Dank! Gibt es denn solche fertigen Module auf FPGA basis die günstig sind? Ich mein eine Feldorientierte Regelung wirds wohl kaum geben das sehe ich ein :D Aber zumindest die Sinusgenerierung mit eine Synchronisierungs-Möglichkeit wäre ja interessant. Ich bekomme leider erstmal keine finanziellen Beihilfen da es ja aufs ende des Jahres zugeht und die Ressourcen erschöpft sind. Somit belastet es meinen Geldbeutel nicht so extrem wenns günstig wird :) Weiterhin besten Dank für die Kommentare!
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.