Hallo Miteinander. Bei uns in der Abteilung steht die Aufgabe an, die PID-Regelung für einen Galvoscanner zu entwickeln. Der Fall: Angesteuert wird mit der Regelung ein 1-Achsen Galvoscanner (z.B. Scanlab, Camebridge etc.). Die PID-Regelung muss 500 mal in der Sekunde (500 Hz) den Winkel des Galvos so einstellen, dass er auf 0,25° genau den vorgegeben Winkel trifft. Die einzustellenden Winkel liegen bei einem Schritt eng beieinander (genaue Werte können wir nicht nennen, da je nach Drehmoment des Galvos eine unterschiedliche Performance erreicht werden kann). Da sich das Verhalten des Galvos mit der Zeit auch verändert (mechanische Alterung), wäre eine selbstlernende PID-Regelung super. Die Reglerkarten der Hersteller von Galvos schaffen oben genannte Anforderungen problemlos zu lösen, kosten aber auch demendsprechend viel Geld, da sie viel Funktionen bereitstellen, die wir für unsere Anwendung nicht benötigen. Jetzt die Frage an euch: Gibt es Setups, mit denen es kostengünstig möglich ist diese Anforderungen zu erfüllen? Mit kostengünstig meine ich, die genannten Anforderungen zum günstigsten Preis zu erfüllen. Ich bin auch über günstige Standardlösungen froh, wo die Leistungsbauteile schon integriert sind. Eine schöne Adventszeit und liebe Grüße, wünscht Stefan
Vermutlich hast Du bereits recherchiert und nichts entsprechend Deiner Vorstellungen gefunden? Falls Dein Post eine Anfrage sein soll, so wäre wenigstens das Hinterlegen von einer Kontaktmöglichkeit (zB mittels Anmeldung im Forum) günstig. Ebenso könntest Du konkretisieren was genau Du suchst bzw. selbst kannst. Ich rate einmal: Leistungsbauteile und Sensorik beherrscht Ihr? Welche? Und Du suchst ein FPGA-Design? Grüße, Lars
Hallo Lars. Vielen Dank für deine Antwort. Also wir sind Physiker. Wir selbst sind jetzt komplett neu auf dem Gebiet, aber in Kürze bekommen wir einen Elektroniker zur Unterstützung. Weil das ganze aber (wahrscheinlich) mit ziemlich großen Investitionen verbunden ist, wollte ich mich noch hier im Forum umhören. Bezüglich deiner Anfrage: Die Sensorik ist relativ einfach, es handelt sich dabei lediglich um einen digitalen Encoder der den aktuellen Winkel des Galvos an unsere Steuerung senden würde. Ob wir uns die Leistungsbauteile selber zusammenbauen, kommt ganz darauf an was es vorgefertigt gibt. Aber bis jetzt schaut es so aus, als ob wir uns das selber bauen müssen. Bezüglich elektronischen Bauteilen (FPGA oder andere Komponenten) sind wir ganz frei, falls es leistungsfähige µCs gibt die diese Aufgabe erledigen können, sind wir heilfroh, weil das leichter zu programmieren ist (keiner von uns kann zur Zeit VHDL). Beste Grüße, Stefan
Mit 500 Updates pro Sekunde bist du locker im Bereich von Mikrocontrollern und brauchst dir um FPGAs eigentlich keine Sorgen machen. Vermutlich tuts ein kleiner STM32 ganz gut, die haben naemlich sehr ausgefeilte PWM Hardware die man gut zur Motoransteuerung benutzen kann. Bei den paar Updates kannst du das ganze wsl sogar in float rechnen und sparst dir die fixpunktarithmetik.
Ist die PID-loop Frequenz 500Hz? Oder soll mittels PID 500 mal pro Sekunde ein Fehler von 0,25° unterschritten werden?
Vielen Dank für eure Antworten. Also die PID sollte den Motor so steuern, dass 500 mal pro Sekunde ein Fehler von 0,25° unterschritten wird. Ich denke, dass die Kontrollstruktur da sicher im zweistelligen kHz bereich getaktet werden muss. Geht das mit einem leistungsfähigen µC? Liebe Grüße, Stefan
Stefan L. schrieb: > Vielen Dank für eure Antworten. > > Also die PID sollte den Motor so steuern, dass 500 mal pro Sekunde ein > Fehler von 0,25° unterschritten wird. Ich denke, dass die > Kontrollstruktur da sicher im zweistelligen kHz bereich getaktet werden > muss. Geht das mit einem leistungsfähigen µC? > Mit einem Blackfin DSP geht sowas locker, um 500 Hz vermutlich auch mit einem STM32, wenn er deine Feedback-Werte abrissfrei per DMA reinkriegt. Ich würde da auch nicht mit dem FPGA draufhauen, inzwischen ist wohl auch ein DSP überdimensioniert. Frühe zu fällende Entscheidung ist allerdings float (bequem, ev. lahm) versus fixpunkt (stabil/fehlerkontrolle) Ist ja eigentlich nur ein digitaler Lock-in, der nicht sonderlich viele Operationen verbrät, der grösste Kuchen wäre wohl das Interface und eine clever aufgesetzte DMA-Verarbeitungskette. Beim STM32 habe ich allerdings mit schnellem DMA-Dateneinzug keine Erfahrung.
Guest schrieb: > Mit 500 Updates pro Sekunde bist du locker im Bereich von > Mikrocontrollern und brauchst dir um FPGAs eigentlich keine Sorgen > machen. Vermutlich tuts ein kleiner STM32 ganz gut, die haben naemlich > sehr ausgefeilte PWM Hardware die man gut zur Motoransteuerung benutzen > kann. (genaue) Galvanometer sind keine Motoren im eigentlichen Sinne und werden daher eher selten per PWM gesteuert, da ist eher ein DigitalAnalog-Wandler zwischen Controller und Galvo geschaltet. Eure Anwendung klingt überschlagsweise nach 11 bit Minimum (0,25° Genauigkeit auf 360° Auslenkung), also sollte es ein controller sein der 11bit auf einmal setzen kann. Bei 500 Hz und 20 MHz µC Clock habt ihr ein paar zehntausende Operation per Position, das sollte auch für einen kleinen µC locker schaffbar sein. Die Alterung kann man ausrechnen, in dem man die Geschwindigkeit des Galvos ermittelt (die Ist-Position sollte vom Galvo latenzstabil zurückgemeldet werden). Diese Werte kann man im EEPROM ablegen oder on the Fly ermitteln. Das stellt einie Anforderungen an das IRQ-System des controllers und/oder die Genauigkeit der internen Zählers, sollte aber auch im Bereich des üblichen liegen. Bei ARM's mit nested IRQs sollte man aber vielleicht mal einen Fachmann fragen, wie genau man die Zeit zwischen zwei ereignissen (Soll-Position über DA an Galvo; stabile IST-POS über AD von Galvo messen kann. Ggf, kann man die on-board AD DA-Wandler des µC nutzen.
C. A. Rotwang schrieb: > 0,25° > Genauigkeit auf 360° Auslenkung Das Galvo mit 360 Grad Auslenkung möchte ich sehen. Mein Hauptgeschäft sind seit 30 Jahren Galvoscanner und das 360Grad-Galvo wäre die Weltsensation. Praktisch laufen die Galvos zwischen 40 und 80 Grad Auslenkung optisch. Optisch heisst, die mechanische Auslenung ist die Hälfte (20-40 Grad). 0,25 Grad auf egal 40 oder 80 Grad sind ja gar nichts! Was soll denn damit gescannt werden? Das sind schlechter als 4 Millirad und das müsste eigentlich der schlechteste und billigste Chinascanner auch ohne spezielle Regelung und Alterungskompensation hinbekommen. Einen Cambridge oder Scanlab dafür zu missbrauchen wäre schon fast ein Sakrileg :-) In der Praxis sind 12 bis 16 Bit Auflösung "normal", also eher 0,001 Grad Auflösung oder ein paar Zehn-Mikrorad. Und genaus das (die nötige Auflösung von 16 Bit) macht diese ganzen schnellen Digitalregler dann auch ganz schnell ganz teuer und aufwändig. Daher werden die Galvos meistens per analogen Regler mit vorgeschaltetem DAC zur Softwaresteuerung betrieben. Die kosten dann nur einen Bruchteil und laufen zuverlässig. Ihr meintet doch sicher 0,25 Millirad anstatt Grad, oder? Gruß Joachim
Joachim schrieb: > C. A. Rotwang schrieb: >> 0,25° >> Genauigkeit auf 360° Auslenkung > > Das Galvo mit 360 Grad Auslenkung möchte ich sehen. > Mein Hauptgeschäft sind seit 30 Jahren Galvoscanner und das > 360Grad-Galvo wäre die Weltsensation. Den unrealistischen Vollkreis-Galvo habe ich bewußt in der Abschätzung eingesetzt um die Physiker mal zum Nachdenken und genaueren Beschreibung ihrer Anordnung zu bewegen. Das sollte doch auch ohne Unterstützung durch einen Elektroniker möglich sein. > 0,25 Grad auf egal 40 oder 80 Grad sind ja gar nichts! Was soll denn > damit gescannt werden? Das sind schlechter als 4 Millirad und das müsste > eigentlich der schlechteste und billigste Chinascanner auch ohne > spezielle Regelung und Alterungskompensation hinbekommen. > Einen Cambridge oder Scanlab dafür zu missbrauchen wäre schon fast ein > Sakrileg :-) > In der Praxis sind 12 bis 16 Bit Auflösung "normal", also eher 0,001 > Grad Auflösung oder ein paar Zehn-Mikrorad. Genau, die Bitbreite der AD/DA-Wandler ist entscheidend so wie die Samplingdauer. Für Integrierten µC-Wandler ist schnell bei 8/10 bit (Portbreite) Schluß, von messzeiten von SigmaDelta Wandlern garnicht erst zu Reden. > Und genaus das (die nötige Auflösung von 16 Bit) macht diese ganzen > schnellen Digitalregler dann auch ganz schnell ganz teuer und aufwändig. Das mit dem "Ganz teuer" sollte man mal hinterfragen, vom Materialpreis finde ich persönlich für einen kleinen FPGA und 12 bit 50 MS/s DA-Wandler (grob geschätztz beides zusammen 40€) für einen Laserscanner im Gesamtpreis eher mariginal (im Vergleich zu Optik, Mechanik,Laserquelle). Was den Aufwand betrifft ist natürlich die Entwurfserfahrung entscheidend. Wer seit Jahrzehnten schnell Messschaltung baut, ist da nach ein paar Wochen schon mit einem Prototypen weit, während ein Arduino-Geschlagener noch an der Lernkurve Digitale Signal Verarbeitung sitzt. > Daher werden die Galvos meistens per analogen Regler mit vorgeschaltetem > DAC zur Softwaresteuerung betrieben. Die kosten dann nur einen Bruchteil > und laufen zuverlässig.
C. A. Rotwang schrieb: > Das mit dem "Ganz teuer" sollte man mal hinterfragen, vom Materialpreis > finde ich persönlich für einen kleinen FPGA und 12 bit 50 MS/s > DA-Wandler (grob geschätztz beides zusammen 40€) für einen Laserscanner > im Gesamtpreis eher mariginal (im Vergleich zu Optik, > Mechanik,Laserquelle). 12 Bit sind aber für einen Galvoregler wie gesagt schon Untergrenze. Es gibt ja schon lange zahlreiche Digitalregler für Galvos auf dem Markt. Aber niemand würde einen relativ teueren Regler entwickeln, der dann im Vergleich zu einem Analogtreiber derart schlechte Daten hat. Den würde niemand kaufen. In der Praxis werden die Galvos für die etwas anspruchsvolleren Aufgaben mit 14 bis 16 Bit angesteuert. 12 Bit ist in der Unterhaltungsbranche (Lasershow) gängig, wo es nicht so darauf ankommt. Um den Scanner aber seitens der Applikation auf 16Bit genau zu positionieren muss die erzielbare Reglerauflösung höher liegen, sonst macht das ja keinen Sinn. In der Industrie werden die Scanner schon oft mit 18 Bit angesteuert und die Regelauflösung geht hin bis zu 24Bit. "Materialpreis" ist in der Elektronik nur bei größeren Stückzahlen ein Problem. Und ja, ob der Regler nun 200,- oder 1000,- Euro kostet, bei oftmals Zehntausenden Euro teueren Lasern, ist für EINE spezielle Anwendung vielleicht auch egal. Stimmt. Aber das Bauteil selbst (Mikrokontroller oder FPGA) ist auch selten das Problem. Ich kaufe einen Mikrokontroller für 10,- Euro und entwickle für 10.000,- oder 30.000,- Euro die Firmware. Wo liegen also jetzt die Kosten? Wer natürlich in ein paar Tagen einen fertigen FPGA-basierten Galvoregler entwickelt, der darf sich ganz ganz schnell bei mir melden ;-) Firmen wie Cambrigde, GSI oder auch Pangolin (ScannerMax) haben Jahre daran herumgewerkelt und viele sind bis heute immer noch nicht fertig bzw. die Regler haben immer noch Kinderkrankheiten. Und viele der Digitalregler sind "Hybride", d.h. die Digitaltechnik wird nur für die Userschnittstelle benutzt und im Hintergrund arbeitet ein alter bewährter analoger Regler. Ich möchte auch erinnern dass der TO einen "günstigen Preis" erwähnt hat. Analogregler dagegen sind seit 40 Jahren gängig. Die Schaltung ist bekannt und es ist keine Raketentechnik dafür nötig. Die Entwicklung beschränkt sich auf ein sauberes Platinenlayout und die Regleranpassung. Materialpreis ab 20,- Euro. Fertige Treiber gibt es von unter 100,- bis 300,- Euro zu kaufen. Natürlich sind die dann äußerlich nicht so toll mit zig LEDs, Anzeigen, Softwareschnittstelle und Firmwareupdatefuntkion. Aber sie verrichten ihren Job. Gruß Joachim
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.