运算放大器开环电压增益
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运算放大器开环电压增益
开环电压增益AVOL的定义与量测方法
1. AVOL的定义:
在不具负反馈情况下(开环路状况下),运算放大器的放大倍数称为开环增益,
简称A
VOL 。A
VOL
的理想值为无限大,一般约为数千倍至数万倍的间,其表示法有使
用dB 及V/mV等,例如μA741C及LM318的AVOL典型值均为200V/mV或106dB。在运算放大器中为使计算简便而有虚接地(Virtual Ground) 的假设,在此假设A
VOL
必须越大越容易满足此需接地的条件。
2. AVOL的量测方法:
AVOL 的量测方法有很多种,介绍较易量测的方法如下:
如图1所示为一种AV
OL
的测试方式,此图的动作原理很类似图2的电路,除了R4对地的间加入一电压源VA外,并无差别。图中AUT(Amplifier Under Test)为待测放大器;BUF(Buffer)为缓冲放大器。如运算放大器输入偏置电流所述,
当VA为0V时,由于电路具有负反馈作用,此时的V
O1自动趋近于0V,而V
O2
就
等于待测运算放大器输入抵补电压的一千倍;同理,当VA为10V时,由于负反馈的作用,V
O1
亦自动的平衡于-10V(实际上由于运算放大器皆不可能达到理想
状态,故V
O1只能趋近于-0V)。VA等于0V时VO1趋近于 0V,VA等于10V时V
O1
则趋近于-0V,因此V
O1的输出约有10V的变化量,所以我们将此变化量以△V
O
代替的。VO1的输出有变化,在该放大器的输入端必也引起相对应的变化,我们将此变化量以△V
1
代替的。在图1中待测放大器本身不具有负反馈,因此求出
△
VO 与△
V1
的比值即为待测放大器的开环路电压增益(A
VOL
)。在量测的技术上,因
∆Vi很小,不容易准确测得,故利用缓冲放大器与R1、R2分压的关系,VO2的
相对应变化量∆V
O2为∆Vi的一千倍(实际上是1001倍)。因此,我们仅需将∆V
O2
测出就可以利用1式导出待测放大器AVOL的值。
(1)
在上述实验中,VA不一定要用10V代入,用VA为-10V代入亦可,只不过此时
V O1会趋近于正10V。同理VA亦可用±5V 代入,以求取A
VOL
;但VA不能用大于
电源电压的电压源代入,以免使待测放大器进入饱和区或毁损,A
VOL
是电源电压
的函数,以μA741C为例,电源电压为时A
VOL
约为2×105,但电源电压为±9V
时A
VOL
仅为1×105。
图1 AVOL的量测电路
1.#include
2.#include
3.#include "wave.h"
4.void da_out(void); //声明函数
5.sbit DIN=0x97; //P1.7位定义
6.sbit SCLK=0x96; //P1.6位定义
7.sbit DACS=0x95; //P1.5位定义
8.sbit SWF1 =0x94; //P1.4位定义
9.sbit SWF0 =0x93; //P1.3位定义
10.sbit WDI =0x92; //P1.2位定义
11.sbit FLAG = 0x90;
12.IUI word; //IUI即idata unsigned int,在wave.h中预定义
13.void main(void)
14.{
15. IUI i;
16. TMOD =0x01; //定时器0方式1;
17. TH0=0xff;TL0=0x00; //置定时器0常数;
18. TR0=1; //启动定时器0
19. ET0=1;EA=1; //开定时器中断及总中断
20. SWF0=1;SWF1=1; //设P1.3,P1.4为输入
21. WDI=1; //看门狗输入置高电平
22.while(1)
23. {
24.for(i=0;i<128;i++)
25. {
26. FLAG=1; //置标志,FLAG在定时器0中断程序中被清除
27. WDI=0;_nop_();WDI= 1;//看门狗复位
28.if(SWF1) word=512; //SWF1=1时,DA输出同一量,无正弦信号输出
29.else
30. {
31.if(SWF0) word=waveh[i];//取倍频数字量
32.else word=wavel[i]; //取基频数字量
33. }
34. word=word<<6; //10位数字量移至高位
35.while(FLAG); //等待,直至定时器中断程序中清FLA G
36. da_out(); //调用DA输出子程序
37. }
38. }
39.}
40.void timer0(void) interrupt 1 using 2
41.{
42. TH0=0xff;TL0=0x00;//重置定时器常数
43. FLAG=0;//清主程序中的等待标志
44.}
45.void da_out(void){
46. IUI i;
47. SCLK =0;_nop_();DACS=0; //准备传送数据
48.for(i=0;i<10;i++)
49. {
50. DIN= (bit)(word&Ox80); //取最高位送数据线
51. word = word << 1; //左移,准备下一位传送
52. SCLK =1;_nop_();SCLK =0; //一个CLK信号
53. }
54. DACS= 1;_nop_();SCLK=1; //传送结束
55.}
hhh
1.typedef idata unsigned int IUI;
2.int code wavel[]=
3.{
4. 512,524,537,550,563,698,707,715,723,731,775,775,774,772,770,698,689,679,
669,658,
5. 512,499,486,473,460,325,316,308,300,292,248,248,249,251,253,325,334,344,
354,365,
6.};
7.int code waveh[]=
8.{
9. 512,562,611,660,707,753,796,836,874,907,937,963,985,1001,1014,1021,