Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
SIMULARE FIS-III,L6
Exemple:
Motor de c.c.;
Cruise control
Pendul invesat;
Altele
unde f este forta (constanta) produsa de motorul masinii, iar v este viteza
masurata; ca date numerice s-au folosit masa m = 1000 kg, b = 50 N.sec/m,
f = 500 N. La o forta de f = 500 N, masina obtine o viteza maxima de 10m/s.
Un automobil modern, din zilele noastre, ar trebui sa fie capabil sa
accelereze pana la aceasta viteza intr-un timp t (tc) < 5 sec. Pentru un astfel
de sistem simplu de control al vitezei, se poate presupune o suprareglare
acceptabila de 10% a vitezei si o eroare de regim stationar de 2%.
2). Functia de transfer a procesului de mai sus. Transformata Laplace:
{ msV(s) + bV(s) = F(s)
Y(s) = V(s)
Marimea de iesire fiind viteza, se exprima V(s) in functie de Y(s) si :
0.7
0.6
Viteza(m/sec)
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6 7 8 9 10
Timpul(sec) (sec)
0.7
0.6
Viteza(m/sec)
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6 7 8 9 10
Timpul(sec) (sec)
Fig. 10.18: Tabelul memoriei asociative fuzzy (tabel decizii) cruise control
Exemple a-z: Cruise control; Motor de CC;
29 November 2017 Pendul inversat 27
Ex. 1: proiectarea unui controler fuzzy de mentinere
a vitezei de croaziera (economica) presetata, la un
automobil (cruise control), 18- proiectare controler fuzzy, 8
Memoria asociativa
(tabelul de decizii) este
un set de noua reguli
de forma IF-THEN
(v. Fig. 10.19)
10
Pozitia rotorului [radiani]
8
Amplitude
0
0 0.05
Exemple a-z: Cruise0.1control;0.15 0.2
Motor de CC; 0.25 0.3 0.35 0.4
timpul [sec]
29 November 2017 Pendul inversat 36
Time (sec)
Ex. 2: proiectarea unui controller fuzzy pentru
controlul dinamicii unui servomotor de c.c., 27- proiectare
controler conventional, program Matlab raspuns la treapta, 6
J = 3.0E-6; % Momentul de inertie
b = 3.5E-6; % Coeficientul de amortizare
K = 0.03; % Constanta motorului
R = 4; % Rezistenta bobinei armaturii motorului
L = 2.0E-6; % Inductivitatea bobinei armaturii
num = K; % Numaratorul f.d.t.
den = [(L*J) ((R*J)+(b*L)) ((b*R)+K^2) 0]; % Numitorul f.d.t.
sys1 = tf(num, den); % Se construieste f.d.t.
step(sys1, 0:0.001:0.2); % Raspunsul la treapta
sys2 = 1; % Reactia unitara a unei f.d.t.
sys = feedback(sys1, sys2); % F.d.t. a sistemului inchis sys ce
% are reactie unitara
step(sys,0:0.001:0.2); % Raspunsul la treapta al sistemului % %
% inchis si reprezentarea acestuia
Step Response
Caracteristicile raspunsului cu
1.5
Raspunsul la treapta a sistemului inchis cu regulator P (KD = KI = 0)
aceste valori (v. Fig 10.25 stanga),
System: sys
Peak amplitude: 1.46
sunt:
(POS) = 45.7 % (>> 5%!)
Overshoot (%): 45.7
At time (sec): 0.02 System: sys
System: sys
Settling Time (sec): 0.103Final Value: 1
1
System: sys
Rise Time (sec): 0.00791
tt (Ts) = 0.1 sec
Pozitia rotorului, [radiani]
Caracteristici:
- POS = 45.7%, !; eroarea stationara st = 0.
- Ts (tt) = 0.1 sec, !;
0.5 - eps st = 0 (bun)
- tc(Tr) = 0.00791(bun)
0.8
Settling Time (sec): 0.0146
System: sysfinal caracteristicile din raspunsul
Rise Time (sec): 0.00302
Amplitude
0.2
eroarea stationara = 0 ! tc (Tr) = 0.00302 sec
eroarea stationara st = 0.
0
0 0.02 0.04 0.06 0.08 0.1
Timp [sec]
0.12 0.14 0.16 0.18 0.2
Programul cu care s-a obtinut Fig.
Time (sec)
10.26 este in slide-ul urmator:
N Z P
Eroarea N Tensiune Tensiune Tensiune
negativa negativa negativa
de pozitie
Z Tensiune Tensiune Tensiune
negativa zero pozitiva
Fismat =
name: 'Motor_CC'
type: 'mamdani'
andMethod: 'min'
orMethod: 'max'
defuzzMethod: 'centroid'
impMethod: 'min'
aggMethod: 'max'
input: [1x2 struct]
output: [1x1 struct]
rule: [1x9 struct]
Daca presupunem mic, deci (d/dt)2 se neglijeaza, avem pentru cele doua
ecuatii formele (M-masa caruciorului; m-masa PI cu baston cu tot; g-
acceleratia gravitationala; l - lungimea bastonului PI pe jumatate; F-forta de
impingere (de control) a caruciorului; si x unghiul bastonului cu verticala
si respectiv deplasarea caruciorului):
Daca notam variabilele de stare ca mai jos:
se obtine MM de stare: