安徽省大学生电子设计竞赛试题数控稳压电源.docx

上传人:b****6 文档编号:5383945 上传时间:2022-12-15 格式:DOCX 页数:16 大小:200.77KB
下载 相关 举报
安徽省大学生电子设计竞赛试题数控稳压电源.docx_第1页
第1页 / 共16页
安徽省大学生电子设计竞赛试题数控稳压电源.docx_第2页
第2页 / 共16页
安徽省大学生电子设计竞赛试题数控稳压电源.docx_第3页
第3页 / 共16页
安徽省大学生电子设计竞赛试题数控稳压电源.docx_第4页
第4页 / 共16页
安徽省大学生电子设计竞赛试题数控稳压电源.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

安徽省大学生电子设计竞赛试题数控稳压电源.docx

《安徽省大学生电子设计竞赛试题数控稳压电源.docx》由会员分享,可在线阅读,更多相关《安徽省大学生电子设计竞赛试题数控稳压电源.docx(16页珍藏版)》请在冰豆网上搜索。

安徽省大学生电子设计竞赛试题数控稳压电源.docx

安徽省大学生电子设计竞赛试题数控稳压电源

2012年安徽省大学生电子设计竞赛试题

 

数控稳压电源(B题)

【20120245】

 

参赛学校:

黄山学院

参数队员:

赵凯强石佳徐正华

指导老师:

陈吕强

参赛时间:

2012—9—8——2012—9—11

数控稳压电源

摘要:

通过学习稳压电源与相关逆变知识来设计一个数控稳压电源。

该数控稳压电源主要由自制+5V直流稳压电源、逆变电路系统、STC12C5A60S2单片机最小系统、LCD5110显示模块、按键控制模块五部分组成。

本文详细介绍数控稳压电源的软硬件组成及将低压直流变成高压交流的逆变电路系统的工作原理。

电源的软硬件都采用模块化的设计思想。

自制的直流稳压电源将220V交流电转化成15V电压,经整流滤波后给推挽电路(即逆变系统)供电,再通过7805稳压电路稳5V电压给单片机供电,通过单片机内部产生两个PWM脉冲信号给逆变电路,逆变电路将低压直流电转化成50Hz高压交流电。

逆变系统采用推挽拓扑电路完成。

显示模块用LCD5110,并通过正负按键控制输出电压步进0.5V。

关键字:

自制5V稳压电源、STC12单片机最小系统、LCD5110液晶、按键模块

 

Abstract

Throughthestudyofregulatedpowersupplyandrelatedknowledgetodesignadigitalcontrolinverterregulatedpowersupply.TheNCDCpowersupplyismainlycomposedofhomemade5VDCpowersupply、SCMSTC12C5A60S2minimumsystem、LCD5110displaymodule、controlmoduleoffiveparts.ThispaperintroducedthenumericalcontrolpowersupplyofsoftwareandhardwareandtheDCtoACinvertersystemworkingprinciple.

Thepowerofbothhardwareandsoftwareadoptsthemodularizeddesignidea.HomemadeDCregulatedpowersupplyistransformedinto15V220VACcurrent,Afterrectifyingandfilteringtopush-pullcircuit(i.e.,inverterpowersupplysystem),Throughthe7805voltagestabilizingcircuitforstable5Vvoltagetothechippowersupply,ThroughtheMCUinternalproducestwoPWMpulsesignaltotheinvertercircuit,InvertercircuitoflowvoltageDCpowercanbeconvertedinto50Hzhighvoltagealternatingcurrent.Theinvertersystemadoptsapush-pulltopologycircuit.DisplaymodulewithLCD5110,andthroughthepositiveandthenegativecontrolvoltagestep0.5V.

Keyword:

Homemade5Vregulatedpowersupply、STC12MCUminimumsystem,、LCD5110liquidcrystal,、keymodule.

目录

1引言·····························································1

1.1题目的分析··················································1

1.2设计思路和特点··············································1

2方案设计·························································1

2.1整体方案设计框图············································1

2.2各模块组成部分··············································2

2.2.1自制稳压电源模块······································2

2.2.2逆变系统模块··········································2

2.2.3单片机最小系统模块····································2

2.2.4LCD显示模块··········································2

2.2.5按键模块··············································2

2.3方案论证与选择··············································2

2.3.1单片机的选择`·········································2

2.3.2逆变系统的选择········································2

3设计实现·························································3

3.1硬件的设计··················································4

3.1软件的设计··················································5

4测试·····························································5

4.1测试方法····················································5

4.2测试仪器与过程··············································5

4.3测试结果····················································6

5结论·····························································6

5.1完成情况····················································6

5.2心得体会····················································6

5.3存在问题、努力方向··········································6

参考文献···························································6

附录1:

电路主原理图···············································7

附录2:

源程序·····················································8

 

1引言

1.1题目的分析

本题要求设计一个数控稳压电源,主要由两部分组成。

基本部分:

①输出交流电源,范围是0~180V,步进0.5V。

②输出电流:

200mA。

③有输出电压显示。

④由“+”、“-”两键分别控制输出电压步进增减。

⑤为实现上述几部件工作,自制一稳压直流电源,输出+5V。

发挥部分:

①输出交流电压可预置在0.0~180.0V之间的任意一个值。

②输出电压值由液晶显示。

③可输出直流电压:

范围0~220V,步进0.5V。

经过分析与讨论,我们觉得本题实际上是要设计一个逆向升压电源。

1.2设计思路和特点

我们组确定逆变系统采用推挽电路。

设计主要由自制稳压电源模块、逆变系统模块、单片机最小系统模块、显示模块、按键模块组成,通过自制稳压电源给逆变系统供电,再通过7805稳压电路稳5V电压给单片机供电。

单片机内部AD采集电压反馈给单片机,同时控制占空比形成脉冲信号给推挽电路,推挽电路将直流电逆变升压成0~180V交流电,并通过LCD5110显示出来。

同时设置“+”、“-”按键,分别控制输出电压步进增减。

2方案设计

2.1总体方案设计框图:

如图1

图1

2.2各模块组成部分

2.2.1自制稳压电源模块:

用变压器将220V交流电转变成15V直流电,通过整流桥及电容给逆变系统供电,同时将15V交流电通过7805稳压电路稳压成5V给单片机供电。

2.2.2逆变系统模块:

采用推挽电路,推挽电路可以实现逆变升压,将低压变成高压,直流变成交流。

从本质上讲,推挽是把正负2个半波拆开工作,用变压器合并起来。

不光管子是分开的,绕组也是分开的。

就和全波整流那样。

低压用桥式,同样功率,变压器匝数少一倍,但截面积要大一倍,总用铜量一定(相比推挽)。

但是管子要4*N个,每2个串,增高了耐压,但是增加了内阻!

推挽把绕组,管子均分开,符合大电流时多个单元并联的要求……从成本上讲,用铜量一定,管子只2*N个,成本更低,电路更简单。

2.2.3单片机最小系统模块:

单片机最小系统调节PWM占空比产生两个脉冲信号,按键若干,控制输出电压步进使输出电压步进0.5V。

2.2.4LCD显示模块:

LCD时时显示输出电压,看输出电压是否符合题目要求,以供调试更精确。

2.2.5按键模块:

设置“+”“-”按键分别控制输出电压步进增减,步进0.5V。

2.3方案论证与选择

2.3.1单片机的选择

方案一:

采用STC89系列单片机,该系列单片机拥有4路I/O口,2个外部中断,2个定时器,易于扩展外围电路。

且此单片机十分常用,价格低廉,易于购买,方便操作。

方案二:

采用STC12系列单片机,该系列单片机性能强大,比89系列多拥有2路PWM,内置8路高速10位A/D,且速度是89系列的8~12倍,并拥有多种封装形可供选择。

方案选择:

由于本题所涉及的数控稳压电源需要实时的采集输出电压的数据,所以对MCU的速度要求比较高,来满足系统在灵敏度上的要求。

故选择速度较快且内置A/D的12系列单片机,所以选择方案二。

2.3.2逆变系统的选择

方案一:

用电源逆变器来转换,把电平的低压直流电能转换为220V的交流电。

其基本工作原理是:

由电子原件构成50HZ的振荡器,形成交流电,再经过功率放大电路放大功率,经升压变压器输出220V的交流电。

方案二:

用推挽电路,推挽电路采用两个参数相同的功率BJT管或MOSFET管,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小效率高。

方案选择:

由于推挽把绕组,管子均分开,符合大电流时多个单元并联的要求……从成本上讲,用铜量一定,管子只2*N个,成本更低,电路更简单。

而电源逆变器多用作工频逆变器,本题所需要的逆变器很难买到,所以选择方案二。

3设计实现

3.1硬件的设计

自制稳压电源经整流滤波后给推挽电路(即逆变系统)供电,再通过7805稳压电路稳5V电压给单片机供电,通过单片机内部产生两个PWM脉冲信号给逆变电路,逆变电路将低压直流电转化成50Hz高压交流电。

输出电压用LCD5110显示出来,同时通过“+”、“-”按键分别控制输出电压步进增减。

图2单片机最小系统原理图

图3自制稳压电源原理图

图4推挽电路原理图

 

图5按键原理图

3.2软件的设计

采用模块化程序来调试其系统功能,流程图如下图6

图6

4测试

4.1测试方法

①LCD5110显示输出电压0~180V。

②通过“+”、“-”按键分别控制输出电压步进增减,每按一次按键输出电压步进0.5V。

③用液晶显示输出交流电压,看是否可预置在0.0~180.0V之间的任意一个值。

④可输出直流电压:

范围0~220V,步进0.5V。

每按一次按键看电源是否增加或减少0.5V。

4.2测试仪器与过程

①用电压表测量输出电压,看是否在规定范围内,并用液晶显示出来。

②“+”、“-”按键分别控制输出电压步进增减,步进0.5V。

4.3测试结果

5结论

5.1完成情况:

基本要求可以很好的完成,发挥部分不能很好的完成。

5.2心得体会:

综合整个题目,要求控制的精确度很难达到。

我们实现了电压的逆变和放大,一开始觉得这道题看上去不难,容易上手,但实际操作起来难度很大,要求精度很高。

电路设计不是很庞大,但电路的性能才是追求的目标。

通过本次大学生电子设计大赛,感觉团队力量比较大,相互合作,相互协调,分工明确地去完成所规定的任务很重要,虽然要求在短时间内完成一些难的调试。

很累,很紧张,重在考虑我们对电子方面知识的掌握情况。

还要求对程序方面有很熟练的运用度。

5.3存在问题、努力方向:

PWM没有很好的控制占空比,导致占空比精度不高,不能使输出交流电压预置在0.0~180.0V之间的任意一个值。

努力在控制方面追求更高更远。

而在理论分析方面要做到一丝不苟,全面分析原理及可制精度。

 

参考文献:

[1]郭天祥.51单片机C语言教程.电子工业出版社

[2]模拟电子技术基础(第四版).高等教育出版社

[3]电子线路综合设计.华中科技大学出版社

[4]大学生电子设计竞赛组委会.第九届全国大学生电子设计竞赛

获奖作品精选.北京理工大学出版社

附录1:

电路主原理图

 

附录2:

源程序

#include

#include

#include"s12.h"

#include

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

#defineulongunsignedlong

unsignedintzkb1=400,zkb2=0;//电机的占空比,最大600

unsignedintVCB=1000;

unsignedintt=0;//定时器中断计数器

sbitPWM1=P0^5;//输出方波

sbitPWM2=P0^6;

sbitstart=P0^7;

sbitKEY_ADD=P3^3;//+

sbitKEY_DEC=P3^4;//-

sbityuzhi=P3^5;

/*

sbitLCD_RST=P0^4;

sbitLCD_CE=P0^3;

sbitLCD_DC=P0^2;

sbitSDIN=P0^1;

sbitSCLK=P0^0;*/

#include"5110液晶.h"

intL0=0,L1=0,L2=0,L3=0,L4=0,L5=0,L6=0;

inta,b,c,d,shu;

voidADC_int(ucharn)//第n通道ADC初始化函数

{n&=0x07;//确保n=0----7通道

AURX1|=0x04;//转换结果存储格式:

数据的高2位放ADC_RES,低8位放ADC_RESL

P1ASF=1<

}

//---------------------------------------------------------------

uintADC_GET(unsignedcharn)//第n通道ADC采样函数

{

unsignedintadc_data;

n&=0x07;//确保n=0----7通道

ADC_RES=0;//清零

ADC_RESL=0;//清零

ADC_CONTR=0;//清零,以便重构

ADC_CONTR|=(ADC_POWER|ADC_SPEED|n|ADC_START);//打开AD转换电源、设定转换速度、设定通道号、AD转换开始

_nop_();_nop_();_nop_();_nop_();_nop_();//延时4个时钟周期左右

while(!

(ADC_CONTR&ADC_FLAG));//等待转换结束=0x10ADC_FLAG位=1

adc_data=(ADC_RES&0x03)*256+ADC_RESL;//转换结果计算,取高位结果存储器的低2位+低位结果存储器

ADC_CONTR&=~ADC_FLAG;//清零转换结束标志位(ADC_FLAG位=0)

//adc_data=(adc_data*5.0)/1024.0;

returnadc_data;//返回ADC的值(0----1023)

}

//---------------------//

voidstart_init()

{

//PWM_init();

ADC_int(0);//ADC通道1初始化

ADC_int

(1);

ADC_int

(2);

ADC_int(3);

ADC_int(4);

ADC_int(5);

ADC_int(6);

//start=1;

while(start==1);//为启动开关

}

voidInitTimer0(void)//20US

{

TMOD=0x01;

TH0=0x0FF;

TL0=0x0E7;

//EA=1;

ET0=1;

TR0=1;

}

voiddelay(unsignedintz)

{

unsignedintx,y;

for(x=z;x--;x>0)

for(y=110;y--;y>0);

 

}

voidTimer0()interrupt1//输出50HZ的方波

{

TH0=0x0FF;

TL0=0x0E7;

if(t

{

PWM1=1;

}

elseif(t>zkb1)

{

PWM1=0;

}

if((t924))

{

PWM2=1;

}

else{

PWM2=0;

}

t++;

if(t>=1720)

t=0;

 

}

 

/*主程序*/

voidmain()

{

//TMOD=0x01;

//EA=1;

//ET0=1;

//TR0=1;

LCD_init();

LCD_clear();

LCD_write_chinese_sring(2,2,"测量电压值:

");

LCD_write_chinese_sring(0,0,"。

勇者队。

");

//LCD_write_chinese_sring(19,4,"。

");

//LCD_write_english_string(72,5,"V");

LCD_write_english_string(4,4,"V");

//start=1;

start_init();

InitTimer0();

zkb1=VCB/2;

zkb2=924+zkb1;

while

(1)//主循环

{

L0=ADC_GET(0);//650

//L1=ADC_GEdT

(1);//820

//L2=ADC_GET

(2);

//L3=ADC_GET(3);

if(EA==0){

{

LCD_set_XY(4,4);

y_j(VCB);//L0

}

if(!

KEY_ADD)//如果检测到低电平,说明按键按下

{

delay(20);//延时去抖,一般10-20ms

if(!

KEY_ADD)//再次确认按键是否按下,没有按下则退出

{

VCB+=5;

if(VCB>1800)

VCB=1800;

while(!

KEY_ADD);

}

}

if(!

KEY_DEC)//如果检测到低电平,说明按键按下

{

delay(20);//延时去抖,一般10-20ms

if(!

KEY_DEC)//再次确认按键是否按下,没有按下则退出

{

if(VCB>=5)

VCB-=5;

while(!

KEY_DEC);

}

}

zkb1=VCB/2;

zkb2=924+zkb1;

}

if(!

yuzhi)//如果检测到低电平,说明按键按下

{

delay(20);//延时去抖,一般10-20ms

if(!

yuzhi)//再次确认按键是否按下,没有按下则退出

{

EA=~EA;

while(!

yuzhi);

}

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 机械仪表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1