Script e Function “Script” (MAIN file) y A Bx...

54
Scripte FunctionA=3; B=2; C=1; D=-0.2; x=[0:0.1:10]; y=A+B*x+C*x.^2+D*x.^3; figure,plot(x,y) y=fun01(x,A,B,C,D); figure,plot(x,y) function y=fun01(x,A,B,C,D); y=A+B*x+C*x.^2+D*x.^3; return “Script” (MAIN file) “Function” file 3 2 Dx Cx Bx A y + + + =

Transcript of Script e Function “Script” (MAIN file) y A Bx...

Page 1: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

“Script” e “Function”

A=3; B=2; C=1; D=-0.2; x=[0:0.1:10]; y=A+B*x+C*x.^2+D*x.^3; figure,plot(x,y) y=fun01(x,A,B,C,D); figure,plot(x,y)

function y=fun01(x,A,B,C,D); y=A+B*x+C*x.^2+D*x.^3;

return

“Script” (MAIN file)

“Function” file

32 DxCxBxAy +++=

Page 2: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Zero di funzione con MATLAB: fzero

OPTIONS = optimset('Display','iter','tolX',1.e-9); [xz,yz]=fzero('fun02',X0,OPTIONS,A,B,C,D); function y=fun02(x,A,B,C,D);

y=A+B*x+C*x.^2+D*x.^3; return

32 DxCxBxAy +++=

15.0123

−===−=

DCBA

Page 3: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

4 – Esercizi su ruote dentate

Page 4: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Esercizio B: traccia

Page 5: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Integrazione Equazioni Differenziali – “ode…”

§  Il generico solutore ODExx di MATLAB risolve problemi nella forma:

§  Primo ordine:

),( ytFy =!

q  Secondo ordine: possono essere ricondotte ad un sistema di due equazioni del primo ordine:

2

1

yxyx

==! xy

yxy!!!

!!

===

2

21

mfymkymcyyy

/)/()/( 122

21

+−−==!

!2yCyBAy ++=!

)(tfkxxcxm =++ !!!

mk

n =ωnm

ζ2

= mfyyy

yy

nn /2 12

22

21

+−−=

=

ωζω!

!

Page 6: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Integrazione Equazioni Differenziali – “ode…”

A=5; B=-2; C=-3.5; t0=0; tF=2; y0=0; OPTIONS=[ ]; [t,y]=ode45('fun03',[t0 tF],y0,OPTIONS,A,B,C);

!y(t) = A+ By+Cy2

function yp=fun03(t,y,flag,A,B,C); yp=A+B*y+C*y^2;

return

MAIN file

FUNCTION file

Page 7: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

MATLAB – ODE: Options

OPTIONS=[ ]; OPTIONS = odeset(‘OutputFcn’,’odeplot’); OPTIONS = odeset('OutputFcn','odephas2'); OPTIONS = odeset('RelTol',1.e-6); OPTIONS = odeset(‘AbsTol',1.e-9); OPTIONS = odeset(‘Stats',’on’); OPTIONS = odeset('Events','on');

[t,y]=ode45('function_name',t0,y0,OPTIONS,A,B,C,…);

OPTIONS à odeset

opzioni di default plot durante l’integrazione grafica piano delle fasi imposta toll. relativa imposta toll. assoluta indica il costo computaz. abilita ricerca eventi

Page 8: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Sistema di Equazioni Differenziali

A1=…; B1=…; A2=…; B2=…; An=…; Bn=…; t0=0; tF=2; y0=[y01; y02; …; y0n]; OPTIONS=[ ]; [t,y]=ode45('fun04',[t0 tF],y0,OPTIONS,A1,B1,A2,B2,…,An,Bn);

function yp=fun04(t,y,flag,A1,B1,A2,B2, ,…,An,Bn); yp=[A1+B1*y(1); A2+B2*y(2); …; An+Bn*y(n)];

return

MAIN file

FUNCTION file

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

+

++

=

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

)(...

)()(

)(...

)()(

222

111

2

1

tyBA

tyBAtyBA

ty

tyty

nnnn!

!!

Page 9: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Sistema SDOF libero

§  Sistema sotto-smorzato

02 2 =++ xxx nn ωζω !!!

1<ζ 1>ζq  Sistema sovra-smorzato

!y1 = y2

!y2 = −2ζωn y2 −ωn2 y1

2

1

yxyx

==!

),( ytFy =!

Page 10: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Sistema SDOF libero à MATLAB

% Condizioni iniziali x0=-1; v0=0; % Intervallo di

integrazione t0=0; tf=1;

function dydt = eq_lib01(t,y,flag,omn,zeta); dydt = [y(2); -2*zeta*omn^2*y(1)]; return

% Parametri del sistema omn=10*pi; % rad/s zeta= 1.1; % OPTIONS = odeset('OutputFcn','odeplot'); % OPTIONS = odeset('OutputFcn','odephas2'); OPTIONS = [ ]; [t,y]=ode45('eq_lib01',[t0 tf],[x0; v0],OPTIONS,omn,zeta);

!y1 = y2

!y2 = −2ζωn y2 −ωn2 y1

Page 11: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Sistema SDOF con attrito Coulombiano

§  Equazione differenziale non lineare

mgkxxm µ−=+!!

mgkxxm µ=+!!

0>x!

0<x!

m!!x+ kx+ sign( !x)µ mg = 0

)( 212

2

21

ysigngyy

yy

n µω −−=

=

!

!0)(2 =++ gxsignxx n µω !!!

Page 12: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Sistema SDOF con attrito Coulombiano à MATLAB

% Condizioni iniziali x0=1; v0=0; % Intervallo di

integrazione t0=0; tf=8;

function dydt = eq_attrito(t,y,flag,omn,Fatt); dydt = [y(2); -omn^2*y(1)-Fatt*sign(y(2))]; return

)( 212

2

21

ysigngyy

yy

n µω −−=

=

!

!

% Parametri del sistema omn=3*pi; % rad/s % Parametri dell'attrito mu=0.2; g=9.81; Fatt=mu*g; % OPTIONS = odeset('OutputFcn','odeplot'); % OPTIONS = odeset('OutputFcn','odephas2'); OPTIONS = [ ]; [t,y]=ode45('eq_attrito',[t0 tf],[x0; v0],OPTIONS,omn,Fatt);

Page 13: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Ricerca di EVENTI

A1=4 B1=-3 A2=5 B2=-2 A=2 B=-1

Page 14: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Fase di strisciamento

OPTIONS=[ ]; [t,y]=ode45('fun04a',[t0 tF],y0,OPTIONS,A1,B1,A2,B2);

function yp=fun04a(t,y,flag,A1,B1,A2,B2); yp=[A1+B1*y(1); A2+B2*y(2)]; return

A1=4 B1=-3 A2=5 B2=-2

Page 15: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Fase di strisciamento

OPTIONS=odeset('Events','on'); [t,y,te,ye]=ode45('fun04b',[t0 tF],y0,OPTIONS,A1,B1,A2,B2);

function varargout=fun04b(t,y,flag,A1,B1,A2,B2); switch flag case '' varargout{1} = f(t,y,A1,B1,A2,B2); case 'events' [varargout{1:3}] = events(t,y); otherwise error(['Error message']) end

function yp = f(t,y,A1,B1,A2,B2); yp=[A1+B1*y(1); A2+B2*y(2)];

function [value,isterminal,direction] = events(t,y) % Locate the time when y passes through the "event" value = y(1)-y(2); % event isterminal = 0; % don't stop at the event direction = 0; % don't care if increasing/decreasing

)()( 21 tyty =Evento:

Page 16: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Raggiungimento del REGIME

OPTIONS=odeset('Events','on'); [t,y,tR,yR]=ode45('fun04c',[te tF],ye,OPTIONS,A,B,C);

function varargout=fun04c(t,y,flag,A,B,C); switch flag case '' varargout{1} = f(t,y,A,B); case 'events' [varargout{1:3}] = events(t,y,C); otherwise error(['Error message']) end

function yp = f(t,y,A,B); yp=A+B*y;

function [value,isterminal,direction] = events(t,y,C) % Locate the time when y passes through the "event" value = y(1)-C; % event isterminal = 0; % don't stop at the event direction = 0; % don't care if increasing/decreasing

Evento:

( )y t C=

Page 17: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Ricerca di EVENTI: risultati

te = 0.54 ye = 1.66

tR = 1.77 yR = 1.9

C=(-A/B)*0.95

( )y t C=)()( 21 tyty =

Eventi:

A1=4 B1=-3 A2=5 B2=-2 A=2 B=-1

Page 18: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Sistema SDOF forzato

tmFxxx nn Ω=++ cos2 02ωζω !!!

0X

2

⎟⎟⎠

⎞⎜⎜⎝

⎛ Ω

1.0=ζ

)(tx

πω 10=n Hzfn 5=

Page 19: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Sistema SDOF forzato in RISONANZA

0X

1.0=ζ

)(tx

πω 10=n Hzfn 5=

0=ζ

)(tx

tmFxxx nn Ω=++ cos2 02ωζω !!!

2

⎟⎟⎠

⎞⎜⎜⎝

⎛ Ω

Page 20: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Sistema SDOF forzato: BATTIMENTO

πω 2=n Hzfn 1=

0=ζ )(tx

tmFxx n Ω=+ cos02ω!!

nω109=Ω

επωω 2102

101 ===Ω− nn

202 =επ

t

Page 21: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

MATLAB: Autovalori e Autovettori

>> help eig EIG Eigenvalues and eigenvectors. E = EIG(A) is a vector containing the eigenvalues of a square matrix A. [V,D] = EIG(A) produces a diagonal matrix D of eigenvalues and a full matrix V whose columns are the corresponding eigenvectors so that A*V = V*D. [V,D] = EIG(K,M) produces a diagonal matrix D of generalized eigenvalues and a full matrix V whose columns are the corresponding eigenvectors so that K*V = M*V*D.

Page 22: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Autovalori e Autovettori

[V,D] = EIG(A) A*V = V*D [V,D] = EIG(K,M) K*V = M*V*D M-1*K*V = V*D

{ } { } tieXtx ω=)(}0{}]{[}]{[ =+ xKxM !!

( ){ } { }0][][][ 12 =+− − XKMIω

{ } { } { }0][][2 =+− XKXMω

( ){ } { }0][][ =+− XAIλ λ autovalori di [A] {X} autovettori di [A]

][][][ 1 KMA −=

Page 23: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Autovalori e Autovettori

[V,D] = eig(inv(M)*K); à autovettori con norma = 1 [V,D] = eig(M\K); à autovettori con norma = 1 [V,D] = eig(K,M); à autovettori normalizzati

rispetto alla matrice [M] [V]T[M][V] = [I]

Come ordinarli e calcolare le frequenze [Hz] [om2,ind] = sort(diag(D)); freq = sqrt(om2)/(2*pi); V = V(:,ind);

][][][ 1 KMA −=

Page 24: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Normalizzazione Autovettori

§  Normalizzazione rispetto alla [M] p = 1./sqrt(diag(V.'*M*V)) P = (p*ones(1,length(V))).’ V = V.*P §  Prima componente = 1 p = V(1,:).’ P = (p*ones(1,length(V))).’ V = V./P

iTi

iXMX

p}]{[}{

1=

{ } [ ] { } 1Ti i i i iM p X M p X= =

q  Massima componente = 1 [p,ind] = max(abs(V)) ind = sub2ind(size(V),ind,[1:length(V)]) p = (sign(V(ind)).*p).’ P = (p*ones(1,length(V))).’ V = V./P

Page 25: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

12 – Vibrazioni torsionali di un motore marino

Page 26: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

13 – Modifiche strutturali

m

k

m

m

k

k

1

2

3

3

2

1

Page 27: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Autovalori e Autovettori: esercizio 1

210022

π××==

km Hz

mk

Hzmk

531033

510

2

1

×=×==

===

πω

πω

{ }

{ }⎭⎬⎫

⎩⎨⎧−+

=

⎭⎬⎫

⎩⎨⎧++

=

11

11

2

1

X

X

[V,D] = eig(M\K); à autovettori con norma = 1 [V,D] = eig(K,M); à autovettori normalizzati rispetto a [M] [V]T[M][V] = [I]

Page 28: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Autovalori e Autovettori: esercizio 2 21002

2π××=

=km

6.2586

1.384

0

23

22

21

=

=

=

ωωω

A*m

{ }

{ }

{ }⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

−=

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧+−

=

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

=

617.01004.0

1611.0016.0

111

3

2

1

X

X

X 9.2583

0.37722

21

=

=

ωω

A*m

A=100

2.2584

7.377

0

23

22

21

=

=

=

ωωω

{ }

{ }

{ }⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

−=

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧+−

=

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

=

618.01000.0

1617.0002.0

111

3

2

1

X

X

X

{ }

{ }⎭⎬⎫

⎩⎨⎧−

=

⎭⎬⎫

⎩⎨⎧+

=

618.01

1618.0

2

1

X

X

A=1000

2 dofs

Page 29: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

SIMULINK – Esempio 1

)()( tutx =!

Page 30: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

SIMULINK – Esempio 2

)()(2)( tutxtx +−=!

Page 31: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

SIMULINK – Es. 3

mc

kF

x(t)

)()()()( tFtxktxctxm =++ !!!

)()()()( tFtxktxctxm +−−= !!!

Page 32: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

SIMULINK – Es. 4

K

CM

g

X0 X1

F K X X g X gF K X X g X g

F X g

EL

EL

EL

= − − − − >= − − + − < −

= − ≤

( / ) /( / ) /

/

1 0 1 0

1 0 1 0

1 0

2 22 2

0 2

XX

X

)()( 01101111 XXCXXKXM !!!! −−−−=

Page 33: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

SIMULINK – Es. 5 dt = 1/100; time = [0:dt:1]; x = sin(2*pi*time); A = [time; x].';

Page 34: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

SIMULINK – Esempio 6

Page 35: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

SIMULINK – Esempio 7

Page 36: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

SIMULINK – Es. 8

Page 37: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

SIMULINK – Es. 9

M X K X X C X X K X X C X X

M X K X X C X X1 1 1 1 0 1 1 0 2 2 1 2 2 1

2 2 2 2 1 2 2 1

!! ( ) ( ! ! ) ( ) ( ! ! )!! ( ) ( ! ! )

= − − − − + − + −

= − − − −

Page 38: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

PARAMETRI

m1 = 1.5 kg k1 = 1.5 106 N/m m2 = 1 kg k2 = 1.8 106 N/m q = c/k = 10-4 s f1 = 114 Hz f2 = 297 Hz Legge di moto cicloidale Corsa 120 mm Velocità = 240 rpm Due condizioni: g1 = g2 = 0 g1 = g2 = 0.02 mm

0 0.05 0.1 0.15 0.2 0.250

20

40

60

80

100

120

Legge di Moto X0 [mm]

Tempo [s]

Page 39: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Legge di moto

0 0.05 0.1 0.15 0.2 0.250

20

40

60

80

100

120

Legge di Moto X0 [mm]

Tempo [s]0 0.05 0.1 0.15 0.2 0.25

-150

-100

-50

0

50

100

150Accelerazione Teorica [m/s^2]

Tempo [s]

SPOSTAMENTO ACCELERAZIONE

Legge di moto cicloidale file «LeggeEsempio09.mat»

Page 40: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Equazioni del moto

M X K X X C X X K X X C X X

M X K X X C X X1 1 1 1 0 1 1 0 2 2 1 2 2 1

2 2 2 2 1 2 2 1

!! ( ) ( ! ! ) ( ) ( ! ! )!! ( ) ( ! ! )

= − − − − + − + −

= − − − −

Modello SIMULINK

Page 41: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Blocco LEGGE di MOTO

File: «LeggeEsempio09.mat»

Page 42: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Blocco «Fev»

Blocco «Massa»

Page 43: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

0 0.05 0.1 0.15 0.2 0.25-150

-100

-50

0

50

100

150Accelerazione Massa M2 [m/s^2]

Tempo [s]0 0.05 0.1 0.15 0.2 0.25

-150

-100

-50

0

50

100

150Accelerazione Massa M2 [m/s^2]

Tempo [s]

Simulazione: Accelerazione massa m2

g1 = g2 = 0 g1 = g2 = 0.02 mm

Page 44: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Esempio 11/1 §  Modello di un azionamento con

controllo di posizione e velocità §  Esempio di modello di una trasmissione meccanica

e del relativo azionamento. §  L’azionamento è costituito da un motore elettrico a

corrente continua con controllo in loop di corrente. §  Il motore applica una coppia motrice ad un

mandrino che, a sua volta, trasmette il moto ad una pinza terminale attraverso un albero intermedio.

Page 45: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Esempio 11/2 §  Il moto viene controllato in posizione

ed in velocità confrontando le letture di posizione e velocità fornite da due encoder montati in prossimità del mandrino.

Page 46: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Esempio 11/3

§  Legge di moto §  Regolatore di

posizione §  Regolatore di

velocità.

Page 47: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Esempio 11/4 §  Modello motore elettrico a corrente continua

Forza contro- elettromotrice

Equazione circuito di armatura (tensione di armatura)

Coppia motrice

Kc costante di coppia, Kb costante di velocità

( ) ( ) ( ) ( ) d

d tv

tti

LtiRte qq

qq +⋅+⋅=

( ) ( )tKtv mbq ϑ!⋅=

( ) ( )tiKtC qcm ⋅=

( ) ( )sLR

ssKsEKsC mbqcm ⋅+

Θ⋅⋅−=)(

Page 48: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Esempio 11/5 §  Modello meccanico

–  Il modello meccanico ha tre gradi di libertà –  La prima coordinata è associata all’inerzia del motore elettrico –  La seconda è associata al mandrino (e quindi agli encoder) –  La terza è associata alla pinza

( ) ( )23223233 ϑϑϑϑϑ !!!! −−−−= ckJ

( ) ( )mmmmm ckCJ ϑϑϑϑϑ !!!! −+−+= 2121

( ) ( ) ( ) ( )232232212122 ϑϑϑϑϑϑϑϑϑ !!!!!! −+−+−−−−= ckckJ mm

Page 49: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

( ) ( )mmmmm ckCJ ϑϑϑϑϑ !!!! −+−+= 2121

( ) ( ) ( ) ( )232232212122 ϑϑϑϑϑϑϑϑϑ !!!!!! −+−+−−−−= ckckJ mm

( ) ( )23223233 ϑϑϑϑϑ !!!! −−−−= ckJ

Dati del motore elettrico L = 0.003 [Vs/A] R = 0.4 [Ohm] Kc = 5 [Nm/A] Kb = 5 [Vs/rad] Jm = 0.6 [kgm2 ] Parametri dei controllori ad azione Proporzionale – Integrale Anello di corrente Anello di velocità Anello di posizione Kpc = 8 [V/A] Kpv = 95 [Nm/(rad/s)] Kpp = 72 [1/s] Tic = 0.002 [s] Tiv = 0.1 [s] Tip = 1000 [s] (di fatto è ad azione Proporzionale) Parametri del modello meccanico J2 = 0.085 kgm2 J3 = 0.085 kgm2

k1 = 1.15 106 Nm/rad k2 = 1.15 105 Nm/rad Velocita‘ di rotazione = 20 rpm q = 10–5 s c1 = q k1 c2 = q k2

⎟⎟⎠

⎞⎜⎜⎝

⎛+=

sTKsG

ip

11)(

Page 50: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Esempio 11/6 §  Modello dell’intero azionamento

Page 51: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

§  Dati numerici

Dati del motore elettrico L = 0.003 [Vs/A] R = 0.4 [Ohm] Jm = 0.6 [kgm2 ] Kc = 5 [Nm/A] Kb = 5 [Vs/rad] Parametri dei controllori ad azione Proporzionale – Integrale Anello di corrente Anello di velocità Anello di posizione Kpc = 8 [V/A] Kpv = 95 [Nm/(rad/s)] Kpp = 72 [1/s] Tic = 0.002 [s] Tiv = 0.1 [s] Tip = 1000 [s] (di fatto è ad azione Proporzionale) Parametri del modello meccanico J2 = 0.085 kgm2 J3 = 0.085 kgm2 k1 = 1.15 106 Nm/rad k2 = 1.15 105 Nm/rad q = 10–5 s c1 = q k1 c2 = q k2

Velocità di rotazione = 20 rpm

Esempio 11/7

⎟⎟⎠

⎞⎜⎜⎝

⎛+=

sTKsG

ip

11)(

Page 52: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Esempio 11/8

0 100 200 3000

10

20

30

40

50Legge teorica - spostamento [deg]

[deg]

0 100 200 300-50

0

50Legge teorica - velocita' [deg/s]

[deg]

0 100 200 300-0.5

0

0.5Legge teorica - velocita' [rad/rad]

[deg]

Ω=== )(')()()( ϑϑϑϑ sdtd

dsd

dttsdts!

)(ts!

)(' ϑs

Velocità di rotazione = 20 rpm

Page 53: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Es. 11/9

0 100 200 3000

10

20

30

40

50Legge teorica - spostamento [deg]

[deg]0 100 200 300

-50

0

50Legge teorica - velocita' [deg/s]

[deg]

0 100 200 300-4

-3

-2

-1

0

1

2

3

4 x 10-5 Errore meccanico X2-X1 [deg]

[deg]0 100 200 300

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2 x 10-4 Errore meccanico X3-X2 [deg]

[deg]

Page 54: Script e Function “Script” (MAIN file) y A Bx Cxdiem1.ing.unibo.it/mechmach/rivola/forli/mdm/Ex_Aula_Info_1617.pdfIntegrazione Equazioni Differenziali – “ode… § Il generico

Es. 11/10 §  Il regolatore di posizione è ad azione proporzionale. §  Ne consegue un moto effettivo ritardato rispetto a quello

imposto. §  Sarebbe improprio considerare come errore la semplice

differenza tra la coordinata 2 e il moto imposto. §  E’ più opportuno considerare l’errore a meno del ritardo.

0 100 200 300-0.6

-0.4

-0.2

0

0.2

0.4

0.6

Errore del controllo X2-Xrif [deg]

[deg]0 100 200 300

-0.02

-0.015

-0.01

-0.005

0

0.005

0.01

0.015

0.02Errore del controllo X2-Xrif senza ritardo [deg]

[deg]