%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Simulation des Motors  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%

clc; 
clear;

phi_SOLL = 1;           % [rad]         Drehwinkel
Step_t = 3;             % [s]           Step Zeit für Sprung

% Vorgabewerte für Motor
Kt = 0.97;              % [Nm/A]        Drehmomentkonstante
Kv = 58.7;              % [V/1000rpm]   Spannungskonstante
Ra = 4.00;              % [Ohm]         Ankerwiderstand
J = 3.42e-4;            % [kgm²]        Trägheitsmoment
L = 11.1e-4;            % [H]           Induktivität
i = 64;                  %               Übersetzung

cR = 0;                 %               Reibungswiderstand
Ml = 0;                 % [Nm]          Lastmoment

% Sensorkonstanten
Ktv = 1;                % Geschwindigkeitskonstante
Ktp = 1;                % Positionskonstante

% Reglerparameter
Kp_1 = 1;               % Parameter P-Regler %351.68
Kp_2 = 8;            % Parameter PI-Regler %0.45 * KP_krit=0.583
Tn = 100000;            % Nachstellzeit PI-Regler

mytitle = ['P-PI-Regler',...            % Plottitel
            ' Kp1=',...
            num2str(Kp_1),', Kp2=',...
            num2str(Kp_2),', Tn=',...
            num2str(Tn)];

sim('Motormodell',[0 100]);

figure('Name',mytitle,'NumberTitle','off');

subplot(121), plot(iA.time,iA.signals.values(:,1));
title('\it{Stromverlauf}','Fontsize',14);
xlabel('\it{Zeit}','Fontsize',12);
ylabel('\it{Strom (A)}','Fontsize',12);
grid on

subplot(122), plot(ScopeData.time,ScopeData.signals(1,1).values(:,1),'red');
hold on
title(mytitle,'Fontsize',14);
xlabel('\it{Zeit}','Fontsize',12);
ylabel('\it{Winkel (rad)}','Fontsize',12);
grid on
plot(ScopeData.time,ScopeData.signals(1,2).values(:,1));
legend(ScopeData.signals(1,1).label,ScopeData.signals(1,2).label);
hold off
