當前位置:編程學習大全網 - 源碼下載 - 運算放大器靜態參數的測量系統

運算放大器靜態參數的測量系統

集成運放性能參數測試儀 壹、集成運放性能參數測試儀性能指標 工作電壓:±15V

VIO:測量範圍:

0~40mV(<小於3%讀數±1個字);

IIO:測量範圍:

0~4μA(<3%讀數±1個字);

AVD:測量範圍:

60dB~120dB±3dB;

KCMR:測量範圍:

60dB~120dB±3dB;

輸出頻率:5Hz

輸出電壓有效值:4 V

頻率與電壓值誤差絕對值均小於1%; 二、設計思路: 本設計以單片機

STC89C52為控制核心,利用數模轉換器ADS1110

以及繼電器,為切換開關, 對被測量信號進行采樣,通過單片機處

理完成對運算放大器LM741的UIO,IIO,AVC,KCMR等參數的測量。 並

通過系統顯示接口,利用液晶顯示裝置將測試的結果進行顯示,同時

本系統還能通過鍵盤進行人機交流,實現按下壹個按鍵就可以對該運

放的某個參數進行測試。 三、系統結構圖 四、方案比較與選擇: 主控芯片部分

方案壹:采用STC89C52單片機。優點是芯片結構簡單,使用相

對容易;缺點是不帶AD轉換電路,需要外接AD轉換芯片,測量精度

相對較低。

方案二:采用淩陽SPCE061A單片機。優點是自帶AD轉換模塊,

測量精度相對較高,能進行音頻處理等多種智能化功能;缺點是結構

復雜,使用起來相對繁瑣。

由於此方案的核心內容在測試電路部分,主控芯片的選擇對結果

的影響相對較小,綜合以上芯片的性能以及自身的情況,選擇使用相

對簡單的STC89C52單片機。

信號發生器的選擇 方案壹:利用傳統的模擬分立元件或單片壓控函數發生器

MAX038,可產生三角波、方波、正弦波,通過調整外圍元件可以改

變輸出頻率、幅度,但采用模擬器件由於元件分散性太大,即使用單

片函數發生器,參數也與外部元件有關,外接電阻電容對參數影響很

大,因而產生的頻率穩定度較差、精度低、抗幹擾能力差、成本也較

高。

方案二:采用ICL8038芯片產生信號。優點是電路簡單,波形好,

控制方便,缺點是頻率有限。

由於需要的頻率不寬,綜合以上考慮,選擇電路簡單,波形好,

控制方便,精度和抗幹擾能力更強的ICL8038作為信號發生器。

顯示模塊的選擇

方案壹:采用液晶顯示模塊SVM12864(LCD)。占用I/O口多,

控制復雜,但可以顯示漢字和簡單圖形等,功能強大

方案二:采用液晶顯示模塊1602。占用I/O口少,控制簡單,每

行可顯示16個字符。

雖然SVM12864功能相對強大,但是采用1602更為合理。因為需

要顯示的參數不多,且都是英文字母和數字,因此選擇控制簡單的

1602液晶顯示模塊。

五、測量原理 2.1 失調電壓

Vios

理想運放當輸入電壓為零時,其輸出電壓也為零,但實際運放電路當輸入電壓為零時,其輸出端仍有壹個偏離零點的直流電壓Vios。這是

由於運放電路參數不對稱所引起的(在室溫25度 和標準電源電壓下)

為了使這壹輸出直流電壓Vios 為零,必須先在輸入端加壹個直流電

壓作為補償電壓! 以抵消偏離零點的輸出電壓。這個加在輸入端的電

壓即為輸入失調電壓Vios(顯然Vios越小,說明運算放大器參數的對

稱性越)

2.2 失調電流Iio

運放的輸入偏置電流是指運放輸入級差分對管的基極電流IB1,IB2,

其中IB1指同相輸入端基極電流,IB2指反相輸入端基極電流運放的輸

入失調電流是指當運放輸出電壓為零時,兩個輸入端靜態電流的差

值,即Iio=IB1- IB2"(顯然:Iio的存在將使輸出端零點偏移! 信號

源阻抗越高,失調電流的影響越嚴重)

2.3 ***模抑制比K C M R

表征運放對***模信號抑制能力的參數叫***模抑制比! 用KCMR表示。

KCMR定義為差模電壓增益Avd 和***模電壓增益Avc 之比,即KCMR =

Avd/Avc。運放對***模信號有很強的抑制能力。

2.4 開環放大倍數的測量

即輸出電壓與輸入電壓的比值。

六、電路設計 3.1 失調電壓

VIO測量電路

輸入失調電壓的測量原理如圖1所示:圖中直流電路通過RI和RF接成閉合環路, 通常RI的取值不超過100歐

測量電路:

測量方法:

根據輸入失調電壓的定義得:

3.2 失調電流IIO測量電路

測量電路:

和上面壹樣, 則:

3.3 ***模抑制比KCMR 測量電路

測試原理如圖所示,由於RF>>RI,電路對差模信號的增益很大,該閉

環電路對差模信號的增益AvD= RF/RI。***模信號的增益AvC=

(VO/VS)。因此,只要從電路上測出VO 和VS,即可求出***模抑制比

KCMR = Avd/Avc

3.4 開環放大倍數的測量

測量電路如圖。

實際的測量電路:由於考慮到輸出處會有自激震蕩產生,因此在OP177的輸出口和正向

輸入端加上壹個電容,用以消除自激震蕩的影響。

實現各個測量電路的轉換,我使用繼電器、通過單片機對引腳的

置位來改變開關的通斷以及接通的相應電路。

S1、S2閉合,S3、S4接地時,測量失調電壓;

S1、S2斷開,S3、S4接地時,測量失調電流;

S1、S2閉合,S3接信號源,S4接地時,測量***模抑制比;

S1、S2閉合,S3接地,S4接信號源時,測量開環放大倍數。

以下為其他模塊的電路:

1.整流轉換電路:

2.單片機控制及液晶顯示模塊電路:

3.信號發生電路

電路總圖:

畫圖原理圖中存在的問題:

由於原理圖的元件庫中沒有ADS1110、繼電器、ICL8038等元件,因此這些元件都需要自己手動畫元件,這也是畫圖中存在的最大問

題。要將該元件的引腳與實際元件的引腳要對應。可以說,在畫原理

圖的過程中沒有存在很大的障礙。 六、軟件仿真 仿真軟件使用的是multisim2001。

在明確了軟件以後,就著手進行各個部件的仿真。由於集成運

放性能參數測試儀的核心內容為測量電路部分,控制以及整流部分對

於電路來說只是起到壹個輔助和提高測量準確度的作用,因此,仿真

內容的重點也在於此。本次仿真只針對測量電路進行,驗證測量電路

方案的準確與否。下面就對四部分測量電路進行仿真。仿真內容中的

被測量集成運算放大器為LM741,將測量結果與LM741元件的提供參

數作對比,即可以對比測量的參數與元件所給的參數是否相同或接

近,從而確定測量電路是否正確,以及電路測試參數的準確性。下面

開始仿真。

1.輸入失調電壓的仿真:

如圖所示,即為輸入失調電壓的仿真電路以及輸出量。

輸出電壓為VE=0.513V,Ri=100歐,Rf=51K歐

則根據輸入失調電壓計算公式:

(VE即為如圖所示的輸出電壓)

輸入失調電壓為1.00mV 。LM741的元件手冊提供的輸入失調電

壓的標準值為1mV,則測量結果在LM741提供的參數範圍之內。可以采

用這個測量電路測量輸入失調電壓。

2.輸入失調電流仿真:

如圖所示,即為輸入失調電流的仿真結果以及輸出量

根據輸出失調電流的測量公式

Ri=100歐,Rf=51K歐,VE2就是圖中電壓表所示的電壓值。VE2也為測量的值,11.979V

VE1為輸入失調電壓測試電路中的輸出值。VE1=0.513V

計算得輸入失調電流Iio=44.0nA。LM741的元件手冊提供的輸入

失調電流的範圍20nV-200nV,則測量結果44.0nA在LM741提供的參數

範圍之內。可以采用這個測量電路測量輸入失調電流。

3.開環電壓增益的仿真。

電路如圖:

根據開環放大倍數的計算公式

計算結果在誤差範圍內。Vs為輸入信號的電壓值,VE為輸出的

電壓值,R1=R2=30K歐,Ri=100歐,Rf=51K歐。Vs=4V,VE=6.548mV。

由於輸入信號電壓顯示的是最大值,因此計算時必須將它轉化為有效

值,則Vs=2.83V。

代入公式計算後,計算得AVD=106.88db LM741的元件手冊提供的開環放大倍數的範圍50db-200db,則測

量結果106.88db在LM741提供的參數範圍之內。可以采用這個測量電

路測量開環放大倍數。

4.***模抑制比測量仿真

測量結果如圖

根據***模抑制比的測量公式:

Vs有效值為2.83V,Ri=100歐,Rf=51K歐。

代入公式,計算得KCMR=93.1db

LM741的元件手冊提供的***模抑制比的最小值為70db,標準值為

90db,則測量結果93.1db接近標準值,在LM741提供的參數範圍之內。

可以采用這個測量電路測量開環放大倍數。

仿真過程中存在的問題:在開始時,我碰到了電阻參數不匹配的問題,壹級運放的電阻原來為100K歐,但是仿真結果與指標差別很

大,因此我就將該電阻減小為51K歐,並將其他相關電阻均減小1倍,

之後得出的參數就符合指標了。由於沒有考慮到輸出處會有自激震蕩

產生,結果造成***模抑制比的測量中存在了很大誤差,在多次測試,

最後決定在OP177的輸出口和正向輸入端加上壹個電容,消除了自激

震蕩的影響,保證了輸出結果的準確性。

電路仿真的心得:通過對上述四個測量電路的仿真,我得出的

結論是,這些測量電路測量出來的結果符合設計要求。可以說,此測

試儀的最核心部分測試電路完全可以采用上面所述的四個測量電路

的方案。但是,在測試過程中也存在壹些小問題,通過仿真也發現了

原先測量電路中存在的不足之處,例如:由於沒有考慮到輸出處會有

自激震蕩產生,結果造成***模抑制比的測量中存在了很大誤差,最後

在OP177的輸出口和正向輸入端加上壹個電容,消除了自激震蕩的影

響,保證了輸出結果的準確性。通過對電路的仿真,我得以修正和優

化原先的測量電路,使得測量電路更加完整、精確,為成功做板以及

硬件和軟件的調試打下堅實的基礎! 七.元件清單 下列元件為需要購買的元件清單

王凱的元件清單

中文名稱 功能 英文名稱 封裝 數量 備註

串行模數轉16位AD轉ADS1110 SOT23 1 換器 化

51單片機 單片機 STC89C52R2 DIP40 1

可調三端穩

壓集成電路

三端穩壓 LM337 TO-220 1

可調三端穩

壓集成電路

三端穩壓 LM317 TO-220 1

波形發生器 波形發生

ICL8038 DIP14 1

運算放大器 放大 OP177 DIP8 1

繼電器 開關 5 直流吸合

電壓5V

三極管 放大 8050 TO-92B 5

按鍵 按鍵 4*3mm 5

100歐電阻 電阻 0.25W AXIAL0.4 2

510K歐電阻 電阻 0.25W AXIAL0.4 2

51K歐電阻 電阻 0.25W AXIAL0.4 2

30K歐電阻 電阻 0.25W AXIAL0.4 2

15K歐電阻 電阻 0.25W AXIAL0.4 1

82K歐電阻 電阻 0.25W AXIAL0.4 1

200K可調歐

電阻

電阻 0.25W AXIAL0.4 1

10K歐電阻 電阻 0.25W AXIAL0.4 8 10K歐可調

電阻

電阻 0.25W AXIAL0.4 1

1K歐電阻 電阻 0.25W AXIAL0.4 1

電容 無極電容 100nF RAD0.1 1

電容 無極電容 30pF RAD0.1 2

電容 無極電容 3300pF RAD0.1 1

電容 有極電容 1uF RB.2/.4 2

電容 有極電容 100uF RB.2/.4 1

電容 有極電容 0.1uF RB.2/.4 1

6MHz晶體震

蕩器

晶體震蕩

6MHz XTAL1 1

二極管 二極管 1N4148 DIODE0.4 2

液晶顯示模

液晶顯示 1602 1

插針 插針 40顆

芯片插座 插芯片 DIP40 1

三端穩壓集

成塊

穩壓 7805 TO-220 1

三端穩壓集

成塊

穩壓 7812 TO-220 1

三端穩壓集

成塊

穩壓 7912 TO-220 1 精密可調電

位器

5K可調電

位器

SIP3 1

運算放大器 放大 OP07 DIP8 2

八.系統硬件設計 電路的PCB設計 測量電路模塊

主要芯片為兩塊集成運放(其中壹塊為待測的運放)和四個繼電器。 電源模塊

主要部分是穩壓器7805、7812、7912以及6個電解電容。 液晶顯示和控制模塊 主要部分為單片機、液晶顯示1602和四個控制按鍵五個三極管等。 信號發生模塊 主要芯片是波形發生器ICL8038,運放。 整流轉換模塊

主要部分是ADS1110和壹塊運放。 PCB總圖

PCB板的設計心得:我的這塊板的大小為12.5CM×12.2CM,和

其他同學的分模塊制板再通過連線連接的方案相比,我的這塊板要小

很多。對於元件的排列和布置,我本著“屬於同壹模塊的元件盡量排

列在壹起”的原則布置,最後再將四個模塊靠近,這樣不僅做到了各

模塊排列清晰,壹目了然,而且這樣排列更能方便各模塊的分開調試。

圖中,左下角為液晶顯示和電路控制模塊,右上角為測量電路模塊,

右邊為整流轉換模塊,右下角為信號發生電路,上方為電源穩壓模塊。

我的PCB方案將所有元件和模塊集成在壹塊板上,避免了各個模塊間

的連線調試以及模塊間協同工作的可靠性的問題,做到了實用性和美

觀的統壹。因為不需要考慮高頻信號的幹擾,所以元件間的距離間隔可以盡量調小,並且大膽使用了壹定量的跳線。最後,我在板的地線

上覆銅,不僅進壹步減少了幹擾,而且使板更為美觀,同時也為焊板

降低了壹定的難度。以實際做出來的板的效果來看,總體說來,我所

畫的這塊PCB板的效果還是很好的,在調試過程中出現的問題也不多,

而且只要簡單修改就可以正常工作,我對此很滿意的。

畫板過程中碰到的問題:有些元件的封裝,例如ADS1110、繼電

器,在封裝庫內並沒有給出;另外還有壹些元件封裝在封裝庫內沒有

合適的,例如部分電解電容,所以這些元件的封裝都需要自己另外畫。

元件引腳的位置、焊盤的大小必須與實際元件壹致,否則會造成元件

無法安插的板上的問題,而且焊盤的大小要適當加大,在布線的過程

中,應盡量把線布粗,電源線和地線還要另外加粗。另外,為了能將

板盡量地做小,我將原理圖中的四個模塊緊密排列,全部集成在壹塊

板上。由於所有的模塊都集成在壹塊板上,所以做出的這塊板還是存

在壹點的不方便,比如,壹旦某個模塊出現問題,要做出修改就要相

對麻煩壹些,有時甚至會涉及到其他模塊,在實際的電路調試中我就

盡量少地把改動涉及到其他模塊。

九.系統的軟件設計 1.程序設計流程圖:

2.程序清單:

程序采用C語言編譯,根據單片機的特性,我盡量不使用浮點數。

#include<reg51.h>

sbit K0=P2^4;//定義開關K0的引腳編號

sbit K1=P2^5;//定義開關K1的引腳編號

sbit K2=P2^6;//定義開關K2的引腳編號

sbit K3=P2^7;//定義開關K3的引腳編號

sbit SD0=P0^0;//對應繼電器1的輸出口引腳

sbit SD1=P0^1;//對應繼電器2的輸出口引腳

sbit SD4=P0^2;//對應繼電器5的輸出口引腳

sbit SD2=P0^3;//對應繼電器3的輸出口引腳 sbit SD3=P0^4;//對應繼電器4的輸出口引腳

sbit SCL=P0^5;

sbit SDA=P0^6;

sbit E=P3^0;

sbit RW=P3^1;

sbit RS=P3^2;

unsigned char code

JP[]={0xc6,0xce,0xdd,0xbc,0xde,0xdd,0xa4,0xbc,0xdd,0xc3,0xd

e,0xb8,0xda,0x21,0x00};

unsigned char code EN[]="zaku,kohaku";

unsigned char code SRSTDY[]="V_offset=";

unsigned char code SRSTDL[]="I_offset=";

unsigned char code KHZY[]="A_ol=";

unsigned char code GMYZB[]="CCMR=";

void initial(void);

void clear(void);

void display(unsigned char pos,unsigned char word);

void set(unsigned char cmd);

void delay(unsigned char t);

void k0(void);

void k1(void);

void k2(void); void k3(void);

unsigned char c;

void main(void)

{

unsigned char i;

P2=0xff;

c=0x80;

initial();

i=0;

while(JP[i])

{

display(0x80+i,JP[i]);

i++;

}

i=0;

while(EN[i])

{

display(0xc0+i,EN[i]);

i++;

}

while(K0&K1&K2&K3);

clear(); L:if(K0&K1&K2&K3) //檢測是否有按鍵按下

{

delay(0xff);

delay(0xff);

if(!K0)

k0();

if(!K1)

k1();

if(!K2)

k2();

if(!K3)

k3();

}

goto L;

}

void initial() //液晶模塊初始化

{

clear();

set(0x38);

set(0x0c);

set(0x10);

clear(); }

void clear(void) //復位子程序

{

unsigned char t0;

t0=0x40;

P1=0x01;

RS=0;

RW=0;

E=0;

while(t0--)

delay(0xff);

E=1;

}

void display(unsigned char pos, unsigned char word) //

液晶顯示子程序

{

set(pos);

P1=word;

RS=1;

RW=0;

E=0; delay(16);

E=1;

}

void set(unsigned char cmd)

{

P1=cmd;

RS=0;

RW=0;

E=0;

delay(16);

E=1;

}

void delay(unsigned char t) //延時子程序

{

while(t--);

}

void k0(void) //測量失調電壓

{ unsigned char i;

delay(0xff);

SD0=1;

SD1=1; SD2=1;

SD3=1;

SD4=0;

while(SRSTDY[i])

{

display(0x80+i,SRSTDY[i]);

i++;

}

{int a,b,c;

c=100*a;

b=c/(51000+100);

display (0xc0,b);}//在第二行顯示輸入失調電壓

}

void k1(void) //測量失調電流

{ unsigned char i;

delay(0xff);

while(SRSTDL[i])

{ display(0x80+i,SRSTDL[i]);

i++;

}

SD0=1;

SD1=1;

SD2=0;

SD3=0;

SD4=0;

delay(0xffff);

SD0=1;

SD1=1;

SD2=0;

SD3=0;

SD4=1;

{int a,b,c,d,e;

d=100*a;

e=100*b;

c=(d-e)/(51000+100);

display (0xc0,c);}//在第二行顯示輸入失調電流的結果

} void k2(void) //測量開環增益

{ unsigned char i;

delay(0xff);

while(KHZY[i])

{

display(0x80+i,KHZY[i]);

i++;

}

SD0=0;

SD1=1;

SD2=1;

SD3=1;

SD4=0;

{int a,b,d,c;

c=a*100;

b=511*c/283;

//d=20*log 10 b;

display (0xc0,d);}//在第二行顯示開環增益的結果

} void k3(void) //測量***模抑制比

{ unsigned char i;

delay(0xff);

while(GMYZB[i])

{

display(0x80+i,GMYZB[i]);

i++;

}

SD0=1;

SD1=0;

SD2=1;

SD3=1;

SD4=0;

{int a,b,c;

c=1000*a;

b=(51000+100)*c/283000;

display (0xc0,b);}//在第二行顯示***模抑制比 十.系統調試 根據方案要求,系統調試分三大過程,硬件調試、軟件調試、軟

件和硬件聯調。 1. 硬件調試:

由於電路的各個模塊都集成於壹塊板上,為方便電路中各

模塊的調試,我采用焊壹個模塊調壹個模塊的方法,以達到各個

模塊調節的目的。

2. 軟件調試

本系統的軟件系統采用C語言編寫,調試也是分模塊調試。

3. 軟硬聯調

硬件和軟件分別調試成功後再用系統的程序測試,調試。

十壹.設計總結 通過本次課程設計,讓我深入了解了AT89S52的內部結構和運行

原理以及集成運放的性能參數指標。更讓我明白了要靈活運用我們所

學的知識去發現問題、分析問題和解決問題。這次的設計從硬件設計

到軟件設計以及相應的調試都花費了不少心思,也碰到了不少問題,

但都解決了,積累了寶貴的經驗,現總結如下:

1. 我做板的經驗少,在排列元件的時候沒有註意到整潔

美觀的問題,排得比較辛苦,只有多練才能做地更好。

2. 設計電路要考慮實際中的問題,比如繼電器等元件的

封裝都要自己做。

3. 在PCB板放置元件,要考慮元件間的幹擾問題,還有布

線寬度,電源線加粗,地線覆銅,管腳和焊盤要足夠

大。 4. 制板要讓板的布線清晰,打洞要準,總之做板要工整。

5. 編程盡量要使用AT89S52芯片的硬件設備。

  • 上一篇:求壹個可以改變exe文件對話框的軟件。
  • 下一篇:天秤男在戀愛中最吃哪壹套? 色誘可以嗎? ?
  • copyright 2024編程學習大全網