Sei sulla pagina 1di 8

Meccanica Applicata con Laboratorio – a.a.

2011/12

Esercitazione n. 3

ANALISI CINEMATICA DEL QUADRILATERO ARTICOLATO PER


L’AZIONAMENTO DI UN TERGICRISTALLO

5  C
2
B 2  3

3 
1
1=q 4
A D
 
Schema cinematico del quadrilatero articolato

1. Assegnazione dei dati

a1 a2 a3 a4 4 q  1

[m] [m] [m] [m] [rad] [rad/s]

Per l’assegnazione dei dati si usa lo script MatLab denominato par_inp.m

2. Sviluppo del calcolo

- Coordinata libera q= angolo di rotazione della manovella 1 (AB)


- Coordinate della coppia cinematica rotoidale A: xA=0, yA=0
- Coordinate della coppia cinematica rotoidale B: xB=a1 cos(q), yB= a1 sin(q)
- Coordinate della coppia cinematica rotoidale D: xD=a4 cos(4), yD= a4 sin(4)
- z5=z4 - z1 a5=abs(z5) 5=angle(z5)

1
Meccanica Applicata con Laboratorio – a.a. 2011/12

a 2  a22  a32
-   arccos 5 2    5 z 2  a2 e i2
2 a5 a 2
- Coordinate della coppia cinematica rotoidale C: xC=xB+a2 cos(2), yC= yB + a2 sin(2)
- z3=z1 + z2 - z4 3=angle(z3)

3. Risultato: analisi di posizione in forma grafica

4. Determinazione della traiettoria del punto mediano della biella, membro 2 (BC)
cos 2 ; y m  a1 sin(q )  2 sin 2 ;
a2 a
- Coordinate del punto medio: x m  a1 cos(q ) 
2 2
- rappresentazione grafica della traiettoria del punto medio della biella

5. Determinazione dell’angolo di escursione della spazzola e confronto con il dato misurato

Per lo sviluppo dei punti3, 4 e 5 si usa lo script MatLab denominato ana_tergi_1.m

6. Analisi cinematica di velocità, calcolo e rappresentazione grafica di:


- velocità angolare del cedente (membro 3);
- velocità angolare della biella (membro 2);
- velocità di traslazione del punto medio della biella.

7. Calcolo e rappresentazione grafica dei rapporti di velocità


a1 sin(  3  q ) a1 sin(  2  q )
 2  ; 3  ;
a2 sin(  2   3 ) a3 sin(  2   3 )
1 sin(  3  q )
 xm 2  a1 sin(q )  a1 sin(  2 ) ;
2 sin(  2   3 )
1 sin(  3  q )
 ym 2  a1 cos(q )  a1 cos(  2 ) ;
2 sin(  2   3 )

8. Analisi cinematica di accelerazione, calcolo e rappresentazione grafica di:


- accelerazione angolare del cedente (membro 3);
- accelerazione angolare della biella (membro 2);
- accelerazione di traslazione del punto medio della biella.

Per lo sviluppo dei punti 6, 7 e 8 si usa lo script MatLab denominato ana_tergi_2.m

9. Commento critico sui risultati ottenuti

2
1 %
2 % Parametri per la simulazione
3
4 function[prm]=par_inp;
5
6 prm=zeros(25,1);
7
8 % geometria del quadrilatero articolato
9 prm(1)=0.03; % a1, raggio di MANOVELLA [m]
10 prm(2)=0.165; % a2, lunghezza di BIELLA [m]
11 prm(3)=0.049; % a3, lunghezza del BILANCIERE [m]
12 prm(4)=0.180; % a4, lunghezza del TELAIO [m]
13 prm(5)=0*pi/180; % theta4, angolo del TELAIO [rad]
14
15 % parametri inerziali
16 prm(6)=5e-5; % momento d'inerzia manovella rif. asse A [kg/m^2]
17 prm(7)=4e-3; % momento d'inerzia baricentrico biella [kg/m^2]
18 prm(8)=0.2; % massa biella [kg]
19 prm(9)=2e-3; % momento d'inerzia bilanciere+spazzola rif. asse D [kg/m^2]
20
21 % parametri cinematici e inerziali del motoriduttore
22 prm(10)=1/40; % rapporto di trasmissione motoriduttore
23 prm(11)=75; % velocità angolare in uscita dal motoriduttore, [giri/min]
24 prm(12)=3e-6; % momento di inerzia corona rif. asse lento [kg/m^2]
25 prm(13)=1e-6; % momento di inerzia albero+vite rif. asse veloce [kg/m^2]
26 prm(14)=1.5e-6; % momento di inerzia rotore motore rif. asse veloce [kg/m^2]
27
28 % forza resistente sul bilanciere
29 prm(15)=0.7; % coefficiente di attrito spazzola contro vetro
30 prm(16)=12; % forza normale della spazzola contro vetro [N]
31 prm(17)=0.2; % braccio della forza tangenziale di attrito [m]
32
33 % altri parametri
34 prm(18)=0; % alpha1, accelerazione angolare manovella [rad/s^2]
35 prm(19)=24; % npt, n. punti (pochi) di analisi
36 prm(20)=181; % npt, n. punti (tanti) di analisi
37 prm(21)=0.5; % rendimento meccanico
38
1
2 % ----- ana_tergi_1.m -------
3
4 % ANALISI CINEMATICA DI POSIZIONE DI UN QUADRILATERO ARTICOLATO PER
5 % L'AZIONAMENTO DI UN TERGICRISTALLO
6 %
7 % membro 1 movente, manovella: a1, q (coordinata libera)
8 % membro 2 = biella: a2, theta2
9 % membro 3 = cedente, bilancere (spazzola): a3, theta3
10 % membro 4 = telaio: a4, theta4
11 % coppie cinematiche:
12 % A telaio-manovella; B manovella-biella;
13 % C biella-spazzola; D spazzola-telaio
14 % origine sistema riferimento fisso: coppia A
15 % Poligono di chiusura: z1+z2-z3-z4=0
16 % Equazioni di chiusura:
17 % f1=a1*cos(q)+a2*cos(theta2)-a3*cos(theta3)-a4*cos(theta4)=0
18 % f2=a1*sin(q)+a2*sin(theta2)-a3*sin(theta3)-a4*sin(theta4)=0
19
20 clear all; % cancellazione delle variabili pre-esistenti
21 close all; % chiusura delle figure esistenti
22 clc % pulizia di command window
23
24 % importazione dati
25
26 prm=par_inp; % importazione dati da script param_in_v1.m
27
28 a1=prm(1); % raggio di MANOVELLA [m]
29 a2=prm(2); % lunghezza di BIELLA [m]
30 a3=prm(3); % lunghezza del BILANCIERE
31 a4=prm(4); % lunghezza del TELAIO [m]
32 theta4=prm(5); % angolo del TELAIO [rad]
33 rpm=prm(11); % velocità rotazione manovella [giri/min]
34 omega1=2*pi*rpm/60; % [rad/s]
35 alpha1=prm(18); % accelerazione angolare manovella [rad/s^2]
36 npt=prm(19); % n. punti di analisi
37
38 sp=0.2; % lunghezza della spazzola [m]
39
40 % ---------- verifica quadrilatero di Grashof ---------------------
41 L=[a1 a2 a3 a4]; Lmin=min(L); Lmax=max(L);
42 L1=Lmin+Lmax; L_tot=sum(L); L2=L_tot-L1;
43 if L2<L1
44 disp(' NO Grashof')
45 return
46 end
47 %------------------------------------------------------------------
48
49 T=2*pi/omega1; % periodo [s]
50 t=linspace(0,T,npt); % vettore tempo (variabile indipendente)
51 q=omega1*t; q_deg=q*180/pi; % coordinata libera, radianti e gradi
52
53 xD=a4*cos(theta4); yD=a4*sin(theta4); % coordinate coppia D
54
55 % azzeramento vettori coordinate coppie cinematiche e spazzola
56 x=zeros(5,1); y=zeros(5,1); % coppie cinematiche
57 x_sp=zeros(2,1); y_sp=zeros(2,1); % spazzola
58 x(1)=0; y(1)=0; % coordinate coppia A = asse rotazione manovella
59
60
61 % Calcolo dei parametri cinematici di posizione
62
63 for n=1:npt;
64 % analisi di posizione
65 z1=a1*exp(i*q(n)); z4=a4*exp(i*theta4);
66 x(2)=a1*cos(q(n));y(2)=a1*sin(q(n)); % coordinate coppia B
67 z5=z4-z1; a5=abs(z5); theta5=angle(z5);
68 alfa=acos((a2^2+a5^2-a3^2)/(2*a2*a5));
69 theta2=alfa+theta5;
70 z2=a2*exp(i*theta2);
71 x(3)=a1*cos(q(n))+a2*cos(theta2); % coordinata x coppia C
72 y(3)=a1*sin(q(n))+a2*sin(theta2); % coordinata y coppia C
73 z3=z1+z2-z4; theta3(n)=angle(z3);
74 x(4)=xD; y(4)=yD; x(5)=x(1); y(5)=y(1);
75
76 % coordianate spazzola
77 x_sp(1)=x(3); y_sp(1)=y(3);
78 x_sp(2)=x(3)+sp*cos(theta3(n)); y_sp(2)=y(3)+sp*sin(theta3(n));
79
80 % traiettoria del punto medio della biella
81 xm2(n)=a1*cos(q(n))+a2/2*cos(theta2);
82 ym2(n)=a1*sin(q(n))+a2/2*sin(theta2);
83
84 figure(1) % grafico del tergicristallo in movimento
85 plot(x,y,'-ob',x_sp,y_sp,'-xr');
86 xlim ([-0.1; 0.4]); ylim ([-0.1;0.4]); grid on; hold on;
87 xlabel('x [m]'); ylabel('y [m]');
88 title('tergicristallo in movimento');
89
90 figure(2) % biella in movimento
91 plot(x(2:3),y(2:3),'-o','Color',[0.7, 0.7,0.7]);
92 xlim ([-0.05;0.25]); ylim ([-0.05; 0.25]);
93 grid on, xlabel('x [m]'), ylabel('y [m]'), hold on,
94 title('traiettoria punto mediano della biella')
95
96 %pause %(0.05)
97 end
98
99 delta_theta3=(max(theta3)-min(theta3))*180/pi;
100
101 % Completamento figure
102
103 figure(1)
104 text(0,0.35,['angolo di escursione della spazzola: ',...
105 num2str(delta_theta3),' deg'],'FontSize',12,...
106 'BackgroundColor',[0.7 1.0 0.7])
107 figure(2)
108 plot(xm2,ym2,'-o','LineWidth',1.5);
109
1
2 % ----- ana_tergi_2.m -------
3
4 % ANALISI CINEMATICA COMPLETA DI UN QUADRILATERO ARTICOLATO
5 % ESPORTAZIONE RISULTATI IN UN FILE ESTERNO
6 %
7 clear all, close all, clc
8
9 tic
10 % Importazione dati
11
12 prm=par_inp; % importazione dati da script par_inp.m
13
14 a1=prm(1); % raggio di MANOVELLA [m]
15 a2=prm(2); % lunghezza di BIELLA [m]
16 a3=prm(3); % lunghezza del BILANCIERE
17 a4=prm(4); % lunghezza del TELAIO [m]
18 theta4=prm(5); % angolo del TELAIO [rad]
19 rpm=prm(11); % velocità rotazione manovella [giri/min]
20 omega1=2*pi*rpm/60; % [rad/s]
21 alpha1=prm(18); % accelerazione angolare manovella [rad/s^2]
22 npt=prm(20); % n. punti di analisi
23 % ------------------
24
25 T=2*pi/omega1; % periodo [s]
26 dati_out=zeros(npt,16); % asseramento della matrice di dati output
27 t=linspace(0,2*T,npt); % vettore tempo (variabile indipendente)
28 q=omega1*t; q_deg=q*180/pi; % coordinata libera, radianti e gradi
29 dati_out(:,1)=t'; dati_out(:,2)=q';
30
31 % analisi cinematica
32
33 % posizione
34 z1=a1*exp(i*q); z4=a4*exp(i*theta4);
35 z5=z4-z1;
36 a5=abs(z5); theta5=angle(z5);
37 alpha=acos((a2^2+a5.^2-a3^2)./(2*a2.*a5));
38 theta2=alpha+theta5; dati_out(:,3)=theta2; % angolo rotazione biella
39 z2=a2*exp(i*theta2);
40 z3=z2-z5;
41 theta3=angle(z3); dati_out(:,4)=theta3; % angolo rotazione bilancere
42 xm2=a1*cos(q)+(1/2)*a2*cos(theta2); dati_out(:,5)=xm2; % pos. x punto medio biella
43 ym2=a1*sin(q)+(1/2)*a2*sin(theta2); dati_out(:,6)=ym2; % pos. y punto medio biella
44
45 % velocità
46 omega2=omega1*(a1/a2)*sin(q-theta3)./sin(theta3-theta2);
47 dati_out(:,7)=omega2; % velocità angolare biella
48 omega3=omega1*(a1/a3)*sin(q-theta2)./sin(theta3-theta2);
49 dati_out(:,8)=omega3; % velocità angolare bilanciere
50 vxm2=-omega1*a1*sin(q)-(1/2)*omega1*a1*(sin(q-theta3)).*sin(theta2)./...
51 (sin(theta3-theta2)); dati_out(:,9)=vxm2; % vel. x punto medio biella
52 vym2=omega1*a1*cos(q)+(1/2)*omega1*a1*(sin(q-theta3)).*cos(theta2)./...
53 (sin(theta3-theta2)); dati_out(:,10)=vym2; % vel. y punto medio biella
54 tau_theta2=(a1/a2)*sin(q-theta3)./sin(theta3-theta2);
55 dati_out(:,11)=tau_theta2; % rapp. velocità angolare biella
56 tau_theta3=(a1/a3)*sin(q-theta2)./sin(theta3-theta2);
57 dati_out(:,12)=tau_theta3; % rapp. velocità angolare bilanciere
58 tau xm2= -a1*sin(q)-(1/2)*a1*(sin(q-theta3)).*sin(theta2)./...
59 (sin(theta3-theta2));
60 dati_out(:,13)=tau_xm2; % rapp. velocità x punto medio biella
61 tau_ym2=a1*cos(q)+(1/2)*a1*(sin(q-theta3)).*cos(theta2)./...
62 (sin(theta3-theta2));
63 dati_out(:,14)=tau_ym2; % rapp. velocità y punto medio biella
64
65 % accelerazione
66 alpha2=-(alpha1*a1*sin(q-theta3)+...
67 omega1^2*a1*cos(q-theta3)-omega3.^2*a3+...
68 omega2.^2*a2.*cos(theta3-theta2))./(a2*sin(theta2-theta3));
69 dati_out(:,15)=alpha2; % accelerazione angolare biella
70
71 alpha3=-(alpha1*a1*sin(q-theta2)+...
72 omega1^2*a1*cos(q-theta2)+omega2.^2*a2-...
73 omega3.^2*a3.*cos(theta2-theta3))./(a3*sin(theta2-theta3));
74 dati_out(:,16)=alpha3; % accelerazione angolare bilanciere
75
76 toc
77
78 % esportazione dei risultati in un file esterno
79 % i risultati sono registrati in una matrice di vettori
80 % colonna vettore
81 %----------------------
82 % 1 tempo [s]
83 % 2 q [rad]
84 % 3 theta_2 [rad]
85 % 4 theta_3 [rad]
86 % 5 xm2 [m]
87 % 6 ym2 [m]
88 % 7 omega_2 [rad/s]
89 % 8 omega_3 [rad/s]
90 % 9 vxm2 [m/s]
91 % 10 vym2 [m/s]
92 % 11 tau_theta2 []
93 % 12 tau_theta3 []
94 % 13 tau_xm2 [m]
95 % 14 tau_ym2 [m]
96 % 15 alpha_2 [rad/s^2]
97 % 16 alpha_3 [rad/s^2]
98
99 nome_file_ext=input('Nome del file (con estensione .txt) da salvare ? ','s');
100
101 save(nome_file_ext, 'dati_out', '-ascii');
102
103 % Rappresentazioni grafiche dei risultati dell'analisi cinematica
104
105 figure(1) % angolo e velocità del cedente spazzola
106 subplot(2,1,1)
107 plot(q_deg,theta3/pi*180); xlabel('q [deg]'); ylabel('\theta_3 [deg]');
108 grid; axis([0 360 0 300]); title('angolo del cedente spazzola');
109 subplot(2,1,2)
110 plot(q_deg,omega3); xlabel('q [deg]'); ylabel('\omega_3 [rad/s]');
111 grid; xlim ([0 360]); title('velocità angolare del cedente spazzola');
112
113 figure(2) % angolo e velocità della biella
114 subplot(2,1,1)
115 plot(q_deg,theta2/pi*180); xlabel('q [deg]'); ylabel('\theta_2 [deg]');
116 grid; axis([0 360 0 200]); title('angolo della biella');
117 subplot(2,1,2)
118 plot(q_deg,omega2); xlabel('q [deg]'); ylabel('\omega_2 [rad/s]');
119 grid; xlim ([0 360]); title('velocità angolare della biella');
120
121 figure(3) % rapporti di velocità
122 subplot(2,1,1)
123 plot(q_deg,tau_theta2,q_deg,tau_theta3),grid;
124 xlabel('q [deg]'); xlim ([0 360]); %ylabel('\tau'),
125 title('rapporti di velocità rotazione biella e bilanciere');
126 text(q_deg(1)+50,tau_theta2(10),'\fontsize{16}\color{blue}\tau_{\theta_2}');
127 text(q_deg(1)+20,tau_theta3(10),'\fontsize{16}\color{darkGreen}\tau_{\theta_3}');
128 subplot(2,1,2)
129 plot(q_deg,tau_xm2,q_deg,tau_ym2),grid;
130 xlabel('q [deg]'), xlim ([0 360]); %ylabel('\tau'),
131 title('rapporti di velocità traslazioni x y biella ');
132 text(q_deg(1)+50,tau_xm2(10),'\fontsize{16}\color{blue}\tau_{xm2}');
133 text(q_deg(1)+20,tau_ym2(10),'\fontsize{16}\color{darkGreen}\tau_{ym2}');
134
135 figure(4) % accelerazione
136 subplot(2,1,1)
137 plot(q_deg,alpha2); xlabel('q [deg]'); ylabel('\alpha_2 [rad/s^2]');
138 grid; xlim([0 360]); title('accelerazione angolare della biella');
139 subplot(2,1,2)
140 plot(q_deg,alpha3); xlabel('q [deg]'); ylabel('\alpha_3 [rad/s^2]');
141 grid; xlim ([0 360]); title('accelerazione angolare del bilanciere');
142