- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
压控恒流源2
数控恒流源设计??
摘要:?设计利用集成运放、场效应管对电流放大与单片机的自动控制来实现数控直流电流源。系统有控制模块与恒流源模块组成。控制模块使用AT89S52结合按键与四位数码管显示,实现对恒流源的数控和预设值的显示。恒流源模块采用OP07与IRF640组成的反馈放大电路实现对电流的放大。控制到恒流源的信号转换采用DAC0832来实现;实测显示模块有ADC0809组成的显示电路来显示。并使用自制电源进行供电。
关键词:?AT89S51,恒流源,ADC0809,DAC0832,OP07?
1硬件电路设计与分析
1.1
恒流源模块:
??恒流源分为流控式与压控式,由于压控式易于实现,电路实现相对简单;因此本模块使用了压控式恒流源。压控式恒流源可以有集成运放芯片与晶体复合管或场效应管来实现;但由于晶体复合管实现起来比较复杂,发热量相对MOS管相对较大,性能参数相对MOS管较差;因此本模块采用高精度集成运放芯片OP07与大功率场效应管IRF640相结合构成的恒流源。
??压控恒流源是系统的重要组成部分,它的功能用电压来控制电流的变化,由于系统对输出电流大小和精度的要求比较高,所以选好压控恒流源电路显得特别重要。
恒流源是采用了电流反馈的方式来稳定电流的,下图是个典型的正向电流源,利用运放虚短的概念,使R2上的电压保持与V一致,来获得一个I=V/R2的恒流源。
该恒流源电路由运算放大器、大功率场效应管Q1、采样电阻R3、负载电阻R4等组成。电路原理图如图所示 :
???????????????????????????????
?恒流源电路图
调整管采用大功率场效应管IRF640N?更易于实现电压线性控制电流,?满足最大电流和电压线性电流化。因为当场效应管工作于饱和区时,漏电流Id近似为电压Ugs控制的电流。即当Ud为常数时,满足:Id=f(Ugs),只要Ugs不变,Id就不变。 在此电路中,R3为取样电阻,阻值为10欧。运放采用OP07作为电压跟随器,场效应管Id=Is(栅极电流相对很小,可忽略不计)?所以Io=Is= Ui/R3。正因为Io=Ui/R3,电路输入电压Ui控制电流Io,即Io不随R4的变化而变化,从而实现压控恒流。? ??由于输出电压变化的范围U〈=10V,Iomax=200mA,可以得出负载电阻R3max=50欧。
1.2控制模块:
由于按键模块、数码管显示、D/A模块本就是控制模块的细化模块;因此在电路设计、分析中把这几个模块在一起分析。以AT89S52最小系统为核心,外加按键模块、数码管显示模块、以及D/A转换。D/A设计在使用芯片上采用8位DAC0832芯片,DAC0832输出的电流通过OP07运放放大为电压,再通过一个运放OP07将电压变为正电压,通过单片机控制输出电压大小,实现数模转换,来控制恒流源的输入电压,从而控制恒流源的输出电流,电路图如下:
?控制电路图
1.3显示模块:
由于在控制模块的电路分析中已经对液晶显示器进行了分析,并且在软件设计模块中也会有体现,这里不再多做介绍。使用ADC0809芯片将模拟信号转换为数字信号,经单片机采集后经数码管显示;测电流时,外串联一个电阻将电流信号转换为电压信号显示。其中ADC0809的模拟输入电压就是恒流源中采样电阻的电压,原理图如下:
??
2?软件设计模块
????恒流源的数字控制器采用ATMEL公司的AT89S52,因为在程序不需要涉及精准实时操作,所以使用C语言进行软件编写,这样可以大大提高程序编写时的效率。
程序设计上使用一个定时器作为系统实时时钟,周期性的进行数码管显示,按键扫描,AD转换和显示内用的切换。而主循环负责对按键进行处理。主程序流程图如图:
?图
5?软件流程图
?
程序:
#includeabsacc.h
#includereg51.h
#define DAC0832 XBYTE[0x7fff]
#define uchar unsigned char
#define uint??unsigned int
sbit START=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit dp=P1^7;
sbit s1=P3^4;
sbit s2=P3^5;
sbit P27=P2^7;
sbit P26=P2^6;
uchar data??led[4];
uint data??tvdata;
int temp=53;?????????????????//预设电压
uchar b;?
?
uchar code??tv[]={0xfe,0xfd,0xfb,0xf7};
uchar code??a[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
????
文档评论(0)