资源描述
金 华 职 业 技 术 学 院
J I N H U A P O L Y T E C H N I C
毕业教学环节成果
(20 届)
题 目 程控放大器设计与实现
学 院 信息学院
专 业 应用电子
班 级 134
学 号 54
姓 名 龚浩杰
指引教师 徐华丹
20 年 月 日
金华职业技术学院毕业教学成果
目 录
摘要…………………………………………………………………………………………1
英文摘要……………………………………………………………………………………1
引言 ………………………………………………………………………………………2
1 控制方案选取 …………………………………………………………………………3
2 硬件电路设计……………………………………………………………….
3 软件设计…………………………………………………………………..
4 硬件检测…………………………………………………………………….
5 软件检测…………………………………………………………………….
6 总结………………………………………………………………………..
参照文献 …………………………………………………………………………………6
附件1. 程序清单……………………………………………………………………………7
附件2.硬件电路图………………………………………………………………………7
附件3.………………………(按实际附件内容罗列)………………………………**
程控放大器设计与实现
信息工程学院应用电子技术专业 龚浩杰
摘 要
本文简介了一种可通过程序变化增益放大器。它与ADC相配合,可以自动适应大范畴变化模仿信号电平。系统以89S52单片机作微解决器,采用CD4051芯片担任增益切换开关,通过软件控制开关闭合或断开来达到变化电路增益。
文章一方面对系统方案进行论证,然后对硬件电路和软件设计进行了阐明,最后重点阐述了系统调试过程,并且对调试过程中遇到问题以及解决方案进行了详细阐明。该系统设计达到了预期规定,实现了最大放大60db目。
核心词
程控放大器;运算器放大器;单片机;增益
The Design and Realization of Program-Controll Amplifier
Abstract
This article introduces a amplifier which changes the gain through the software. It coordinates with ADC and adapts the simulated signal level with wide range change automatically. The system uses the 89s52 SCM as the core. d the CD4051 chip composes the gain switch. The gain of the circuit is changed by software which can control switch closed or disconnect.
The article first demonstrates the system plan,then introduces the hardware and the software,finally explains the debugging process of the system with emphasis. It also especially analogizes the problem in the debugging process and the resolutions. This system design has achieved anticipative request and realized enlarged 60db most greatly the goal.
Key words
Program-controlled amplifier;operational Amplifier;SCM;gain
引言
在计算机数控系统中,模仿信号在送入计算机进行解决前,必要进行量化,即进行A/D 转换[ 1 ]。进行A/D 转换之前,必要考虑A/D 转换器辨别率和模仿输入电压量程这两个问题。
在某些特殊应用中,咱们常但愿输入信号幅值接近A/D 输入电压量程上限。工程上常采用变化放大器增益办法对幅值大小不一信号进行放大。在计算机数控系统中,为实现不同幅度信号放大,往往不但愿、甚至也不也许运用手动办法来实现增益变换。运用程控放大器可以较好地解决上述问题。程控放大器是依照使用规定由程序控制变化增益放大器,具备控制以便,线性度高,稳定可靠等长处[ 2 ]。使用程控放大器变化模仿输入信号增益,并配合A/D使用,可容许输入模仿信号在较大范畴内动态变化,达到了提高A/D 输入电压量程目,也相称于提高了A/D 辨别率。
随着数字化技术不断发展,各类测量仪表越来越趋于采用数字化和智能化方向发展[ 3 ]。这些设备普通由前端传感器、放大器电路和后端数据解决电路构成。其中后端数据解决电路普通采用高精度A/D和高速单片机,以保证仪表精度和速度规定。对于前端电路,由于传感器输出信号幅度和驱动能力均比较薄弱,必要加接高精度测量放大器以满足后端电路规定;另一方面,传感器在不同测试中输出信号幅度也许相差诸多,老式解决办法是对放大器增长手动档位调节以保证后端A/D采集输入端信号在一定幅度内,从而保证整个仪表测量精度。人工档位调节增长了仪表操作复杂性、影响了数据测量实时性,同步档位调节普通采用机械转扭增长了仪器不可靠性和接触电阻对测量精度影响。与否可由单片机自动选取量程档位呢?答案是必定,老式办法是采用可软件设立增益放大器。
1 控制方案选取
程控放大器基本电路和普通放大器电路类似,只是不同电路其反馈网络以及期中电阻阻值是不同,下面就变化增益几种惯用办法作某些探讨。
方案一 同相型程控放大器
同相型放大器基本电路如图所示。放大器增益G只取决于反馈电阻Rf 和电阻R1。
由于运算放大器输入阻抗很高,特别对于场效应输入型运算放大器,输入阻抗可达1012Ω ,因而开关导通电阻对放大器增益影响可以忽视不计[ 4 ]。在图2.1中,运用运算放大器高开环增益特性和负反馈,开关导通电阻对增益影响基本上得以消除。该类电路长处是开关导通电阻对电路增益影响小,因而特别合用于采用模仿电子开关控制场合。电路局限性之处是放大器增益不能不大于1 ,因而不能对输入信号进行衰减,解决办法是在前级加入无源衰减网络。
方案二 反相型程控放大器
反相型程控放大器基本电路如图2.2所示。在图中只需变化Rf 或Ri 阻值就可以变化放大器增益。电路中,切换开关SW1~SWn 可以使用模仿电子开关或继电器,通过软件控制开关闭合或断开,用于选取不同输入电阻或反馈电阻来达到变化电路增益[ 5 ]。该类电路长处:放大器增益可不不大于1 ,也可不大于1 或等于1 ,因而,既可以对输入小信号进行放大,也可以对输入大信号进行衰减,因而电路动态适应范畴很大。但该办法缺陷也是显而易见:由于切换开关与输入电阻或反馈电阻串联,开关导通电阻将影响放大器增益,特别是在使用模仿电子开关时特别明显。解决办法是将放大器反馈电阻Rf 和输入电阻Ri 尽量取大某些,也可先测出开关导通电阻,再对电路中Rf~Rf n或Ri1~Ri n作恰当修正。此外,所示放大器输入阻抗不是固定,因而最佳加入隔离放大器以减少对前级信号源影响。
该图所示电路,采用集成化模仿开关担任增益切换开关,功耗小,体积小,可以由TTL或CMOS电平直接驱动,可进行放大和衰减。同样,模仿开关导通电阻影响放大倍数,模仿开关可以使用CMOS系列CD4066,CD4051~CD4053等等,也可以使用MAX75XX系列或MAX301~309,331~339,351~359系列模仿开关。当放大器输入信号正负均有时,模仿开关必要双电源供电。
方案三 DAC型程控放大器
DAC型程控放大器由DAC 和运算放大器构成,其原理是运用DAC乘法功能实现可变增益控制[ 6 ]。DAC内部重要由R-2R 电阻网络和模仿电子开关构成,例如DAC0832、AD7520 等电流输出型芯片。
此类程控放大器长处:由于DAC中R-2R电阻网络是采用精密光刻技术生产出来,电阻误差较小,温度系数也比普通金属膜电阻低得多,因而构成程控放大增益误差较小;此外,只要取适当输入电阻Ri或反馈电阻Rf,电路和增益可以不不大于1,也可不大于1,也可以等于1,甚至为0。
电路缺陷:由于DAC内某些布电容影响,电路频响不是太抱负,电路增益也不容易做得较大;此外电路信噪比也较差。此外,虽然市场上已有单片集成程控放大器芯片,如AD526、PGA204等产品,但它们价格昂贵,放大增益顾客无法自行变化。
总结以上3种,我选取反向型程控放大器
2 硬件电路设计
硬件电路框图
控制模块
控制模块重要由单片机构成,在P0口,接共阳数码管,P2.4~P2.7接晶体管,控制数码管位选端。。键盘扫描接在P3口,复位电路采用按键复位
Ad89s52:
AT89S52是一种低功耗、高性能CMOS8位微控制器,具备8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash容许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有机灵8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效解决方案。 AT89S52具备如下原则功能: 8k字节Flash,256字节RAM,32位I/O口线,看门狗定期器,2个数据指针,三个16位定期器/计数器,一种6向量2级中断构造,全双工串行口,片内晶振及时钟电路。此外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选取节电模式。空闲模式下,CPU停止工作,容许RAM、定期器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一种中断或硬件复位为止。
放大模块:
3脚为同相输入端,2脚为反相输入端。8、4脚分别接正负15V电源。
CD4051芯片:
CD4051/CC4051是单8通道数字控制模仿电子开关,有三个二进控制输入端A、B、C和INH输入,具备低导通阻抗和很低截止漏电流。幅值为4.5~20V数字信号可控制峰值至20V模仿信号。
管脚图
内部构造图
真值表
3 软件设计
最先想到是模仿计算器程序设计。一共四个“8”,最后两个固定显示“db”字母字样。对于前两位,刚开始决定先由键盘输入一位数,送寄存器储存。再将其往迈进一位,然后输入第二位数字。先键盘扫描,得出第一种键值,并且送显示。进行第二次扫描,得出键值,再送显示。
分析:这种办法较为先进,但由于我所学懂得局限性,一时无法解决进位问题,因此只能作罢。
持续按两次键,直接将“十”位数显示在dp1处,“个”位显示在dp2处。先判断是第几次按键。如果是已经是第三次按键,则计数器清零,复位。第四次按重新计数。如果只是第一次按键,则送至“十”位,并保存;当第二次按下时,显示个位。这期间给程序一定延时。但不懂得什么因素,在实际应用中,浮现了这样问题:按第一次,“十、个”位都同步显示。第二个键值输入,却覆盖第一种键值,并且两位数显示同一数字。同步浮现问题尚有,复位不能成功。每次复位后(重新上电后),数码管显示上次输入键值。
分析有两种也许:1,芯片有了记忆功能,将断电前状态存储下来了。2,一上电,芯片就执行了上次程序。后一种解释更为合理,这阐明问题出在显示上。初始化中显示没有清零。
更为精简办法。将第二个数码管(dp2)直接显示“0”。这样,只要解决一种“日”字就可以。这一思路,是三个中最简朴。虽然如此,但我觉得程序就应当简朴,实用,完毕所需功能即可。因此,我决定采用第三种办法。
程序流程图
程序流程图如图4.1所示。一方面对程序进行初始,数码管显示默以为0。一方面进行键扫描,判断与否有键按下。如果没有键按下,则返回重新键盘扫描。如果有键按下,则送显示电路,由数码管显示。同步,单片机控制模仿开关,依照输入键值,选通运放芯片,实现系统功能。最后程序结束,系统终结工作。
数码管显示
4 硬件检测
(1)检测电源线,地线。用万用表检测电路板有无短路,断路现象。经检测,线路导通。
(2)检测极性电容正负极有无接反,电阻大小有无接对。
(3)检测单片机。上电后,先用万用表测试各引脚电压。其中40脚为4.93V,晶振两脚分别为2.39V和2.12V。基次,写入一小按键扫描程序,检测按键和数码管显示。检测成果,两者正常。再次,检测复位键。按下后,数码管能归零,阐明复位成功。
(4)检测放大电路。接入四种正负电源。
(6)阻容耦合电路
阻容耦合电路
为阻容耦合电路。耦合电路重要有三个作用:1是让信号无损耗地通过,加到后一级电路中;2是隔离两级放大器之间直流;3是在前级和后级放大器之间进行阻抗匹配。
当放大器输入阻抗比较大时,可以恰当减小耦合电容容量。减少耦合电容C1容量,对减少耦合电容漏电有利,由于电容容量愈大,其漏电电流就大,放大器电路噪声就大(耦合电容漏电流会产生电路噪声),特别是输入级放大器输入端耦合电容要尽量地小[ 10 ]。
耦合电容对低频信号容抗比中频和高频信号容抗要大,因此阻容对低频信号是不利。当耦合电容容量不够大时,低频信号一方面受到衰减,阐明阻容耦合低频特性不好。
在不同工作频率放大器中,由于放大器所放大信号频率不同,对耦合电容容量大小规定也不同。为了减少电容漏电,愈是处在前级耦合电容,其容量规定愈小[ 11 ]。
当耦合电路中元器件开路时,信号不能加到下一级电路中,使放大器无信号输出。当耦合电容漏电或击穿时,会影响先后两级放大器直流电路工作,从而影响交流电路工作,放大器输出信号将不正常。
5 软件检测
检测键盘扫描程序
检测CD4052控制程序
主程序测试
前面两个子程序较容易写,写主程序时有一定困难。通过不断测试,修改,再测试,再修改,直到最后成功。
在主程序中,一共调用三个子程序,它们分别是键盘扫描keys,数码管显示disp,运放放大某些fangda,三个子程序用lcall调用。
系统联调
简朴硬件测试,软件修改之后,将硬件和软件结合起来进行系统联调。
数据记录
增益计算公式
使用阐明
程控放大器经测试成功后,便可投入使用。
电路板有一五线连接器,为电源插槽。从左至右分别为GND、-15V、+15V,每条电源线已接有连接器,可以便地接上实验板电源。电源插槽右边有一六脚插槽,为程序下载器。最左为GND,最右边为+15V电源线路。在接入电源和插入下载线时,应注意是哪个插槽以及插槽方向。否则,如果正负电源接反,易烧毁电阻;如果将电源线接至下载器,易烧坏单片机芯片。电路板上尚有两个用6线排线相连6脚插槽,用来连通单片机和CD4051。
电路板左上脚有一两脚输入信号端口,引出一条输入信号线,可直接接函数信号发生器。下载器左边有一两脚输出信号端口,下端为GND。
写入程序后,接上电源,连上函数信号发生器和示波器。调节函数信号发生器,依照实际需要,按键选取放大倍数,即可得到需要放大信号。
6 总结
依照题目规定,本设计基本上完毕了基本某些设计规定。在放大器模块中,做到了电压增益为60DB,增益10DB可调。但本设计中,也存在某些问题如:由于PCB画线路时自己经验局限性,元件布局不太适当,导致电路板产生一定干扰,影响信号,这是我要进一步改进和不断学习。
在实际调试过程中,经常会烧坏芯片,电阻。重要是接入电源时正负极接反。我电源连接线没有解决好。
在实际调试,分析电路过程中,发现自己有诸多知识没有掌握或者基本上遗忘了。因此,在做毕业设计过程中,查找课本一种知识点一种知识点去学习,补充。例如,运放负反馈放大,深度负反馈下自激振荡现象,传播门工作原理以及汇编语言。
此前学习中,不太喜欢使用,也不太会用函数信号发生器和示波器。但这次毕业设计,自己必要用到这两样。本着踏踏实实态度,重新学习样使用工具,受益匪浅。
参照文献
[1] 王炜.程控放大器及其典型应用实例[J].中华人民共和国科学院长春光学精密机械研究所.1998:89 ~94.
[2] 周春光.程控放大器在数据采集系统中应用[J].电子技术应用.1987,3:77~80.
[3] 傅越千.程控放大器设计与应用[J].宁波高等专科学校学报,,4:
37 ~40.
[4] 房慧龙.程控放大器实现办法{J}.常州信息职业技术学院电子信息工程系.,8:52~56.
[5] 邵雄凯,张文灿,黄文斌.一种程控放大器分析与实现[J].湖北工学院学报,1997,4:45~51.
[6] 吴建平,李建强.数字程控放大器设计与应用[J].成都理工学院报,,6:665~668.
[7] 余锡存,曹国华编著.单片机原理及接口技术[M].西安:西安电子科技大学出版社,,7:27~28.
[8] 彭楚武主编.微机原理与接口技术[M].长沙:湖南大学出版社,,7: 200~204.
[9] 童诗白,华成英主编.模仿电子技术基本[M].北京:高等教诲出版社,:310 ~316.
[10] 胡斌,蔡月红.放大器电路识图与故障分析轻松入门[M].北京:人民邮电出版社,.9:146~149.
[11] 肖景和.集成运算放大器应用精粹[M].北京:人民邮电出版社,:109.
[12] 蔡锦福.运算放大器原理与应用[M].北京:科学出版社,:210 ~214.
[13] Graeme,J.G.Optimizing Op Amp Performance,McGraw-Hill,New York,1997.
[14] Rosenstark,S.Feedback Amplifier Principles.Macmillan New York,1986.
[15] Roberge.J.K.Operational Amplifiers. Theory and Practice.John Wiley & Sons,New York,1975
附件1.程序清单
#include<REG52.H>
sbit KEY=P3^2;
sbit adda=P3^7;
sbit addb=P3^6;
sbit addc=P3^5;
unsigned char code duanma[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
// 显示段码值
void delay_nms(unsigned int i)
{
unsigned int a;
while(i--)for(a=0;a<80;a++);
}
void main()
{
unsigned char b=0;
P2=0;
while(1)
{
if(KEY==0)
{
delay_nms(10);
while(KEY==0);
b++;
if(b>=7)b=0;
}
if(b==0)//0db=1倍
{
adda=0;addb=0;addc=0;
P2=~0x10;
P0=duanma[0];
delay_nms(4);
}
if(b==1)//10db=3.16倍
{
adda=0;addb=0;addc=1;
P2=~0x20;
P0=duanma[1];
delay_nms(4);
P2=~0x10;
P0=duanma[0];
delay_nms(4);
}
if(b==2)//20db=10倍
{
adda=0;addb=1;addc=0;
P2=~0x20;
P0=duanma[2];
delay_nms(4);
P2=~0x10;
P0=duanma[0];
delay_nms(4);
}
if(b==3)//30db=31.6倍
{
adda=0;addb=1;addc=1;
P2=~0x20;
P0=duanma[3];
delay_nms(4);
P2=~0x10;
P0=duanma[0];
delay_nms(4);
}
if(b==4)//40db=100倍
{
adda=1;addb=0;addc=0;
P2=~0x20;
P0=duanma[4];
delay_nms(4);
P2=~0x10;
P0=duanma[0];
delay_nms(4);
}
if(b==5)//50db=316.2倍
{
adda=1;addb=0;addc=1;
P2=~0x20;
P0=duanma[5];
delay_nms(4);
P2=~0x10;
P0=duanma[0];
delay_nms(4);
}
if(b==6)//60db=1000倍
{
adda=1;addb=1;addc=0;
P2=~0x20;
P0=duanma[6];
delay_nms(4);
P2=~0x10;
P0=duanma[0];
delay_nms(4);
}
}
}
附件2.硬件电路图分办法
PCB图
展开阅读全文