Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: Dorka/PR_Regelungsrechnik_-_Versuch_1a
base: 055e31a5a9
...
head fork: Dorka/PR_Regelungsrechnik_-_Versuch_1a
compare: 98e67bc0b5
Checking mergeability… Don't worry, you can still create the pull request.
  • 14 commits
  • 23 files changed
  • 0 commit comments
  • 2 contributors
Commits on May 03, 2012
@bhenckell bhenckell versuch zu pullen b0beb53
@bhenckell bhenckell Merge branch 'master' of
git@github.com:Dorka/PR_Regelungsrechnik_-_Versuch_1a.git

Conflicts:
	PR Regelungsrechnik - Versuch 1a/Scilab/exceleinlesen.sce
099063f
Commits on May 05, 2012
@bhenckell bhenckell Kommentare in der Scilab-Datei angepasst 081bffe
@bhenckell bhenckell Merge branch 'master' of
git@github.com:Dorka/PR_Regelungsrechnik_-_Versuch_1a.git

Conflicts:
	PR Regelungsrechnik - Versuch 1a/Scilab/exceleinlesen.sce
2983ba6
@bhenckell bhenckell Merge branch 'master' into Boris 5f7a536
@bhenckell bhenckell Bilder in Ordner Verschoben und Bild von der Sensitivitätsfunktion
eingebunden
e02148a
@bhenckell bhenckell sonstiges c5b51a8
@bhenckell bhenckell Scilab geändert 144528f
@Dorka Merge branch 'master' into Dirk2
Conflicts:
	PR Regelungsrechnik - Versuch 1a/PR Regelungsrechnik - Versuch 1a.pdf
	PR Regelungsrechnik - Versuch 1a/Scilab/exceleinlesen.sce
	PR Regelungsrechnik - Versuch 1a/tmp/PR Regelungsrechnik - Versuch
1a.aux
f8cbf57
@Dorka Bilder 6ca1129
@bhenckell bhenckell Fehler in der Reglerübertagungsfunktion korrigiert 8f25ff7
@bhenckell bhenckell Merge branch 'master' into Boris
Conflicts:
	PR Regelungsrechnik - Versuch 1a/PR Regelungsrechnik - Versuch 1a.pdf
7f060cb
@Dorka 0.2 auf 0.02 geändert 5a41b15
@Dorka Merge branch 'master' into Dirk2
Conflicts:
	PR Regelungsrechnik - Versuch 1a/PR Regelungsrechnik - Versuch 1a.pdf
	PR Regelungsrechnik - Versuch 1a/Scilab/Motor.sce
98e67bc
Showing with 182 additions and 264 deletions.
  1. BIN  .DS_Store
  2. +0 −149 Motor.sce
  3. 0  PR Regelungsrechnik - Versuch 1a/{ → Bilder}/Blockschaltbild_Motor1a.pdf
  4. 0  PR Regelungsrechnik - Versuch 1a/{ → Bilder}/Blockschaltbild_Motor1a.png
  5. 0  PR Regelungsrechnik - Versuch 1a/{ → Bilder}/Regler.png
  6. 0  PR Regelungsrechnik - Versuch 1a/{ → Bilder}/Reglerundstrecke.png
  7. BIN  PR Regelungsrechnik - Versuch 1a/Bilder/Sensitivitaetsfunktion.pdf
  8. BIN  PR Regelungsrechnik - Versuch 1a/Bilder/Sprungantwort.pdf
  9. BIN  PR Regelungsrechnik - Versuch 1a/Bilder/Sprungantwort_mess.pdf
  10. BIN  PR Regelungsrechnik - Versuch 1a/Bilder/Sprungantwortstoeruebertragungsfunktion.pdf
  11. BIN  PR Regelungsrechnik - Versuch 1a/Bilder/Stoersprungantwort_mess.pdf
  12. BIN  PR Regelungsrechnik - Versuch 1a/Bilder/WOK.pdf
  13. BIN  PR Regelungsrechnik - Versuch 1a/PR Regelungsrechnik - Versuch 1a.pdf
  14. +66 −30 PR Regelungsrechnik - Versuch 1a/PR Regelungsrechnik - Versuch 1a.tex
  15. +71 −52 PR Regelungsrechnik - Versuch 1a/Scilab/Motor.sce
  16. +18 −17 PR Regelungsrechnik - Versuch 1a/Scilab/exceleinlesen.sce
  17. BIN  PR Regelungsrechnik - Versuch 1a/Sensitivitaetsfunktion.pdf
  18. BIN  PR Regelungsrechnik - Versuch 1a/Sprungantwort.pdf
  19. BIN  PR Regelungsrechnik - Versuch 1a/Sprungantwortstoeruebertragungsfunktion.pdf
  20. BIN  PR Regelungsrechnik - Versuch 1a/WOK.pdf
  21. +18 −11 PR Regelungsrechnik - Versuch 1a/tmp/PR Regelungsrechnik - Versuch 1a.aux
  22. +4 −2 PR Regelungsrechnik - Versuch 1a/tmp/PR Regelungsrechnik - Versuch 1a.out
  23. +5 −3 PR Regelungsrechnik - Versuch 1a/tmp/PR Regelungsrechnik - Versuch 1a.toc
View
BIN  .DS_Store
Binary file not shown
View
149 Motor.sce
@@ -1,149 +0,0 @@
-// ############################################################################
-// Scilab Script zum 1 Praktikum
-//
-// Reglerentwurf einer Motorregelung mit Wurzelortskurve,
-// Frequenzkennlinienverfahren und Simulation
-// ############################################################################
-
-// cd "/Users/borishenckell/Documents/eclipse workspace/PR_Regelungsrtechnik_-_Versuch_1a/PR Regelungsrechnik - Versuch 1a"
-
-// Fehlermeldung bei neudefinition vermeiden
-funcprot(0);
-
-// Funktion "bode_w" einbinden
-exec("bode_w_farbe.sci", -1);
-exec("bode_w.sci", -1);
-
-
-
-//Konstaten
-
-u=1
-//Gleichstrommotor
-RA=10.6; //[ohm]Ankerwiderstand
-LA=0.82E-3; //[Henry] Ankerinduktivität
-km=0.0527; //[NmA^-1] Motorkonstante
-JM=1.16E-6; //[KGm^2] Ankerträgheitsmoment
-cmu=0.4E-6; //[Nms] Reibungskonstante
-//Massescheibe
-Ms= 0.068; //[Kg] Masse
-rs= 0.025; //[m] Radius
-Js= 0.5*Ms*rs^2 //[KGm^2] Massescheibeträgheitsmoment
-//Leistungsverstärker
-Tv=0.2E^-3; //[s] Zeitkonstante
-V = 3; //[]Verstärkung
-//Störungsgröße
-mL=0;
-
-// Lineares system
-
-A = [-RA/LA , -km/LA;...
- (km)/(Js+JM) , -(cmu)/(Js+JM)];
-
-B = [V/LA;0];
-
-C = [1,0];
-
-D = [0];
-
-// Übertragungsfunktion
-
-
-Gss = syslin('c',A,B,C); //Erstellen eines linear kontinuerliche Systems
-Gmotor = clean(ss2tf(Gss)) //Erstellen der Übertragungsfunktion
-
-nul_Gmotor=roots(Gmotor.num) // Nullstellen der Übertragungsfunktion
-pol_Gmotor=roots(Gmotor.den) // Polstellen der Übertragungsfunktion
-
-// Erstellen der normierten Faktorisierung der Übertragungsfunktion Gmotor
-
-s = poly(0, 's'); // Definiert ein Polynom s mit Nullstelle = 0
-
-k=coeff(Gmotor.num,0)/coeff(Gmotor.den,0); //Quorient der beiden Koeffizienten des
- //Zählers und des Nenners ohne s
-
-Gmotor_norm=k*(-nul_Gmotor(1)^(-1)*s+1)/(((-pol_Gmotor(1))^(-1)*s+1)*((-pol_Gmotor(2))^(-1)*s+1)) // Normiert
- // faktorisierte Übertragungsfunktion Gmotor
-kneu=k/pol_Gmotor(1)+0.0004314;
-Gp=kneu*(-nul_Gmotor(1)^(-1)*s+1)/(((-pol_Gmotor(2))^(-1)*s+1)) // normiert faktorisierte Ü-Fkt. ohne die Schnellst
- //Polstelle pol_Gmotor(1)(-11488.343) [lansamere
- //Polstelle: pol_Gmotor(2):(-10)]
-
-check1=horner(Gmotor,0)-horner(Gmotor_norm,0) // Kontrolle, ob die beiden Übertragungsfunktionen
-check=horner(Gmotor,0)-horner(Gp,0) // Kontrolle, ob die beiden Übertragungsfunktionen
- //den selben punkt bei f=0 haben
-
-
-Gmotor_norm1=syslin('c',real(Gmotor_norm.num),real(Gmotor_norm.den))
-Gui = syslin('c',real(Gp.num), real(Gp.den))
-nul_Gui = roots(Gui.num)
-pol_Gui = roots(Gui.den)
-
-//clf(1);scf(1);
-//bode([Gmotor;Gui],0.001,300000,['Gmotor';'Gp1']); // Bodeplot der Original Strecken
- // Übertragungsfunktion sowie
- // der verkürzten Übertragungsfkt
-//xgrid();
-
-
-s0i=pol_Gui(1);
-s1=nul_Gui(1) //0;
-V=40000; // Verstärkung des Reglers
-//Kp = -V/Z; // Übertragungsfunktion des Proportionalteils des PI
- // Reglers
-
-Ki = -V/s0i; // Übertragungsfunktion des Integrierers des PI Reglers
-
-K = Ki*(((s-s0i)/s)*(-s1/(s-s1))); // Übertragungsfunktion des PI - Reglers
-
-clf(2);scf(2);
-evans(Gui*K); // Plotten der Wurzelortskurve (WOK) von Gui*K
-xgrid(2);
-
-
-//GKoffen = G*K // Übertragungsfunktion des offenen Regelkreises
-//
-clf(3);scf(3);
-[w, db, phi] = bode_w(Gui*K, 10^(-3), 10^3); // Plotten des Bodediagramms des offenen
- // Regelkreises (G*K) in rad/s
-xgrid(3);
-
-////GKgeschlossen=G.num*K.num+G.den*K.den // Übertragungsfunktion des geschlossenen Regelkreises
-GKgeschlossen = (Gui*K/(1+Gui*K))
-
-t=[0:0.001:0.5];
-h=csim('step',t,GKgeschlossen);
-
-clf(4);scf(4);
-plot2d(t,h);
-xgrid();
-
-Gdu = Gui/(1+Gui*K); //Die Übertagungsfunktion Gui beschreibt die Funktion IA(s)/U(s)
- // Die übertagungsfunktion Gdu beschreibt die Funktion IA(s)/Du(s)
-
-t=[0:0.001:1];
-h1=csim('step',t,Gdu);
-
-MatrizenscheissvonGdu = tf2ss(Gdu);
-
-clf(5);scf(5);
-plot2d(t,h1+MatrizenscheissvonGdu(5));
-xgrid();
-
-
-Si = 1/(1+Gui*K)
-Ti = (Gui*K)/(1+Gui*K)
-
-clf(6);scf(6);
-//[w, db,phi] = bode_w(Si, 10^(-3), 10^3); // Bodediagramm
-//[w, db,phi] = bode_w(Ti, 10^(-3), 10^3);
-
-bode_w_farbe(Si, -3, 3, 'Bodeplot', 'false', 1000, 2);
-bode_w_farbe(Ti, -3, 3, 'Bodeplot', %f, 1000, 5);
-xgrid();
-
-
-
-//Kregler=tf2ss(K)
-//Gss = syslin('c',A,B,C); //Erstellen eines linear kontinuerliche Systems
-//Gmotor = clean(ss2tf(Gss)) //Erstellen der Übertragungsfunktion
View
0  ...srechnik - Versuch 1a/Blockschaltbild_Motor1a.pdf → ...k - Versuch 1a/Bilder/Blockschaltbild_Motor1a.pdf
File renamed without changes
View
0  ...srechnik - Versuch 1a/Blockschaltbild_Motor1a.png → ...k - Versuch 1a/Bilder/Blockschaltbild_Motor1a.png
File renamed without changes
View
0  PR Regelungsrechnik - Versuch 1a/Regler.png → PR Regelungsrechnik - Versuch 1a/Bilder/Regler.png
File renamed without changes
View
0  ...egelungsrechnik - Versuch 1a/Reglerundstrecke.png → ...srechnik - Versuch 1a/Bilder/Reglerundstrecke.png
File renamed without changes
View
BIN  PR Regelungsrechnik - Versuch 1a/Bilder/Sensitivitaetsfunktion.pdf
Binary file not shown
View
BIN  PR Regelungsrechnik - Versuch 1a/Bilder/Sprungantwort.pdf
Binary file not shown
View
BIN  PR Regelungsrechnik - Versuch 1a/Bilder/Sprungantwort_mess.pdf
Binary file not shown
View
BIN  PR Regelungsrechnik - Versuch 1a/Bilder/Sprungantwortstoeruebertragungsfunktion.pdf
Binary file not shown
View
BIN  PR Regelungsrechnik - Versuch 1a/Bilder/Stoersprungantwort_mess.pdf
Binary file not shown
View
BIN  PR Regelungsrechnik - Versuch 1a/Bilder/WOK.pdf
Binary file not shown
View
BIN  PR Regelungsrechnik - Versuch 1a/PR Regelungsrechnik - Versuch 1a.pdf
Binary file not shown
View
96 PR Regelungsrechnik - Versuch 1a/PR Regelungsrechnik - Versuch 1a.tex
@@ -18,8 +18,8 @@
\definecolor{darkgray}{rgb}{0.95,0.95,0.95}
\definecolor{darkolivegreen}{HTML}{01a801}
\definecolor{functionsBlue}{HTML}{32b9b9}
-\definecolor{stringBrown}{HTML}{bc8f8f}
-\definecolor{variableRed}{HTML}{ff0000}
+\definecolor{variableRed}{rgb}{1,0,0}
+\definecolor{stringBrown}{HTML}{bc8e8e} % f geht nicht
\lstset{
%\lstset{extendedchars=true} % Umlaute an der richtigen stelle und nicht am Anfang ausgeben
@@ -34,9 +34,9 @@
showstringspaces=true, % no special string spaces
%
backgroundcolor=\color{darkgray}, % background
- stringstyle=\color{stringBrown}\bfseries, % Strings
+ stringstyle=\color{stringBrown}\fseries, % Strings
keywordstyle=\color{functionsBlue}\bfseries, % keywords Blau
- identifierstyle=\color{red}, % variablen
+ identifierstyle=\color{variableRed}, % variablen
commentstyle=\color{darkolivegreen}, % comments
%
breaklines=true,
@@ -54,8 +54,6 @@
%
language=Scilab
}
-\lstset{}
-
% enables UTF-8 in source code: (dirty, dirty hack)
\lstset{literate=
@@ -160,13 +158,11 @@ \section{Vorbereitungsaufgaben}
\begin{figure}[H]
\centering
- \includegraphics[scale=0.5]{Blockschaltbild_Motor1a}
+ \includegraphics[scale=0.5]{./Bilder/Blockschaltbild_Motor1a}
\caption{Blockschaltbid Motor Versuch 1a}
\end{figure}
\vspace{1em}
-
-
\end{quote}
\subsection{Zustandsraummodell}
@@ -250,7 +246,7 @@ \section{Vorbereitungsaufgaben}
Die VereinfachteÜbertragungsfunktion $G_{ui}$ lautet:
\begin{equation*}
\begin{split}
- G_{ui} = \frac{0,004314 + 0,0241673s}{1 + 0,0853239 s}
+ G_{ui} (s) = \frac{0,004314 + 0,0241673s}{1 + 0,0853239 s}
\end{split}
\end{equation*}
@@ -288,8 +284,9 @@ \section{Vorbereitungsaufgaben}
Regler? Welche Effekte erwarten Sie für einen reinen PI-Regler im geschlossenen
Regelkreis?\\
- Durch die zusätzliche polstelle können wir die Nullstelle der Strecke eliminieren, Sodass der Regler schneller wird. Außerdem Hat das
- PT1-Glied eine Tiefpasscharakteristik, wodurch das Messrauchsen gedämpft wird.\\
+ Durch das zusätzliche PT1-Glied sind wir flexibler. Wir können durch die extra polstelle die Nullstelle der
+ Strecke eliminieren, so dass der Regler schneller wird. Außerdem Hat das PT1-Glied eine
+ Tiefpasscharakteristik, wodurch das Messrauchsen gedämpft wird.\\
Durch den Einsatz eines PI-Reglers werden wir keine bleibende regelabweichung erhalten.\\
\end{quote}
@@ -317,7 +314,7 @@ \section{Vorbereitungsaufgaben}
\begin{figure}[H]
\centering
- \includegraphics[scale=0.7]{WOK}
+ \includegraphics[scale=0.7]{./Bilder/WOK}
\caption{Wurzelortskurve}
\label{fig:WOK}
\end{figure}
@@ -335,10 +332,16 @@ \section{Vorbereitungsaufgaben}
aufweisen. Bestimmen Sie $k_i$ mit Hilfe von Simulationen der Führungssprungantwort.\\
Laut Simulation der Führungssprungantwort ist ein Wert von $k_i = 40000$ sinnvoll.\\
+ Daraus ergibt sich folgende Reglerübertragungsfunktion:
+ \begin{equation*}
+ \begin{split}
+ K (s) = \frac{8367,7266 + 713,96698 s}{0,0178492 s + s^2}
+ \end{split}
+ \end{equation*}
\begin{figure}[H]
\centering
- \includegraphics[scale=0.85]{Sprungantwort}
+ \includegraphics[scale=0.85]{./Bilder/Sprungantwort}
\caption{Sprungantwort des geschlossenen Kreises}
\end{figure}
\vspace{1em}
@@ -355,11 +358,12 @@ \section{Vorbereitungsaufgaben}
einer Störspannung $d_u$ am Eingang des Leistungsverstärkers auf den Ankerstrom $i_A$ beschreibt.
Berechnen Sie die Störübertragungsfunktion. Simulieren Sie die Störsprungantwort.\\
- $G_{du} = \frac{G_{ui}}{1+G_{ui}K_i} = \frac{0,0004314s + 0.0241673s^2}{17,254664 + 2,472235s + 0,0853239s^2}$.
+ $G_{du} (s) = \frac{G_{ui}}{1+G_{ui}K_i} = \frac{0,0004314s + 0.0241673s^2}{17,254664 + 2,472235s +
+ 0,0853239s^2}$.
\begin{figure}[H]
\centering
- \includegraphics[scale=0.85]{Sprungantwortstoeruebertragungsfunktion}
+ \includegraphics[scale=0.85]{./Bilder/Sprungantwortstoeruebertragungsfunktion}
\caption{Sprungantwort der Störübertragungsfunktion}
\end{figure}
\vspace{1em}
@@ -378,6 +382,12 @@ \section{Vorbereitungsaufgaben}
Machen Sie Aussagen darüber, für welche Frequenzbereiche der Referenz- und Störgröße gutes Regelverhalten
erzielt wird und in welchen Frequenzbereichen auftretendes Messrauschen sich kaum auf die Regelgröße auswirkt.\\
+ \begin{figure}[H]
+ \centering
+ \includegraphics[scale=0.7, trim = 0cm 0cm 0cm 0cm, clip]{./Bilder/Sensitivitaetsfunktion}
+ \caption{Sensitivitäts und komplimentäre Sensitivitätsfunktion}
+ \end{figure}
+
\end{quote}
@@ -391,14 +401,14 @@ \section{Vorbereitungsaufgaben}
\begin{figure}[H]
\centering
- \includegraphics[scale=0.5]{Regler}
+ \includegraphics[scale=0.5]{./Bilder/Regler}
\caption{Blockschaltbild des Reglers}
\end{figure}
\vspace{1em}
\begin{figure}[H]
\centering
- \includegraphics[scale=0.5]{Reglerundstrecke}
+ \includegraphics[scale=0.5]{./Bilder/Reglerundstrecke}
\caption{Regler und Stecke zusammen}
\label{fig:clear_eingang}
\end{figure}
@@ -412,16 +422,47 @@ \section{Vorbereitungsaufgaben}
%--------------------------------------------------------------------
%--------------------------------------------------------------------
-\section{Versuch}
+
+\section{Ergebnisse}
\begin{quote}
-\end{quote}
+ Im Labor wurde aus dem errechneten Regler ein echtzeitlauffähiges Pogramm generiert und auf die otoregelung gespielt.
+
+ \subsection{Sprungantwort}
+ \begin{quote}
+
+ \begin{figure}[H]
+ \centering
+ \includegraphics[scale=0.9, trim = 0cm 0cm 0cm 0cm, clip]{Bilder/Sprungantwort_mess}
+ \caption{gemessene Sprungantwort}
+ \label{fig:Sprungantwort_mess}
+ \end{figure}
+
+ Bei der gemessenen Sprungantwort fällt gegenüber der Simulierten auf, dass Überschwingen entsteht. Der Grund hierfür können
+ Bauungenauigkeiten im Regler sein. Außerdem ist das Signal Verrauscht, was auf die Messung zurück zu führen ist.\\
+ Abgesehen davon verhält sich das System wie erwartet.
+ \end{quote}
-%--------------------------------------------------------------------
-%--------------------------------------------------------------------
-\section{Ergebnisse}
-\begin{quote}
+ \subsection{Störsprungantwort}
+ \begin{quote}
+
+ \begin{figure}[H]
+ \centering
+ \includegraphics[scale=0.9, trim = 0cm 0cm 0cm 0cm, clip]{Bilder/Stoersprungantwort_mess}
+ \caption{gemessene Störsprungantwort}
+ \label{fig:Stoersprungantwort_mess}
+ \end{figure}
+
+ Die Störsprungantwort kommt, aufgrund der Trägheit des Systems nicht ganz auf den aus dem Störimpuls errechneten Wert von $0,3A$. Dies ist
+ jedoch ein Vorteil wenn man es als Dämpfung der Störung ansieht. Abgesehen von der Verrauschtheit ist die Antwort des Systems erstaunlich nahe an der Simulation.
+
+
+
+
+ \end{quote}
+
+
\end{quote}
@@ -430,6 +471,7 @@ \section{Ergebnisse}
+\section{Sourcecode}
\begin{quote}
\lstinputlisting[
language=Scilab,
@@ -439,14 +481,8 @@ \section{Ergebnisse}
caption={Scilab-script}]
{./Scilab/Motor.sce}
-\end{quote}
-
-%--------------------------------------------------------------------
-%--------------------------------------------------------------------
-
-\begin{quote}
\lstinputlisting[
language=Scilab,
columns=flexible,
View
123 PR Regelungsrechnik - Versuch 1a/Scilab/Motor.sce
@@ -1,6 +1,6 @@
// ############################################################################
// Scilab Script zum 1 Praktikum
-//
+//
// Reglerentwurf einer Motorregelung mit Wurzelortskurve,
// Frequenzkennlinienverfahren und Simulation
// ############################################################################
@@ -20,21 +20,24 @@ exec("bode_w.sci", -1);
//Konstaten
-
u=1
+
//Gleichstrommotor
RA=10.6; //[ohm]Ankerwiderstand
LA=0.82E-3; //[Henry] Ankerinduktivität
km=0.0527; //[NmA^-1] Motorkonstante
JM=1.16E-6; //[KGm^2] Ankerträgheitsmoment
cmu=0.4E-6; //[Nms] Reibungskonstante
+
//Massescheibe
Ms= 0.068; //[Kg] Masse
rs= 0.025; //[m] Radius
Js= 0.5*Ms*rs^2 //[KGm^2] Massescheibeträgheitsmoment
+
//Leistungsverstärker
Tv=0.2E^-3; //[s] Zeitkonstante
V = 3; //[]Verstärkung
+
//Störungsgröße
mL=0;
@@ -51,30 +54,35 @@ D = [0];
// Übertragungsfunktion
+//Erstellen eines linear kontinuerliche Systems
+Gss = syslin('c',A,B,C);
-Gss = syslin('c',A,B,C); //Erstellen eines linear kontinuerliche Systems
-Gmotor = clean(ss2tf(Gss)) //Erstellen der Übertragungsfunktion
+//Erstellen der Übertragungsfunktion
+Gmotor = clean(ss2tf(Gss))
-nul_Gmotor=roots(Gmotor.num) // Nullstellen der Übertragungsfunktion
-pol_Gmotor=roots(Gmotor.den) // Polstellen der Übertragungsfunktion
+// Nullstellen der Übertragungsfunktion
+nul_Gmotor=roots(Gmotor.num)
+// Polstellen der Übertragungsfunktion
+pol_Gmotor=roots(Gmotor.den)
// Erstellen der normierten Faktorisierung der Übertragungsfunktion Gmotor
-s = poly(0, 's'); // Definiert ein Polynom s mit Nullstelle = 0
+// Definiert ein Polynom s mit Nullstelle = 0
+s = poly(0, 's');
+//Quorient der beiden Koeffizienten des Zählers und des Nenners ohne s
+k=coeff(Gmotor.num,0)/coeff(Gmotor.den,0);
+
+// Normiert faktorisierte Übertragungsfunktion Gmotor
+Gmotor_norm=k*(-nul_Gmotor(1)^(-1)*s+1)/(((-pol_Gmotor(1))^(-1)*s+1)*((-pol_Gmotor(2))^(-1)*s+1))
+
+kneu=k/pol_Gmotor(1)+0.0004314;
-k=coeff(Gmotor.num,0)/coeff(Gmotor.den,0); //Quorient der beiden Koeffizienten des
- //Zählers und des Nenners ohne s
-
-Gmotor_norm=k*(-nul_Gmotor(1)^(-1)*s+1)/(((-pol_Gmotor(1))^(-1)*s+1)*((-pol_Gmotor(2))^(-1)*s+1)) // Normiert
- // faktorisierte Übertragungsfunktion Gmotor
-kneu=k/pol_Gmotor(1)+0.0004314;
-Gp=kneu*(-nul_Gmotor(1)^(-1)*s+1)/(((-pol_Gmotor(2))^(-1)*s+1)) // normiert faktorisierte Ü-Fkt. ohne die Schnellst
- //Polstelle pol_Gmotor(1)(-11488.343) [lansamere
- //Polstelle: pol_Gmotor(2):(-10)]
+// normiert faktorisierte Ü-Fkt. ohne die schnellste Polstelle
+Gp=kneu*(-nul_Gmotor(1)^(-1)*s+1)/(((-pol_Gmotor(2))^(-1)*s+1))
-check1=horner(Gmotor,0)-horner(Gmotor_norm,0) // Kontrolle, ob die beiden Übertragungsfunktionen
-check=horner(Gmotor,0)-horner(Gp,0) // Kontrolle, ob die beiden Übertragungsfunktionen
- //den selben punkt bei f=0 haben
+// Kontrolle, ob die beiden Übertragungsfunktionen den selben Wert bei f=0 haben
+check1=horner(Gmotor,0)-horner(Gmotor_norm,0);
+check=horner(Gmotor,0)-horner(Gp,0);
Gmotor_norm1=syslin('c',real(Gmotor_norm.num),real(Gmotor_norm.den))
@@ -82,73 +90,84 @@ Gui = syslin('c',real(Gp.num), real(Gp.den))
nul_Gui = roots(Gui.num)
pol_Gui = roots(Gui.den)
+
+//Bodeplot der Originalstrecken Übertragungsfunktion sowie der verkürzten
+//Ü-Funktion
//clf(1);scf(1);
-//bode([Gmotor;Gui],0.001,300000,['Gmotor';'Gp1']); // Bodeplot der Original Strecken
- // Übertragungsfunktion sowie
- // der verkürzten Übertragungsfkt
+//bode([Gmotor;Gui],0.001,300000,['Gmotor';'Gp1']);
//xgrid();
-
+//Die Nullstelle des Reglers wird auf die Polstelle der Stecke gelegt
s0i=pol_Gui(1);
-s1=nul_Gui(1) //0;
-V=40000; // Verstärkung des Reglers
-//Kp = -V/Z; // Übertragungsfunktion des Proportionalteils des PI
- // Reglers
-
-Ki = -V/s0i;
-//Ki = -V // Übertragungsfunktion des Integrierers des PI Reglers
-
-K = Ki*(((s-s0i)/s)*(-s1/(s-s1))); // Übertragungsfunktion des PI - Reglers
-
+// die Polstelle des Reglers wird auf die Nullstelle der Stecke gelegt
+s1=nul_Gui(1)
+// Die verstärkung des Reglers
+V=40000;
+//der Proportionalteil
+Ki = V;
+
+//die Übertragungsfunktion des Pi-Reglers, der mit einem PT1-Glied verkettet ist
+K = Ki*(((s-s0i)/s)*(-s1/(s-s1)));
+//Die Übertragungsfunktion des PI-Reglers, der mit einem PT1-Glied verkette ist
+//- normiert
+//K2= (-Ki*s0i)*(1/s)*((-s/s0i)+1)*(1/((-s/s1)+1));
+
+// Plotten der Wurzelortskurve (WOK) von Gui*K
clf(2);scf(2);
-evans(Gui*K); // Plotten der Wurzelortskurve (WOK) von Gui*K
+evans(Gui*K);
+legend("WOK des offenen Regelkreises",3);
xgrid(2);
-//GKoffen = G*K // Übertragungsfunktion des offenen Regelkreises
-//
+//Plotten des Bodediagramms des offenen Regelkreises (Gui*K) in rad/s
clf(3);scf(3);
-[w, db, phi] = bode_w(Gui*K, 10^(-3), 10^3); // Plotten des Bodediagramms des offenen
- // Regelkreises (G*K) in rad/s
+[w, db, phi] = bode_w(Gui*K, 10^(-3), 10^3);
+legend("Offener Regelkreis",3);
xgrid(3);
-////GKgeschlossen=G.num*K.num+G.den*K.den // Übertragungsfunktion des geschlossenen Regelkreises
+// Übertragungsfunktion des geschlossenen Regelkreises
GKgeschlossen = (Gui*K/(1+Gui*K))
+//erstellen der Sprungantwort auf den Geschlossenen Kreis
t=[0:0.001:0.5];
h=csim('step',t,GKgeschlossen);
+//Plotten der Sprungantwort auf den Geschlossenen Kreis
clf(4);scf(4);
plot2d(t,h);
+xtitle("Sprungantwort des Geschlossene Kreises","Zeit [s]","Ankerstrom [A]");
xgrid();
-Gdu = Gui/(1+Gui*K); //Die Übertagungsfunktion Gui beschreibt die Funktion IA(s)/U(s)
- // Die übertagungsfunktion Gdu beschreibt die Funktion IA(s)/Du(s)
+//Übertragungsfunktion der Störfunktion bei einer Störung auf den Eingang des
+//Leistungsverstärkers
+Gdu = Gui/(1+Gui*K);
+//erstellen der Spungantwort auf die Störung
t=[0:0.001:1];
h1=csim('step',t,Gdu);
-MatrizenscheissvonGdu = tf2ss(Gdu); //ausgleichen des Scilab
- //fehlers
+//errechnen des Faktors D von Gdu um später beim plotten den Fehler ausgleichen
+//zu können
+MatrizenscheissvonGdu = tf2ss(Gdu);
+
+//plotten der Störsprungantwort
clf(5);scf(5);
plot2d(t,h1+MatrizenscheissvonGdu(5));
+xtitle("Störsprungantwort","Zeit [s]","Ankerstrom [A]");
xgrid();
-
+//Sensitivitätsfunktion
Si = 1/(1+Gui*K)
+//Komplimentäre Sensitivitätsfunktion
Ti = (Gui*K)/(1+Gui*K)
+//plotten der Sensitivitätsfunktion sowie der komplimantären Sensitivitätsfunktion
clf(6);scf(6);
-//[w, db,phi] = bode_w(Si, 10^(-3), 10^3); // Bodediagramm
-//[w, db,phi] = bode_w(Ti, 10^(-3), 10^3);
-
bode_w_farbe(Si, -3, 3, 'Bodeplot', 'false', 1000, 2);
bode_w_farbe(Ti, -3, 3, 'Bodeplot', %f, 1000, 5);
+legend("Sensitivitätsfunktion","Komplimentäre Sensitivitätsfunktion",3);
xgrid();
-
-
-//Kregler=tf2ss(K)
-//Gss = syslin('c',A,B,C); //Erstellen eines linear kontinuerliche Systems
-//Gmotor = clean(ss2tf(Gss)) //Erstellen der Übertragungsfunktion
+//xtitle("Leistungen vor dem Dimmer Werte aus LabView","Phi [°]","Leistung [W]");
+//legend("Sensitivitätsfunktion","Komplimentäre Sensitivitätsfunktion",4);
View
35 PR Regelungsrechnik - Versuch 1a/Scilab/exceleinlesen.sce
@@ -5,7 +5,7 @@
-// ich hab GKgeschlossenschlossen nicht aus Motor.sce raus bekommen und füre sie deswegen einfach vorher ein mal aus
+// ich hab GKgeschlossenschlossen nicht aus Motor.sce raus bekommen und füre sie deswegen einfach vorher ei mal aus
//TODO
// Kann nach dem ersten mal ausführen auskommentiert werden
@@ -25,7 +25,7 @@ clf(1);
// ## Messung ##
// Ausgeschnittener Datensatz, nur die Werte ab Start des Sprungs
-sheets = readxls('1_StromSprung.xls');
+sheets = readxls('2_StromSprung.xls');
s1=sheets(1);
//t=s1(:,1); Zeit
@@ -43,21 +43,22 @@ i=s1(:,2);
I_1 = strtod(i);
// Interessanten bereich ausschneiden
-I1 = I_1(1:1500);
+I1 = I_1(3:252);
// Zeit seit Messbeginn
t1=s1(:,1);
-// Anfang des Zeitvektors auf Null setzen (Start des Anstieges nach null verschieben)
-// Zeit seit Anfang des Ausschnittes
-T_1 = t1 - t1(1);
// Zeit muss noch von 10er nano-Sekunden in Sekunden umgewandelt werden
-T1 = T_1./10^10;
+T_1 = t1./10^10;
-T1 = T1(1:1500);
+T1 = T_1(1:250);
+
+// Anfang des Zeitvektors auf Null setzen (Start des Anstieges nach null verschieben)
+// Zeit seit Anfang des Ausschnittes
+T1 = T1 - T1(1);
// nu endlich den Ankerstrom über die Zeit seit Beginn des Sprungs in [s] plotten
plot2d(T1,I1,2)
@@ -67,22 +68,19 @@ plot2d(T1,I1,2)
// ## Simulation ##
-// Theoretisch könnte man hier auch die T1 nehmen, das sind aber mehr Werte
-t=[0:0.001:1.5];
-
// um einen Sprung (Step) auf 0.3 zu bekommen wird noch mit 0.3 multipliziert,
// da csim mit dem argument 'step' auf 1 Springt
-h=csim('step',t,GKgeschlossen)*0.3;
+h=csim('step',T1,GKgeschlossen)*0.3;
// in die gleiche figure plotten wie die aufgenommene Sprungantwort (d.h.: kein clf)
scf(1);
// Die simulierte Sprungantwort über den gleichen Zeitvektor plotten wie die Gemessene
T1 = T1
-plot2d(t,h,5);
+plot2d(T1,h,5);
xgrid();
xtitle("Sprungantwort","Zeit [s]","Strom [A]")
-
+legend("gemessen","simuliert",4);
@@ -99,8 +97,10 @@ clf(2);
// ## Messung ##
-sheets = readxls('1_SpannungsSprung.xls');
+sheets = readxls('2_SpannungsSprung.xls');
s1=sheets(1);
+
+T = t ;
t2=s1(:,1);
i2=s1(:,2);
@@ -115,7 +115,7 @@ I_2 = -i2 + 0.3;
[val, max_ind] = max(I_2);
// interessantes Stück ausschneiden
-I2 = I_2(max_ind:1500);
+I2 = I_2(max_ind:250);
@@ -126,7 +126,7 @@ T_2 = t2 - t2(max_ind);
T2 = T_2./10^10;
// interessantes Stück ausschneiden
-T2 = T2(max_ind:1500);
+T2 = T2(max_ind:250);
// Messung Plotten
plot2d(T2,I2,2)
@@ -141,5 +141,6 @@ h1=csim('step',T2,Gdu);
plot2d(T2,h1+MatrizenscheissvonGdu(5),5);
xgrid();
xtitle("Störsprungantwort","Zeit [s]","Strom [A]")
+legend("gemessen","simuliert",1);
View
BIN  PR Regelungsrechnik - Versuch 1a/Sensitivitaetsfunktion.pdf
Binary file not shown
View
BIN  PR Regelungsrechnik - Versuch 1a/Sprungantwort.pdf
Binary file not shown
View
BIN  PR Regelungsrechnik - Versuch 1a/Sprungantwortstoeruebertragungsfunktion.pdf
Binary file not shown
View
BIN  PR Regelungsrechnik - Versuch 1a/WOK.pdf
Binary file not shown
View
29 PR Regelungsrechnik - Versuch 1a/tmp/PR Regelungsrechnik - Versuch 1a.aux
@@ -38,14 +38,21 @@
\@writefile{toc}{\contentsline {subsection}{\numberline {1.7}St\IeC {\"o}r\IeC {\"u}bertragungsfunktion}{6}{subsection.1.7}}
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Sprungantwort der St\IeC {\"o}r\IeC {\"u}bertragungsfunktion}}{7}{figure.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.8}Sensitivit\IeC {\"a}ts- und kompliment\IeC {\"a}re Sensitivit\IeC {\"a}tsfunktion}{7}{subsection.1.8}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {1.9}Blockstaltbild des Reglers}{7}{subsection.1.9}}
-\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Blockschaltbild des Reglers}}{8}{figure.5}}
-\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Regler und Stecke zusammen}}{8}{figure.6}}
-\newlabel{fig:clear_eingang}{{6}{8}{Regler und Stecke zusammen\relax }{figure.6}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {2}Versuch}{8}{section.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {3}Ergebnisse}{8}{section.3}}
-\newlabel{lst:scilab}{{1}{8}{Scilab-script\relax }{lstlisting.1}{}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Scilab-script}{8}{lstlisting.1}}
-\newlabel{lst:scilab}{{2}{11}{Scilab-script\relax }{lstlisting.2}{}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}Scilab-script}{11}{lstlisting.2}}
-\newlabel{LastPage}{{}{14}{}{page.14}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Sensitivit\IeC {\"a}ts und kompliment\IeC {\"a}re Sensitivit\IeC {\"a}tsfunktion}}{8}{figure.5}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.9}Blockstaltbild des Reglers}{8}{subsection.1.9}}
+\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Blockschaltbild des Reglers}}{8}{figure.6}}
+\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Regler und Stecke zusammen}}{9}{figure.7}}
+\newlabel{fig:clear_eingang}{{7}{9}{Regler und Stecke zusammen\relax }{figure.7}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {2}Ergebnisse}{9}{section.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Sprungantwort}{10}{subsection.2.1}}
+\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces gemessene Sprungantwort}}{10}{figure.8}}
+\newlabel{fig:Sprungantwort_mess}{{8}{10}{gemessene Sprungantwort\relax }{figure.8}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}St\IeC {\"o}rsprungantwort}{11}{subsection.2.2}}
+\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces gemessene St\IeC {\"o}rsprungantwort}}{11}{figure.9}}
+\newlabel{fig:Stoersprungantwort_mess}{{9}{11}{gemessene Störsprungantwort\relax }{figure.9}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {3}Sourcecode}{11}{section.3}}
+\newlabel{lst:scilab}{{1}{11}{Scilab-script\relax }{lstlisting.1}{}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Scilab-script}{11}{lstlisting.1}}
+\newlabel{lst:scilab}{{2}{14}{Scilab-script\relax }{lstlisting.2}{}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}Scilab-script}{14}{lstlisting.2}}
+\newlabel{LastPage}{{}{17}{}{page.17}{}}
View
6 PR Regelungsrechnik - Versuch 1a/tmp/PR Regelungsrechnik - Versuch 1a.out
@@ -12,5 +12,7 @@
\BOOKMARK [2][]{subsection.1.7}{1.7 St\366r\374bertragungsfunktion}{section.1}
\BOOKMARK [2][]{subsection.1.8}{1.8 Sensitivit\344ts- und kompliment\344re Sensitivit\344tsfunktion}{section.1}
\BOOKMARK [2][]{subsection.1.9}{1.9 Blockstaltbild des Reglers}{section.1}
-\BOOKMARK [1][]{section.2}{2 Versuch}{}
-\BOOKMARK [1][]{section.3}{3 Ergebnisse}{}
+\BOOKMARK [1][]{section.2}{2 Ergebnisse}{}
+\BOOKMARK [2][]{subsection.2.1}{2.1 Sprungantwort}{section.2}
+\BOOKMARK [2][]{subsection.2.2}{2.2 St\366rsprungantwort}{section.2}
+\BOOKMARK [1][]{section.3}{3 Sourcecode}{}
View
8 PR Regelungsrechnik - Versuch 1a/tmp/PR Regelungsrechnik - Versuch 1a.toc
@@ -13,6 +13,8 @@
\contentsline {subsubsection}{\numberline {1.6.4}Strungantwort}{5}{subsubsection.1.6.4}
\contentsline {subsection}{\numberline {1.7}St\IeC {\"o}r\IeC {\"u}bertragungsfunktion}{6}{subsection.1.7}
\contentsline {subsection}{\numberline {1.8}Sensitivit\IeC {\"a}ts- und kompliment\IeC {\"a}re Sensitivit\IeC {\"a}tsfunktion}{7}{subsection.1.8}
-\contentsline {subsection}{\numberline {1.9}Blockstaltbild des Reglers}{7}{subsection.1.9}
-\contentsline {section}{\numberline {2}Versuch}{8}{section.2}
-\contentsline {section}{\numberline {3}Ergebnisse}{8}{section.3}
+\contentsline {subsection}{\numberline {1.9}Blockstaltbild des Reglers}{8}{subsection.1.9}
+\contentsline {section}{\numberline {2}Ergebnisse}{9}{section.2}
+\contentsline {subsection}{\numberline {2.1}Sprungantwort}{10}{subsection.2.1}
+\contentsline {subsection}{\numberline {2.2}St\IeC {\"o}rsprungantwort}{11}{subsection.2.2}
+\contentsline {section}{\numberline {3}Sourcecode}{11}{section.3}

No commit comments for this range

Something went wrong with that request. Please try again.