Laborator 10. Aplicatii cu amplificatoare operationale. Scopul lucrării 1/Laborator 10.pdf ·...

13
Laborator 10. Aplicatii cu amplificatoare operationale. Scopul lucrării In acest laborator vom prezenta exemple de functionare si modelare matematica a amplificatoarelor operationale. Aparatura necesară - Staţii de lucru care au instalat MATLAB. Consideratii Teoretice Amplificatoarele operaţionale reprezintă familia cea mai cunoscută dintre circuitele integrate analogice. Ele sunt amplificatoare electronice integrate, care au câteva caracteristici importante cum ar fi: - se comportă ca amplificatoare ideale de tensiune având amplificarea în tensiune foarte mare; - impedanţă de intrare foarte mare şi impedanţă de ieşire foarte mică; - amplificare diferenţială foarte mare. Simbolul unor astfel de amplificatoare operationale este: v + v- v O +E C -E E + - v + v - v O + - Fig. 1 V + – semnal de intrare neinversoare; semnalul de ieşire este în fază cu semnalul aplicat pe această intrare; V - – semnal de intrare inversoare; semnalul de ieşire este defazat cu 180 0 faţă de semnalul aplicat pe această intrare; V 0 – semnal de ieşire; E C – sursă pozitivă de alimentare; E E – sursa negativă de alimentare.

Transcript of Laborator 10. Aplicatii cu amplificatoare operationale. Scopul lucrării 1/Laborator 10.pdf ·...

Laborator 10. Aplicatii cu amplificatoare operationale.

Scopul lucrării In acest laborator vom prezenta exemple de functionare si modelare matematica a

amplificatoarelor operationale. Aparatura necesară

- Staţii de lucru care au instalat MATLAB. Consideratii Teoretice

Amplificatoarele operaţionale reprezintă familia cea mai cunoscută dintre circuitele

integrate analogice. Ele sunt amplificatoare electronice integrate, care au câteva caracteristici

importante cum ar fi:

- se comportă ca amplificatoare ideale de tensiune având amplificarea în tensiune foarte mare; - impedanţă de intrare foarte mare şi impedanţă de ieşire foarte mică; - amplificare diferenţială foarte mare. Simbolul unor astfel de amplificatoare operationale este:

v+

v- vO

+EC

-EE

+

-

v+

v-

vO

+

-

Fig. 1

V+ – semnal de intrare neinversoare; semnalul de ieşire este în fază cu semnalul aplicat pe

această intrare;

V- – semnal de intrare inversoare; semnalul de ieşire este defazat cu 1800 faţă de semnalul aplicat

pe această intrare;

V0 – semnal de ieşire;

EC – sursă pozitivă de alimentare;

EE – sursa negativă de alimentare.

Ca la orice circuit sau dispozitiv electronic analizat până în acest moment, şi pentru AO

trebuie cunoscute caracteristicile grafice care îi caracterizează funcţionare. Astfel:

- caracteristica de intrare care reprezintă dependenţa curentului de intrare ca funcţie de tensiunea de intrare; această caracteristică nu prezintă importanţă deoarece curenţii de intrare sunt aproape zero (datorită impedanţei mari de intrare).

- caracteristica de ieşire care reprezintă dependenţa curentului de ieşire ca şi funcţie de tensiunea de ieşire în condiţiile date de semnalul de intrare; nici această caracteristică nu prezintă importanţă deoarece impedanţa de ieşire are valoare foarte mică, iar caracteristica depinde exclusiv de sarcină.

- caracteristica de transfer care reprezintă caracteristica grafică între mărimile de intrare şi cele de ieşire. În general mărimea de intrare este tensiunea diferenţiala de intrare

dV V V , iar mărimea de ieşire este tensiunea de ieşire care în cazul unui AO ideal este

0 dV A V , unde A este amplificarea AO.

În Fig. 2 se prezintă caracteristica de transfer a AO. Pe această caracteristică se poate

observa că există trei zone de funcţionare a amplificatorului

Regiunea de saturaţie negativă reprezintă zona pentru care AO are la ieşire tensiunea

V0min adică tensiunea maximă de valoarea negativă pe care o poate avea la ieşire indiferent de

valoarea tensiunii de intrare. Această zonă poate fi caracterizată de relaţia de mai jos.

A

VVd

min0

unde A este amplificarea AO

În această zona tensiunea de ieşire nu depinde de tensiunea de intrare, iar tensiunea de

ieşire este aproximativ egală cu tensiunea negativă de alimentare EE.

Regiunea liniară reprezintă zona în care AO funcţionează ca amplificator după relaţia:

dVAV 0

Amplificarea poate fi de finită ca fiind egală cu: ( )A tg . Doar în această regiune AO

funcţionează ca şi amplificator.

Regiunea de saturaţie pozitivă reprezintă zona pentru care AO are la ieşire tensiunea

V0max adică tensiunea maximă de valoarea pozitivă. Această zonă poate fi caracterizată de relaţia:

A

VVd

max0

Pentru această regiune tensiunea de ieşire nu depinde de tensiunea de intrare, iar

tensiunea de ieşire este aproximativ egală cu tensiunea pozitivă de alimentare EC.

Fig.2. Caracteristica de transfer a AO.

Conexiunea inversoare.

Pentru a obţine o conexiune inversoare, se conectează borna de intrare neinversoare la

masă, iar borna de intrare inversoare la o sursă de tensiune. Schema trebuie să dispună şi de

reacţie negativă. Schema este prezentată în Fig.3.

Fig. 3

În această schemă apar rezistenţele R1 care are rol de limitare a semnalului de intrare şi

R2 care are rol de reacţie negativă.

Dacă se aplică teoremele de calcul electric pe acest circuit va rezulta relaţia:

inO UR

RV

1

2

de unde se constată că:

1

20

R

R

U

VA

in

Semnul minus din relaţia amplificării indică că tensiunea de ieşire este defazată cu 180°

faţă de tensiunea de intrare ceea ce justifică denumirea de amplificare inversoare.

Conexiunea neinversoare.

Pentru a obţine o conexiune neinversoare, se conectează borna de intrare neinversoare la

sursa de tensiune, iar borna de intrare inversoare la masă printr-o rezistenţă. Schema trebuie să

dispună şi de reacţie negativă. Schema este prezentată în Fig.10.4.

Fig. 4

În această schemă atât rezistenţa R1 cât şi rezistenţa R2 au rol de reacţie.

Dacă se aplică teoremele de calcul electric pe acest circuit va rezulta relaţia:

inO UR

RV

1

21

de unde se constată că:

1

20 1R

R

U

VA

in

Se poate observa că de această dată semnalul de ieşire este în fază cu semnalul de intrare,

de unde rezultă că amplificarea este neinversoare.

Conexiunea diferenţială.

Pentru a obţine o conexiune diferenţială avem nevoie de două surse de semnal, una care

se conectează la borna de intrare neinversoare, iar cealaltă care se conectează la borna de intrare

inversoare. Schema este prezentată în Fig. 5.

În această schemă atât rezistenţa R1 cât şi rezistenţa R2 au rol de reacţie, iar R3 şi R4, au

rol de divizor pentru intrarea neinversoare cu rol de polarizare.

Fig.5

Dacă se aplică teoremele de calcul electric pe acest circuit va rezulta relaţia:

2 4 22 1

1 3 4 1

1O

R R RV U U

R R R R

Dacă realizarea circuitului se face astfel încât:

2 4

1 3

R R

R R

Rezultă:

22 1

1

O

RV U U

R

R3 R4

Din relaţia de mai sus se poate observa că amplificatorul amplifică tensiunea obţinută ca

şi diferenţă dintre tensiunile de intrare de unde vine şi denumirea de AO diferenţial.

Circuit de integrare.

Circuitul de integrare este un circuit care are la ieşire valoarea integrată a semnalului de

intrare. Pentru aceasta se porneşte de la o conexiune inversoare, doar că rezistenţa de reacţie va fi

înlocuită cu un condensator (Fig. 6).

Fig. 6

În această schemă rezistenţa R are rol de limitare a curentului de la sursa de semnal, iar

condensatorul C are rol de reacţie.

Dacă se aplică teoremele de calcul electric pe acest circuit va rezulta relaţia:

0

1t

O inV U t dtRC

În relaţia de mai sus, se poate face notaţia RC , termenul astfel obţinut se numeşte

constantă de timp.

Circuit de derivare.

Circuitul de derivare este un circuit care are la ieşire valoarea derivată a semnalului de

intrare. Pentru aceasta se porneşte de la o conexiune inversoare, doar că rezistenţa de limitare va

fi înlocuită cu un condensator (Fig.7).

Fig. 7

În această schemă rezistenţa R şi condensatorul C au rol de reacţie. Ca şi la circuitul

integrator ele formează constanta de timp a circuitului.

Dacă se aplică teoremele de calcul electric pe acest circuit va rezulta relaţia:

inO

dU tV RC

dt

Pornind de la aceste configuratii ale amplificatoarelor operationale vom scrie un program MatLab care sa permita alegerea unuia din tipurile de circuite studiate . Astfel vom crea o interfata cu ajutorul careia vom putea selecta parametri de semnal ai amplificatorului, forma tensiunii de intrare, valorile rezistentelor, perioada semnalului, tensiunile de alimentare ale amplificatorului. O astfel de interfata este prezentata in figura 8.

Fig. 8

Exemplu comparatoare : function interfata(A,T,N,tip,Va1,Va2,Vph,Vpl,caz) % Comparatoare fara reactie fig=figure('Name','Comparatoare fara reactie',... 'Numbertitle','off',... 'Color','white',... 'Units','normalized',... 'Position',[0.1 0.1 0.7 0.7],... 'Tag','interfata_cfr'); %=======================afisarea schemei circuitului- subplot(3,2,5); if caz==1 Img=imread('comp_inver_f.png'); end if caz==2 Img=imread('comp_neinv_f.png'); end

if caz==3 Img=imread('Circ2.bmp'); end image(Img); axis off; set(gca,'Position',[0.02 0.05 0.45 0.3]); %=============================================== %casete de editare %pozitia si dimensiunea butoanelor xo=0.12; yo=0.7; L=0.1; H=0.05; %---------------------------------------------------------- % caseta ce contine parametrii semnalului (T, A,N,tipul) %---------------------------------------------------------- Panel_semnal=uipanel('Visible','on',... 'BackgroundColor','white',... 'ForegroundColor','black',... 'Title','Semnal de intrare',... 'FontSize',11,... 'TitlePosition','centertop',... 'Position',[xo+0.12 yo-0.30 L+0.08 H+0.38]); BT=uicontrol('Style','edit',... 'Units','normalized',... 'Position',[0.5 0.78 0.4 0.12],... 'String', A,... 'Tag','amplitudinea',... 'Callback','A=str2num(get(gco,''string''));close;interfata(A,T,N,tip,Va1,Va2,Vph,Vpl,caz);',... 'Parent',Panel_semnal); BTtext=uicontrol('Style','text',... 'Units','normalized',... 'Position',[0.08 0.72 0.4 0.15],... 'BackgroundColor','white',... 'ForegroundColor','red',... 'String', 'A [V]',... 'Fontsize', 9,... 'FontWeight','demi',... 'HorizontalAlignment','left',... 'Parent',Panel_semnal); BA=uicontrol('Style','edit',... 'Units','normalized',... 'Position',[0.5 0.58 0.4 0.12],... 'String', T,... 'Tag','perioada',... 'Callback','T=str2num(get(gco,''string''));close;interfata(A,T,N,,tip,Va1,Va2,vph,Vpl,caz);',... 'Parent',Panel_semnal);

BAtext=uicontrol('Style','text',... 'Units','normalized',... 'Position',[0.08 0.52 0.4 0.15],... 'BackgroundColor','white',... 'ForegroundColor','red',... 'String', 'T [s]',... 'Fontsize', 9,... 'FontWeight','demi',... 'HorizontalAlignment','left',... 'Parent',Panel_semnal); BA=uicontrol('Style','edit',... 'Units','normalized',... 'Position',[0.5 0.38 0.4 0.12],... 'String', N,... 'Callback','N=str2num(get(gco,''string''));close;interfata(A,T,N,tip,Va1,Va2,Vph,Vpl,caz);',... 'Parent',Panel_semnal); BAtext=uicontrol('Style','text',... 'Units','normalized',... 'Position',[0.08 0.32 0.4 0.15],... 'BackgroundColor','white',... 'ForegroundColor','red',... 'String', 'N',... 'Fontsize', 9,... 'FontWeight','demi',... 'HorizontalAlignment','left',... 'Parent',Panel_semnal); %========================== uicontrol('style','popup',... 'units','normalized',... 'position',[0.08 0.20 0.8 0.10],... 'value',tip,... 'string','Semnal Sinusoidal|Semnal Triunghiular',... 'callback','tip=get(gco,''value''),close;interfata(A,T,N,tip,Va1,Va2,Vph,Vpl,caz);',... 'Parent',Panel_semnal); %---------------------------------------------------------- % caseta ce contine parametrii circuitului (R1, Rn) %---------------------------------------------------------- Panel_circuit=uipanel('Visible','on',... 'BackgroundColor','white',... 'ForegroundColor','black',... 'Title','Parametrii circuitului',... 'FontSize',11,... 'TitlePosition','centertop',... 'Position',[xo-0.07 yo-0.30 L+0.08 H+0.38]); uicontrol('style','popup',... 'units','normalized',... 'position',[0.08 0.02 0.8 0.10],... 'value',caz,... 'string','Comparator inversor|Comparator neinversor|Comparator fereastra',...

'callback','caz=get(gco,''value''),close;interfata(A,T,N,tip,Va1,Va2,Vph,Vpl,caz);',... 'Parent',Panel_circuit); BR1=uicontrol('Style','edit',... 'Units','normalized',... 'Position',[0.5 0.78 0.4 0.12],... 'String', Va1,... 'Tag','sursa+',... 'Callback','Va1=str2num(get(gco,''string''));close;interfata(A,T,N,tip,Va1,Va2,Vph,Vpl,caz);',... 'Parent',Panel_circuit); BR1text=uicontrol('Style','text',... 'Units','normalized',... 'Position',[0.08 0.72 0.4 0.15],... 'BackgroundColor','white',... 'ForegroundColor','red',... 'String', 'Va1 [V]',... 'Fontsize', 9,... 'FontWeight','demi',... 'HorizontalAlignment','left',... 'Parent',Panel_circuit); BRn=uicontrol('Style','edit',... 'Units','normalized',... 'Position',[0.5 0.58 0.4 0.12],... 'String', Va2,... 'Tag','sursa-',... 'Callback','Va2=str2num(get(gco,''string''));close;interfata(A,T,N,tip,Va1,Va2,Vph,Vpl,caz);',... 'Parent',Panel_circuit); BRntext=uicontrol('Style','text',... 'Units','normalized',... 'Position',[0.08 0.52 0.4 0.15],... 'BackgroundColor','white',... 'ForegroundColor','red',... 'String', 'Va2 [ V]',... 'Fontsize', 9,... 'FontWeight','demi',... 'HorizontalAlignment','left',... 'Parent',Panel_circuit); BVa2=uicontrol('Style','edit',... 'Units','normalized',... 'Position',[0.5 0.28 0.4 0.12],... 'String', Vph,... 'Tag','pragh',... 'Callback','Vph=str2num(get(gco,''string''));close;interfata(A,T,N,tip,Va1,Va2,Vph,Vpl,caz);',... 'Parent',Panel_circuit); BVa2text=uicontrol('Style','text',... 'Units','normalized',...

'Position',[0.08 0.28 0.4 0.15],... 'BackgroundColor','white',... 'ForegroundColor','red',... 'String', 'Vph [ V ]',... 'Fontsize', 9,... 'FontWeight','demi',... 'HorizontalAlignment','left',... 'Parent',Panel_circuit); BVa1=uicontrol('Style','edit',... 'Units','normalized',... 'Position',[0.5 0.12 0.4 0.15],... 'String', Vpl,... 'Tag','pragl',... 'Callback','Vpl=str2num(get(gco,''string''));close;interfata(A,T,N,tip,Va1,Va2,Vph,Vpl,caz);',... 'Parent',Panel_circuit); BVa1text=uicontrol('Style','text',... 'Units','normalized',... 'Position',[0.08 0.12 0.4 0.15],... 'BackgroundColor','white',... 'ForegroundColor','red',... 'String', 'Vpl [ V ]',... 'Fontsize', 9,... 'FontWeight','demi',... 'HorizontalAlignment','left',... 'Parent',Panel_circuit); %============================== % grafice %======================================== t=0:T./200:N.*T; nt=length(t); w=2*pi./T; if tip==1 ui=A.*sin(w.*t); end if tip==2 ui=2.*A.*asin(sin(w.*t))./pi; end %=================================Reprezentari grafice subplot(3,2,2); % Tensiunea de intrare in functie de timp % cla; plot(t,ui,'-r',t,Vph.*ones(1,nt),'m',t,Vpl.*ones(1,nt),'g'); grid on; title('Semnal de intrare ','FontSize',12,'FontWeight','demi'); ylabel('Tensiunea de intrare [V]'); xlabel('Timpul [s]'); %----------------- if caz==1 titlul='Comparator inversor'; uo=zeros(1,nt); for k=1:nt

uo(k)=Va1; if ui(k)>Vph uo(k)=Va2; elseif ui(k)<Vph uo(k)=Va1; end end end %==================Triger Schmitt neinversor if caz==2 titlul='Comparator neinversor'; uo=zeros(1,nt); for k=1:nt uo(k)=Va1; if ui(k)>Vph uo(k)=Va1; elseif ui(k)<Vph uo(k)=Va2; end end end if caz==3 titlul='Comparator Fereastra'; uo=zeros(1,nt); for k=1:nt if (ui(k)>Vpl)&(ui(k)<Vph) uo(k)=Va1; else uo(k)=Va2; end end end subplot(3,2,4); % Tensiunea de iesire in functie de timp plot(t,uo,'m'); grid on; title(titlul); ylabel(' Uout [V]'); xlabel('Timpul [s]'); %---------------------------------- subplot(3,2,6); % Tensiunea de iesire in functie de tensiunea de intrare cla; plot(ui,uo,'k');grid on; text(Vph,0,num2str(Vph)); title('Caracteristica Uo-Ui'); ylabel(' Uo [V]'); xlabel('Tensiunea de intrare Ui [V]');

Fig. 9

Tema : 1. Scrieti fisierul script care sa permita rularea functiei interfata prezentata anterior. 2. Editati schemele necesare in programul scris anterior. 3. Setati parametri de vizibilitate a butoanelor pe care nu le folositi de fiecare data (VpL), si adaugati un titlu de fiecare data cand apelati un alt circuit. 4. In cazul comparatoarelor fereastra introduceti un mesaj de eroare in cazul in care VpL este mai mare decat VpH. 5. Realizati dupa modelul de mai sus un program care sa permita vizualizarea analizelor asupra circuitelor prezentate in lucrare.

Fig. 10 Comparator fereastra