数控稳压电源设计实例.docx
- 文档编号:16329693
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:13
- 大小:187.73KB
数控稳压电源设计实例.docx
《数控稳压电源设计实例.docx》由会员分享,可在线阅读,更多相关《数控稳压电源设计实例.docx(13页珍藏版)》请在冰点文库上搜索。
数控稳压电源设计实例
基于单片机的数控直流稳压电源的设计
1.ADC0804简介
ADC的主要特性如下:
1)CMOS的逐渐逼近使AD转换器。
2)具有8位解析能力,转换时间为100μs,最大误差为1个LSB值(最小电压刻度)。
3)采用差动式模拟电压输入,三态式数字输入。
2.ADC0804的引脚图1如下:
图1ADC0804引脚图
3外部特性(引脚功能)
:
片选端,此为低态驱动引脚,若=0,则ADC0804工作;若=1,则ADC0804不工作,输出数据引脚DB0到DB7呈高阻状态。
:
控制芯片启动的输入端,若=0,即可使ADC0804开始进行模拟-数字转换动作。
:
转换结束信号输出端,输出电平高跳到低表示本次转换已经完成,可作为中断或查询信号。
:
转换结果读出控制端,当它与
同时为低电平时,输出数据锁存器DB0~DB7各端上出现8位并行二进制数码,以表示
结果。
CLK:
时钟脉冲输入引脚,ADC0804接受100到1460KHz的时钟脉冲。
可配合CLK-R引脚,以外加的电阻、电容由内部电路自行产生时钟脉冲,其振荡频率为
≈
RC。
CLK-R:
时钟脉冲输出引脚,可连接电阻以产生时钟脉冲。
:
参考电压输入引脚,通常本引脚所连接的电压是输入模拟电压最大值的一半。
:
模拟电压输入引脚。
:
模拟电压输入引脚。
:
电源引脚或参考电压引脚,通常是连接+5V,以作为电源之用。
GND:
数字信号接地引脚。
AGND:
模拟信号接地引脚,通常本引脚都与GND引脚连接后接地,若处理高干扰的模拟信号,本引脚可单独接地。
DB0~DB7:
数字输出数据引脚。
电路图介绍:
本实例采用Protuse软件仿真,现总电路图如图2所示:
图2数控稳压电源总电路图
总电路主要由单片机控制LED数码管显示输出、AD转换电路、稳压输出电路等部分组成。
单片机的P0口接4位LED数码管的8个输入口,P1口接ADC0804的8个输出口,P2口接DAC0832的8个输入口,P3.0~P3.2接LED数码管的三位位选信号,P3.4和P3.5为按钮开关,控制电压值步进的增减。
工作过程简单介绍:
本实例能够实现输出0~5v电压输出,并可控制电压值以步进位0.2V的增减。
以单片机为控制核心,由单片机比较预设值与A/D转换采样反馈值的偏差,得出相应的输出值,由D/A转换电路变换为模拟量去驱动电压输出电路,从而使电压稳定在设定值。
1.稳压输出电路
单片机根据预设值和A/D转换的采样值计算出输出值,通过数据总线把数据传送到DAC0832,进行D/A转换,由IOUT1、IOUT2输出相应的模拟电流信号,经运算放大器转换为0~5V的模拟电压信号,再经由运放和三极管构成的稳压电路实现输出,由运放电路驱动电压调整管Q1,过流保护由过流电压采样电阻和限流晶体管构成,当输出电流过大,限流晶体管Q2就会导通分流,使得输出电压减少,输出功率减少。
并将输出电压送到A/D转换电路,采样处理后,反馈到单片机。
当采样值高于设定值,单片机计算出输出量减小,相应Q1基极电位下降,输出电压下降。
当输出电压过低时,电压反馈稳定过程与此相反。
由此,实现了输出电压的稳定。
电路原理图如图3所示:
图3输出稳压电路
2.AD转换电路
AD转换电路由ADC0804构成,以外加的电阻、电容由内部电路自行产生时钟脉冲,其振荡频率为
≈
RC,可取R=10K,C=150pf。
模数转换完成以后,将ADC0804输出的数字量送到单片机的P1口。
电路原理图如图4所示:
图4AD转换电路
3.系统总流程图
Y
N
Y
N
Y
N
Y
N
图5系统软件流程图
C语言程序:
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharcodetable[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0xFF};
//不带小数点的显示段码表
ucharcodetable0[11]={0X40,0X79,0X24,0X30,0X19,0X12,0X02,0X78,0X00,0X10,0xFF};
//带小数点的的显示段码表
uchardis[3]={0x00,0x00,0x00};//定义一个显示缓冲数组
voidadd();//加函数
voidreduce();//减函数
voiddelay(uintt);//延时函数
voiddisplay();//显示函数
voidadc();//AD转换函数
voidchange();//比较调整输出函数
voidinit();//显示值赋值函数
sbitP3_4=P3^4;
sbitP3_5=P3^5;
sbitP3_0=P3^0;
sbitP3_1=P3^1;
sbitP3_2=P3^2;
sbitwr=P3^3;
sbitintr=P3^6;
sbitrd=P3^7;
ucharvar=0;
intvar2;
ucharnum,out=0;
voiddisplay()
{
P3_0=1;
P0=table[dis[0]];
delay
(1);
P3_0=0;
P3_1=1;
P0=table[dis[1]];
delay
(1);
P3_1=0;
P3_2=1;
P0=table0[dis[2]];
delay
(1);
P3_2=0;
}
voidinit()
{
var2=var*1.95;
dis[0]=var2%10;//个位
dis[1]=var2/10%10;//十位
dis[2]=var2/100%10;//百位
}
voidmain()
{
P2=0;
var=200;//预设初始值
P3_0=0;
P3_1=0;
P3_2=0;
init();
if(P3_4==1&&P3_5==1)
display();
while
(1)
{
adc();
change();
if(P3_4==0)
{
add();
while(!
P3_4);
}
if(P3_5==0)
{
reduce();
while(!
P3_5);
}
if(P3_4==1&&P3_5==1)
display();
}
}
voidadd()
{var++;
delay
(1);
init();
}
voidreduce()
{var--;
if(var==0xff)
{var=0;}
delay
(1);
init();
}
voidadc()
{
wr=1;
wr=0;
delay(10);
wr=1;
while(intr==0)
{}
rd=0;
delay(10);
num=P1;
}
voidchange()
{
if(var {if((num-var)>=10) {if(out>=10) {out=out-10; P2=out; } } elseif(out>=1) {out--; P2=out; } } if(var>num) {if((var-num)>=10) {if(out<=245) {out=out+10; P2=out; } } elseif(out<=254) {out++; P2=out; } } } voiddelay(uintt) {uinti,j; for(i=0;i for(j=0;j<120;j++) ; } 运行结果图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数控 稳压电源 设计 实例