ImageVerifierCode 换一换
格式:PPT , 页数:59 ,大小:798KB ,
文档编号:8216364      下载积分:15 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-8216364.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(momomo)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(《电子工程师项目教学与训练》课件第7章.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

《电子工程师项目教学与训练》课件第7章.ppt

1、第第7 7章章 数控直流稳压电源设计数控直流稳压电源设计 7.1 引言引言 7.2 数控直流稳压电源设计任务书数控直流稳压电源设计任务书7.3 数控直流稳压电源设计方案数控直流稳压电源设计方案7.4 数控直流稳压电源硬件电路设计数控直流稳压电源硬件电路设计 7.5 程序设计原理程序设计原理 7.6 程序清单程序清单 7.1 引引 言言线性直流稳压电源具有结构简单、纹波小、稳压效果好等突出优点,其在要求纹波干扰较低的应用场合中开关电源是难以替代的。随着科技的发展,新一代的数控直流稳压电源具有显示更直观、操作更方便、稳压效果更好等优点,成为线性直流稳压电源应用和发展的趋势。7.2 数控直流稳压电源

2、设计任务书数控直流稳压电源设计任务书1设计任务设计任务设计制作单路的数控直流稳压电源,输出电压范围为012 V,输出电流范围为01 A。该数控直流稳压电源采用数显方式来显示电压和电流值,能够通过按键来设定直流稳压电源的电压,当电源输出电流超过最大可提供的电流时能够进行保护,关断电源输出并发出报警信号。2设计要求设计要求1)功能要求(1)通过“+”、“-”键步进调整输出电压,可调范围为0+12 V,步进幅度为0.5 V。(2)通过4位LED显示输出电压和电流值,显示精度分别为0.1 V和0.01 A。通过“F1”键实现电压/电流显示切换,开机默认显示电压,按“F1”键转换为显示电流,再按“F1”

3、键转换为显示电压。4位LED末位为显示单位,电流显示“”,电压显示“”。(3)具有过流保护与报警功能。2)技术指标(1)交流输入电压范围:220 V10%。(2)输出电压范围:0+12 V。(3)输出电流范围:01 A。(4)输出纹波电压:10 mV(输出电压为10 V,输出电流为500 mA时测得)。(5)过流保护动作电流:1.1 A。7.3 数控直流稳压电源设计方案数控直流稳压电源设计方案线性直流稳压电源通常由降压变压器、整流滤波电路、电压调整电路、采样电路、控制电路及辅助电源等部分组成。线性直流稳压电源稳压的基本原理是负反馈控制,即通过控制电路对输出电压信号进行采样,采样信号与给定信号进

4、行比较,如果输出电压高于设定值,则比较产生的信号作用于电压调整电路使输出电压减小;相反,如果输出信号低于设定值,则比较后产生的控制信号作用于调压电路使输出电压增大。当电路工作后,负载本身的变化及输入电源的变化都可能引起输出电压的波动,而稳压电路就是不断采样并不断调整从而控制输出电压与设定值相等。线性直流稳压电源的一般结构如图7-1所示。图7-1 线性直流稳压电源的结构框图 在传统的线性直流稳压电源中,控制电路是直接用硬件电路来实现的,这样的电路结构简单,但灵活性较差;与之相配套的电压电流指示通常采用模拟的指针式表头来实现,读数不方便;电压的调整直接通过电位器来实现,而电位器的接触故障常常造成电

5、压的突跳甚至电源故障等问题,由于传统直流稳压电源的这些不足影响到其应用,而采用数字控制技术可以较好地改善传统稳压电源存在的不足,提高线性稳压电源的性能,因此内嵌有数字控制器的稳压电源得到越来越多的应用。图7-2是此次设计所采用的数控直流稳压电源结构框图。从图可以看出,该电路的主要组成部分包括:变压器、整流滤波电路、微控制器(MCU)、采样电路、A/D及D/A转换电路、键盘接口电路、LED显示接口电路、报警和保护电路及辅助电源等。在这一系统中,稳压电源的输出设定是通过键盘接口来实现的。稳压器的输出电压通过电压采样电路进行采样,并通过信号的调理由A/D转换器转换为数字信号,再送给微处理器进行处理。

6、在构成数字闭环控制的情况下该电压采样信号与通过键盘设定的给定值进行比较,如果采样值小于给定值,则通过微处理器给出增大的数字控制信号,该信号经D/A转换器转换成控制信号加到电压调整电路使输出电压上升;相反,如果反馈电压大于给定值,则微控制器输出的数字量减小并通过D/A转换使输出电压减小,从而达到电压调整和稳压的目的。采样得到的电压可以直接通过LED显示接口以数字量的形式显示,读数直观清楚。该数控直流稳压电源还可以通过检流电路检测稳压器带载后的负载电流,并通过LED电路可以显示检测到的电流值。报警和电流保护电路可以保证当稳压器输出电流超出稳压器可提供的最大电流时及时关断电源输出,从而避免过流发生造

7、成的破坏,同时发出报警信号提示用户排除过流故障。不管是传统的线性稳压电源还是数控直流稳压电源如果要实现从0 V起调,则都必须设置辅助电源电路,通过该辅助电源电路可以有效地解决稳压源输出存在死区的问题。在数控稳压源中辅助电源还要为数字部分的电路提供电源。图7-2 数控直流稳压电源的结构框图 在本系统的设计中,根据设计的要求选用了单片机作为微处理器组成控制系统,采用8位的A/D及D/A作为模/数和数/模转换的基本器件。7.4 数控直流稳压电源硬件电路设计数控直流稳压电源硬件电路设计7.4.1 单片机系统及人机交互电路设计单片机系统及人机交互电路设计此次设计中采用了AT89S52单片机作为基本的控制

8、器,由其组成的单片机基本系统如图7-3所示。在该系统中单片机的所有I/O口都作为基本I/O口使用,总线功能未使用。单片机I/O口的安排与使用情况为:P0口作为一般的I/O口使用,用来连接A/D和D/A的数据端口,由于P0口结构原因不能直接作为一般I/O口使用,必须在其引脚外部加上拉电阻,图中,排阻ZP1即为P0口的上拉电阻;键盘接口被连接到P1口的高4位,这样就为系统提供了4个小按键,用于设定输出电压的大小;J6用于连接外接的键盘,键盘的工作方式采用中断键盘,即当有键按下时通过U10 74LS21触发中断,进而单片机进行中断响应和键盘处理,这样的结构提高了系统键盘处理的实时性,单片机的软件开销

9、较小;J5用于连接 LED显示器,为了节省I/O接口资源,这里采用了串行口扩展的方式来实现LED显示,这样的显示方式不但可以节省I/O口资源,而且还可以实现较高质量的静态显示;单片机其他I/O口资源的使用会在后面结合具体的接口进行介绍。图7-4是系统的键盘接口电路。图7-5是通过串行口实现的4位LED显示器接口电路。图中,4片74LS164通过级联的方式进行连接,每一片74LS164驱动一个共阴极型的数码管,单片机需要显示时通过串行口向4片74LS164发送显示代码即可实现。当单片机向显示接口发送显示代码时,可以采用单片机的同步串行口模式来实现,也可以直接控制单片机的I/O口构建模拟串口来实现

10、数据的传送。图7-3 单片机基本系统图 图7-4 键盘接口电路 图7-5 串行显示电路这里键盘和显示部分为了便于安装都是独立制板的,再通过接口插接到主板,以实现与主控制板的链接。7.4.2 A/D及及D/A转换接口电路设计转换接口电路设计1A/D转换接口电路转换接口电路在该系统中A/D转换主要实现两个功能:其一是检测输出的电压,即把采样后的电压信号数字化,数字化的电压信号可用于显示和控制;其二是把稳压电源输出的负载电流进行数字化,数字化的电流可用于显示及过流保护。在进行A/D转换之前,电压和电流的采样信号都已经调理过,范围不超过A/D转换器的参考电压。图7-6是A/D转换的接口电路图。图7-6

11、 A/D转换接口电路从图中可以看出,此处选用的A/D转换器为ADC0809,该A/D转换器逐次逼近式的8位8通道A/D转换器,是教科书上经常提到的A/D转换器,也是大家都熟悉的芯片,这里选用该芯片来实现A/D接口并不是出于方案的先进性或制造的成本等因素考虑,而仅仅是选这样一种大家较熟悉的器件解决问题。图中ADC0809的通道0和通道1分别用于被转换的输出电压信号和负载电流信号的输入,其中UOAD为稳压电源的输出电压信号经采样和放大后送A/D转换器的信号,而IOAD为负载电流的采样信号。A/D转换器的参考电源通过4.7 V的稳压管产生,也就是说该A/D转换器的参考电源为4.7 V。ADC0809

12、工作时必须外加时钟信号,这里预设了两种时钟信号的产生模式,其一是利用AT89S52单片机内部的定时/计数器2时钟产生模式来产生所需的时钟信号,其二是利用单片机内的定时/计数器控制单片机的I/O口线产生所需的时钟信号。在该系统中,A/D转换器与单片机之间的接口采用I/O方式来实现,即通过单片机的I/O口线直接控制ADC0809的引脚,进行通道的选择、A/D转换的启动及转换结果的读取。当ADC0809一次转换结束后EOC信号变高电平,该信号经三极管T3反相后变低用于触发单片机的中断,在单片机的中断服务程序中单片机读取转换结果。通过中断方式来读取结果可以减小CPU的软件开销,有利于提高效率。2D/A

13、转换接口电路转换接口电路图7-7是的D/A转换接口电路图,这里采用了电流型D/A转换器DAC0832,通过该D/A转换器来产生输出电压的给定值。单片机与D/A转换器之间的接口仍然采用直接I/O方式来实现,单片机通过P0口送出待转换的8位数据,并通过信号把该数据锁存到DAC0832的内部寄存器中进行转换。DAC0832转换的参考电压通过稳压二极管产生,DAC0832外接运算放大器将电流信号转换为相应的电压信号,由于参考电压为正电压信号,因此转换后的电压信号为负值。设DAC0832转换的数字量为d,参考电压为uref,则运放输出的电压信号duu255refo。图7-7 D/A转换接口电路7.4.3

14、 模拟部分电路设计模拟部分电路设计1辅助电源电路辅助电源电路在该电路中,由于稳压电源的输出要求在012 V之间可调,为了能使电压从0 V起调,就必须设置辅助电源以消除电压调整电路的死区。图7-8是该稳压电源模拟部分的电路图,从图中可以看出,辅助电源部分电路主要提供3个工作电压,包括12 V和+5 V。其中12 V的电压主要为运算放大器电路供电,由+12 V产生的+5 V电压为数字部分电路的工作供电。J1是辅助电源部分的变压器接口,通过该接口把前端带中心抽头的变压器的输出引入,经整流滤波再由7812和7912产生12 V的电压信号,+12 V信号经7805变换为+5 V。图7-8 模拟部分电路

15、2电源主电路电源主电路图7-8中,J2为电源主电路的变压器输入端,J3为稳压电源的输出端。经J2输入的交流电压信号经过D5D8组成的桥式整流滤波电路后变换成一直流电压信号,T1管为电压调整管,这里选用了达林顿管TIP122,调整管后由R4、R5及RP1组成的电路即为输出电压采样电路,整流滤波后的直流电压信号经调整管调整后就变成了所需的稳压输出。调整管的作用就是根据采样信号调整自身所承担的电压从而使输出电压保持稳定。J4用于连接发光二极管用来指示主电路是否有电。输出电压采样信号从RP1的中心抽头出引出,该采样信号引入到控制电路之后主要用于两个目的:其一是实现稳压控制;其二是送A/D转换器进行转换

16、,转换结果送给单片机进行处理。调整管的ADJ端通过D9接控制电路来实现电压的调整。电阻R3为负载电流采样电阻,该采样主要用于负载电流的测量和过流保护。这里要特别强调的一点是:辅助电源的地信号是和稳压电源输出的电源“+”端相连的,而不是共地的,这一点非常重要。3稳压控制电路稳压控制电路稳压控制电路主要由运算放大器U4A及其外围电路组成。U4A的反相输入端接来自于D/A的电压给定信号,其同相输入端接稳压输出采样信号。由于辅助电源的地和稳压电源的“+”相连接,因此稳压电源的采样信号为一负电压,稳压电源的输出幅值越高,采样得到的负相电压幅值越高。从D/A转换器输出的电压给定信号也为一负值电压。稳压控制

17、电路工作的基本原理简述如下:当稳压电路输出的电压值高于设定值时,采样得到的电压值低于给定值,即加在CONTROL端的电压,此时由U4A组成的积分器由于反相输入端的电压高于同相输入端的电压,积分器输出电压减小,这样经R2和D9控制达林顿管的导通程度减弱,调整管分担电压增大,输出电压减小;反之,当稳压电路输出的电压值低于设定值时,采样得到的电压值高于给定值,此时由U4A组成的积分器由于反相输入端的电压低于同相输入端的电压,积分器的输出电压增大,这样经R2和D9控制达林顿管的导通程度增强,调整管分担电压减小,输出电压增大。该稳压电路工作后就是靠不断地对输出电压进行动态的调整从而达到稳定输出电压的目的

18、的。输出电压采样信号除用于稳压之外还被用来提供给D/A转换,供单片机使用。由U5A和U5B及其外围电路组成的电压变换电路对采样电压进行变换,先是进行同相电压跟随,在进行反相跟随使电压采样信号变换为对地为正极性的电压信号,该信号由A/D转换器转换后即可得到输出电压的数字量幅值。由稳压电路的基本原理可以看出:该电路中单片机通过D/A送出给定信号后,稳压是通过硬件电路的负反馈控制来实现的,单片机并不在负反馈控制环内,它的作用就是产生给定信号。4电流采样和过流保护电路电流采样和过流保护电路从图7-8可以看出,当负载电流流过检流电阻R3时,在R3上就形成了对地的电压信号,该信号代表电流的强弱,由U4B组

19、成的同相放大器对电流采样信号进行放大产生IOAD送A/D转换后,供单片机使用;其次IOAD还信号送由U4C组成的积分比较电路,实现过流保护功能,其原理为:当负载电流小于设定的动作电流时,U4C的同相输入端电压高于反相输入端电压,U4C输出为高电平,由于D10的存在U4C的输出不起作用;当负载电流超过设定的动作电流时,U4C的同相输入端的电压低于反相输入端的电压,U4C输出为低电平。由于D10导通将使调整管截止关断,此时输出电压将消减,负载电流下降,因此当电流下降到动作电流以下时,U4C的输出重新上升,这样D10重新关断,调整管重新导通,输出电流又上升。如果引起过流的负载条件没有消除,又会重新引

20、起调整管的关断和电流的下降,这样不断循环。也就是说,此时调整管的ADJ端不断地在高、低电平之间变化、振荡。当过流现象发生时电路还会通过蜂鸣器发出报警声,其原理是:当稳压电路正常工作时,通过计算可知U4A的输出端电压应在23 V之间,此时由TIP521、D12、T2及蜂鸣器等组成的电路因TIP521截止而不工作。当过流情况发生时调整管截止,非常低的输出电压信号经采样加在U4A的同相输入端使U4A的输出电压达到最大值,近似为电源电压+12 V,此时TIP521导通,蜂鸣器工作报警。由于过流发生时加在调整管ADJ端的电压信号是振荡的,因此报警电路蜂鸣器的工作也是间歇的,从而发出断续的蜂鸣声。一旦引发

21、报警的负载条件消失,报警信号也就自然消除了。7.5 程序设计原理程序设计原理该系统的程序设计主要实现键盘命令的输入、电压电流的显示、A/D转换及D/A转换等功能。系统上电后先进行初始化,在初始化程序中主要完成中断及定时器的初始化设置。该系统中键盘是通过中断方式驱动的,当有键按下时即触发INT1中断,在中端程序中进行按键的扫描和处理。A/D转换的时钟信号是通过定时器T2产生的,因此在中断初始化时把其设置为重载的外部时钟模式,为A/D转换器提供时钟信号。系统工作后,通过定时器T1来触发A/D转换,即使定时器T1工作在16位的中断定时模式下,每次定时器中断时启动一次新的A/D转换。当每次A/D转换结

22、束后,A/D转换器的输出信号OE可触发单片机的外中断INT0,在INT0的中断处理程序中读取当前的转换值。系统的主程序主要是实现输出电压或负载电流的循环显示。为了提高采样的精度,减小纹波的干扰,每次显示前对所采样的电压或电流值需进行平滑滤波处理,然后进行显示。7.6 程程 序序 清清 单单/*文件名:skdy.c功 能:数控直流稳压电源程序作 者:hadaqu时 间:2009-08-06*/#include#include#define uint unsigned int#define uchar unsigned char#define nop _nop_()#define dateport

23、 P0#define N 12/模拟串口sbit dat=P30;sbit clk=P31;/键盘定义sbit k1=P14;sbit k2=P15;sbit k3=P16;sbit k4=P17;/DAC0832sbit load=P26;/ADC0809sbit clk1=P25;sbit a0=P20;sbit a1=P21;sbit ale=P22;sbit start=P23;sbit oe=P24;uchar cnt=0;uchar key=0 x00;uchar ad_u10,ad_i10;uchar ad,ad1;uchar dis_u4,dis_i4;uchar vo=0;u

24、char step=1;uchar code tab=0 xfa,/*0*/0 x60,/*1*/0 xdc,/*2*/0 xf4,/*3*/0 x66,/*4*/0 xb6,/*5*/0 xbe,/*6*/0 xe0,/*7*/0 xfe,/*8*/0 xf6,/*9*/0 xee,/*A*/0 x7a/*U*/;/*zms 延时*/void delay(uint z)uint x,y;for(x=0;xz;x+)for(y=0;y220;y+);/*发送显示数据*/void send_byte(uchar date)uchar i;for(i=0;i=1;/*启动AD转换*/void ad

25、c0809(uchar channel)if(channel=0)a0=0;a1=0;if(channel=1)a0=1;a1=0;ale=0;ale=1;nop;nop;ale=0;start=0;start=1;nop;nop;start=0;/*启动DA转换*/void dac0832(uchar date)dateport=date;load=0;nop;load=1;/*u 算术平均滤波*/void uFiliter()uint sum=0;uchar i;for(i=0;i10;i+)sum+=ad_ui;ad=sum/10;/*电压测量值转换*/void cov_u()/Uo=D

26、*(12/240)/uint i;ad=ad/2;dis_u0=ad/100;ad=ad%100;dis_u1=ad/10;dis_u2=ad%10;/dis_u3=0 xa7;/*i 算术平均滤波*/void iFiliter()uint sum=0;uchar i;for(i=0;i10;i+)sum+=ad_ii;ad1=sum/10;/*I 进行标度变换*/void cov_i()/I=D*4.6/(255*11*0.33)*1000=D*5(I 扩大1000倍)uint k;k=ad1/2;dis_i0=k/100;k%=100;dis_i1=k/10;k%=10;dis_i2=k;

27、dis_i3=0 xee;/*显示函数 U*/void disp_u()send_byte(0 x7a);send_byte(tabdis_u2);send_byte(tabdis_u1|0 x01);send_byte(tabdis_u0);/*显示函数 I*/void disp_i()send_byte(0 xee);send_byte(tabdis_i2);send_byte(tabdis_i1);send_byte(tabdis_i0|0 x01);/*读取AD转换结果*/void int0()interrupt 0 using 2 uchar i;EX0=0;oe=1;P0=0 xf

28、f;if(cnt=0)for(i=0;i9;i+)ad_ui=ad_ui+1;ad_u9=dateport;if(cnt=1)for(i=0;i9;i+)ad_ii=ad_ui+1;ad_i9=dateport;oe=0;EX0=1;/*键盘中断*/void int1()interrupt 2 using 3 uchar tep;EX1=0;delay(20);tep=P1;tep=tep;tep&=0 xf0;if(tep!=0)switch(tep)case 0 x10:key=0 x01;break;case 0 x20:key=0 x02;break;case 0 x40:key=0

29、x03;break;case 0 x80:key=0 x04;break;default:key=0 xff;break;while(tep!=0)tep=P1;tep=tep;tep&=0 xf0;if(key=0 x01)key=0 xff;if(vo1*step)vo-=1*step;else vo=0;dac0832(vo);if(key=0 x03)key=0 xff;cnt+;if(cnt1)cnt=0;if(key=0 x04)key=0 xff;step+;if(step10)step=1;EX1=1;/*启动AD转换*/void timer1()interrupt 3 usi

30、ng 1 uchar i=0;ET1=0;TH1=(65535-2000)/256;TL1=(65535-2000)%256;adc0809(cnt);ET1=1;/*timer1初始化*/void t1_init()uchar i;i=TMOD;i=i|0 x10;TMOD=i;TH1=(65535-2000)/256;TL1=(65535-2000)%256;ET1=1;TR1=1;/*timer2初始化*/void timer2_init()T2MOD=0 x02;/T2OE=1 TL2=(65535-12)%256;TH2=(65535-12)/256;RCAP2H=(65535-12

31、)/256;RCAP2L=(65535-12)%256;C_T2=0;TR2=1;/*外中断0初始化*/void int0_init()EX0=1;IT0=1;/*外中断1初始化*/void int1_init()EX1=1;IT1=1;/*MCU 初始化*/void mcu_init()P1=0 xff;P0=0 xff;EA=1;int0_init();int1_init();t1_init();timer2_init();/*主函数*/void main()mcu_init();delay(1000);while(1)if(cnt=0)uFiliter();cov_u();disp_u();delay(500);if(cnt=1)iFiliter();cov_i();disp_i();delay(500);

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|