|
|
Linearachse Portalroboter, Sollwertsprung simulieren! |
|
Employee87 |
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 25.12.15
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.05.2016, 18:34
Titel: Linearachse Portalroboter, Sollwertsprung simulieren!
|
|
|
|
|
Guten Abend Zusammen,
ich bin gerade dabei, ein Modell einer Linearachse eines Portalroboters zu simulieren.
Dabei wird in X-Achse durch ein Servomotor ein Schlitten beschleunigt.
Ziel ist es, ein dynamisches Modell zu erstellen, den lage- und Geschwindigkeitsregler auf 80° Phasenreserve einzustellen und zu guter letzt einen Sollwertsprung von 0 auf 5 cm zu simulieren.
Dazu folgende Annahmen bzw. folgende Gedanken:
I. Leiten Sie ein dynamisches Modell für die beiden Achsen her und realisieren Sie es mit Simulink.
Die Herleitung des dynamischen Modells folgt dem allgemeinen Modellierungsschema:
1. Vorgaben sammeln
Aus der Aufgabenstellung sind folgende Daten, sowie Randbedingungen und Vereinfachungen bekannt:
Maximalmoment des Servomotors (für x- und y-Achse identisch) MMax= 5 Nm
Massenträgheitsmoment des Servomotors (x- und y-Achse) JM= 10 kgcm²
Schlittenmasse in x-Richtung (inkl. Y-Achs-Antrieb) mx= 100kg
Schlittenmasse in y-Richtung my= 10kg
Treibrollenradius r= 50mm
Übertragungsbeiwert Servomotordynamik KM= 1 Nm/V
Zeitkonstante Servomotordynamik (x- und y-Achse) TM= 12ms
Übersetzungsverhältnis (Zähnezahl Treibrollen- zu Motorritzel) ü=5
-Trägheit von Zahnband, Umlenk- und Treibrolle sowie Motor- und Treibrollenritzel sei gegenüber der Trägheit von Schlitten und Motor vernachlässigbar
-Stirnradgetriebe und Zahnriemen seien unendlich steif und spielfrei
-Die Materialdämpfung des Zahnriemens soll im Sinne einer Worst Case-Betrachtung vernachlässigt werden
-Die Lageregelung der Achse erfolgt über eine unterlagerte Geschwindigkeitsregelung. Die Geschwindigkeit und die Schlittenposition werden direkt erfasst
-Die Dynamik der Drehmomenterzeugung des Servomotors wird als Übertragungsglied erster Ordnung (KM, TM) mit Stellgrößensättigung MMax nachgebildet. Eingangsgröße Spannung U, Ausgangsgröße Motormoment MM
Des Weiteren werden, auf Basis der Aufgabenstellung, folgende Annahmen getroffen:
- Das System besitzt kein Positionsmesssystem
- Quasikontinuierliche Regelung
- Reibkräfte und/oder momente werden vernachlässigt. Eine Berechnung wäre ohne zusätzliche Angaben nicht möglich!
- Die Eingangsspannung des Systems ist 230V/1-phasig
2. Wirkzusammenhänge ergründen
Die Motorspannung U und das Motormoment M sind bis zur Stellgrößensättigung proportional. Das Lastmoment durch den Schlitten wirkt dem Motormoment entgegen.
Die Eingangsgröße des Reglers ist eine einphasige 230V Netzspannung. Als Eingangsgröße des Servomotors wirkt die Spannung U. Ausgangsgröße ist das Motormoment MM.
Das Motormoment ist durch eine Stellgrößensättigung auf ein maximales Motormoment MMax begrenzt.
Die Regelung erfolgt durch einen kaskadierten Lageregler.
3. Quantitatives Modell
Da als Lage- und Geschwindigkeitsregler P-Regler eingesetzt werden, können beide Reglereinstellungen durch stationäre Verstärkungsfaktoren beschrieben werden:
Kpx = P-Regler Lageregelung
Kpv = P-Regler Geschwindigkeitsregelung
Des Weiteren wird das Gesamtträgheitsmoment bezogen auf die Motorwelle benötigt:
x- Richtung: J_Ges=J_M+J_Lx= J_M+(m_x∙r^2)/ü^2 =10kgcm²+100kgcm²=110kgcm²
y- Richtung: J_Ges=J_M+J_Ly= J_M+(m_x∙r^2)/ü^2 =10kgcm²+10kgcm²=20kgcm²
4. Gleichungen aufbereiten
Das physikalische Modell besteht aus zwei Teilsystemen:
Angetriebene Punktmasse
φ(s)=1/J∙1/s∙1/s∙[K_M∙U(s)-M_L (s)]
Motorwicklung als Übertragungsglied 1. Ordnung
U(s)=K_M/((1+s∙T_M))
Beigefügt erhaltet ihr meine Script- und Modell-Datei.
Beim Simulieren bekomme ich nun mehrere Fehler und ich hab keinen blassen Schimmer, woher das Rührt, bzw. was mein Fehler mit dem Lastmoment etc. ist.
Kann mir wer weiterhelfen??
BESTEN DANK vorab!!
Gruß
Patrick
Beschreibung: |
|
Download |
Dateiname: |
Zahnbandantrieb_mod.mdl |
Dateigröße: |
30.81 KB |
Heruntergeladen: |
1004 mal |
Beschreibung: |
|
Download |
Dateiname: |
Zahnbandantrieb_dat.m |
Dateigröße: |
1.08 KB |
Heruntergeladen: |
748 mal |
Beschreibung: |
|
Download |
Dateiname: |
Fehlerbild_Simulink.PNG |
Dateigröße: |
46.5 KB |
Heruntergeladen: |
732 mal |
Beschreibung: |
|
Download |
Dateiname: |
Fehlerbild_Script-Datei.PNG |
Dateigröße: |
7.13 KB |
Heruntergeladen: |
676 mal |
|
|
|
|
|
AKNOT |
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 12.10.11
|
|
|
|
Wohnort: Bochum
|
|
|
|
Version: R2018a
|
|
|
|
|
|
Verfasst am: 01.06.2016, 08:06
Titel:
|
|
Hi,
im Gain-Block "Übersetzung" steht ein i drin. Da du das nirgends definiert hast, wird dieses als imaginäre Einheit interpretiert, wodurch eine komplexe Zahl entsteht. Das i in MATLAB am besten nie als Variable verwenden.
Bzgl. des Skriptfehlers muss (zumindest in 2016a) der Aufruf so aussehen:
|
|
|
Employee87 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 25.12.15
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.06.2016, 17:05
Titel:
|
|
Hey,
erstmal vielen Dank für deine Hilfe!!
Deine Tipps haben mir schonmal geholfen! ich konnte zumindest mal die Simulation ausführen
Hast du noch einen Tipp für mich, ob die Source richtig gewählt und eingestellt ist und ich die Schlittenmasse (bzw. das Lastmoment) richtig modelliert habe?
Besten Dank!
Gruß
Patrick
|
|
|
AKNOT |
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 12.10.11
|
|
|
|
Wohnort: Bochum
|
|
|
|
Version: R2018a
|
|
|
|
|
|
Verfasst am: 02.06.2016, 07:59
Titel:
|
|
Was meinst du mit Source? Ob das richtig modelliert ist, kann ich schwer beurteilen, bin kein Maschbauer. Aber insgesamt scheint es zumindest noch nicht das zu machen, was du willst, denn der Sollwert 5 wird nicht erreicht, sondern fröhlich weiter integriert.
Von daher würde ich tippen, dass in dem Aufbau gefühlt ein Integrator zu viel ist
|
|
|
Employee87 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 25.12.15
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.06.2016, 08:33
Titel:
|
|
Hey AKNOT,
mit Source dachte ich an ein Step, Signal Generator oder sowas Also die Eingangsgröße des Systems...
Ich dacht mir schon, dass wohl ein Integrator zuviel ist!
Die Regler sollen P-Regler sein, damit wären das nur Gain-Blöcke.
Der Motor ist ein Übertragungsglied 1. Ordnung, damit durch Transfer fcn Block beschrieben.
Die Strecke ist die beschleunigte Schlittenmasse, Masse*Beschleuningung*Weg.
M=mx*a*x, wobei a die 2. Ableitung des Drehwinkels phi ist, also hier doppelte Integration?
Gruß
Patrick
|
|
|
AKNOT |
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 12.10.11
|
|
|
|
Wohnort: Bochum
|
|
|
|
Version: R2018a
|
|
|
|
|
|
Verfasst am: 02.06.2016, 08:37
Titel:
|
|
Wenn du nochmal (ordentlich formatiert ) die Differentialgleichung(en) angeben könntest, nach denen du das aufgebaut hast, wäre gut.
Wenn du deinen Sollwert nach 1 s von 0 auf 5 setzen möchtest, dann ist Step schon richtig.
|
|
|
Employee87 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 25.12.15
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.06.2016, 13:09
Titel:
|
|
Das System wird folgendermaßen definiert (korrigiert mich bitte, falls ich falsch liege):
Beschreibung: |
|
Download |
Dateiname: |
DGL.PNG |
Dateigröße: |
3.87 KB |
Heruntergeladen: |
856 mal |
|
|
|
AKNOT |
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 12.10.11
|
|
|
|
Wohnort: Bochum
|
|
|
|
Version: R2018a
|
|
|
|
|
|
Verfasst am: 02.06.2016, 13:15
Titel:
|
|
Ist s überall die komplexe Frequenz oder hast du was vermischt? Was ist phi(s)?
|
|
|
Employee87 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 25.12.15
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.06.2016, 13:24
Titel:
|
|
s ist hierbei nur der Laplace-Operator als Ableitung des Drehwinkels phi!
|
|
|
Employee87 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 25.12.15
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.06.2016, 21:55
Titel:
|
|
Hallo Zusammen,
nach den jüngsten Änderungen funktioniert soweit alles!
Merkwürdig finde ich nur, dass ich, obwohl mein Step auf den Endwert von 5 eingestellt ist, nur einen Sollwertsprung auf 2.5cm erhalte.
Jemand ne Ahnung warum?
Danke und Gruß
Patrick
Beschreibung: |
|
Download |
Dateiname: |
Hubantrieb_dat.m |
Dateigröße: |
1.4 KB |
Heruntergeladen: |
774 mal |
Beschreibung: |
|
Download |
Dateiname: |
Hubantrieb_mod.mdl |
Dateigröße: |
32.23 KB |
Heruntergeladen: |
826 mal |
|
|
|
RaS |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.06.2016, 13:59
Titel:
|
|
##Hallo,
berechne bezüglich der dem Endwert von 2,5 die bleibende Regeldifferenz des Regelkreises.
Entgegenwirken kannst du mit einem PI-Regler anstatt dem P-Regler.
Alternativ wäre auch eine statische Vorsteuerung möglich, wenn mit der Führungsgröße der Systemausgang definiert werden soll.
Schöne Grüße,
RaS
|
|
|
Employee87 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 25.12.15
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.06.2016, 12:22
Titel:
|
|
Hallo RaS,
bedeutet das, dass die Regeldifferenz durch Einsatz des P-Reglers 2,5cm ist?
Für diese Aufgabe soll laut. Aufgabenstellung nur ein P-Regler eingesetzt werden.
Letztlich soll der Sollwertsprung des Schlittens von 0 auf 5cm simuliert werden.
Muss ich dafür das Modell ändern oder die Script-Datei anpassen?
Gruß
Patrick
|
|
|
RaS |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.06.2016, 19:20
Titel:
|
|
##Hallo,
ja genau das heißt das. Das stationäre Verhalten deines geregelten Systems (G = Gr*Gr2*Gs) ergibt sich zu Kpx*Kpv. Desshalb muss das Produkt deinem Endwert entsprechen. Dabei muss der Wert des inneren Reglers deutlich schneller/höher sein als der des äußeren Reglers.
Schöne Grüße,
RaS
|
|
|
Employee87 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 25.12.15
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.06.2016, 19:56
Titel:
|
|
Das würde (simulativ) bedeuten, dass, je höher der Verstärkungsfaktor, desto weiter fährt der Schlitten?
Das sieht dann ja irgendwie bisschen madig aus....
Gruß
Patrick
|
|
|
koetter |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.07.2016, 22:28
Titel: Portalroboter in Matlab
|
|
|
|
|
Hallo
ich habe fast die gleiche Aufgabe und komme nicht weiter ich brauche kruzfristig hilfe da der Abgabetermin vor der tür steht.
Die Aufgabenstellung ist
In der nachfolgenden Abbildung ist eine Linearachse eines Portalroboters
skizziert (Zweiseitenansicht), der in einem Bestückungsautomaten für Leiterplatten
eingesetzt wird. Die Linearachse ist mit einem Zahnbandantrieb ausgestattet,
mit dem die Bewegungswandlung (rotierend linear) realisiert
wird. Der Servomotor ist über ein Stirnradgetriebe an die Treibrolle des
Zahnbandantriebes angekoppelt.
hier die vorgegebenen Daten:
Neben den in der nachfolgenden Tabelle angegebenen Daten sollen folgende
Randbedingungen und Vereinfachungen für die Linearachse gelten:
die Trägheit von Zahnband, Umlenk- und Treibrolle sowie Motor- und
Treibrollenritzel sei gegenüber der Trägheit von Schlitten und Motor
vernachlässigbar klein;
das Stirnradgetriebe sei unendlich steif und spielfrei;
die Materialdämpfung des Zahnriemens soll im Sinne einer worstcase-
Betrachtung vernachlässigt werden.
die kaskadierte Lageregelung der Achse ist indirekt über die Messung der
Motorposition realisiert, d. h. die Schlittenposition x wird nicht gemessen.
der Strom- bzw. Momentenregelkreis des Servomotors kann als Übertragungsglied
erster Ordnung (Ersatzzeitkonstante) mit Stellgrößensättigung
nachgebildet werden.
Tabelle D.1: Modellparameter der Zahnbandantriebes des Portalroboters
Kaskadierter Lage- und Geschwindigkeitsregler ohne I-Anteil Kpx_x,y, Kpv_x,y
Maximalmoment des Servomotors (für x- und y-Achse identisch) Mmax = 5 Nm
Massenträgheitsmoment des Servomotors (x- und y-Achse) J = 10 kgcm2
Schlittenmasse in x (inkl. y-Achsantrieb) mx =100 kg
Schlittenmasse in y my =10 kg
Treibrollenradius r = 50 mm
Steifigkeit des Zahnriemens (worst-case, x- und y-Achse) k = 1 N/μm
Reibungsmoment am Motor (für x- und y-Achse identisch) MR = 0,1 Nm
Reibungskraft am Schlitten (für x- und y-Achse identisch) FR = 10 N
Ersatzzeitkonstante des Stromregelkreises (x- und y-Achse) T = 1 ms
Übersetzungsverhältnis (Zähnezahl Treibrollen- zu Motorritzel) ü = 5
und im Anhang meine Simulink Dateien
wer kann mir meinen Fehler sagen. Die Simulation läuft aber irgendwie passen die Ergebnisse nicht wo ist mein Fehler
Beschreibung: |
|
Download |
Dateiname: |
schlitten_neu2.m |
Dateigröße: |
1.01 KB |
Heruntergeladen: |
748 mal |
Beschreibung: |
|
Download |
Dateiname: |
Regelung2_.mdl |
Dateigröße: |
39.82 KB |
Heruntergeladen: |
717 mal |
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|