基于单片机的直流电源设计--毕业论文.docx_第1页
基于单片机的直流电源设计--毕业论文.docx_第2页
基于单片机的直流电源设计--毕业论文.docx_第3页
基于单片机的直流电源设计--毕业论文.docx_第4页
基于单片机的直流电源设计--毕业论文.docx_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的直流电源设计摘要:该设计利用STC89C52单片机作为主控器,通过按键来控制输出电压,设计步进为0.1V,输出电压范围为0V12V,但由于硬件芯片存在漏电流的影响,做实物时输出电压范围调整为2.4V12V,由LCD1602显示电压设定值。由单片机程控设定数字信号通过 D/A 转换芯片TLC5615输出模拟量, 经运放放大再滤波之后输出。关键词:51单片机;TLC5615;电源AbstractThe design with STC89C52 microcontroller as the main control unit, the key to control the output voltage, design step 0.1V, the output voltage range of 0V - 12V, but due to the influence of the leakage current hardware chip, do real output voltage adjustment range is 2.4V - 12V, by the LCD1602 display voltage set value. By the single-chip programmable set digital signal through D / A conversion chip TLC5615 output analog, the op amp amplification and filtering the output.Key words: 51 MCU; TLC5615; Power Supply目录一:引言- 1 -二:硬件系统设计- 2 -2.1:功能要求- 2 -2.2:系统框图- 2 -2.3:输入电源模块的设计- 3 -2.4:参考电压模块的设计- 3 -2.5:单片机电路的设计- 4 -2.6:显示模块设计- 4 -2.7:按键模块设计- 5 -2.8:D/A转换模块的设计- 6 -2.9:信号放大电路和串联稳压电路的设计- 6 -2.10:硬件制作- 7 -三:主要元件介绍- 9 -3.1:STC89C52单片机- 9 -3.2:LCD1602- 10 -3.3:TLC5615- 11 -3.4:LM358- 13 -四:proteus仿真- 14 -4.1:proteus软件简介- 14 -4.2:仿真图绘制及仿真- 14 -五:软件设计- 15 -5.1:Keil uVision3软件简介- 15 -5.2:程序设计- 16 -六:故障排除- 17 -七:测试- 19 -八:课程设计小节- 19 -九:附件- 20 -附件一:源程序- 20 -附件二:仿真图- 23 -附件三:原理图- 24 -附件四:PCB图- 24 -一:引言电源技术尤其是数控电源技术是一门实践性很强的工程技术,服于各行各业。电力电子技术是电能的最佳应用技术之一。当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。随着计算机和通讯技术发展而来的现代信息技术革命,给电力电子技术提供了广阔的发展前景,同时也给电源提出了更高的要求。随着数控电源在电子装置中的普遍使用,普通电源在工作时产生的误差,会影响整个系统的精确度。电源在使用时会造成很多不良后果,世界各国纷纷对电源产品提出了不同要求并制定了一系列的产品精度标准。只有满足产品标准,才能够进入市场。随着经济全球化的发展,满足国际标准的产品才能获得进出的通行证。数控电源是从80年代才真正的发展起来的,期间系统的电力电子理论开始建立。这些理论为其后来的发展提供了一个良好的基础。在以后的一段时间里,数控电源技术有了长足的发展。但其产品存在数控程度达不到要求、分辨率不高、功率密度比较低、可靠性较差的缺点。因此数控电源主要的发展方向,是针对上述缺点不断加以改善。单片机技术及电压转换模块的出现为精确数控电源的发展提供了有利的条件。新的变换技术和控制理论的不断发展,各种类型专用集成电路、数字信号处理器件的研制应用,到90年代,己出现了数控精度达到0.05V的数控电源,功率密度达到每立方英寸50W的数控电源。从组成上,数控电源可分成器件、主电路与控制等三部分。目前在电力电子器件方面,几乎都为旋纽开关调节电压,调节精度不高,而且经常跳变,使用麻烦。数字化智能电源模块是针对传统智能电源模块的不足提出的,数字化能够少生产过程中的不确定因素和人为参与的环节数,有效地解决电源模块中诸如可靠性、智能化和产品一致性等工程问题,极大地提高生产效率和产品的可维护性。随着科学技术的不断发展,特别是计算机技术的突飞猛进,现代工业应用的工控产品均需要有低纹波、宽调整范围的高压电源,特别是在一些高能物理领域,急需电脑或单片机控制的低纹波、宽调整范围的电源。电源采用数字控制,具有以下明显优点:1) 易于采用先进的控制方法和智能控制策略,使电源模块的智能化程度更高,性能更完美。2) 控制灵活,系统升级方便,甚至可以在线修改控制算法,而不必改动硬件线路。3) 控制系统的可靠性提高,易于标准化,可以针对不同的系统(或不同型号的产品),采用统一的控制板,而只是对控制软件做一些调整即可。4) 系统维护方便。一旦出现故障,可以很方便地通过RS232接口或RS485接口或USB接口进行调试,故障查询,历史记录查询,故障诊断,软件修复,甚至控制参数的在线修改、调试,也可以通过MODEM进行远程操作。5) 系统的一致性好,成本低,生产制造方便。由于控制软件不同于模拟器件那样存在差异,因此,数控电源的一致性很好。由于采用软件控制,控制板的体积将大大减小,生产成本下降。6) 易组成高可靠性的多模块逆变电源并联运行系统。为了得到高性能的并联运行逆变电源系统,每个并联运行的逆变电源单元模块都采用全数字化控制,易于在模块之间更好地进行均流控制和通讯或者在模块中实现复杂的均流控制算法(不需要通讯),从而实现高可靠性、高冗余度的逆变电源并联运行系统。二:硬件系统设计2.1:功能要求设计一个数字控制电压源,利用按键来控制输出电压,要求输出电压为0V-12V,步进0.1V,并用LCD显示出来。2.2:系统框图根据题目和设计的要求,设计了如图2-1所示的系统框图。该系统硬件电路主要是由电源模块、按键控制模块、显示模块、单片机模块、调整稳压模块所构成。图2-1此设计通过按键与单片机的I/O口相连,单片机读入控制数据,根据软件对其进行判断,从而能够起到控制输出电压的作用,每按一次按键以0.1V为步进增加或减小输出电压,输出电压的范围是012V。并利用LCD1602显示预设的输出电压,实现简单的人机交换。2.3:输入电源模块的设计220V的交流电通过变压器变成12V的交流电。由于桥式整流输出端的电压与其输入端的交流电压约1.2倍的关系,所以12V的交流电经过整流滤波后变成约14.4V左右的直流电源,这个直流电源主要是供LM358工作的。同时该直流电源再经过LM7805转换为5V的电源,供单片机芯片、显示模块、D/A转换 模块等正常工作。电源模块原理图如图2-2所示。图2-22.4:参考电压模块的设计在本电路中需要参考电压的大小为2.5V,电路如图2-3所示。其中R12是限流电阻,主要是为了保证TL431正常的工作电流,TL431正常工作电流是1mA到100mA,R12的选取主要是保证留过TL431的电流在其可接收的范围内。C3是滤波电容,减小输出噪声。图2-32.5:单片机电路的设计本设计采用STC89C52单片机,其电路如图2-4所示。其中单片机的18、19号引脚与晶振和电容相连构成晶振电路。单片机的的9号引脚与按键S9相连,构成复位电路。单片机的所有引脚都用排针引出,用来外接器件。P0口的4、5、6、7号引脚分别LCD1602的数据线D4D7相连,P0口0、1号脚与LCD1602的控制端RS、EN相连。在单片机工作的时候,对他们进行相应的控制,以驱动LCD1602显示。图2-42.6:显示模块设计该显示模块采用了LCD1602来显示预设的输出电压,其电路如图2-5所示。数据线D0D3接地,D4D7与单片机的P0口的4、5、6、7号引脚相连,控制端RS、EN分别于单片机的P0口的0、1号引脚相连,而RW接地。排阻用来作上拉电阻。通过电位器,可以改变液晶显示的亮度。图2-52.7:按键模块设计本设计采用了5个(多余3个未使用)按键来控制输出电压,其电路如图2-6所示。这5个按键分别用杜邦线与单片机的P1口号0、1、2、3、4号引脚相连。其中P1.0是用来控制输出电压的增0.1V,P1.1是用来控制输出电压的减0.1V,P1.2是用来控制输出电压为0V,P1.3是用来控制输出电压5V,P3.5是用来控制输出电压为12V。图2-62.8:D/A转换模块的设计本模块以TLC5615芯片为核心,通过单片机控制,将数字量转换成模拟量,电路如图2-7所示。考虑到设计的要求是输出电压步进0.1V,电压范围012V。按设计要求可知,需要级数为120,若采用10位D/A芯片,其变化量为210=1024可以实现。TLC5615是德州仪器生产的10位D/A转换芯片。芯片的1、2、3号脚通过杜邦线与单片机相连。图2-72.9:信号放大电路和串联稳压电路的设计模块以LM358为核心,采用了同相比例运算放大电路,通过对D/A转换芯片输出电压的放大使其满足设计要求。本设计的串联稳压电路如图2-8所示,电位器R16可以调节放大倍数,在系统的软件设计中,使得输出电压最大值为12V。图2-82.10:硬件制作为了布线和使用的方便性,将整个系统分成两个模块,模块一有:单片机电路、按键模块和显示模块;模块二有:电源模块、D/A转换模块、参考电压模块、信号放大电路和串联稳压电路。模块一的电源由模块二上的电源输出。模块一的PCB图及实物图分别如图2-9和2-10所示。模块二的PCB图及实物图分别如图2-11和2-12所示。图2-9图2-10图2-11图2-12三:主要元件介绍3.1:STC89C52单片机STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。STC89C52的引脚分布图和实物图分别如图3-1和图3-2所示。图3-1 图3-23.2:LCD1602工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。其管脚功能如下:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个5K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。其引脚图如图3-3所示:图3-33.3:TLC5615TLC5615 为美国德州仪器公司1999年推出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把DAC 寄存器复位至全零。性能比早期电流型输出的 DAC 要好。只需要通过3根串行总线就可以完成10位数据的串行输入, 易于和工业标准的微处理器或微控制器(单片机) 接口, 适用于电池供电的测试仪表、移动电话,也适用于数字失调与增益调整以及工业控制场合。其引脚图如图3-4所示:图3-4TLC5615的各引脚功能如下:DIN: 串行数据输入端;SCLK: 串行时钟输入端;CS: 芯片选用通端,低电平有效;DOUT: 用于级联时的串行数据输出端;AGND: 模拟地;REFIN:基准电压输入端, 2V (VDD - 2);OUT: DAC 模拟电压输出端;VDD: 正电源端,4.55.5V ,通常取 5V。TLC5615 的内部功能框图如图3-5所示,它主要由以下几部分组成:1、 10 位DAC电路;2、 一个16位移位寄存器,接受串行移入的二进制数,并且有一个级联的数据输出端DOUT;3、 并行输入输出的10位DAC寄存器,为10位DAC电路提供待转换的二进制数据;4、电压跟随器为参考电压端REFIN提供很高的输入阻抗,大约10M;5、2 电路提供最大值为2倍于REFIN的输出;6、上电复位电路和控制电路。图3-5两种工作方式:(A)从图中可以看出,16 位移位寄存器分为高4位虚拟位、低两位填充位以及10位有效位。在单片TLC5615工作时,只需要向16位移位寄存器按先后输入10位有效位和低2位填充位,2位填充位数据任意,这是第一种方式,即12位数据序列。(B)第二种方式为级联方式, 即16位数据列,可以将本片的DOU T接到下一片的DIN,需要向16位移位寄存器按先后输入高4位虚拟位、10位有效位和低2位填充位,由于增加了高4位虚拟位,所以需要16个时钟脉冲。TLC5615 工作时序如图3-6所示。可以看出,只有当片选CS为低电平时,串行输入数据才能被移入16位移位寄存器。当CS为低电平时,在每一个SCLK时钟的上升沿将DIN的一位数据移入16位移寄存器。接着的上升沿将16位移位寄存器的10位有效数据锁存于10位DAC寄存器,供DAC电路进行转换; 当片选CS为高电平时,串行输入数据不能被移入16位移位寄存器。图3-63.4:LM358LM358是双运算放大器。内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。其引脚图及内部结构示意图如图3-7所示。图3-7四:proteus仿真4.1:proteus软件简介Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。roteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:1原理布图2PCB自动或人工布线3SPICE电路仿真革命性的特点:1互动的电路仿真用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。2仿真处理器及其外围电路可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境.4.2:仿真图绘制及仿真仿真图如图4-1所示:图4-1仿真结果如下表:从这三幅图中可以看出,LCD显示的数字与输出处电压表测量的电压基本一致。五:软件设计5.1:Keil uVision3软件简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。5.2:程序设计程序流程图如图5-1所示,系统上电后,先初始化LCD和TLC5615,设定输出电压初始值为0V。在利用LCD1602进行显示时,要对变量进行转换,将数字型变量转换为字符型变量,程序段如下:void conversion(uint temp_data) /数据转换 shi = temp_data / 1000 + 0x30; ge = (temp_data-(temp_data / 1000)*1000) / 100 + 0x30; xiao1 = (temp_data -(temp_data/100)*100)/10 + 0x30; xiao2 = (temp_data-(temp_data/10)*10)/1 + 0x30;此外,由于硬件电路存在漏电流,为了保证输出电压与LCD显示的电压一样,在实物测试时需要对代码进行一点改动,即加上下面一句程序:/*仿真时需注释掉下面一句,实物测试时取消注释*/dianya=dianya*0.802+244;/*/图5-1六:故障排除在做出模块一之后,测序发现LCD显示字符亮度很低,不管怎么调节RP1电位器结果都一样,最后经过检查后发现是因为LCD的15脚和16脚的电源接反了,将这两条线弄断,再打几个孔,用跳线从新连接后再次测试LCD正常显示。修改好的结果如图6-1和6-2。图6-1图6-2七:测试将程序下载到单片机,接好所有杜邦线和电源,通过按键调节输出电压的大小,用万用表测量输出电压的值,并与LCD显示值进行比较,测试结果如下表:从测试结果可以看出,电压表测量的电压值与LCD1602显示值基本一致,而且按键也可以正常工作,最终测得输出电压范围为2.4V12.1V,排除硬件本身原因的影响,本结果满足设计要求,成功。八:课程设计小节在本次课程设计的设计过程中,老师和同学都给予了我很大的帮助。在这里,我向这些无私帮助我的人表示衷心的感谢和美好的祝愿。通过本次课程设计,我在专业知识、专业技能和解决问题方法方面得到很大的提高。尽管本次设计很有很多不足之处,但这为我以后的设计之路积累了宝贵的经验。九:附件附件一:源程序- 31 -/*数控电压源-余刚*/*原始程序来自网络,自己进行整合、修改和再次编辑*/#include reg51.htypedef unsigned int uint;typedef unsigned char uchar;sbit CS=P20;sbit SCLK=P21;sbit DIN=P22;sbit ADD=P10;sbit SUB=P11;sbit _0V=P12;sbit _5V=P13;sbit _12V=P14;/*LCD1602 IO define*/#define Data P0sbit RS=P00; /RS = P0.0sbit EN=P01; /EN = P0.1 unsigned char shi,ge,xiao1,xiao2;/显示变量uint dianya=0;uchar code table=0X00,0X01,0X02,0X03,0X04,0X05,0X06,0X07,0X08,0X09,0X0A,0X0B,0X0C,0X0D,0X0E,0X0F,0X10,0X11,0X12,0X13,0X14,0X15,0X16,0X17,0X18,0X19,0X1A,0X1B,0X1C,0X1D,0X1E,0X1F,0X20,0X21,0X22,0X23,0X24,0X25,0X26,0X27,0X28,0X29,0X2A,0X2B,0X2C,0X2D,0X2E,0X2F,0X30,0X31,0X32,0X33,0X34,0X35,0X36,0X37,0X38,0X39,0X3A,0X3B,0X3C,0X3D,0X3E,0X3F,0X40,0X41,0X42,0X43,0X44,0X45,0X46,0X47,0X48,0X49,0X4A,0X4B,0X4C,0X4D,0X4E,0X4F,0X50,0X51,0X52,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论