基于MUC的稳压数控设计_第1页
基于MUC的稳压数控设计_第2页
基于MUC的稳压数控设计_第3页
基于MUC的稳压数控设计_第4页
基于MUC的稳压数控设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要:设计并制作有一定输出电压调节范围和功能的数控直流稳压电源。利用C8051F020单片机作为整机的控制单元,通过改变输入数字量来改变输出电压值,从而使输出功率管的基极电压发生变化,间接地改变输出电压的大小。检测实际输出电压值的大小可通过单片机内部12位ADC进行模数转换,从而实时对电压进行采样,然后进行数据处理及显示。通过键盘来设置直流电源的输出电压,并可由数码管显示实际输出电压值和电压设定值。单片机系统还兼顾对恒压源进行实时监控,输出电压经过电流/电压转变后,通过A/D转换,实时把模拟量转化为数据量,经单片机分析处理, 通过数据形式的反馈环节,使电压更加稳定,构成稳定的压控电压源。关键字

2、:数控直流稳压,A/D转换,D/A转换,C8051F0201 设计任务与要求1.1设计任务设计并制作有一定输出电压调节范围和功能的数控直流稳压电源1.2 基本要求(1)输出直流电压调节范围612V,纹波小于20mV。(2)输出电流0500mA。(3)按键设定输出电压值,分辨率为0.1V。(4)用数码管显示稳压电源输出电压值,当输出电压为12.1V时,数码 管显示“12.1”。(5)实时采样并显示输出电流,显示分辨率为1mA。2 系统设计中方案比较与论证方案一:采用模拟的分立元件,利用纯硬件来实现功能,通过电源变压器、整流滤波电路以及稳压电路,实现稳压电源稳定输出±5 V、±

3、12 V、±15 V并能可调输出030 V电压,见图1所示。但由于模拟分立元件的分散性较大,各电阻电容之间的影响较大,因此所设计的指标不高、不符合设计要求、且使用的器件较多、连接复杂、灵活性差、功耗也大,同时焊点和线路较多,使成品的稳定性和精度受到影响。图1 方案一电路原理图方案二:此方案采用传统的串联型稳压电路,其原理图如图2所示。数控基准电压源的电压大小可以通过可逆计数器进行数据设置,计数器的内容对应于稳压电源的输出电压,同时该计数器值经过译码显示电路,显示出当前稳压电源的输出电压。计数器的输出送至D/A转换器,转换成相应的电压,此电压去控制稳压电源的输出,使稳压电源的输出以1V

4、的步进值增或减。数控基准电压源框图如图3所示图2串联型稳压电路原理图图3数控基准电压源框图方案三:此方案也采用传统的串联型稳压电路,但数控基准电压源采用C8051F020单片机作为整机的控制单元,通过改变输入数字量来改变输出电压值,从而使输出功率管的基极电压发生变化,间接地改变输出电压的大小。检测实际输出电压值的大小可通过单片机内部12位ADC进行模数转换,从而实时对电压进行采样,然后进行数据处理及显示,通过键盘来设置直流电源的输出电压,并可由数码管显示实际输出电压值和电压设定值。总结:方案一由于分立元件的分散性较大,各电阻电容之间的影响较大,稳定性和精度不高。方案二由于采用计数器实现,因此灵

5、活性不够。方案三可控性和灵活性均优于方案一和方案二,且单片机系统可对恒压源进行实时监控,输出电压经单片机分析处理, 通过数据形式的反馈环节,使电压更加稳定,因此采用方案三。3 系统总体设计滤波后的电压源作为稳压电路的输入,通过键盘由控制器为稳压电路提供基准电压然后输出稳定电压,同时控制器对输出电压电流进行采样并实时显示。其原理框图如图4所示。图4 数控直流稳压电压源原理框图4 系统硬件电路分析与设计4.1 系统硬件总体设计一个直流稳压电源通常是由电源变压器、整流电路、滤波电路和稳压电路四个部分构成,前三部分电路的作用及工作原理较为简单,在此不作赘述。稳压电路较常用的串联型线性稳压电路具有结构简

6、单、调节方便、输出电压稳定性强、纹波电压小等优点,其原理图如图5所示。输入电压为整流滤波电路的输出电压。稳压电路的输出电压为:(1)图5串联型稳压电路原理图取R1=100 k ,R2=10 k ,R3=10 k则 (2)4.2 单元电路设计 调整管部分串联型稳压电路参见图2,其中调整管是核心元件,它的安全工作是电路正常工作的保证,它的选用主要考虑其极限参数ICM,U(BR)CEO和PCM。调整管极限参数的确定,必须考虑到输入电压UI由于电网电压波动而产生的变化,以及输出电压的调节和负载电流的变化所产生的影响。由图可知,调整管的发射极电流IE等于采样电阻R1中电流和负载电流IL之和,即IE=IR

7、1+IL,调整管的管压降UCE等于输入电压UI与输出电压UO之差,即UCE=UI-UO。显然,当负载电流最大时,流过调整管发射极的电流最大,即IEmax=IR1+Ilmax。通常,R1电阻上电流可以忽略,且IEmaxICmax,所以调整管集电极最大电流为: ICmaxIEmax(3)当电网电压最高,即输入电压最高同时输出电压最低时,调整管承受的管压降最大,即 UCEmax=UImax-UOmin(4)当晶体管的集电极电流最大,且调整管承受的管压降最大时,调整管的功率最大,即 Pcmax= ICmax UCEmax(5)由以上几式即可确定调整管的极限参数。实际选用时,还要考虑留一定的余量。由以上

8、几式即可确定调整管的极限参数。实际选用时,还要考虑留一定的余量(1.1倍以上)。本设计可采用达林顿功率晶体管TIP122(NPN),其具体参数如图6所示。图6 晶体管TIP122参数图 过流保护部分如图7所示,当调整管输出电压不变时,负载电阻RL变小输出电流就变大,极限情形负载电阻短路。输出电流变大,电阻R上压降增大,使得Q2的ICE电流增大,从而流向调整管基极电流变少,从而限制了输出电流的增大。极限情形当UR超过VBE时,三极管Q2饱和导通,调整管无电流输出。图7 过流保护电路图Q2可选取9013三极管,取IEmax=550mA,Ube=0.7V,则R1.25 运放部分设计指标: 运放输出电

9、流: 运放输出电压: 运放电源电压: 必须大于运放的输出电压。结论:本设计可采用运放LM358 输出电流、电压采样部分输出电压:取样电压不能太大取R3=10 k输出电流:电流转换为电压取样电阻R功率R=0.1 ,500mA电流转换后电压为0.5V,C8051F020内部先放大再进行A/D转换5系统程序设计本次项目主要使用单片机内部资源中的AD采集与DA输出两大部分,并且利用周立功芯片来控制按键系统。 图8 程序总体流程图5.1 AD单元采集unsigned int AD0(void)AD0INT=0; /清除转化结束中断标志AMX0SL=0x00; /选择AIN0ADC0CF=0x00; /增

10、益1,电压采集AD0BUSY=1; /开始转换while(!AD0INT);return(ADC0H*256+ADC0L);unsigned int AD1(void)AD0INT=0; /清除转化结束中断标志AMX0SL=0x01; /选择AIN1ADC0CF=0x03; /增益8,采集输出电流AD0BUSY=1; /开始转换while(!AD0INT);return(ADC0H*256+ADC0L);C8051F020单片机分配了四个AD采集通道用于采集外部电压。本次项目使用AIN0、AIN1分别采集电压与电流(电流转换成电压)。由图5电压采集点为R3电压值,电流采集点为R5电压值(通过电

11、压转换成电流)。因R3电压范围1V2V,所以程序中AD0函数增益为1,不进行放大。因R5电压范围为0V0.05V;所以程序中AD1函数增益为8,可以保证单片机采集精度。5.2 DA单元输出因键入值为输出电压,而DAC0输出的是基准电压,由图5可以得到又有UOUT=(B*2.418)/4096;可以得到应输出的代码,这样可以自由输出想得到的DA输出电压值6系统测试6.1测试仪器(1)GOS-620示波器(2)F10A型数字合成函数信号发生器/计数器(3)VC9802A+数字万用表(4)LINIT UT803高精度万用表(5)LPS-305数控式线性直流稳压电源(6)磁盘电阻50/100W6.2数

12、控直流稳压电源指标测试1)输出电压范围在额定负载情况下,Ui=18V,稳压电源输出电压可调范围为+6.0V+12.0V。按键设定输出电压值,分辨率为0.1V。表1 输出电压范围测量与误差表Uiset(V)Uo(V)实测Uo(V)MCU设置与实测绝对误差实测与MCU绝对误差6.006.016.010.010.007.006.987.020.020.048.007.957.980.050.039.008.989.000.020.0210.009.9510.030.050.0811.0010.9610.980.040.0212.0011.9812.020.020.042)输出最大电流最大输出电流是指

13、稳压电源正常工作的情况下能输出的最大电流,为500mA。 3)纹波电压纹波电压是叠加在输出电压上的交流电压分量。用示波器观测其峰峰值。表2 纹波电压与输入电压关系表Uiset(V)Up-p(mV)6.00 4.0 7.00 3.5 8.00 4.0 9.00 5.0 10.00 4.5 11.00 5.0 12.00 5.0 要求直流电源的纹波电压VP-P10mV,实测数据满足实验要求。4)电压调整率当输出电流和环境温度保持不变时,只考虑由于输入电压改变DUi 所引起输出电压的变化量DUo与输出电压Uo的百分比,即(1)DUi=±10%,Ui1=16.2V,Ui2=19.8V。表3

14、电压调整率数据测试表Uiset(V)Uo1(V)MCUUo1(V)Uo2(V)MCUUo2(V)UoSv6.006.016.016.016.020.010.177.007.026.977.026.970.000.008.007.987.957.987.950.000.009.009.008.989.008.970.010.1110.0010.039.9510.039.950.000.0011.0010.9810.9610.9810.960.000.0012.00 12.02 11.98 12.02 11.97 0.01 0.08 要求电压调整率0.2%(输入电压变化范围10%10%下,空载到满

15、载)。由上表可知,满足实验要求。5)电流调整率当输入电压和环境温度保持不变时,改变输出电流所引起输出电压的变化量DUo与输出电压Uo的百分比,即(2)表4 电流调整率数据测试表Uiset(V)Uo3(V)MCUUo3(V)实测Uo3Si(%)6.006.016.01007.007.017.010.040.578.007.977.980.030.389.009.009.000.030.3310.0010.0210.020.050.511.0010.9810.980.020.1812.0012.0212.020.040.33要求电流调整率1%(最低输入电压下,满载)。由上表可知,满足实验要求。6)

16、过流保护功能动作电流为输出电压下降5%时,对应的输出电流值。表5 动作电流与输入电压关系表Uiset(V)I(mA)6.00561.59.00560.112.00562.4要求动作电流不大于600 mA,实测数据满足实验要求。7实验总结1.实验结果符合设计指标要求。 2.学会了用Altium Designer 6画PCB板,虽然在布线过程中出现了很多问题,但是经过这次实验明白了布线的基本规则和要求。3.学会了利用单片机对数据进行采集和分析,学会了硬件和软件相结合。附录: 图9 PCB布线图程序代码:#include<zlg7289.h>#define SYSCLK 22118400

17、#define CLK_SAR 2500000sfr16 DAC0=0xd2; unsigned int count=0; /计数unsigned int ave; /平均unsigned char wei=0; /移位标志位unsigned char display03=0,0,0; /显示设定值unsigned char key_num=100; /暂存键值unsigned int flag=0; /标志位unsigned int mod=0; /模式unsigned int s=0; /暂存由AIN0、AIN1转换值 unsigned int sum=0; /暂存ADC0转换值和unsi

18、gned int result=0;unsigned int v=0; unsigned int f=0;/-/ 延迟 /-/void DelayMs(unsigned int i) unsigned int j;for(;i>0;i-)for(j=1000;j>0;j-);/-/ 时钟初始化 /-/void Clk_Init() int i;OSCXCN = 0x77 ; /外部振荡器,24MHZ for(i=0;i<256;i+); /延时等待稳定while(!(OSCXCN&0x80);OSCICN|=0x08 ; /选择外部振荡器/-/ 端口初始化 /-/vo

19、id PORT_Init(void)XBR0=0x04;XBR1=0x00;XBR2=0x40;/-/ ADC0初始化 /-/void ADC0_Init(void)AMX0CF=0x00; /AIN0、AIN1单端输入ADC0CF=(SYSCLK/CLK_SAR/2)<<3; /增益为1 REF0CN=0x03; /基准电压2.4V 温度传感器关闭ADC0CN=0x80; /ADC0使能,数据右对齐DelayMs(1000);/-/ DAC0初始化 /-/void DAC0_Init()DAC0CN = 0x80; /DAC0使能,更新方式为定时器2溢出,数据右对齐/-/ T0初

20、始化 /-/void T0_Init(void)CKCON&=0xf7; /T0 系统时钟十二分频 TMOD=0x01;/16位定时器TH0=(65536-20000)/256;TL0=(65536-20000)&256;/-/ T2初始化 /-/void T2_Init() /定时器2初始化 自动重载模式。 CKCON&=0xdf; /定时器2时钟为系统时钟TH2=(65536-10000)/256; TL2=(65536-10000)%256; RCAP2H=(65536-10000)/256;RCAP2L=(65536-10000)%256;TF2=0; /定时器

21、2溢出标志,需要软件清零/-/ 数码管显示初始化 /-/void xianshi0(void)ZLG7289_Download(0,0,0,display00);ZLG7289_Download(0,1,1,display01);ZLG7289_Download(0,2,0,display02);DelayMs(1000);void xianshi1(void)ZLG7289_Download(0,4,0,0);ZLG7289_Download(0,5,1,0);ZLG7289_Download(0,6,0,0);ZLG7289_Download(0,7,0,0);DelayMs(1000);

22、/-/ 通道选择,转化 /-/unsigned int AD0(void)AD0INT=0; /清除转化结束中断标志AMX0SL=0x00; /选择AIN0ADC0CF=0x00; /增益1,电压采集AD0BUSY=1; /开始转换while(!AD0INT);return(ADC0H*256+ADC0L);unsigned int AD1(void)AD0INT=0; /清除转化结束中断标志AMX0SL=0x01; /选择AIN1ADC0CF=0x03; /增益8,采集输出电流AD0BUSY=1; /开始转换while(!AD0INT);return(ADC0H*256+ADC0L);/-/

23、 主函数 /-/void main()EA=0;WDTCN=0xde; /关狗WDTCN=0xad;EA=1; /允许中断DAC0_Init(); Clk_Init();PORT_Init();ADC0_Init();T0_Init();T2_Init(); EIE2=0x20; /外部中断7允许P3IF=0x00; /外部中断7由下降沿触发,软件清零EIP2=0x20; /设置外部中断器7为高优先级ZLG7289_Init(1000); ZLG7289_Reset();ZLG7289_Hide(0xf7); /数码管3消隐xianshi0();xianshi1();TR2=1;TR0=1;E

24、T2=1; /T2允许中断ET0=1; /T1允许中断while(1)if(key_num>=0&&key_num<=9&&ET2=0)display0wei=key_num;f=display00*1000+display01*100+display02*10;f=(f*196.0)/1198.0;v=(f*4096.0)/242.6;xianshi0();key_num=100;else if(key_num=10)ET2=0; /关闭T2中断DAC0CN&=0x7f; /关闭DAC0ZLG7289_Flash(0x01<<wei); /修改位闪烁key_num=100;else if(key_num=11)wei=(wei+1)%3;ZLG7289_Flash(0x01<<wei); /右移key_num=100;else if(key_num=14) /输出开启ZLG7289_Flash(0xff);ET2=1;DAC0CN=0x80;key_num=100;else;if(mod=0)if(flag=1)ZLG72

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论