Copilot schlug folgende Lösungen vor:
1. Verstärkungs-Kennfeld: Regelgrößen Kp, Ki, Kd in Abhängigkeit der Sollposition setzen
2. Kaskadierte Regelung mit unterlagerter Stromregelung
3. Vorsteuerung der Federkraft
Ich habe 3 ausprobiert und es funktioniert sehr gut: Die Idee ist, dass man zunächst die Auslenkungen je PWM-Wert ermittelt.
Da der Zusammenhang in erster Näherung linear ist. Rechnet man erst einen groben PWM-Wert aus, und addiert den Output-Wert vom PID-Regler. Da dieser nur eine kleine Korrektur ausgleichen muss, arbeitet man mit kleineren Regler-Werten.
Motorisierter Open-Source-XYZ-Mikromanipulator
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
Re: Motorisierter Open-Source-XYZ-Mikromanipulator
Exzellente Ergebnisse habe ich jetzt mit einem Lautsprecher erzielt - ja, den hatten wir schon mal:
Und in einer Copilot-Session eine optimierte PWM-Ansteuerung (>10 bit) mit fraktionaler PWM (Dithering) via IRQ und Auto-Calibration.
(Man sieht, ich bin der AI nicht grundsätzlich abgeneigt)
Der Lautsprecher (gewissermaßen echte Voice-Coil
) hat gegenüber der GeeTech-Voice-Coil den Vorteil, dass er keine Haftreibung hat und deutlich empfindlicher auf PWM bzw. Spannungsänderungen reagiert. Bei der Voice-Coil gibts eine Druckstange, die in einem Loch läuft. Diese Stange verhakt sich schon mal und man muss den PWM-Wert schon um einige Counts erhöhen, um die Coil in Bewegung zu setzen. Wenn sie das dann tut, sorgt ihre Massenträgheit dafür, dass sie etwas überschießt.
Beim Lautsprecher hatte ich mit reiner 10-Bit PWM-Ansteuerung bereits bei einer Wertänderung von 1 eine Änderung der Position um 100-150 Counts. Das ist schon sehr krass. Also Widerstand davor und dieses Dithering.
Für einen Nachbau ist der Lautsprecher deutlich besser geeignet als eine spezielle (teure) Voice-Coil. Und besser funktionierte es auch.
Jetzt könnte man, sofern Interesse besteht, noch Alles etwas "Fischertechnikisieren" und dann kann das jeder nachbauen.
Ach ja, die Linearisierung vom Magnetencoder fehlt noch und ein Detektor für Nullposition.
Was kann man damit machen? Z.B. einen Seismograph
Grüße
Florian
(Man sieht, ich bin der AI nicht grundsätzlich abgeneigt)
Der Lautsprecher (gewissermaßen echte Voice-Coil
Beim Lautsprecher hatte ich mit reiner 10-Bit PWM-Ansteuerung bereits bei einer Wertänderung von 1 eine Änderung der Position um 100-150 Counts. Das ist schon sehr krass. Also Widerstand davor und dieses Dithering.
Für einen Nachbau ist der Lautsprecher deutlich besser geeignet als eine spezielle (teure) Voice-Coil. Und besser funktionierte es auch.
Jetzt könnte man, sofern Interesse besteht, noch Alles etwas "Fischertechnikisieren" und dann kann das jeder nachbauen.
Ach ja, die Linearisierung vom Magnetencoder fehlt noch und ein Detektor für Nullposition.
Was kann man damit machen? Z.B. einen Seismograph
Grüße
Florian
Re: Motorisierter Open-Source-XYZ-Mikromanipulator
Inzwischen klappt es sowohl mit der Voice-Coil als auch mit dem Lautsprecher.
Hier eine Treiberschaltung mit Stromregelung über Opamp und n-Kanal Mosfet.
Die erste Verstärkerstufe bildet einen Summationsverstärker (Nicht-invertierender Verstärker), der den Sollwert an die zweite Stufe leitet. An der ersten Stufe kann ein Offset addiert werden. Die PWM wird über einen Spannungsteiler eingeleitet.
Wichtig ist hier, dass ein Opamp mit Rail-to-Rail-Fähigkeit eingesetzt wird.
Die zweite Stufe arbeitet als Stromregler: Die Regelspannung wird am Source des Mosfet abgegriffen und dem invertierenden Eingang der zweiten Stufe über einen 220 Ohm Widerstand zugeführt. Steigt nun der Strom durch die Spule, nimmt die Spannung am - Eingang zu. Der Opamp regelt dann die Gate-Spannung herunter, wodurch der Strom durch die Spule wieder sinkt. Der 100 nF Kondensator soll Regelschwingungen verhindern.
Hier eine Treiberschaltung mit Stromregelung über Opamp und n-Kanal Mosfet.
Die erste Verstärkerstufe bildet einen Summationsverstärker (Nicht-invertierender Verstärker), der den Sollwert an die zweite Stufe leitet. An der ersten Stufe kann ein Offset addiert werden. Die PWM wird über einen Spannungsteiler eingeleitet.
Wichtig ist hier, dass ein Opamp mit Rail-to-Rail-Fähigkeit eingesetzt wird.
Die zweite Stufe arbeitet als Stromregler: Die Regelspannung wird am Source des Mosfet abgegriffen und dem invertierenden Eingang der zweiten Stufe über einen 220 Ohm Widerstand zugeführt. Steigt nun der Strom durch die Spule, nimmt die Spannung am - Eingang zu. Der Opamp regelt dann die Gate-Spannung herunter, wodurch der Strom durch die Spule wieder sinkt. Der 100 nF Kondensator soll Regelschwingungen verhindern.