




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简易数控直流电源报告简易数控直流电源设计报告 设计题目: 简易数控直流电源 系 别: 电子信息与电气工程系 年级专业: 10级电气类(5)班 小组成员: 汪家乐 1005075039 王鹏飞 1005075038 熊王来 1005075042 2012年 6月11日目 录摘要:3关键词:31.引言31.1设计任务31.2设计要求42. 总体方案论证42.1设计思路42.2模块方案论证52.2.1控制部分选择52.2.2数模转换部分选择62.2.4设置部分选择73系统设计与实现73.1变压整流及系统电源单元73.2调整管单元83.3 显示部分设计83.4数模转换电路设计93.4.1 DAC0832的结构及引脚功能93.4.2 DAC0832的数字接口103.4.3 DAC0832的模拟输出113.5 按键部分设计114软件系统设计124.1系统流程图125系统功能指标及参数135.1 系统调试135.2 系统测试135.3 系统误差分析136.附录14附录一 使用原件清单14附录二:系统程序14附录三:系统电路图217.总结228.参考文献22摘要:本系统以直流电压源为核心,STC89C52 单片机为主控制器,通过矩阵键盘来设置直流电源的输出电压,设置步进等级可达0.1V,输出电压范围为09.9V,输出电流为500mA,并由数码管显示输出电压值。由“”、“”两键分别控制输出电压步进增减,并且输出电压可预置在09.9V 之间的任意一个值。系统由单片机程控输出数字信号,经过D/A 转换器(DAC0832)输出模拟电流量,再经过运算放大器隔离放大输出模拟电压量,从而控制输出欲知电压。 关键词:STC89C52,DAC0832,数码管,矩阵键盘,uA7141.引言 随着电子技术的迅速发展,各种电子产品层出不穷,不过不管是哪种电子产品或设备,都需要电源供电才能进行正常的工作,而且对于不同的产品或设备来说,其需要不同的工作电源,但是往往市面上的很多电源模块都只能输出固定而单一的电压,从而不能提供各种不同数值的电压,因此,在这里做一个数控直流电源的设计。该数控电源采用步进调整方式,调整范围为0.0V9.9V,调整手段采用按键进行调整,当需要改变电压值时,启动数控系统,输入想要得到的电压值,再按下确定键,即可输出相应的电压。该系统采用单片机作主控器件,结合软件和硬件设计方法,使该系统的结构较简单,可控性强,使用也很方便。1.1设计任务设计出有一定输出电压范围和功能的数控电源。其原理示意图如下: 1.2设计要求1基本要求 (1)输出电压:范围09.9V,步进0.1V,纹波不大于10mV;(2)输出电流:500mA;(3)输出电压值由数码管显示; (4)由“”、“”两键分别控制输出电压步进增减; (5)为实现上述几部件工作,自制一稳压直流电源,输出15V,5V。2发挥部分 (1)输出电压可预置在09.9V之间的任意一个值; (2)用自动扫描代替人工按键,实现输出电压变化(步进0.1V不变); (3)扩展输出电压种类(比如三角波等)。2. 总体方案论证2.1设计思路方案一:本方案调压方式基本沿用串联稳压电源的调压方式,以STC89C52单片机为核心,控制比较调整单元基准电源的变化,实现高精密电压控制。交流电压经变压、整流、滤波后,通过调整管输出,CPU根据预置开关设定的数据或键盘输入数据,计算出相应的基准电压值,送DAC转换成模拟电压。该电压送比较放大单元,以调整输出电压Vo。方案二:比较这两种方案,两种方案均是通过按键命令单片机给DAC 数字量然后经过DAC 和运放输出模拟量。但第一种方案经过两级放大后,再通过复合管功率放大电路,使输出电流达到要求。而方案二是经过运放放大后的电压直接输出,电流很小。所以采用第一种设计方案完成设计任务。2.2模块方案论证2.2.1控制部分选择方案一:采用FPGA作为系统的控制器。FPGA可以实现各种复杂的逻辑功能,所有数字逻辑器件集中在一块芯片上,体积小,稳定度高。同时,FPGA可用EDA软件仿真调试,易于进行功能扩展。但FPGA引脚较多,布线复杂,成本偏高,结合分析本系统要求如果采用FPGA作为控制器利用率不高,造成资源浪费。方案二:80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(PUSH)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP(Dual In Line Package),内有128个RAM单元及4K的ROM。80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟。经比较,此系统采用方案二,选用STC89C52作为控制核心。2.2.2数模转换部分选择方案一:采用THS5661A。电流输出型DA转换器THS5661A很少直接利用电流输出,大多外接电流电压转换电路得到电压输出,用负载电阻进行电流电压转换的方法,虽可在电流输出引脚上出现电压,但必须在规定的输出电压范围内使用,而且由于输出阻抗高, 所以一般外接运算放大器使用。THS5661A输出电压不为零时不能正确动作,所以必须外接运算放大器。此外,这种电路中运算放大器因输出引脚的内部电容而容易起振,有时必须作相位补偿。方案二:采用DAC0832。DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。经比较,选择方案二。2.2.4设置部分选择方案一(按键式输入):此方法操作简单,而且采用此方式控制,由于键盘的数目少,也不会占用单片机太多的资源,且价格便宜。方案二(触摸屏输入):通过触摸检测部件检测用户触摸位置,接受触摸信息后送触摸屏控制器,触摸屏控制器将它转换成触点坐标送给CPU,它同时接收CPU发来的命令并加以执行。此方法操作方便,简单,但价格昂贵。另外红外遥控设置可能会由于房屋或楼道墙壁等受到影响,所以经过比较,我们采用独立式键盘作为输入控制模块。经比较,选择方案一,采用4*4矩阵键盘和独立按键共同实现。3系统设计与实现3.1变压整流及系统电源单元本单元担任提供对外电源的整流、滤波和作为系统本身工作电源的双重任务。经过变压器变压之后,得到双18 V交流电,两路交流经过一个全桥整流得到正负18V的电压。正18V提供给调整管,作为对外输出,同时经过三端稳压器,分别得到正负15V,5V作为系统本身工作电源。 3.2调整管单元调整管采用复管形式,以实现大电流输出。R203和N203构成过流保护,当I700mA时,VR203=R203*I0=1*0.7V=0.7V两端的电压达到0.7V,N203会导通,对N202基极分流,达到过流保护目的,同时发光二级管L201点亮 。涉及运算:由题意Iomax=0.5A,Vomin=0V,故PN202max=(Vin max-Vo min)Io max=(18-0)*0.5=9WN202选用TIP41,其Icmax=6AIomax=0.5A,PCM=65W9W,BVCEOmax=100V18V,故能满足工作要求。3.3 显示部分设计 LED显示电路有静态显示和动态显示,静态显示是指所有的LED数码管同时显示,这种显示方法使得软件结构比较简单,显示效果好,不过电路结构比较复杂,占用处理器的端口较多,功耗也较大。动态显示是指处理器定时地对LED数码管扫描,数码管分时工作,每次只有一个数码管显示,由于扫描的频率比较高,又因人眼的视觉暂留,所以,看起来,似乎所有的数码管同时在显示,采用这种方法的电路结构变得较简单,占用处理器的端口较少,功耗也较低,不过软件结构比较复杂,必须要在软件中消隐,而且显示的效果受到扫描频率的影响。数码管采用二一体共阴极数码管,考虑到节省I/O 口,其驱动电路由两片74HC573 锁存器来实现。3.4数模转换电路设计由于数控电源输出的是模拟信号,而单片机输出的是数字信号,所以,必须要通过数/模转换。数/模转换芯片众多,有电流输出,也有电压输出,分辨率也有所不同,有8位,12位,16位等等,不同的分辨率,价格也有很大的差距,因数控电源输出的精确度要求不是很高,且从成本上考虑,这里使用8位的数/模转换器DAC0832即可。3.4.1 DAC0832的结构及引脚功能DAC0832是用CMOS工艺制成的8位D/A转换芯片,它主要包括两个8位寄存器和一个8位D/A转换器构成,其两个寄存器可以进行两次缓冲操作,使器件的操作有更大的灵活性。DAC0832芯片采用20引脚双列直插封装,各引脚功能如下: CS:片选信号(低电平有效)。ILE:输入锁存允许信号。WR1:写信号1(低电平有效)。当ILE=1时,且当CS与WR1同时有效才能把数字量锁存到8位输入寄存器中;当WR1为高电平时输入数据锁存到输入寄存器中。以上三个信号构成一级输入锁存。XFER:控制传送信号。WR2:写信号2(低电平有效),用于将锁存在输入寄存器数据送到DAC寄存器中,只有在XFER和WR2同时有效时才把输入寄存器中的数据锁入DAC寄存器中。这样构成了二级锁存。D0D7:8位数据输入线,TTL电平。Iout1和Iout2:输出电流。其中Iout1在D/A寄存器内容全为1时,输出电流最大;Iout2在D/A寄存器内容全为0时,输出电流最大,Iout1和Iout2之和为常数。AGND:模拟信号地。DGND:数字地。UREF:基准电压。一般为-10V+10V。Rfb :反馈电阻。该电阻被制作在芯片内,用作运算放大器的反馈电阻。3.4.2 DAC0832的数字接口因在本系统中,单片机不仅要送D/A转换数据,还要送显示数据,且都是和P0口相连,而且,数控电源的转换速率要求不高,输出也只有一路,因此,本系统采用单缓冲工作方式DAC0832与单片机的连接电路图如图3.1所示。当需要进行转换时,CS和WR有效,单片机从P0口输出数据到DAC0832上并启动转换,这时,DAC0832将转换后的电流值从Iout1和Iout2输出。图 3.1 DAC0832与单片机的连接电路图 3.4.3 DAC0832的模拟输出DAC0832转换器输出的是电流信号,因此必须要经过电流-电压转换才能输出电压信号。DAC0832是8位数/模转换器,基准电源为+5V时,其输出电压的计算公式为D输入数据;u输出电压.因为DAC0832的分辨率不是很高,所以转换精度必然有些欠缺,不过由于数控电源的电压输出范围为0.0V9.9V,步进电压调整值为0.1V,而DAC0832的输出模拟电压步进值约为0.02V,若再放大5倍,则刚好使数控电源的步进值为0.1V,当输入数据为65H(十进制101)时,输出电压u1.98V,再放大5倍后约为9.9V,即为要求的最大值。因此,DAC0832转换器的数据输入范围为0065H,以提供100个调整步进。3.5 按键部分设计本系统按键部分采用矩阵键盘和独立按键两部分共同组成,矩阵键盘实现预置数和自动扫描功能,独立按键实现步进加减和控制波形功能。4软件系统设计是是开始各器件初始化检测键盘数字键是否按下输入0.09.9V的电压值显示电压值V否将电压值清零,显示清零,输出电压也清零清零键是否按下是否显示并输出当前电压值确认键是否按下是否从0V开始扫描电压直到到达预设的电压值扫描键是否按下否在正弦波、方波、锯齿波、三角波、梯形波之间切换波形键是否按下是否循环4.1系统流程图5系统功能指标及参数5.1 系统调试(1)电源部分调试:先断开所有除输入电源以外的其他电源接入线,在外部电源输入部分加入正负20 V的压, 通过L7815 的1脚,和L7915 的2脚,后用万用表测量L7815 的3脚为15V,L7915D 3 脚为 -15V,L7805 的3脚为+5V,同时测试单片机,DAC0832,放大器等底座接口供电。电源部分正常。 (2)单片机系统测试:编写简单程序(点亮发光二极管)测试单片机系统正常。(3)调试LED 显示:编制简单的显示小程序验证正常。(4)按键测试:编写简单程序验证正常。(5)DAC 测试:调整基准电压使输入255 时输出电压-2.56V;输入0 时输出电压为0。 5.2 系统测试测试时间:2012年6月8日星期五测试数据表格(常温下)123456789预置 电压1.002.003.004.005.006.007.008.009.00实测 电压1.051.942.963.914.945.976.957.948.905.3 系统误差分析从电路原理图分析得出,系统的主要误差有: (1)自制稳压电源电压不稳,影响系统供电和LM336 的基准精度。(2) DAC0832 的量化误差,和由于LM336-2.5 所给出的VREF不是准确的2.56V 造成DAC 的转换精度不是0.01V。 (3)放大器放大的线性失真引起的误差,以及经过0 点的调零误差。6.附录附录一 使用原件清单名称型号封装数量单位三抽头双输出变压器18V 50W1个三抽头双输出变压器9V 50W1个集成电路LM7805直插2个集成电路KA7815直插1个集成电路KA7915直插1个集成电路DAC0832DIP-201个集成电路74HC573DIP-202个集成电路Stc89c52DIP-401个数码管2位共阴直插1个晶振12M直插1个二极管IN4007直插5个电位器102直插1个电位器503直插1个电位器104直插1个电解电容2200uf 35V直插2个电解电容2200uf 25V直插2个电解电容470uf 25V直插1个电解电容10uf 50V直插6个瓷片电容104直插10个瓷片电容30PF直插2个瓷片电容150PF直插2个排阻10K直插1个电阻100K直插个电阻50K直插个电阻1K直插个附录二:系统程序#include#includekeyscan.h#includedelay.h#includedisplay.h#includewace.h#includescan.h#includedac0832.h#define uchar unsigned char#define uint unsigned intsbit dula=P10;sbit wela=P11;sbit key3=P14;sbit key3=P14;sbit key4=P15;sbit key1=P17;bit flag,clearflag,scanflag,boxingflag;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uint key,t=0,m=0,dy=0,s=0,Wchange;uint num1,num2;uchar x=0,y=120;uchar num3;extern uint key;extern uchar x;extern uchar y;void main() init1();while(1)keyscan1();display2();boxing();DA(keyscan2();void display1(uchar t)uint shi=0,ge=0;shi=t/10;ge=t%10;dula=1;P0=tableshi|0x80;dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay_ms(10);dula=1;P0=tablege;dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay_ms(10);void display2()uint shi=0,ge=0;shi=keyscan2()/10;ge=keyscan2()%10dula=1;P0=tableshi|0x80;dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay_ms(10);dula=1;P0=tablege;dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay_ms(10);void init1()P0=0;dula=1;dula=0;P0=0xc0;wela=1;wela=0;uchar keyscan1()uchar temp;P2=0xfe;temp=P2;temp=temp&0xf0;if(temp!=0xf0)delay_ms(10);temp=P2;temp=temp&0xf0;if(temp!=0xf0)temp=P2;switch(temp)case 0x7e:key=1;flag=1;break;case 0xbe:key=2;flag=1;break;case 0xde:key=3;flag=1;break;case 0xee:key=4;flag=1;break;while(temp!=0xf0)temp=P2;temp=temp&0xf0;P2=0xfd;temp=P2;temp=temp&0xf0;if(temp!=0xf0)delay_ms(10);temp=P2;temp=temp&0xf0;if(temp!=0xf0)temp=P2;switch(temp)case 0x7d:key=5;flag=1;break;case 0xbd:key=6;flag=1;break;case 0xdd:key=7;flag=1;break;case 0xed:key=8;flag=1;break;while(temp!=0xf0)temp=P2;temp=temp&0xf0;P2=0xfb;temp=P2;temp=temp&0xf0;if(temp!=0xf0)delay_ms(10);temp=P2;temp=temp&0xf0;if(temp!=0xf0)temp=P2;switch(temp)case 0x7b:key=9;flag=1;break;case 0xbb:key=0;flag=1;break;while(temp!=0xf0)temp=P2;temp=temp&0xf0;return key;void keyscan3()uchar temp;P2=0xf7;temp=P2;temp=temp&0xf0;if(temp!=0xf0)delay_ms(10);temp=P2;temp=temp&0xf0;if(temp!=0xf0)temp=P2;switch(temp)case 0x77:clearflag=1;break;case 0xb7:scanflag=1;break;case 0xd7:boxingflag=1;break;while(temp!=0xf0)temp=P2;temp=temp&0xf0;void boxing()keyscan3();if(boxingflag=1)if(key1=0)delay_ms(10);if(key1=0)Wchange+;while(!key1); if(Wchange=1) juchi(); if(Wchange=2) sanjiao(); if(Wchange=3) Wchange=0;boxingflag=0; uchar keyscan2()keyscan3();if(flag=1)s+;if(s=1)dy=keyscan1();flag=0;if(s=2) dy=dy*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专用设备制造行业服务化转型中的客户满意度提升策略报告
- 新能源汽车制造关键零部件国产化进程与产业布局报告
- 数字化转型下2025年银行零售业务营销效果提升报告
- 左旗茶艺知识培训教育课件
- 好书介绍步骤课件
- 奥齿泰工具盒使用课件文库
- 灌肠病人基础知识培训课件
- 节能灯可行性研究报告
- 激素调节课件北师大
- 激发兴趣提高学习热情课件
- 2024年泰州市靖江市公安局招聘警务辅助人员真题
- 国际快递基本知识培训课件
- 塔吊拆除安全操作方案模板
- 普惠金融业务讲座
- 虚拟健康咨询接受度分析-洞察及研究
- 多发性周围神经病护理查房
- 2025年高警示药品管理试题(附答案)
- 2025年低压电工证考试题及参考答案
- 省政府顾问管理办法
- 消防法制业务培训课件
- 医院药剂科运用PDCA循环降低拆零药品管理不合格率品管圈
评论
0/150
提交评论