Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Fachkräfte:
Entwicklungsingenieur (m/w) für modellbasierte Softwareentwicklung
Modellbasierte Softwareentwicklung mit MATLAB/Simulink und dSPACE TargetLink
Elektronische Fahrwerksysteme GmbH - Ingolstadt

Softwareentwickler (m/w) für automatische Codegenerierung
Softwareentwicklung mit MATLAB/Simulink und dSPACE TargetLink im Bereich Fahrwerkregelsysteme
Elektronische Fahrwerksysteme GmbH - Ingolstadt

Entwicklungsingenieur/-in für Hard-/Software Assistenzsysteme
Steuergeräte- und Softwareverantwortung der Radarsensorik
Daimler AG - Stuttgart

Ingenieure (m/w) Funktionsentwicklung für Automatisiertes Fahren
Entwicklung von Software Funktionskomponenten für assistierte und automatisierte Fahrfunktionen
Continental AG - Frankfurt

Entwicklungsingenieur (m/w) für Fahrdynamikregelsysteme
Entwicklung der für die Fahrdynamik relevanten Funktionen
Elektronische Fahrwerksysteme GmbH - Ingolstadt

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Linearachse Portalroboter, Sollwertsprung simulieren!

 

Employee87
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 24.12.15
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 31.05.2016, 17:34     Titel: Linearachse Portalroboter, Sollwertsprung simulieren!
  Antworten mit Zitat      
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

Zahnbandantrieb_mod.mdl
 Beschreibung:

Download
 Dateiname:  Zahnbandantrieb_mod.mdl
 Dateigröße:  30.81 KB
 Heruntergeladen:  273 mal
Zahnbandantrieb_dat.m
 Beschreibung:

Download
 Dateiname:  Zahnbandantrieb_dat.m
 Dateigröße:  1.08 KB
 Heruntergeladen:  196 mal
Fehlerbild_Simulink.PNG
 Beschreibung:

Download
 Dateiname:  Fehlerbild_Simulink.PNG
 Dateigröße:  46.5 KB
 Heruntergeladen:  179 mal
Fehlerbild_Script-Datei.PNG
 Beschreibung:

Download
 Dateiname:  Fehlerbild_Script-Datei.PNG
 Dateigröße:  7.13 KB
 Heruntergeladen:  170 mal
Private Nachricht senden Benutzer-Profile anzeigen


AKNOT
Forum-Century

Forum-Century


Beiträge: 120
Anmeldedatum: 12.10.11
Wohnort: Bochum
Version: R2017b
     Beitrag Verfasst am: 01.06.2016, 07:06     Titel:
  Antworten mit Zitat      
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:

Code:

simulation_opt=simset('Solver','ode5');

% Simulation starten
[x,y,t]=sim('Zahnbandantrieb_mod', Tsim, simulation_opt);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Employee87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 24.12.15
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 01.06.2016, 16:05     Titel:
  Antworten mit Zitat      
Hey,

erstmal vielen Dank für deine Hilfe!!

Deine Tipps haben mir schonmal geholfen! ich konnte zumindest mal die Simulation ausführen Very Happy

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
Private Nachricht senden Benutzer-Profile anzeigen
 
AKNOT
Forum-Century

Forum-Century


Beiträge: 120
Anmeldedatum: 12.10.11
Wohnort: Bochum
Version: R2017b
     Beitrag Verfasst am: 02.06.2016, 06:59     Titel:
  Antworten mit Zitat      
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 Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Employee87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 24.12.15
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 02.06.2016, 07:33     Titel:
  Antworten mit Zitat      
Hey AKNOT,

mit Source dachte ich an ein Step, Signal Generator oder sowas Very Happy 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
Private Nachricht senden Benutzer-Profile anzeigen
 
AKNOT
Forum-Century

Forum-Century


Beiträge: 120
Anmeldedatum: 12.10.11
Wohnort: Bochum
Version: R2017b
     Beitrag Verfasst am: 02.06.2016, 07:37     Titel:
  Antworten mit Zitat      
Wenn du nochmal (ordentlich formatiert Wink) 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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Employee87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 24.12.15
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 02.06.2016, 12:09     Titel:
  Antworten mit Zitat      
Das System wird folgendermaßen definiert (korrigiert mich bitte, falls ich falsch liege):

DGL.PNG
 Beschreibung:

Download
 Dateiname:  DGL.PNG
 Dateigröße:  3.87 KB
 Heruntergeladen:  275 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
AKNOT
Forum-Century

Forum-Century


Beiträge: 120
Anmeldedatum: 12.10.11
Wohnort: Bochum
Version: R2017b
     Beitrag Verfasst am: 02.06.2016, 12:15     Titel:
  Antworten mit Zitat      
Ist s überall die komplexe Frequenz oder hast du was vermischt? Was ist phi(s)?
Private Nachricht senden Benutzer-Profile anzeigen
 
Employee87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 24.12.15
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 02.06.2016, 12:24     Titel:
  Antworten mit Zitat      
s ist hierbei nur der Laplace-Operator als Ableitung des Drehwinkels phi!
Private Nachricht senden Benutzer-Profile anzeigen
 
Employee87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 24.12.15
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 03.06.2016, 20:55     Titel:
  Antworten mit Zitat      
Hallo Zusammen,

nach den jüngsten Änderungen funktioniert soweit alles! Smile

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

Hubantrieb_dat.m
 Beschreibung:

Download
 Dateiname:  Hubantrieb_dat.m
 Dateigröße:  1.4 KB
 Heruntergeladen:  206 mal
Hubantrieb_mod.mdl
 Beschreibung:

Download
 Dateiname:  Hubantrieb_mod.mdl
 Dateigröße:  32.23 KB
 Heruntergeladen:  247 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
RaS

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.06.2016, 12:59     Titel:
  Antworten mit Zitat      
##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

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 24.12.15
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 07.06.2016, 11:22     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
RaS

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2016, 18:20     Titel:
  Antworten mit Zitat      
##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

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 24.12.15
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 08.06.2016, 18:56     Titel:
  Antworten mit Zitat      
Das würde (simulativ) bedeuten, dass, je höher der Verstärkungsfaktor, desto weiter fährt der Schlitten? Shocked

Das sieht dann ja irgendwie bisschen madig aus....



Gruß
Patrick
Private Nachricht senden Benutzer-Profile anzeigen
 
koetter

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2016, 21:28     Titel: Portalroboter in Matlab
  Antworten mit Zitat      
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

schlitten_neu2.m
 Beschreibung:

Download
 Dateiname:  schlitten_neu2.m
 Dateigröße:  1.01 KB
 Heruntergeladen:  183 mal
Regelung2_.mdl
 Beschreibung:

Download
 Dateiname:  Regelung2_.mdl
 Dateigröße:  39.82 KB
 Heruntergeladen:  178 mal
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2017 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.