%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Modello motore elettrico DC base
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear all
close all

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Definizione delle unità di misura del SI %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
m=1; Km=1000*m; cm=0.01*m; mm=0.001*m;
s=1; msec=0.001*s; minuti=60*s; ora=60*minuti;
Kg=1; gr=0.001*Kg; mg=0.001*gr;
N=1; Nm=N*m; mNm=Nm/1000;
rad=1; gradi=pi*rad/180;
g = 9.81*m/s^2;          	% accelerazione di gravità
Kgf=g;									% Kilogrammi forza
rpm=2*pi/60;
Amp=1; mAmp=0.001*Amp; V=1;
Ohm=V/Amp;
Henry=V*s/Amp; mHenry=0.001*Henry;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Parametri del motore
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

tipo=1;
switch tipo
case 1
   Vn=12*V;						% tensione di alim. nominale
   Cmax=610.24*mNm;			% coppia massima in stallo
   Imax=93.6*Amp;				% corrente massima in stallo
   Wmax=16313*rpm;			% velocità massima ridotta senza carico
   Ic0=2.15*Amp;				% corrente senza carico
   Jme=9.2775e-006;			% inerzia albero motore
   Lme=60*10^-6;				% induttanza avvolgimenti
case 2
   Vn = 24*V;					% tensione di alimentazione nominale
   Cmax = 436.4*mNm;		% coppia massima in stallo
   Imax = 9.64*Amp;			% corrente massima in stallo
   Wmax = 4916*rpm;			% velocità massima senza carico
   Ic0 = 0.16*Amp;			% corrente senza carico
   Jme = 7.06*mg*m^2;		% inerzia albero motore
   Lme = 2.63*mHenry;		% induttanza avvolgimenti
end

% calcolo parametri del modello
KI=Cmax/Imax;
Rme0=Vn/Imax;
bme=Ic0*KI/Wmax;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% dati di ingresso e condizioni iniziali
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nprova=3;
switch nprova
case 1
   % Rilievo caratteristiche statiche del motore
   th0=0;				% posizione iniziale albero motore 
   Ime0=Imax;		% corrente iniziale sul motore	
   Wme0=0;			% velocità iniziale motore
   Tfin=60;			% tempo della simulazione
   TABTEMPI=[0 Tfin/2.2 Tfin/1.8 Tfin];
   TABCR=[Cmax 0 0 Cmax];
   TABVIN=[Vn Vn Vn Vn];
case 2
   % Spunto motore senza carico
   th0=0;				% posizione iniziale albero motore 
   Ime0=0;			% corrente iniziale sul motore	
   Wme0=0;			% velocità iniziale motore
   Tfin=1;			% tempo della simulazione
   TABTEMPI=[0 Tfin/2 Tfin];
   TABCR=[0 0 0];
   TABVIN=[0 Vn Vn];
case 3
   % Spunto e arresto
   th0=0;				% posizione iniziale albero motore 
   Ime0=0;			% corrente iniziale sul motore	
   Wme0=0;			% velocità iniziale motore
   Tfin=1;			% tempo della simulazione
   TABTEMPI=[0 0.3 0.8 1]*Tfin;
   TABCR=[0 Cmax/8 0 0];
   TABVIN=[0 Vn 0 0];
end



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% simulazione
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Tcsim=1*msec;		% tempo di campionamento dati della simulazione 	 

tic
sim('motoreDC0mdl',Tfin)
toc

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% graficazione dei risultati
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

motoreDC0plot









