欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数控直流稳压电源毕业设计.doc

    • 资源ID:88283866       资源大小:598KB        全文页数:40页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数控直流稳压电源毕业设计.doc

    自动化科学与工程学院智能控制设计大赛数控直流稳压电源 目录摘要 3 一、 方案论证与比较 41. 1系统供电部分 41 2 控制器部分 41. 3 显示部分 41 4 键盘部分 41. 5 数模/模数转换部分41. 6 掉电记忆部分5 二、 系统的具体设计及实现521 系统总框图 522 硬件设计 6221 电源模块6222 DA转换模块 6223 电压调整模块7224 键盘模块8225 EEPROM拓展模块8226 显示模块923 软件设计10231 主程序流程10232 键盘程序流程11233 EEPROM读写流程12234 DAC0832程序流程13235 TLC1543程序流程13三、 测试、结果及分析1431 基本功能1432 发挥功能部分1433 其他发挥部分1534 详细的测试数据15四、 总结16参考文献17附录一、完整的系统原理图18附录二、完整的系统源代码19数控直流稳压电源设计任务与要求一、 设计任务设计并制作一个直流可调稳压电源。二、 设计要求1、基本要求:1) 当输入交流电压为220v±10%时,输出电压在3-13v可调;2) 额定电流为0.5A,且纹波不大于10mV;3) 使用按键设定电压,同时具有常用电平快速切换功能(3v、5v、6v、9v、12v),设定后按键可锁定,防止误触;4) 显示设定电压和测量电压,显示精度为0.01v。2、扩展要求:1) 输出电压在0-13v可调;2) 额定电流为1A,且纹波不大于1mV;3) 掉电后可记忆上次的设定值;4) 两级过流保护功能,当电流超过额定值的20%达5秒时,电路作断开操作;当电流超过额定值的50%时,电路立即断开。具有光提示(如LED);5) 其他创新。三、 说明禁止直接使用220v直接电阻分压的作法,注意用电安全。摘要直流稳压电源是常用的电子设备, 它能保证在电网电压波动或负载发生变化时, 输出稳定的电压。一个低纹波、高精度的稳压源在仪器仪表、工业控制及测量领域中有着重要的实际应用价值。本设计给出的稳压电源的输出电压范围为018 V, 额定工作电流为0.5 A, 并具有“+”、“- ”步进电压调节功能, 其最小步进为0.05 V,纹波不大于10 mV, 此外, 还可用LCD液晶显示器显示其输出电压值。本设计给出了一种以STC89S52单片机为核心, 并通过控制比较调整单元基准电压的变化来来实现高可靠、小纹波和高精度电压控制的直流数显可调稳压电源的硬件电路组成和软件设计流程。 关键词: 直流数控; 稳压电源; 单片机STC89C52;Digest: The DC regulated power supply is a familiar electric equipment , that can offer stable voltage when input voltage fluctuates or its load changes. The design of DC regulated power supply can offer voltages from 0 to 12.5V,rated working current 0.5A,with the function of “+” “-” step voltages regulator. Its minimum stepped voltage is 50 mV, ripple wave voltage less than 10 mV. Also, we can know its output voltage by seeing the lcd. This system gives a design process .This is a reliable , low ripple wave and highly-stable electric equipment. Keyword: DC regulated power supply, STC 89C52  一、 方案论证与比较1. 1系统供电部分由于该电源总共需要+21V,+15V,-15V,+5V电压,所以我们采用双220V/18V 变压器,经桥式整流滤波后得到21V电压;由三端稳压器7815,7915和7805分别得到+15V,-15V和+5V电压。1. 2 控制器部分方案一 应用mega16作为控制器。AVR是51的升级版,具有速度快,且自带512字节的EEPROM,不需要另外接扩展的EEPROM的优点;缺点是,我们对AVR的使用不太熟悉,价格比较贵。方案二 采用STC89C52作为控制器。优点:技术比较熟练,使用广泛,价格便宜,而且功能上也完全满足本系统的要求;缺点:需要连接扩展EEPROM。因为本系统对单片机的速度要求不是很高,而且连接扩展EEPROM也不复杂,经过比较,我们选用方案二。1. 3 显示部分方案一 使用LED显示。优点:可视角度宽,介格便宜;缺点:显示的内容少,介面呆板,而且占用较多的IO口资源。 方案二 应用1602液晶显示模块。优点:界面美观,可显示文字及数字;缺点:价格较贵。 通过比较,我们选节方案二。1. 4 键盘部分方案一 利用I/O口直接连接的独立式键盘,每键都有相应的I/O口对应,编程容易控制,实现方便;方案二 利用P3口接成4*2键盘。优点:利用6个IO口得到8个按键,可使操作介界变得简单,操作也方便;缺点:软件处理比独立按键复杂。通过比较,结合本设计不需要太多IO口,方案一为最佳方案。1. 5 数模/模数转换部分方案一 采用PCF8591芯片。优点:集AD,DA于一身;缺点:价格昂贵,且操作不熟悉。方案二 数模转换部分采用DAC0832芯片;模数转换部分采用TLC1543芯片。优点:两芯片均为常用芯片,操作简单,软件编程简单;缺点:占用比较多的IO口,为PCB布线带来困难。 经过比较,方案二位最佳。1. 6 掉电记忆部分。我们选用应用最广泛的ST24c02芯片。该芯片价格便宜,操作简单,抗干扰强,数据能保持一百年。二、 系统的具体设计及实现21 系统总框图市电变压系统电源+21V整流+15V -15V+5V电压调整及过流保护取样 U0取样比较放大D/A转换电压显示AT89S51键盘A/D转换掉电记忆2.2 硬件设计 本系统由电源模块,调压模块,DA转换模块,键盘模块,EEPROM拓展模块与显示模块组成。2.2.1 电源模块 220V市电经过双18V变压器转换后的到+ -18V电压,再经过桥式整流滤波电路,得到18*1.2=21.6(V)电压。其中+21V电压经过7815转换得到稳定+15V电压,再经7805转换得到稳定+5V电压;-21V电压经过mc7915转换得到稳定的-15V电压。其中,+21V为系统供电,+15V,-15V,+5V分别为个独立元件供电。2.2.2 DA转换模块 DA转换模块由DAC0832,两级运放UA741组成。DAC0832具有8位分辨率,有3种工作方式(单缓冲,双缓冲,直通)。本设计中DAC工作于直通工作方式。UA741为常用运放,由美国fairchild 公司生产,具有低漂移,稳定等优点,可外置调零电路以抑制零点漂移。DAC0832和运放UA1将单片机发出的八位二进制数转换成05V负电压,再经过反向比例放大器UA2将负电压转换成010V正电压。经过两级运放放大后,DAC0832的转换分辨率为10/(28-1)=0.04V。即单片机向DAC送出的数据变化1BIT,运放UA2输出的电压值改变0.04V。滑动变阻器VR2的作用为调零电路以抑制零点漂移。 2.23 电压调整模块本设计的电压调整模块如上图所示。T1,T2组成复合管,以实现大电流输出。由于该设计预定额定电流为0.5A,最大输出电压为12.5V,所以要求T1管射极最大功率Pmax=0.5*12.5=6.25W,所以选取TIP41c。T3管9013和电阻R9为限流保护部分。当输出电流大于0.7A时,R9上的压降为0.7V使得T3管导通,T3管集电极对T2管基极分流,使得T2管基极电流明显变小使得输出电流变小,从而达到过流保护的功能。发光二极管起过流提醒作用。电压调整模块的核心部分是NE5534。NE5534生产于美国德州半导体公司,具有共模抑制比高,响应速度快和压摆率高等优点,常用于音响,耳机等设备。由DA及运放转换后的电压U1输入到NE5534的正向输入端,R10 R22 R11组成NE5534的取样电路。由于NE5534 T1 T2及取样电路构成负反馈,由运放的“虚短”特点,NE5534的反向输入端的电压U2为正向输入端的电压大小U1。由于运放还有“虚断”的特点,运放的输入端对流经取样电路的电流不起分流作用,所以输出电压U0/U2=(R10+R11+R22)/(R11+R22)=1.25。即U2每改变0.04V,U0改变0.05V。由于单片机输入到DAC0832的二进制数据每改变1BIT,U1改变0.04V即U2改变0.04V,所以U0改变0.05V。因此,该设计最小步进电压为0.05V。电容C16的作用为抑制输出纹波电压。 2.2.4 键盘模块 系统共设置了9个独立按键,实现了常用电压设定,电压“+”“”设定及正常关机辨别的功能。2.2.5 EEPROM拓展模块为了实现设定电压数据的掉电保护,我们在系统中连接了扩展EEPROM 24C02B,保证了在行驶过程中,如果数控电源意外掉电,已经设定的电压数据能够保存下来。24C02B是ATMEL公司生产的一款256 byte的串行EEPROM,能重复擦写1,000,000次,记录的信息能保存100年以上,而且与单片机的连接只需要2根线。24C02B的接图如上图所示。 2.2.6 显示模块 上图为显示模块的接图。显示模块主要由TLC1543及LCD液晶显示屏组成。由美国德州公司生产的TLC1543,是具有10位分辨率的AD转换器,它具有11路模拟输入通道及3路内置自测试方式,具有显著的优点。LCD液晶屏幕采用1602,能够显示16X2个字符。由输出端采样得到的模拟信号,输入到TLC1543的其中一路模拟输入通道INT0,。通过AD的转换,TLC1543将模拟量转化为10位数字量输入到单片机相应的IO口。通过处理,单片机将模拟量值通过1602液晶显示出来。2.3 软件设计2.3 .1主程序流程 主程序流程图如下图: 开始 初始化 误差小于50mV?TLC1543检测实际输出值DA输出读取上次关机设定值调整TLC1543的输出值 N Y (1)屏幕显示当前设定值与输出值保存设定值更改DA输出值 键盘扫描 等待输入 (1)232 键盘程序流程图本系统中键盘程序分为键盘扫描子程序和按键功能执行子程序。键盘扫描子程序流程图如下图2-3-2所示,按键功能子程序流程图如下图2-3-3所示:开始扫描键盘有键接下?返回键值退出YN 图2-3-2 键盘扫描子程序流程图退出执行相应功能有按键按下 开始 图2-3-3 按键功能执行子程序流程图233 EEPROM读写程序流程 24C02B读写程序流程图如下图2-3-4和图2-3-5所示。开始写入数据退出发送地址 图2-3-4 24C02B写入程序流程图读取数据退出发送地址开始 图2-3-5 24C02B读取程序流程图23. 4 DAC0832程序流程 DAC0832的程序流程图如下所示: 开始 结束输出相应值读取数据发送数据23. 5 TLC1543程序流程 TLC1543的小程序流程图如下所示: 结束读取后6位数据CLK发送脉冲信号读取前四位数据发送4位地址CLK发送脉冲信号开始 三、 测试、结果及分析 观察系统运行状况,并辅助示波器、万用表得到以下结果。31 基本功能 表3-1要求实现功能测试结果当输入交流电压为220v±10%时,输出电压在3-13v可调输出电压在3-13v可调额定电流为0.5A,且纹波不大于10mV额定电流为0.5A,纹波电压为8.2mV使用按键设定电压,同时具有常用电平快速切换功能具有3V,6V,9V,12V常用电平按键显示设定电压和测量电压,显示精度为0.01v能显示出0.05V电压的变化32 发挥功能部分 表3-2功能是否实现及描述输出电压在0-13v可调基本实现了,但只是0-12.5V可调额定电流为1A,且纹波不大于1mV;掉电后可记忆上次的设定值;掉电记忆部分实现了两级过流保护功能,当电流超过额定值的20%达5秒时,电路作断开操作;当电流超过额定值的50%时,电路立即断开。具有光提示仅实现了一级过流保护功能33 其他发挥部分 表3-3功能描述精调粗调电压功能实现0.05V电压精调功能及1V电压粗调功能34 详细的测试数据:(1) 开机,LCD显示欢迎界面Power supplyWelcome! Please waitSet value : 10.00vOutput: 10.01v(2) 按下粗调电压+键,显示电压改变1VSet value : 11.00vOutput: 11.02v (3)按下精调电压+键,显示电压改变0.05VSet value : 11.05vOutput: 11.07v (3) 按下精调电压-键,显示电压改变0.05VSet value : 11.00vOutput: 11.00v (4)按下粗调电压-键,显示电压改变1V Set value :10.00vOutput: 10.02v(5)按下常用电压3V键,显示电压改变Set value :3.00vOutput: 3.01v(6)按下常用电压6V键,显示电压改变Set value :6.00vOutput: 6.00v(7)按下常用电压9V键,显示电压改变Set value :9.00vOutput: 9.02v(7)按下常用电压12V键,显示电压改变Set value :12.00vOutput: 12.01v(8)若此时掉电,下次开机时,显示电压为Set value :12.00vOutput: 12.01v四总结本设计基本完成数控直流稳压电源的基本功能和发挥功能,采用1602液晶显示,可视面积大,界面美观。采用NE5534作为电压调整模块的核心,使得输出电压极为稳定。还扩展了精调粗调功能,使用户能对电压进行更加详细地设置。经过调试,系统运行稳定,各项功能都比较完美地实现了。经过本次设计,我对8952单片机有了更深层次的了解!参考文献: 1 求是科技 、C程序设计完全手册 北京:人民邮电出版社 2006 2 张毅刚、彭喜元 新编MCS-51单片机应用设计(第3版) 哈尔滨:哈尔滨工业大学出版社 2008 3马忠梅 籍顺心 张凯 马岩、单片机的C语言应用程序设计(第3版) 北京:北京航空航天大学出版社2003 附录一 本设计的电路原理图。附录二 完整的系统源代码:#include <reg52.h>#include <intrins.h>#include <math.h>#define uint unsigned int #define uchar unsigned char typedef unsigned char BYTE;typedef unsigned int WORD;typedef bit BOOL ;BYTE code dis1 = "Power Supply"BYTE code dis2 = "welcome!"BYTE code dis3 = "Please wait."BYTE code dis4 = "SetValue: "BYTE code dis5 = "Output: "BYTE setv6,getv6;/LCD输出字符组float n,setvalue;/电压设定值float dq,dp,qq,pp,l,xx;/转换传递参数uchar ctu,outv,inv;/DA与AD部分传递参数sbit TLCEOC=P24;/TLC占用IO口sbit TLCCL=P23;sbit TLCAD=P22;sbit TLCOUT=P21;sbit TLCCS=P20;sbit scl=P16;/断电保存占用IO口sbit sda=P17;sbit DACS=P14;/DA占用IO口sbit DAWR=P15;sbit rs= P27;/液晶LCD占用IO口sbit rw = P26;sbit ep = P25;void delay(BYTE ms)/ 延时子程序BYTE i;while(ms-)for(i = 0; i< 250; i+)_nop_();_nop_();_nop_();_nop_();/* LCD显示 子函数组 */BOOL lcd_bz()/ 测试LCD忙碌状态BOOL result;rs = 0;rw = 1;ep = 1;_nop_();_nop_();_nop_();_nop_();result = (BOOL)(P0 & 0x80);ep = 0;return result;lcd_wcmd(BYTE cmd)/ 写入指令数据到LCDwhile(lcd_bz();rs = 0;rw = 0;ep = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;lcd_pos(BYTE pos)/设定显示位置lcd_wcmd(pos | 0x80);lcd_wdat(BYTE dat)/写入字符显示数据到LCDwhile(lcd_bz();rs = 1;rw = 0;ep = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;lcd_init()/LCD初始化设定lcd_wcmd(0x38);/delay(1);lcd_wcmd(0x0c);/delay(1);lcd_wcmd(0x06);/delay(1);lcd_wcmd(0x01);/清除LCD的显示内容delay(1);/* DA输出函数 */void write_da()P0=outv;delay(1);DACS=0;delay(1);DAWR=0;delay(1);delay(1);DAWR=1;delay(1);DACS=1;delay(1);/* AD(TLC)读取函数 */void read_tlc()float vad;int i;i=2;while(i)uchar temp;vad=0;TLCEOC=1;delay(1);TLCCL=0;TLCCS=0;delay(1);TLCCL=0;/1TLCAD=0;temp=TLCOUT;if(temp=1)vad=vad+512;delay(1);TLCCL=1;delay(1);TLCCL=0;/2TLCAD=0;temp=TLCOUT;if(temp=1)vad=vad+256;delay(1);TLCCL=1;delay(1);TLCCL=0;/3TLCAD=0;temp=TLCOUT;if(temp=1)vad=vad+128;delay(1);TLCCL=1;delay(1);TLCCL=0;/4TLCAD=1;temp=TLCOUT;if(temp=1)vad=vad+64;delay(1);TLCCL=1;delay(1);TLCCL=0;/5temp=TLCOUT;if(temp=1)vad=vad+32;delay(1);TLCCL=1;delay(1);TLCCL=0;/6temp=TLCOUT;if(temp=1)vad=vad+16;delay(1);TLCCL=1;delay(1);TLCCL=0;/7temp=TLCOUT;if(temp=1)vad=vad+8;delay(1);TLCCL=1;delay(1);TLCCL=0;/8temp=TLCOUT;if(temp=1)vad=vad+4;delay(1);TLCCL=1;delay(1);TLCCL=0;/9temp=TLCOUT;if(temp=1)vad=vad+2;delay(1);TLCCL=1;delay(1);TLCCL=0;/10temp=TLCOUT;if(temp=1)vad=vad+1;delay(1);TLCCL=1;delay(1);TLCEOC=0;delay(1);TLCCS=1;delay(1);i-;inv=(vad/1023)*255;/* 字符类型转换函数 */void change(float nn,BYTE a5) /float转字符数组uint i,y;float x=nn*100;for(i=0;i<4;i+)y=x/(pow(10,(3-i);switch(y)case 0 : ai='0' ; break;case 1 : ai='1' ; break;case 2 : ai='2' ; break;case 3 : ai='3' ; break;case 4 : ai='4' ; break;case 5 : ai='5' ; break;case 6 : ai='6' ; break;case 7 : ai='7' ; break;case 8 : ai='8' ; break;case 9 : ai='9' ; break;x=x-y*(pow(10,(3-i);a4=a3;a3=a2;a2='.'a5='V'void changetf()/UCHAR转FLOATsetvalue=(dq*13)/255;l=dp*13/255/100;setvalue=setvalue+l+0.02;void changetu() /float转UCHARqq=setvalue*255/13;ctu=qq;pp=(qq-ctu)*100;/* 键盘扫描函数 */void keyscan()uchar temp1,temp;P3=0xff;temp1=P3;while(temp1=0xff)/等待按键P3=0xff;temp1=P3;temp=temp1;/记录按键while(temp1!=0xff)/等待松手P3=0xff;temp1=P3;switch(temp)case 0x7f: setvalue=setvalue+0.05;break;case 0xbf: setvalue=setvalue-0.05;break;case 0xdf: setvalue=setvalue+0.5;break;case 0xef: setvalue=setvalue-0.5;break;case 0xf7: setvalue=3;break;case 0xfb: setvalue=5;break;case 0xfd: setvalue=9;break;case 0xfe: setvalue=12;break;if(setvalue>13)setvalue=13;if(setvalue<0)setvalue=0;/* 开机欢迎界面 */void welcome()/欢迎界面BYTE i;lcd_init();/ 初始化LCDdelay(10);lcd_pos(2);/ 设置显示位置为第一行的第5个字符i = 0;while(dis1i != '0')lcd_wdat(dis1i);/ 显示字符i+;lcd_pos(0x44);/ 设置显示位置为第二行第二个字符i = 0;while(dis2i != '0')lcd_wdat(dis2i);/ 显示字符i+;delay(200);delay(200);delay(200);delay(200);delay(200);lcd_wcmd(0x01);/清除LCD的显示内容lcd_pos(1);/ 设置显示位置为第一行的第1个字符i = 0;while(dis3i != '0')lcd_wdat(dis3i);/ 显示字符i+;delay(200);delay(200);delay(200);delay(200);delay(200);/* 当前参数显示界面 *

    注意事项

    本文(数控直流稳压电源毕业设计.doc)为本站会员(教****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开