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

    数控直流稳压电源毕业论文6.doc

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

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

    数控直流稳压电源毕业论文6.doc

    【精品文档】如有侵权,请联系网站删除,仅供学习与交流数控直流稳压电源毕业论文6.精品文档.摘要将单片机数字控制技术,有机地融入直流稳压电源的设计中,设计出一款数字化通用直流稳压电源。该电源具有液晶显示、数字输入调压、电压调节精度高的特点。通过软件编程,易于实现功能的扩展。AVR 系列的单片机不仅具有良好的集成性能, 而且都具备在线编程接口, 其中的Mega 系列还具备JTAG 仿真和下载功能; 含有片内看门狗电路、片内程序Flash、同步串行接口SPI; 多数AVR 单片机还内嵌了A/D 转换器、EEPROM、模拟比较器、PWM 定时计数器等多种功能; AVR 单片机的I/O 接口具有很强的驱动能力, 灌入电流可直接驱动继电器、LCD 等元件, 从而省去驱动电路, 节约系统成本。关键词:直流稳压电源;AVR单片机;液晶显示AbstractThe single chip digital control technology, organic integration into the DC power supply design, digital design a universal DC power supply. The power supply has a liquid crystal display, digital input voltage, voltage regulation and high accuracy. Through software programming, easy to expand their role.AVR microcontroller series, the integration is not only good performance, and all have online programming interface, which also has the Mega series of JTAG emulation and download capabilities; with on-chip watchdog circuitry, on-chip program Flash, synchronous serial interface SPI; most AVR microcontroller is also equipped with a A / D converter, EEPROM, Analog comparators, PWM timer counter and other functions; AVR microcontroller I / O interface has a strong drive capability, poured into the current can directly drive relays, LED and other components, thereby eliminating the need for circuit, system cost savings.Keywords: DC Power Supply; AVR microcontroller; LCD目录一、前言4二、系统功能5三、方案论证与比较631 稳压电源的分类632 稳压电源部分方案63.3 三端集成稳压芯片83.4 数字显示部分9四、系统硬件设计91、电路原理92、硬件模块分析102.1 ATmage16单片机模块92.2 L6203驱动模块122.3 5V系统电源模块142.4 1602液晶显示模块142.5输出电压采集反馈电路模块15五、系统的软件设计151 程序设计152.程序流程图16六结束语16七参考文献17附录1(电路原理图)18附录2(电子万年历程序)19一、前言电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业。电力电子技术是电能的最佳应用技术之一。当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。随着计算机和通讯技术发展而来的现代信息技术革命,给电力电子技术提供了广阔的发展前景,同时也给电源提出了更高的要求。随着数控电源在电子装置中的普遍使用,普通电源在工作时产生的误差,会影响整个系统的精确度。电源在使用时会造成很多不良后果,世界各国纷纷对电源产品提出了不同要求并制定了一系列的产品精度标准。只有满足产品标准,才能够进入市场。随着经济全球化的发展,满足国际标准的产品才能获得进出的通行证。数控电源是从80年代才真正的发展起来的,期间系统的电力电子理论开始建立。这些理论为其后来的发展提供了一个良好的基础。在以后的一段时间里,数控电源技术有了长足的发展。但其产品存在数控程度达不到要求、分辨率不高、功率密度比较低、可靠性较差的缺点。因此数控电源主要的发展方向,是针对上述缺点不断加以改善。单片机技术及电压转换模块的出现为精确数控电源的发展提供了有利的条件。新的变换技术和控制理论的不断发展,各种类型专用集成电路、数字信号处理器件的研制应用,到90年代,己出现了数控精度达到0.05V的数控电源,功率密度达到每立方英寸50W的数控电源。从组成上,数控电源可分成器件、主电路与控制等三部分。目前在电力电子器件方面,几乎都为旋纽开关调节电压,调节精度不高,而且经常跳变,使用麻烦。数字化智能电源是针对传统电源的不足设计的,数字化能够减少生产过程中的不确定因素和人为参与的环节数,有效地解决电源模块中诸如可靠性、智能化和产品一致性等工程问题,极大地提高生产效率和产品的可维护性。在家用电器和其他各类电子设备中,通常都需要电压稳定的直流电源供电。但在实际生活中,都是由220V 的交流电网供电。这就需要通过变压、整流、滤波、稳压电路将交流电转换成稳定的直流电。滤波器用于滤去整流输出电压中的纹波,一般传统电路由滤波扼流圈和电容器组成,若由晶体管滤波器来替代,则可缩小直流电源的体积,减轻其重量,且晶体管滤波直流电源不需直流稳压器就能用作家用电器的电源,这既降低了家用电器的成本,又缩小了其体积,使家用电器小型化。传统的直流稳压电源通常采用电位器和波段开关来实现电压的调节,并由电压表指示电压值的大小. 因此,电压的调整精度不高,读数欠直观,电位器也易磨损.而基于单片机控制的直流稳压电源能较好地解决以上传统稳压电源的不足。从上世纪九十年代末起,随着对系统更高效率和更低功耗的需求,电信与数据通讯设备的技术更新推动电源行业中直流/直流电源转换器向更高灵活性和智能化方向发展。整流系统由以前的分立元件和集成电路控制发展为微机控制, 从而使直流电源智能化, 基本实现了直流电源的无人值守 。直流稳压电源是最常用的仪器设备, 在科研及实验中都是必不可少的。数控电源采用按键盘,可对输出电压进行设置, 输出由单片机通过D/A,控制驱动模块输出一个稳定电压。同时稳压方法采用单片机控制, 单片机通过A/D 采样输出电压, 与设定值进行比较, 若有偏差则调整输出, 越限则输出报警信号并截流。工作过程中, 稳压电源的工作状态(输出电压、电流等各种工作状态) 均由单片机输出驱动LCD显示, 由键盘控制进行动态逻辑切换。以单片机为核心的智能化高精度简易直流电源的设计,电源采用数字调节、输出精度高, 特别适用于各种有较高精度要求的场合。电源采用数字控制,具有以下明显优点:1)易于采用先进的控制方法和智能控制策略,使电源模块的智能化程度更高,性能更完美。2)控制灵活,系统升级方便,甚至可以在线修改控制算法,而不必改动硬件线路。3)控制系统的可靠性提高,易于标准化,可以针对不同的系统(或不同型号的产品),采用统一的控制板,而只是对控制软件做一些调整即可。二、系统功能系统电压调节范围为012V,最大输出电流1A,具有过载和短路保护功能。输出电压可用1602LCD液晶显示。键盘设有6个键,复位键,步进增减1V两个键,步进增减0.1V两个键以及确认键。复位键用于启动参数设定状态(5V),步进增减键用于设定参数数值,确认键用于确认输出设定值.电源开机设定电压输出默认值为5V。通过步进增减按键功能选择可在不同的设定参数之间切换,再按确认键进入设定电压输出状态。若按复位键,则电压输出恢复5V。系统设有自动识别功能,将不接受超出使用范围(012V)的设定值。三、方案论证与比较31 稳压电源的分类 稳压电源的分类方法繁多,按输出电源的类型分有直流稳压电源和交流稳压电源;按稳压电路与负载的连接方式分有串联稳压电源和并联稳压电源;按调整管的工作状态分有线性稳压电源和开关稳压电源;按电路类型分有简单稳压电源和反馈型稳压电源,等等。如此繁多的分类方式会让我们摸不着头脑,不知道从哪里入手。我们必须弄清楚各个类别的特点,才能从中选出最佳方案。32 稳压电源部分方案 方案一:简单的并联型稳压电源并联型稳压电源的调整元件与负载并联,因而具有极低的输出电阻,动态特性好,电路简单,并具有自动保护功能;负载短路时调整管截止,可靠性高,但效率低,尤其是在小电流时调整管需承受很大的电流,损耗过大。方案二:串联型稳压电源并联稳压电源有效率低、输出电压调节范围小和稳定度不高这三个缺点。而串联稳压电源可以避免这些缺点。而简易串联稳压电源输出电压受稳压管稳压值得限制无法调节,必须对简易稳压电源进行改进,增加一级放大电路,专门负责将输出电压的变化量放大后控制调整管的工作。由于整个控制过程是一个负反馈过程,所以这样的稳压电源叫串联负反馈稳压电源。而这部分电路的设计会比较麻烦。 方案三:输出可调的开关电源 开关电源的功能元件工作在开关状态,因而效率高,输出功率大;且容易实现短路保护与过流保护,只是电路在低输出电压时开关频率低,纹波大,稳定度差。综合考虑效率,输出功率,输入输出电压,负载调整率, 本设计选用方案三,要求较低,较易实现.对于效率和纹波的要求可以通过仔细调整磁性元件的参数(L,Q,M等)使其工作在最佳状态。我们在选择方案的时候考虑到电路要简单,元件要容易找,所以我们选择了上述的方案中的第三个方案。稳压电路部分可以采用三极管等分立元件来实现,也可以采用集成三端集成稳压芯片。从性价比来说,采用三端集成稳压芯片来实现要好很多,现在的稳压芯片功能强大,且价格低廉,很适合我们此次的设计。3.3 三端集成稳压芯片方案一:采用LM317可调式三端稳压器电源 LM317可调式三端稳压器电源能够连续输出可调的直流电压. 不过它只能连续调正电压,稳压器内部含有过流,过热保护电路;由一个电阻(R)和一个可变电位器(RP)组成电压输出调节电路,输出电压为:Vo=1.25(1+RP/R). 方案二: 采用7805三端稳压器电源固定式三端稳压电源(7805)是由输出脚Vo,输入脚Vi和接地脚GND组成,它的稳压值为+5V,它属于CW78xx系列的稳压器,输入端接电容可以进一步的滤波,输出端也要接电容可以改善负载的瞬间影响,此电路的稳定性也比较好,使用起来可靠 、方便,而且价格便宜。本设计只需使用到5V输出作为单片机的电源输入,所以选用方案一3.4 数字显示部分方案一:用Atmage16实现模数转换利用单片机的软硬件资源实现高精度高速A/D转换,转换精度和转换速度还可以通过软件来改变,价格也低廉。不过对软件部分要求较高。方案二:采用三位半A/D转换器ICL7107ICL7107是高性能,低功耗的三位半A/D转换器,它含有七段译码器,显示驱动,参考源和时钟系统,它将高性能和低成本结合在一起。精度相对方案一要差,所以数字显示部分采用方案一。四、系统硬件设计1、电路原理电路系统结构如图1所示,系统选用Atmage16单片机为控制核心,外部扩展1602驱动芯片用以实现电压输出功能,同时1602液晶显示相应的输出电压值。单片机计算设定值与AD转换采样反馈值的偏差以及偏差的变化率,得出相应的输出值,由DA转换变换为模拟量去驱动电压输出控制电路,从而使电压稳定在设定值。键盘单片机驱动芯片负载显示器电 源图1 电路系统结构图2、硬件模块分析2.1 ATmage16单片机模块1)ATmage16的简介ATmega16是AVR系列单片机中比较典型的芯片,其主要特点有:(1)采用先进RISC结构的AVR内核(2)片内含有较大容量的非易失性的程序和数据存储器(3)片内含JTAG接口(4)宽电压、高速度、低功耗(5)片内含上电复位电路以及可编程的掉电检测复位电路BOD;片内含有1M/2M/4M/8M,经过标定的、可校正的RC振荡器,可作为系统时钟使用;多达21个各种类型的内外部中断源;有6种休眠模式支持省电方式工作等等。2)ATmage16的引脚分析其外部引脚封装如图2所示图2 ATmage16 外部引脚与封装示意图其中,各个引脚的功能如下:(1) 电源、系统晶振、芯片复位引脚Vcc: 芯片供电(片内数字电路电源)输入引脚,使用时连接到电源正极。AVcc:为端口A和片内ADC模拟电路电源输入引脚。不使用ADC时,直接连接到电源正极;使用ADC时,应通过一个低通电源滤波器与Vcc连接。AREF:使用ADC时,可作为外部ADC参考源的输入引脚。GND: 芯片接地引脚,使用时接地。XTAL2:片内反相振荡放大器的输出端。XTAL1:片内反相振荡放大器和内部时钟操作电路的输入端。RESET:RESET为芯片复位输入引脚。在该引脚上施加(拉低)一个最小脉冲宽度为1.5us的低电平,将引起芯片的硬件复位(外部复位)。(2) 32根I/O引脚,分成PA、PB、PC和PD四个8位端口,他们全部是可编程控制的双(多)功能复用的I/O引脚(口)。四个端口的第一功能是通用的双向数字输入/输出(I/O)口,其中每一位都可以由指令设置为独立的输入口,或输出口。当I/O设置为输入时,引脚内部还配置有上拉电阻,这个内部的上拉电阻可通过编程设置为上拉有效或上拉无效。如果AVR的I/O口设置为输出方式工作,当其输出高电平时,能够输出20mA的电流,而当其输出低电平时,可以吸收40mA的电流。因此AVR的I/O口驱动能力非常强,能够直接驱动LED发光二极管、数码管等。而早期单片机I/O口的驱动能力只有5mA,驱动LED时,还需要增加外部的驱动电路和器件。芯片Reset复位后,所有I/O口的缺省状态为输入方式,上拉电阻无效,即I/O为输入高阻的三态状态。3)ATmage16在电路中的主控作用应用ATmage16 主要完成PWM 波的输出及控制功能。它可以先产生一定脉宽的PWM 波,作为L1603 驱动电路输入信号,然后根据所需要的基准电压与检测到的输出电压的比较,调整脉宽,即改变占空比,最终实现高性能可调直流稳压。图3内部晶体振荡器外接电路2.2 L6203驱动模块L6203驱动模块就是将5V的输入电压变成Vin的电压24V,一方面提高电压,一方面提高电流。电源驱动芯片的选择,由于器材的限制以及使用CMOS管需要的驱动需要注意比较多的前级推动,如果直接使用电机驱动芯片L6203,其价格实惠,电路简单而且效果非常好。图4 L6203驱动模块图5 L6203的外观图L6203的各管脚说明见下表Device L6203NameFunction1OUT2Ouput of 2nd Half Bridge2VsSupply Voltage3OUT1Output of first Half Bridge4 BOOT1 Aboostrap capacitor connected to this pin ensures efficient driving of the upper POWER DMOS transistor.5IN1Digital Input from the Motor Controller6GNDCommon Ground Terminal7IN2Digital Input from the Motor Controller8 BOOT2A boostrap capacitor connected to this pin ensures efficient driving of the upper POWER DMOS transistor9 VrefInternal voltage reference. A capacitor from this pin to GND isrecommended. The internal Ref. Voltage can source out acurrent of 2mA max.10SENSEA resistor Rsense connected to this pin provides feedback for motor current control11 ENABLEWhen a logic high is present on this pin the DMOS POWERtransistors are enabled to be selectively driven by IN1 and IN2.2.3 5V系统电源模块单片机要工作需要有5V电源输入,本设计采用7805稳压电源电路图6 5V系统电源模块2.4 1602液晶显示模块如果采用数码管显示,其价格便宜,但是占用端口较多,功耗大、显示不功能不全。而用1602液晶显示,则占用端口少,显示功能较全面,驱动电流小。所以选择选择1602液晶显示。图7 给出1602 字符液晶作为信号显示部分图7 1602液晶显示模块2.5 输出电压采集反馈电路模块图8 输出电压采集反馈电路五、系统的软件设计1 程序设计数控直流稳压电源的程序主要包括3个方面的内容:一是单片机从按键中读取数据,而后和原有的输出电压进行比较;二是利用按键进行输出的调整;三是从单片机中读取数据传输到1602液晶显示器,进而显示输出电压值。2.程序流程图如图9所示图9程序流程图六结束语利用单片机对直流稳压电源进行控制,改善了电源的性能,使用方便灵活,且成本较低。另一方面,根据对电源的新要求,控制系统在软件上还可进一步改进,以扩展其功能,而并不需要增加硬件开销,从而提高了电源的性能价格比。七参考文献1王兆安,黄俊.电力电子技术M.北京:机械工业出版社,20052李文元.高精度工业用可调直流电源的设计和制造R.兰州理工大学,2000.3张毅刚单片机原理及应用I-M北京:高等教育出版社,20044E33范立南单片微型计算机控制系统设计M北京;人民邮电出版社,20045王水平,史俊杰,田庆安.开关稳压电源原理、设计及实用电路(修订版)M.西安:西安电子科技大学出版社,20056潘永雄.新编单片机原理与应用M.西安:西安电子科技大学出版社,2003附录1(电路原理图)附录2(数控直流稳压电源程序)This program was produced by theCodeWizardAVR V1.25.7a EvaluationAutomatic Program Generator?Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.Project : Version : Date : 2010-5-20Author : Freeware, for evaluation and non-commercial use onlyCompany : Comments: Chip type : ATmega16Program type : ApplicationClock frequency : 8.000000 MHzMemory model : SmallExternal SRAM size : 0Data Stack size : 256#include <mega16.h>#include "1602.c"#include "adc.c" 全局定义#define choice 0x7e#define up PIND.6#define down PIND.0#define right PIND.2#define left PIND.1#define ok PIND.3 #define Enable PORTD.7 /*定义界面内容*/flash uchar set1="Plese set Volt: "/flash uchar shu="0123456789."flash uchar putvolt=" Volt: "flash uchar putamp=" Amp: "flash uchar start="Starting"/flash uchar error="error"uint volt=50;功能:进入系统的初始化函数void intosys()uchar i; lcd_init(); write_com(lcd_clr); write_com(0x80); delay_ms(5); for(i=0;i<8;i+) write_data(starti); /启动开机界面 delay_ms(2); /延时写入,可以防止液晶处于忙状态 write_com(0x80+0x40); delay_ms(5); for(i=0;i<16;i+) write_data('-'); delay_ms(100);用户界面一,设置界面void user_1()uchar i;write_com(lcd_clr); write_com(0x80); delay_ms(5); for(i=0;i<16;i+) write_data(putvolti); delay_ms(5); write_com(0x80+0x40); delay_ms(5); for(i=0;i<16;i+) write_data(putampi); delay_ms(5);用户界面2,输出状态下void user_2() uchar i; write_com(lcd_clr); write_com(0x80+1); delay_ms(5); for(i=0;i<16;i+) write_data(putvolti); delay_ms(3); write_com(0x80+0x40); delay_ms(5); for(i=0;i<16;i+) write_data(set1i); delay_ms(3);显示数据函数,将数据分开void show_data(uint data) char ch1,ch2,ch3; ch1=data/100; ch2=data/10%10; ch3=data%10; if(ch1=0) write_data(0x30+ch2); delay_ms(4); write_data('.'); delay_ms(4); write_data(0x30+ch3); delay_ms(4); write_data(0x20); else write_data(0x30+ch1); delay_ms(4); write_data(0x30+ch2); delay_ms(4); write_data('.'); delay_ms(4); write_data(0x30+ch3); delay_ms(4);显示电压值void show_volt(uint data) write_com(0x80+6); show_data( data);显示电流值void show_amp(uint data)char ch1,ch2,ch3,ch4; write_com(0x80+0x45); ch1=data/1000; ch2=data/100%10; ch3=data/10%10; ch4=data%10; write_data(0x30+ch1); delay_ms(4); write_data('.'); delay_ms(4); write_data(0x30+ch2); delay_ms(4); write_data(0x30+ch3); delay_ms(4); write_data(0x30+ch4); delay_ms(4); 读取电流值uint Read_Amp() unsigned int freeback_amp,ampdata,temp;uchar chi,i,j; for(chi=0;chi<50;chi+) ampdatachi=mega16_ad(0)*2.6/10; /delay_ms(2); for(i=0;i<50;i+) for(j=0;j<50;j+) if(ampdatai<ampdataj) temp=ampdatai; ampdatai=ampdataj; ampdataj=temp; freeback_amp=(ampdata24+ampdata25+ampdata26)/3; return freeback_amp;读取输出电压uint Read_Output_Volt()unsigned int freeback_volt,data,temp;uchar chi,i,j; for(chi=0;chi<30;chi+) datachi=mega16_ad(1)*0.15; /delay_ms(2); for(i=0;i<30;i+) for(j=0;j<30;j+) if(datai<dataj) temp=datai; datai=dataj; dataj=temp; freeback_volt=(data14+data15+data16)/3; return freeback_volt;输出与设置比较程序void cheak() show_volt(Read_Output_Volt(); while(Read_Output_Volt()>volt) OCR1B-; delay_ms(3); while(Read_Output_Volt()<volt) OCR1B+; delay_ms(3); show_amp(Read_Amp();电压设置1void user_set1() user_2(); Enable=0; while(ok) SREG.0=0; if(up=0) volt+; delay_ms(50); else if(down=0) volt-; delay_ms(50); else if(right=0) volt=volt-10; else if(left=0) volt=volt+10; if(SREG.0=1) volt=0; if(volt>120) volt=120; delay_ms(100); show_volt(volt); OCR1B=1.7*volt; Enable=1; 电压设置2,输出不关闭的情况调节电压void user_set2() while(1) while(ok) /*当确定键没有被按下时使用up/down按键实时调节输出电压 并且可以查看电流*/ SREG.0=0; if(up=0) volt+; else if(down=0) volt-; else if(right=0) volt=volt-10; else if(left=0) volt=volt+10; if(SREG.0=1) volt=0; /OCR1B=1.7*volt; if(volt>120) volt=120; /OCR1B=1.7*volt; delay_ms(100); /show_volt(volt); Enable=1; cheak(); /delay_ms(20); while(ok); user_set1(); user_1();主函数void main() DDRD=0xB0; PORTD=0X4F; TCCR1A=0Xa1; /8位快速PWM,OC1A为普通用途,OC1B为PWM TCCR1B=0X09; /无预分频位,fpwm=8000000/256=31.5k delay_ms(100); intosys(); /Enable=1; user_set1(); user_1(); user_set2();

    注意事项

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

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




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

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

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

    收起
    展开