1、湖州师范学院信息与工程学院毕业设计湖州师范学院信息与工程学院 毕 业 设 计(论文)2011 届题 目 基于51单片机的数控稳压电源专 业电 子 信 息 工 程学生姓名学 号指导教师论文字数完成日期湖州师范学院文印中心印制摘要:数控直流稳压电源就是能用数字来控制电源输出电压的大小,而且能使输出的直流电压能保持稳定、精确的直流电压源。本文介绍了利用D/A转换电路、辅助电源电路、去抖电路等组成的数控稳压电源电路,详述了电源的基本电路结构和控制策略。它与传统的稳压电源相比,具有操作方便,电压稳定度高的特点,其结构简单、制作方便、成本低,输出电压在0-10V之间连续可调,其输出电压大小以0.1V步进,
2、输出电压的大小调节是通过“+”、“-两个键操作的,而且可以根据实际要求组成具有不同的输出电压值的稳压源电路。该电源控制电路选用89C51单片机控制主电路采用串联调整稳压技术具有线路简单、响应迅速、稳定性好、效率高等特点。详细分析了电源的拓扑图及工作原理。关键词:稳压电源、单片微型机;数控直流、D/A转换;目 录第一章绪论11.1数控直流稳压电源的产生背景11。2 系统开发的意义11。3 系统主要功能21。4 研究中拟解决的主要问题2第二章系统总体方案设计32。1系统概述32。2系统整体概述42。2。1控制部分52。2。2显示部分52。2.3 红外部分52。2。4 键盘接口部分52。2.5 外部
3、存储52。2.6 电源部分52.2.7 其它电路部分6第三章相关技术介绍73。1 红外通信原理73.1。1 红外的发射和接收73。1。2 编码73。1。3 调制83.1。4 解调83。1.5 解码93。2 I2C总线概述10第四章系统硬件电路设计124.1 单片机主控电路设计124.2 显示电路134.3 红外接收电路154.4 按键电路154。5 外部存储电路154。6 报警电路174.7 开锁电路174。8 电源电路184。9 系统时钟及复位电路184.10 系统总电路19第五章系统软件设计215.1 主程序215。2掉电存储服务程序225。3 红外遥控解码程序235.4密码设定程序24结
4、束语26参考文献27致谢28附录29第一章 绪论引言采用单片机的数字可调稳压电源价格低廉采用普遍使用的元件就能实现其功能,显示清晰直观,传统的模拟可调稳压电源没有读数,在读数过程中很不方便,并且长时间使用会造成输出电压不稳。数字可调稳压电源则采用先进的数显技术,使测量结果一目了然,只要仪表不发生跳数现象,测量结果就是唯一的,不仅保证读数的客观性与准确性,还符合人们的读数习惯,能缩短读数和记录的时间。模拟可调稳压电源大多是通过调节电位器的阻值改变输出直流电压,电位器特别容易磨损,使用一段时间后就会出现接触不良,引起输出电压不稳定。数字可调稳压电源是通过接触按钮以步进方式选取不同的输出电压,再有数
5、码管显示输出电压机器工作状态,工作稳定可靠.采用单片机的数字可调稳压电源,它具有输出电压容易改变、价格低廉、显示清晰直观、准确度高、扩展能力强等特点。数控直流稳压电源是一种常见的电子仪器,广泛地应用于电子电路、教学实验和科学研究等领域,目前使用的直流稳压电源大部分是线性电源,利用分立器件组成,其体积大、效率低,可靠性差,操作使用不方便,自我保护功能不够,因而故障率高,随着电子技术的飞速发展,各种电子、电器设备对稳压电源的性能要求日益提高、稳压电源不断朝着小型化,高效率,低成本,高可靠性,低电磁干扰,模块化智能化方向发展,以单片机系统为核心而设计制造出来的新一代稳压电源不但电路简单,结构紧凑,价
6、格低廉,性能卓越,而且由于单片机具有计算和控制能力,利用它对采样数据进行各种计算,从而可排除和减少由于骚扰信号和模拟电路引起的误差,大大提高稳压电源输出电压和控制电流精度,降低了对模拟电路的要求。智能稳压电源可利用单片机设置周密的保护监测系统,确保电源运行可靠。输出电压和限定电流采用数字显示,输入采用键盘方式,电源的外表美观,操作使用方便,具有较高的使用价值。单片计算机即单片微型计算机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学
7、习,应用,从而达到学习、设计、开发软、硬的能力. 本文通过对一个基于51单片机的能实现数字可调的电压源,详细介绍了单片机应用中的数据处理,液晶显示原理。从而达到学习、了解单片机相关指令在各方面的应用。系统由AT89S52单片机、DA转换、LCD12864液晶等组成,能进行0-10V的电压大小调节。1.1 数控电压源产生的背景电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业.当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。直流稳压电源是电子技术常用的仪表设备之一,广泛的应用于教学、科研等领域,是电子实验员、电子设计人员及电路开发部门进行试验操作和科学研究
8、不可缺少的电子仪器.在电子电路中,通常都需要电压稳定的直流电源来供电.而整个稳压过程是由电源变压器、整流、滤波、稳压等四部分组成.然而这种传统的直流稳压电源功能简单、不好控制、可靠性低、干扰大、精度低、复杂度高.普通的直流稳压电源品种有很多,但均存在一下二个问题:输出电压是通过粗调(波段开关)及细调(电位器)来调节.这样,当输出电压需要精确输出,或需要在一个小范围内改变时,困难就较大。另外,随着使用时间的增加,波段开关及电位器难免接触不良,对输出会有影响.稳压方式均是采用串联型稳压电路,对过载进行限流和截流保护,电路构成复杂,稳压精度也不高.在家用电器和其他各类电子设备中,通常都需要电压稳定的
9、直流电源供电。但在实际生活中,都是由220V的交流电网供电。这就需要通过变压、整流、滤波、稳压电路将交流电转换成稳定的直流电.滤波器用于滤去整流输出电压中的纹波,一般传统电路由滤波扼流圈和电容器组成,若由晶体管滤波器来代替,则可缩小直流电源的体积减轻其重量,且晶体管滤波直流电源不需要直流稳压器就能用作家用电器的电源,就既降低了家用电器的成本,由缩小了其体积,使家用电器小型化.传统的直流稳压电源通常采用电位器和波段开关来实现电压的调节,并由电压表指示电压值的大小.因此,电压的调节精度不高,读数欠直观,电位器也易磨损。而基于单片机控制的直流稳压电源就较好地解决以上传统稳压电源的不足。数控稳压电源是
10、电子行业发展的必然产物。近年来,随着电子技术的发展可调稳压电源应用的越来越广泛.目前,由各种单片机构成的数字稳压电源产品越来越多,已被广泛用于家庭电器、工业电器、军事电器等领域,显示出强大的生命力。与此同时,由于它扩展能力很强,功能日趋完善而扩展到人们生活的各个方面。电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业,电力电子技术是电能的最佳应用技术之一。当今电源技术融合了电气、电子、系统集成、控制理论和材料等诸多学科领域.随着计算机和通讯技术发展而来的现代信息技术革命,给电力电子技术提供了广阔的发展前景,同时也给电源提出了更高的要求。数控电源是从80年代才真正的发展起来的,
11、在以后的一段时间里,数控电源技术有了长期的发展。但其产品存在数控程度达不到要求、分辨率不高、功率密度比较低、可靠性较差的缺点。因此数控电源主要的发展方向,是针对上述缺点不断加以改善。单片机技术及电压转换模块的出现为精确数控电源的发展提供了有利的条件.1。2 系统开发的意义随着时代的发展,数字电子技术已经普及到我们生活、工作和科研等各个领域.本文将介绍一种数控直流稳压电源,本电源由直流电源、控制电路、显示电路、数模转换电路、电压放大和射极输出等部分组成.具体说采用51系列单片机作为整机的控制单元,通过改变输入数字量来改变输出电压值,经集成运放放大和射极输出器输出,间接地改变输出电压的大小.与传统
12、的稳压电源相比具有操作方便,电源稳定性高以及其输出电压大小采用数码显示的特点.1。3 系统主要功能本系统的主要功能如下:1、输出直流电压调节范围010V;2、输出直流电压能步进调节,步进值为0.1V;3、由“+“-两键分别控制输出电压步进增和减;4、输出电压类型可选:直流电压具体数值。1。4 研究中拟解决的主要问题 在研究过程中,要使电源的输出电压时0。1V的精度,开始硬件的设计部分有些难度,还有就是硬件焊接完成以后的调试过程也是很困难的,因为以前课程设计的时候,做过硬件方面的调试,所以在这次毕业设计过程中,硬件的调试成功与否是关键。 1、概述2。1、系统概述:电源技术尤其是数控电源技术是一门
13、实践性很强的工程技术,服务于各行各业.随着数控电源在电子装置中的普遍使用,普通电源在工作生产时产生的误差,会影响整个系统的精确度,数控电源是从80年代才真正发展起来的,期间系统的电力电子理论开始建立。这些理论为其后来的发展提供了一个良好的基础。在以后的一段时间里,数控电源技术有了长足的进步和发展,但是其产品存在数控程度达不到要求、分辨率不高、功率密度比较低、可靠性较差的缺点。因此数控电源主要的发展方向,是针对上述缺点不断加以改善。单片机技术及电压装换模块的出现为精度数控电源的发展提供了有利的条件,新的变换技术和控制理论的不断发展,各种类型专用集成电路、数字信号处理器件的研制应用,到90年代,已
14、经出现了数控精度达到0.05V的数控电源,功率密度达到每立方英寸50W的数控电源。从组成上,数控电源可分成器件、主电路与控制等三部分.目前在电力电子器件方面,几乎都为旋钮开关调节电压,调节精度不高、而且经常跳变,使用麻烦数字化电源模块是针对传统电源模块的不足提出的,数字化能够减少生产过程中的不确定因素和认为参与的环节数,有效的解决电源模块中诸如可靠性、智能化和产品一致性等的工程问题,极大的提高生产效率和产品的可维护性。数控稳压电源是电子设备的重要部分,其质量好坏直接影响着电子设备的可靠性,而且电子设备的故障60%来自电源.因此电源越来越受到人们的重视.电子电路及电子设备对电源最基本的要求就是电
15、源的输出电压或输出电流要稳定。通过查阅大量资料,显示电路和控制电路是本电路的核心部分,对它的选择有以下三种方案:方案一:采用模拟电路采用模拟电路的可调稳压电路就是用一个多档开关来控制输出电压,而所谓的显示系统只是在多档开关的每个档的旁边注明电压值。随着电子行业的发展,它不耐用的弊端已经使它逐渐离开历史的舞台。方案二:采用纯数字电路纯数字电路的稳压电源避免了硬件之间的磨损,使得使用寿命大大提高,而且其输出电压也不会随时间产生误差。但是它的电路较为复杂,制作时很困难,由于电路的复杂产生的问题也会很多。方案三:采用单片机的方法采用单片机的数字稳压电源是将数字电路和单片机很好地结合在一起,不但能够达到
16、数字电路的效果,而且能够大大地简化复杂的纯数字电路.采用单片机后,还可以用软件实现保护功能,要扩展其他的功能也非常容易。通过多方面考虑和实用性,精确度,单片机进行处理,具有低功耗、高性能、抗干扰能力强等优点,故我们选择方案三.系统整体框图(里面内容可以根据你做的改)单片机显示电路按键D/A转换控制电路稳压电路输出电路整流滤波变压器220v2。2系统整体概述2.2。1控制部分2.2。2显示部分方案论证方案一:采用数码管作为显示器件,数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示 时间
17、、日期、温度等所有可用数字表示的参数.由于它的价格便宜,使用简单是我们平时用的比较多的。 方案二,采用LCD液晶显示。(不知道你用来显示什么)字符型液晶显示模块是专门用于显示字母、数字、符号等的点阵型液晶显示模块。方案二与方案一相比,有更高的精度和显示多数据,比较符合本设计所需要,综上所述采用方案二。2。2。3红外部分(红外不懂)2。2。4键盘接口部分方案一,采用独立式键盘方案二,采用行列式矩阵键盘因为本设计所需要的按键数多,如果采用独立式键盘每个按键需要一个单片机的I/O会占用很多I/O口,因此采用方案二的矩阵键盘2.2。5外部存储(不懂干嘛用的)2。2。6电源部分2。2.7其它电路部分 第
18、三章 相关技术介绍3。1 红外通信原理通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作.红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射雕红外光转换为相应的电信号,再送后置放大器。3。1。1红外的发射和接收发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它发出的便是红外线而不是可见光.目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通5发光二极管相同,只是颜色不同7。
19、 遥控发射通过键盘,每按下一个键,即产生具有不同的编码数字脉冲,这种代码指令信号调制在40KHz的载波上,激励红外光二极管产生不同的脉冲,通过空间的传送到受控机的遥控接收器。接收部分主要元件是红外接收管,它是一种光敏二极管(实际上是三极管,基极为感光部分)。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度3。1.2编码3。1。3调制3。1.4解调3.1。5解码 第四章 系统硬件电路设计4。1 单片机主控电路设计单片机最小系统是整个设计的核心部分,4。2 显示电路4。3 红外接收电路4。4 按键电路4.5 外部存储电路
20、4.6 报警电路4。7 开锁电路4。8 电源电路4。9 系统时钟及复位电路4。10 系统总电路 第五章 系统软件设计(你根据编程画几个流程图就好了)1。2、设计思路 根据设计任务要求走,数控直流稳压电源的工作原理框图如图1所示。主要包括三大部分:数字控制部分、模拟/数字转换部分(D/A变换器)及可调稳压电源。数字控制部分用+、按键控制一可逆二进制计数器,二进制计数器的输入输出到D/A转换器,经D/A转换器转换成相应的电压,此电压经过放大到适合的电压值后,去控制稳压电源的输出,是稳压电源的输出电压以0。1V的步进值增或减。 图11。3、稳压源的技术指标与要求 设计并制作有一定输出电压调节范围和功
21、能的数控直流稳压电源。基本要求如下:(1)输出直流电压调节范围010V;(2)输出直流电压能步进调节,步进值为0。1V(3)由“+“两键分别控制输出电压步进增和减;(4)输出电压类型可选:直流电压具体数值。 在图3中,该部分主要是由三端稳压器LM7812、LM7912、LM7805和若干个电容、二极管元器件组成,220V市电经220V/12V变压器降压后得到的双12V交流电压,经三端稳压器LM7812和LM7912得到的+12V,再经过LM7805得到的+5V的电压。3。2、显示部分 在图4中,显示部分比较简单,主要是由两个数码管和若干电阻组成,两个数码管分别显示电压的个位和十分位,该部分是由
22、单片机完成的,数码管的各个端口以依次连到AT89C51单片机的P1。0、P1。1、P1。2、P1。3、P1.4、P1。5、P1。6、P1。7口,完成对电压的显示功能. 图4 图6 结束语本文设计的数控直流电压源,利用AT89C51单片机及其外围扩展电路,采用了键盘数码显示,该电源具有调整方便、步进精度高等特点,可作为电子仪器直流标准电压源,其数字化的输入快捷方便、简洁明了。在该系统中,稳定性非常的好.参考文献: 1 吴海波,康长武。 分光光度计用高精度恒流源的设计与分析. 中国科技论文在线, http: / /www. paper. edu. cn: 16。 2 郭继昌,李香萍。 张宏涛。 基
23、于单片机控制的恒流源的设计 J . 电子测量与仪器学报, 2000 (4) : 5963。 3 尉广军,朱宇虹。 采用集成稳压器构成的恒流源电路 J 。 华北工学院调试技术学报, 2000, 14: 643646。 4 李维波,毛承雄,陆继明等。 电力设备直流电阻测量用恒流源研究 J 。 电力自动化设备, 2003。 (5) : 6366. 5 童诗白,华成英编著。 模拟电子技术M . 北京:高等教育出版社, 2001。6 周玮,吴贵能,李儒章。一种二阶补偿的CMOS带隙基准电压源J。 重庆邮电大学学报(自然科学版),2009,(01).7KhongMeng Tham, Krishnaswam
24、y Nagaraj. A LowSupplyVoltage High PSRR Voltage Reference in CMOSProcessJ。 IEEE Journal of Solid-state Circuits,1995,30 8 陈 碧, 罗 岚, 周帅林, 等. 一种低温漂CMOS 带隙基准电压源的设计 J . 电子器件, 2004, 27( 1) : 79 82. 9 金爱娟, 李航天, 李少龙。 五相异步电机的SVPWM J . 电机与控制学报, 2004, 8 (4) : 377 - 381。10 李朝青。单片机原理及接口技术M。北京:北京航空航天大学出版社,2005.1
25、1 卢超。分布式矿井温度监测系统的设计J。 煤炭科学技术,2007,(12):12 卢超.单片机同PC机通信的一种新方法J。矿山机械,2007,(04):13 王昊,李昕.集成运放应用电路设计360例M.北京:电子工业出版社,2007。14 卢超。PVDF型脉搏传感器信号处理电路的设计J. 齐齐哈尔大学学报(自然科学版).200915 郭天祥。51单片机C语言教程M。 北京:电子工业出版社,200916张吉卫,李瑞霞,丁晓东。数控直流电流源设计J。微计算机信息,2007,31:247249。17许艳惠.一种智能化高精度数控直流电源的设计与实现J。微计算机信息,2007,112:136-138.
26、18贾畅鹏。数控直流电流源的设计J.煤矿机械,2007,3-3:21-23.19王永德,赵宏才,马石岩,张召友,刘士军。高精度数控直流电流源J。微电子学与计算机 2007,3-2:120123.20梅笙,李玮.基于 AT89C52 的数控直流电流源设计J.电子测,2007,9-2:20-27。试21曲学基。稳定电源电路设计手册M。北京:电子工业出版社,2003。22胡汉才。单片机原理及其接口技术M。北京:清华大学出版社,2003.23 魏智。多 ADC 系统的基准源设计.国外电子元器件,2002。24 RazaviB著。陈贵灿等译.模拟 CMOS集成电路设计M。西安:西安交通大学出版社,200
27、2。25 刘刚,何笑明,陈涛.微电子器件与 IC 设计。北京:科学出版社,2005。26 Kiat SengYeo,Samir S. Rofail,Wang LingGob 著。周元兴,张志龙等译.低压低功耗 CMOS/BiCMOS超大规模集成电路。北京:电子工业出版社,2003。附录:1、 实物图:相关程序:includereg51.hinclude1602.hdefine DAC XBYTE0x7fff /P2。7接CSinclude absacc.hunsigned char shu=0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x
28、2e,11;char show1=input V:;char show2=”zhao song”;char show3=v;char show4=error;unsigned int V=0;unsigned char t;unsigned char Data5=0,0,0,0,0;unsigned long dac, c=0;void delay(char t) unsigned char i; while(t-) for(i=0;i150;i+);void keybarod( ) unsigned char a,i; unsigned char num=0xef,0xdf,0xbf; fo
29、r(i=0;i3;i+) P1=numi; if(P1!=numi) delay(15); /延时十毫秒 if(P1!=numi) a=P1; c+; while(P1!=numi);/确保按键每次按下只产生一个对应数字 switch(a) case 0xee: Datac=shu4*i+0;break; case 0xed: Datac=shu4i+1;break; case 0xeb: Datac=shu4i+2;break; case 0xe7: Datac=shu4i+3;break; case 0xde: Datac=shu4i+0;break; case 0xdd: Datac=s
30、hu4*i+1;break; case 0xdb: Datac=shu4*i+2;break; case 0xd7: Datac=shu4*i+3;break; case 0xbe: Datac=shu4i+0;break; case 0xbd: Datac=shu4*i+1;break; case 0xbb: Datac=shu4*i+2;break; case 0xb7: Datac=shu4i+3;break; switch(c) case 1: write_com(0x01);/清屏 write_com(0x80); for(i=0;i8;i+) write_data(show1i);
31、 write_com(0xc0); for(i=0;i10;i+) write_data(show2i);/第二行的字 write_com(0x88); if (Data1=0x2e) /第一个输入的如果是小数点,自动在第一位写入0,并且在第二位输入小数点 write_data(0x30); write_data(Data1); else if(Data1=11)/如果第一次输入为确认键,输出error for(i=0;i5;i+) write_data(show4i); c=0;break; else write_data(Data1);/如果第一次输入为数,输出 break; case 2
32、: if(Data2=11) /如果第二次输入为确认键 if (Data1!=0x2e) /第一次输入为数 V=Data1-0x30; write_data(show30); dac=V*128/12+128;c=0;break; else /第一次输入为小数点 write_com(0x88); for(i=0;i5;i+) write_data(show4i); c=0;break; else if (Data2=0x2e) /如果第二次输入为小数点 if(Data1=0x2e) /第一次输入也为小数点 ,输出error write_com(0x88); for(i=0;i5;i+) wri
33、te_data(show4i); c=0;break; else /第一次输入为数,输出此数 write_data(Data2);break; else /如果第二次输入为数 (判断) if(Data1=0x2e) /第一次输入为小数点 write_data(Data2);break; else /第一次输入也为数 ,则(再判断) V=10*(Data10x30)+(Data20x30); if(V=0&V=10) write_data(Data2);break; else write_com(0x88); for(i=0;i5;i+) write_data(show4i); c=0;brea
34、k; case 3: if(Data3=11) /如果第三次输入为确认键 if(Data1!=0x2e&Data2!=0x2e) /前两次输入的都为数字 V=10(Data10x30)+(Data2-0x30); write_data(show30); dac=V128/12+128;c=0;break; else if(Data1=0x2e) V=Data20x30; write_data(show30); dac=V12。8/12+128;c=0;break; else V=Data1-0x30; write_data(show30); dac=V128/12+128;c=0;break; else if(Data3=0x2e) /如果第三次输入为小数点 if(Data1!=0x2e&Data2!=0x2e) write_data(Data3);break; else write_com(0x88); for(i=0;i5;i+) write_data(show4i); c=0;break; else /如果第三次输入为数 if(Data2=0x2e) /如果第二位输入的是小数点,输出此数(即就是1.2的形式) write_data(D
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100