LED数控调光电源_第1页
LED数控调光电源_第2页
LED数控调光电源_第3页
LED数控调光电源_第4页
LED数控调光电源_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

编号 南京航空航天大学金城学院毕业设计题 目LED数控调光电源设计学生姓名学 号系 部专 业班 级指导教师二一四年六月南京航空航天大学金城学院本科毕业设计(论文)诚信承诺书本人郑重声明:所呈交的毕业设计(论文)(题目:LED数控调光电源设计)是本人在导师的指导下独立进行研究所取得的成果。尽本人所知,除了毕业设计(论文)中特别加以标注引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写的成果作品。作者签名: 2014 年 5月 29 日 (学号): 毕业设计(论文)报告纸LED数控调光电源设计摘 要LED是电流驱动型的电子器件,它的发光强度与流过LED的电流成正比,所以,可以通过控制流过LED的电流的大小来实现LED的亮度的调节。本课题是以单片机芯片作为控制核心设计并制作的LED电源,可以实现LED亮度的数控调节。本课题的通过对简单的电流源电路进行改进来作为该设计电流源。压控恒流电路核心由场效应管和运算放大器OP07构成,通过控制效应管的饱和程度来实现压控恒流。采用精密采样电阻获得反馈电流信号,负载两端外加差分运放作为反馈电压。全部过程中使用PCF8591来进行A/D、D/A转换。通过Proteus软件对系统进行仿真,仿真结果基本上满足设计要求。该设计可以实现LED亮度的数控调节,同时也满足实际输出电流和预设电流值的偏差的绝对值小于等于输入值的1的要求。实测结果很大程度上说明该方案的设计具备较高的精度和很好的稳定性。关键词:LED,数字电源,Proteus,PCF8591LED Digital Control Dimming Power Supply DesignAbstractLED is a current driven electronic devices.The current and its luminous intensity is assumed to the high proportional relationship.Therefore, the brightness can be controlled by electric current.This topic is a LED power control design and manufacture which based on SCM.This design can realize the digital control LED lamp.The design of the subject adopts to improve simple current source and make it as current source circuit.Voltage controlled constant current circuit composed of a field effect transistor and operational amplifier OP07, the degree of saturation control effect tube to realize voltage controlled constant current. Using precision sampling resistance to obtain the feedback current signal, the load applied differential amplifier as the feedback voltage.The whole process using PCF8591 to convert analog and analog to digital.The simulation of Proteus software on the results basically meet the requirements.Numerical control design of the NC power can achieve LED brightness adjustment.At the same time, it can also satisfy the requirements that the absolute value of the output current with a given value of deviation is less than or equal to a given value of 1%.The measured results largely explains the circuit design with high precision and stability.Key Words:LED; NC power supply; Proteus; PCF8591i 目 录摘 要iAbstractii第一章 绪 论- 1 -1.1 课题背景和研究意义- 1 -1.2 本文研究内容- 3 -第二章 系统方案设计- 4 -2.1 设计思路- 4 -2.2 系统设计方案- 4 -2.3 设计可实现的功能- 5 -第三章 硬件电路的设计- 6 -3.1 恒流稳压输出电路的设计- 6 -3.2 单片机及最小系统- 7 -3.2.1 AT89C52的简单介绍- 7 -3.2.2 时钟电路与复位电路- 8 -3.3 数模和模数转换模块- 9 -3.3.1 PCF8591引脚介绍- 10 -3.3.2 PCF8591的主要功能特性- 11 -3.3.3 PCF8591片内可编程功能设置- 11 -3.4 LCD的显示模块- 13 -3.4.1 LCD1602主要技术参数- 14 -3.4.2 LCD1602的引脚功能说明- 14 -3.4.3 LCD1602内部的控制器指令- 15 -3.5 键盘控制模块- 16 -3.6 LED数控电源整体原理图- 17 -第四章 软件设计- 18 -ii 4.1 系统主程序设计- 18 -4.2 A/D、D/A转换程序设计- 19 -4.2.1 A/D转换的程序设计- 19 -4.2.2 D/A转换的程序设计- 20 -4.3 矩阵按键程序设计- 21 -4.4 显示模块的程序设计- 22 -第五章 系统的仿真调试- 23 -5.1 PROTUES仿真简介- 23 -5.1.1 KEIL C51与PROTEUS 7.5的联合使用- 24 -5.1.2 KEIL C51与PROTEUS 7.5的联合仿真调试- 24 -5.2 系统仿真结果- 25 -5.2.1 输出电流范围仿真- 26 -5.2.2 仿真结果与分析- 28 -第六章 硬件调试- 29 -6.1 元器件清单- 29 -6.2 硬件制作过程中的问题以及解决方案- 30 -6.2.1 LED灯的电流额度问题- 30 -6.2.2 1电阻的功率不足问题- 30 -6.3 误差原因- 30 -第七章 总结与展望- 31 -参 考 文 献- 32 -致 谢- 33 -附 录- 34 -1. LED数控电源的电路设计图- 34 -2. LED数控电源的硬件电路板- 34 -3. 系统程序- 35 - 第一章 绪 论 1.1 课题背景和研究意义LED凭借它光度强、使用寿命较长、节省能源等优点,已经被国际公认为下一代的照明源。将LED应用在照明领域里,那么它的使用寿命会比现有的照明设备提高6倍以上,长期以来灯管含有重金属的问题就可以得到很好的解决。除此之外,LED的光度强使其在照明领域的应用中可以大大的提高照明的效率,从而可以节约照明成本。总的而言,LED作为新的照明工具将取代传统照明灯具为人类造福。LED是电流驱动型的电子器件,它的发光强度与流过LED的电流成正比。所以,为了更好让LED的照明强度具有可调性,可以通过调节流过LED电流来实现这一功能。为了让LED照明的节能优势可以得到充分的体现,如何在LED的电源中增加调节大小功能已成为迫在眉睫课题。在电源的发展历史中,电源从无到有,从不可调节到可以粗略调节,从模拟调节到数字调节,走过许多属于自己的年代。追溯电源发展的过程,电子产业迅速的发展,电子设计的应用领域也越加广泛,渗入我们生活的方方面面。电子产品的种类繁多,人们对电源的要求也越来越高,希望电源稳定性好,体积小,重量轻,效率高。虽然人们对电源的研究从未停止,但不可否认的是,现如今的电源发展速度,已经满足不了电子设备对电源的需求。上述LED照明系统作为一个新兴的领域,对配套电源更是迫切的渴望。在传统的直流电源很难满足如今市场需要的形势下,新星的技术数字控制电源凭借其可调节好,控制灵活,可操作性强优势应运而生。先了解下传统的电源,传统的电源。电源作为电子设备不可或缺的重要组成部分,传统电源通常是通过是由220V的交流电作为供电源。为了达到电子设备电源的需求,我们就需要经过变压、整流、滤波、最后还要经过稳压电路才可以把220V的交流电转化成为我们需要的直流电源。传统的直流电源,电源器的电压或者电流的调节技术一般是用电流表或电压表来对电压或者电流进行实时的显示和检测,这样一来就会导致一系列的问题。例如电压或者电流的调节精度太低,操作步骤繁琐,稳定性没有很好的保证。而利用单片机作为控制的核心来设计的数字控制电源就可以很大程度上解决上述传统电源存在的问题。单片机控制电源操作简便、电源稳定、结构简单、制作方便、成本低、波纹低、调节精度高。除此之外,电压电流的输出可以经过显示器显示,因此具有很好的直观易读性。综上所述单片机控制电源在未来会有很大的开发空间。现如今调节直流电源的方法许多,但大致上有两种方法:第一种是利用数字控制的方法来调节电源大小,第二种是利用模拟控制的方法去调节。在一切都涉及数字化的今天,人们对控制的要求越来越高,直流电源也不例外的往数字化的方向进一步发展。所以,数控电源的设计是一个值得研究的课题。随着科技的进步,技术的发展,高精度的电子设备对电源的稳定性、输出的精度、可靠性都提出了今非昔比的要求,通过高分辨率的D/A、D/ A 转换器结合成本较低的单片机的自动检测技术设计,单片机作为核心的数字控制直流电源(后面简称数字控制电源)就体现了它存在的优越性。数字控制电源输入方便,可以选择电流的预设值,除此之外它还具有较稳定性和高精度。而设定输出电流,复位,设定值的递增递减等功能,操作界面通过矩阵键盘来控制实现相应功能,这样一来就很大程度的电提高了电源工作的效率,并且为电路板的设计和调试提高了很大的便利。数字控制电源,具备如下的优点: (1)有利于充分利用智能控制策略和先进的控制方法,可以使电源更加模块化智能化,功能更加全面,更好的满足我们对电源的需求。(2)控制具有很好的灵活,系统的升级方法比传统的要简单方便,有的还可以不改变硬件电路,通过改变调整控制的算法来实现我们需要的功能。(3)控制的可靠性的到了很大程度上的提高,容易标准化,针对不同的电路系统,可以采用近似相同的的控制板块,主需要针对软件的方面做一些稍微的调整即可。根据上述的LED作为照明设备的优势和单片机控制的电源所具备的特点,两者之间可以很好的结合。单片机控制电源很大程度上满足了LED作为照明设备的电源要求。本次毕业设计就是在此基础上设计这一单片机控制的电源,以实现LED的亮度控制。 1.2 本文研究内容本课题以微处理器为控制核心设计并制作一个LED数控调光电源,实现对LED灯组亮度的调节。LED为电流驱动型器件,所以要实现LED的调光就必须要通过改变流过其电流大小。设计具体包电源电路、单片机最小系统,A/D、D/A转换模块、LCD显示模块。使用44的矩阵键盘设定预设电流值,经过PCF8591及电源电路的转换,使得负载LED两端的电流趋近或者等于预设的电流值。以达到改变流过LED两端的电流方法实现亮度的调节。全程电流可以实现数字控制。此外,还要求设计液晶显示功能显示LED负载的状态,如预设电流、实际输出电流、输出电压等信息。另外,要求设计标准16键的键盘,可以更加便利的实现人机交互,能够在设计范围内设定预设电流值。在课题的设计和制作过程中会一些可预知和不可预知的问题,要随着研究的进一步深入,许多问题也会随之出现,一些问题也会随之解决。目前该课题设计的核心问题主要是高精度电流检测电路以及稳定恒流源的如何的设计。整体的课题设计的包括电压到电流转换电路的设计,模数转换器将输出电流反馈至单片机进行比较,调整数字信号到模拟信号输入电压,从而来实现电源数字控制的目的。第二章 系统方案设计2.1 设计思路在明确了设计任务后,根据设计要求把设计分为单片机以及最小系统模块、LCD显示模块、矩阵按键模块、数模模数转换模块、V/I转换模块。采用51单片作为预设值输入和LCD显示模块的核心控制元器件,PCF8591作为A/D、D/A转换器以及V/I转换模块的核心器件来实现本课题的设计任务。根据设计要求来分析该课题,此次课题的核心问题主要是如何去实现高精度控制与电源电路设计。因此在初期确定方案的时候,元器件的功耗、负载的选择、控制的精度、如何减少误差,这些课题核心的问题都是要深入的探讨的。本此次设计通过对简单的电源电路进行改进来作为本设计的电流源。该方案通过精密电阻获得反馈电压,然后反馈电压和高精度的参考电压比较后得到误差电压。误差电压经过放大器放大后,再通过控制场效应管的导通程度来得到输出电流,使预设值与实际测量的电流值的慢慢的逼近,直到相等,以此来实现数字控制电源的功能。2.2 系统设计方案根据设计的要实现的功能,确定了设计中不可或缺的模块,包括数模转化模块、单片机模块、电压电流转化模块等。最终明确了此次课题设计的总方案。最终确定的系统框图如图2.1所示 。键盘 单片 机预设显示PCF8591A/D转换PCF8591A/D转换 电压电流转换模块(包括电流采样电路)实测显示图2.1 系统框图本设计方案主要是通过改变输入电压的大小而使采样电阻不变的方法来改变电流大小。采用单片机程序控制高精度数模转换器来为其提供可调的高精度的基准电压,这个基准电压经过电压电流转换电路后得到电流,电流通过电压跟随器反馈回给模数转换模块,模数转换模块与单片机进行通信使得显示模块显示电流电压。本设计的难点主要是高精度检测电流电路的设计与稳定的恒流电源设计。本设计的优点在于可以对电流进行精确的步进量控制,除此之外,电源输出电流不会因为负载的改变而产生改变影响,具有很好的稳定性。2.3 设计可实现的功能输入交变电源的电压220V,50Hz;直流电压的输出小于10V。1 电流输入的大小范围:200mA到2000mA之间;2 可以在允许的范围内通过矩阵键盘设定电流的预设值,显示模块会显示预设的电流值,设计要求预设电流与实际输出电流值相差的绝对值要小于或者等于输入的电流值的1。3 为了增强可调节性,该设计还具有加减的步进功能,步进为10mA;4 负载的电阻改变,电压输出值同样不会高于10V,精度方面输出电流的误差绝对值要小于等于预设电流值的1。第三章 硬件电路的设计3.1 恒流稳压输出电路的设计利用场效应管的导通特性结合简单的电源电路构成了该设计的电源电路。电路原理图如图3.1所示。本设计的电源电路其中硬件包含了LED灯管(负载)、OP07放大器、1电阻(大功率采样电阻)、大功率场效应管IRF640(后面简称场效应管)。设计中场效应管的应用,使得电压线性的控制电流更容易实现,更加容易达到设计的需求。不仅仅可以达到电流最大的输出值2000mA的要求,电路的设计比较简单可以非常贴合设计需求的电压线性控制电流。在此电路的设计当中,为了满足题目的设计要求,通过控制调节场效应管(IRF640)来实现所需功能。调节控制场效应管,使其工作在饱和区,那么此时的漏电流近似等于电压Ugs控制的电流。即当为固定值时,条件满足:Id=f(Ugs),当Ugs为固定值的时候,漏极电流Id保持恒定不变,以此来实现恒流的目的。在该设计中,采样电阻R2大功率的1电阻(要求阻值稳定,满足功率要求)。运算放大器OP07构成的电压跟随器电路把电压以恒定的数值传接下去,场效应管IRF640正向导通(栅极的电流较小,所以一般忽略不计), 因此流过LED灯电流与流过R2的电流大小相等。因此,就可以根据电路中输入的电压来控制输出电流,换句话说就是电流的大小不会随着LED灯的变化而产生变动,以此来实现压控恒流。图3.1 V/I转换图3.2 单片机及最小系统在这个电路的设计中,数字控制的核心是单片机及最小系统,市面上满足本设计要求的单片机控制器有很多,比较常见的有AT89S52,AT89C52,PIC16F877A,ATMGAE16等。大三的时候对单片机已有了深入的学习,对单片机性能、价格考虑等方面的因素有了一定的了解。综合队知识的掌握程度,选择AT89C52单片机作为本设计的控制核心芯片。3.2.1 AT89C52的简单介绍AT89C52单片机是ATMEL公司生产的通用的8位微处理器。AT89C52凭借其低电压、高性能、高性价比等优点,在许多电子电路设计中的到了很大程度上的青睐。片上FLASH程序储存器具有可编程性,这让AT89C52具有较高的使用灵活性,为程序问题的解决提供了便利,节约了许多时间成本。主要的管脚:XTAL1引脚与XTAL2引脚作为振荡器输入和输出端口,外接12MHz 晶振。在单片机工作时,需要在VCC接电源的+5V,VSS接地。RST/VPD(9 脚)是复位输入端口,是复位电路的重要组成部分,需要外部连接一个电阻电容构成复位。P0、P1、P2、P3都是可编程通用I/O端口,可以根据设计的需要通过软件对相应的端口进行定义,以满足设计的要求。AT89C52芯片有很多功能特性,具体如下。1 同MCS51指令系统有着很好的兼容性 ;2 8K的Flash ROM可以反复的擦写;3 32个双向I/O口;4 2568bit内部RAM;5 3个16位可编程定时/计数器中断;6 时钟频率024MHz;7 2个串行中断,可编程UART串行通道;8 2个外部中断源,共8个中断源;9 2个读写中断口线,3级加密位;10 掉电与低功耗空闲模式,软件设置唤醒与睡眠功能。3.2.2 时钟电路与复位电路单片机最小系统除了单片机芯片本身以外,外围的晶振电路,和复位键电路,也同样是最小系统中不可或缺的一部分。它们的存在使单片机的运行更加稳定安全。AT89C52的最小系统与其他模块的连接图如下图3.2所示。图3.2 AT89C52最小系统及外接器件P0口和P2.0P2.2是LCD接口;P1.0P1.3是PCF8591转换器的接口;P3口为键盘接口。如图3.2所示,图中的最小系统是为了在硬件的焊接过程中有相应的电路图参照,本设计在仿真阶段使用的是Proteus软件。Proteus仿真软件针对51单片机有自带的最小系统,所以,在系统仿真过程中可以省去最小系统。1 时钟电路XTAL1为片内振荡器的反相放大器的输入端,XTAL2为片内振荡器的反相放大器的输入端输出端,当使用外部振荡器时,应该把XTAL2空接,把外部的振荡信号外接XTAL1。在构建最小系统时候晶振有多种选择,从1MHz到24MHz。通常会选用30PF左右的电容。最小系统的时钟电路是采用的单片机内部的振荡电路,即内部方式来实现工作需求。AT89C52内置一个大增益反相放大器用于构成振荡器。引脚XTAL1是放大器的输入端口,XTAL2是放大器的输出端口。这个放大器与反馈元件的片外晶体谐振器一起构成一个自激振荡器。谐振电路由电容C1、C2与晶振并联组成,谐振电路与放大器连接后接入电路。虽然最小系统对外接电容值没有明确要求,但是系统的稳定性,工作温度的大小,系统的工作频率,都一定程度上与外接电容有着重要的关系。所以,最小系统中所用的晶振为11.0592MHz,电路中要使用稳定的,大小在22F左右的电容。在电路板焊接的时候,要注意把电容、晶体振荡器尽量布置的与单片机芯片离得近一点,这一来可以减少干扰的电容,可以更加好的保证振荡器工作的稳定。2 复位电路振荡器工作时,当此端口出现高电平,而且高电平保持超过两个机器周期时,系统将复位。电路设计过程中尽量避免端口长时间处于高电平,否则系统将一直处于复位状态而无法进行正常工作。单片机复位后P0、P1、P2、P3都会被置位为1为高电平状态,特殊功能寄存器与程序计数器将被置零。当RST/VPD由1变为0时,芯片的只读内存以00H开始执行程序。复位是通过最小系统中的外部的复位电路来实现的。单片机内部的复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器的作用是用来消除单片机内部产生的噪声,斯密特触发器的在机器周期的S5P2时候输出,复位电路进行一次采样。复位电路分为按键复位与上电自动复位两种,本设计选择后者来时先所需功能。当时钟频率选择12MHz时候,电容选用取30pF,R1电阻值为10K。复位功能键对单片机内部的RAM没有影响。3.3 数模和模数转换模块当电子产品的设计阶段,涉及到数据的采集和需要把数字信号模拟信号相互转换的时候,数模和模数转换器就会发挥其非常重要的作用,因此数模和模数转换器在自动化设备的应用中显得非常广泛。鉴于A/D、D/A芯片在电子设备中起着很重要的作用,而现如今市面上的数模和模数转换芯片各式各样,功能不同,价格也不同,根据设计的要求去选择A/D、D/A芯片。市面上的A/D、D/A芯片模拟输入端和数字输出端口非常多,而在实际的使用过程中需要的数模输入端口并不是很多,因此造成了不必要的端口浪费。串行又存在读写繁琐、转换周期太长、扩展性较差。为了让电路更加简化便于实施,为了让系统具有很好的稳定性,减少研发产品的时间,使产品有更大的使用灵活性,Philips公司研发出了一个稳定性高、实用性灵活、效率高的串行扩展总线IC。IC总线数模和数模转换器具有端口少,利用率高、通信速率快、控制灵活多变、扩展容易等优点,在许多的电子设备设计中有了很大的运用空间。把IC总线技术很好的嵌入和应用在单片机设计系统中可以很大程度上提高系统的功能,优化系统结构,为单片机芯片在电子设备中的应用更加广泛多变。PCF8591是一个具有8字节数据存储空间的器件。PCF8591由外部电源单独供电、功耗比较低。PCF8591具有1个模拟输出端口、4个模拟输出端口和1个串行IC总线接口。A0、A1、A2为3个具有硬件地址编程功能的引脚。在IC上,PCF8591具有较高的扩展性,可以直接扩展接上8个PCF8591器件而不需要其他硬件的添加。元器件PCF8591正是因为采用了IC的通信方式,所以控制信号、数据信号、输入地址、输出地址的串行方式都是以双向的方式进行传输1。3.3.1 PCF8591引脚介绍2AIN0AIN3:模拟信号输入端;VDD、VSS:电源端口(2.5V6V);SDA、SCL:IC 总线的数据线与时钟线;OSC:内部时钟输出端同时为外部时钟输入端;EXT:内部、外部时钟选择接线;AGND:模拟信号接地;AOUT:D/A 转换输出端;VREF:基准电源端。图3.3 PCF8591引脚图3.3.2 PCF8591的主要功能特性41 单独供电 ;2 PCF8591的工作电压在2.5V6V之间(本设计采用5V电压);3 通过IC总线串行输入/输出;4 PCF8591通过A0、A1、A2的3个端口来编辑硬件地址;5 PCF8591的的通信方式采用IC总线;6 4个模拟输入可编程为单端型或差分输入;7 PCF8591的比较电压在VSS到VDD之间变动;8 PCF8591内置跟踪保持电路;9 8-bit逐次逼近A/D转换器。3.3.3 PCF8591片内可编程功能设置对PCF8591进行编程首先要掌握控制字的知识,该芯片的控制字由地址选择控制字和转换指令控制字两部分组成。该芯片与单片机采用IC总线的方式进行通信,通信方式根据IC协议来执行,同时PCF8591的器件和引脚地址、方向构成了应用系统中IC总线接口。ADC高四位地址为1001,引脚A0、A1、A2(低三位地址),依据硬件的不同也会相应的变化,PCF8591的地址选择字格式如表3.1 所示。从表格上可以看出,IC系统设计中可以扩展最多8个相同型号的模数转换元器件。地址选择表中,D0位为 R/W,当转换器进行读指令的时候该位为高电平,执行写指令的时候为低电平。主控器指令由转换器的地址、引脚地址、方向位决定5。表3.1 PCF8591地址选择字格式D7D6D5D4D3D2D1D01001A2A1A0R/WD0作为读/写指令的控制位在执行写指令的时候是为0,当执行读操作的时候为1。硬件地址设置位D1、D2、D3,该引脚地址由外部电路来确定其物理地址。D7、D6、D5、D4:这四位的数值一般固定不变为1001。PCF8591的转换控制字存放在控制寄存器中,该元器件的各种功能都是通过该控制字的设定来实施实现的。转换控制字的格式功能具体描述如表3.2所示。表3.2 PCF8591转换控制字的格式D7D6D5D4D3D2D1D00xxx0xxxD0、D1:通道选择位。当D0、D1都为低电平的时候为通道0;D0为低电平D1为高电平的时候为通道1;当D0为高电平,D1为低电平的时候为通道2;当D0、D1均为高电平的时候为通道3。D2:为自动增量允许位,当该位为高电平时,通道0123按顺序自动切换;当该位为低电平的时候通道之间不自动切换。D3:0不变。D4、D5:A/D输入方式选择。当D4、D5都是低电平的时候为输入方式0,四路单向输入;当D4为低电平D5为高电平的时候是输入方式1,三路差分输入;当D4为高电平D5为低电平的时候为输入方式2,二路单端输入;当D4、D5都为高电平时候为输入方式3,两路差分输入。D6:模数转换时为低电平,输出允许端,D/A 转换时设置为高电平。D7:特征位,固定为0。 应用电路电路如下图3.4所示。图3.4 PCF8591外接电路图图中芯片A1N0、A1N1为模拟电压输入端,A/D转换器外接基准电压5V,AGND端连接系统的模拟地,他可以对数字VSS有一个偏执电压,以便对正负电压实现A/D转换,不适用的端口接地。PCF8591内置振荡器,不用外部的另外的元器件支持就可实现功能。PCF8591运行时,内部和外部时钟都可以使用。本电路使用的是内部的时钟振荡器,此时EXT为低电平,OSC还可以输出振荡信号。3.4 LCD的显示模块在显示模块的设计上,有两种可供的选择方案:方案一:用LED数码管作为显示模块。七段数码管根据BCD编码原理来进行数字显示,稳定性好,便于维护,编程也相对的简单。但本次设计的显示模块需要显示模块要具有包括输入电流的大小,实际输出的电流大小,显示错误等功能。如果使用数码管作为显示模块需要大量的数码管,无论从成本和编程上来看都不太适合本设计的要求。方案二:采用LCD显示。LCD1602显示面积大,功耗小,可以显示数字汉字,抗干扰能力好,具有自己的字库,编程简单。综合所述,对方案进行比较后选择了方案二。方案二更适合本设计的需求。用LCD1602作为显示的核心模块来显示电流输入值、实际测量值以及输出的电压值。连接电路图3.5如下。图3.5 LCD1602与单片机连接图3.4.1 LCD1602主要技术参数1 显示容量:162个字符;2 芯片工作电压:5V;3 芯片工作电流:2.0mA;4 芯片的大小:2.90mm4.38mm。3.4.2 LCD1602的引脚功能说明LCD1602为16脚的显示器件,各引脚功能如表3.3所示。表3.3 LCD1602引脚表6引脚符号VSSVDDVLRSR/WED0D1D2D3D4D5D6D7BLABLK引脚说明电源地电源正极液晶显示偏压数据/命令选择读/写选择使能信号数据数据数据数据数据数据数据数据背光正极背光负极LCD1602引脚介绍。第1脚:VSS电源的接地端;第2脚:VDD电源的正极;第3脚:VL为显示器的偏压端口,用于调整显示对比度,VL接电源正极对比度最小,接地对比度最大,对比度不适宜太高,也不适宜太低,太低对比度不够,太高的换会显示“鬼影”;第4脚:RS为寄存器选择端,RS高电平时为数据寄存器,RS低电平为指令寄存器;第5脚:R/W为读写选择信号端,当R/W为1时候执行读操作指令;当R/W为0时执行写操作指令;当RS、R/W同时0时写入指令或者显示地址;当RS和R/W同时为高电平时信号读忙;当RS为高电平、R/W为低电平时执行写程序;第6脚:E端为使能端,当使能端由高电平跳变成低电平的时候,执行程序;第714脚:D0D7为8位双向数据线;第15脚:背光电源的正极;第16脚:背光电源的负极。3.4.3 LCD1602内部的控制器指令6表3.4 LCD1602内部控制指令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000000I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7字符存贮地址0001字符发生存储器地址8置存贮器地址001显示数据存储器地址9读忙标志或地址01BF计数器地址10写数到DDRAM10要写的数据内容11DDRAM读数11读出的数据内容3.5 键盘控制模块在显示模块的设计上,同样有两种可供的选择方案:方案一:采用独立式按键电路,该方案的优点在于工作稳定,采用直接扫描的方式,按键与按键之间不会相互干扰。缺点在于占用了太多的I/O接口,给其他模块留下的I/O口就会相对的减少。方案二:采用标准44的键盘,此种方式采用扫描工作方式,优点在于占用的I/O口较少,适合较多的按键的设计中。根据本设计的要求,不仅仅要根据键盘输入电流的给定值,还要进行复位,步进加减的操作。可见所需要的按键非常多。而且单片机的可用端口有限。综合考虑后采用方案二,使用标准的4x4键盘,可以实现09数字输入、 + 、 - 、 OK 、 SET 、 DEL 、 RESET/ON 这些功能按键。其电路图如图3.6所示。图3.6 键盘与单片机的连接电路图按键的消抖在电路设计过程中,只要用到按键就会考虑到按键消抖的问题。在实际的操作过程中,按键会存在一次按下多次响应的现象的问题。在硬件的调试过程中如果发生此类问题会对按键模块的功能造成很大的影响,导致系统的不稳定,诸多问题的出现。所以对于如何给按键消抖也会成为按键模块中重要的一部分。按键的消抖分为两种:硬件消抖和软件消抖。硬件消抖一般用于按键较少的场合中。利用RS触发器等方法达到消抖的目的。在电路按键较多的场合中,常用的消抖方法是软件消抖。在检测到有按键按下的时候执行一个延时程序,延时大概6ms至7ms的时间。这样具有足够的时间去让前沿抖动消失后再一次检测键的状态。如果按键仍然处于闭合状态,那么确认是有真正的按键按下。当检测到按键放下后,要延时6ms左右时间,等待后沿抖动消失后才能转入该键的处理程序。8通常而言,软件消抖的方法是不断检测按键是否按下,直到检测到按键的状态稳定下来。解决方案:倘若按键没有按下的时候输入5,按键后输入6,抖动时不定。按键输入5后,延时5ms到6ms的时间,此时再检测按键是否为5,如果为5则表示延时间可以消除抖动,如果还为6,则延时时间不够。考虑到本设计用到的按键较多,过多的硬件会造成成本增加。综合考虑采用软件消抖的方法来消除消抖。3.6 LED数控电源整体原理图图3.7 LED数控调光电源的整体硬件电路图第四章 软件设计软件的设计是电子电路设计的核心,经过整体以及模块的设计,采用C语言编程,运用KEIL C51软件进行编辑编译。4.1 系统主程序设计图4.1 软件总体流程图本设计的整体程序思路如上图所示。根据设计的要求,以及为了实现要求所用到的元器件编程特性,确定和设计了上图的软件总流程图。总的程序思路根据以上的步骤来编写。4.2 A/D、D/A转换程序设计4.2.1 A/D转换的程序设计图4.2 A/D程序设计流程图PCF8591 采用典型的I2C总线接口的器件寻址方法,所以PCF8591不同于其他的数模转换器的编程方法。根据PCF8591在IC总线中的固有指令来调度程序中所需的小程序模块。PCF8591 有两个内部可编程控制字来对系统发出相应的指令。一个为地址选择字,另一个为转换控制字。具体的控制字在上述的PCF8591模块的时候已经介绍,此处不过多赘述。104.2.2 D/A转换的程序设计PCF8591 D/A转换的程序与A/D的主体结构相似。在读取转换数据之后,将数据储存到DAC中,然后启动总线,发送器件地址,发送控制字节,发送DAC的数值,结束总线。图4.3 D/A程序设计流程图PCF8591根据设计要求,数模转换之后整体的流程还没有完成。程序仍然要继续的执行下去。根据总的程序流程图,在显示模块显示出实际输出的之后,再将此数值进行数模的转换。模数转换的具体程序的编写步骤与模数转换的编程程序步骤大部分的指令相同。4.3 矩阵按键程序设计图4.4 矩阵按键程序设计图矩阵按键的程序设计就如上图所示,在程序开始执行的时候,调用键盘的扫描陈程序并发送地址的选择字。判断是否有按键按下,有按键按下则调用消抖的程序,之后在调用键位显示程序。4.4 显示模块的程序设计YN延时设置字符显示位置向1602中写入数据LCD显示内容开始LCD1602初始化检查忙标志BF=7?延时图4.5 LCD显示模块的程序设计图在定义完管脚之后要对LCD进行显示的初始化;包括设置显示方式、延时、清理显示缓存、设置显示模式;然后显示地址(写显示字符的位置);最后是显示字符的数据。总体的编写思路是这样的。LCD1602基本初始化子程序、读忙子程序、写指令写数据子程序、延时子程序、LCD1602初始化子程序、显示单个字符程序、显示单个字符子程序、显示字符串子程序等等。本程序中根据需要选择相应的子程序来实现所需功能。第五章 系统的仿真调试5.1 PROTUES仿真简介12Proteus是由英国Lab-center公司设计的一款软件,其主要是用作电路的开发解析和仿真以及电路模板的设计,其功能强大,不仅可以仿真还具有分析集成电路和模拟电路。Proteus为中存储了比较全面的电子元器件、外部的设备、各式各样的虚拟仪器为使用者进行电路设计仿真提供了非常大的便利。模拟仿真使用。除此之外,针对本设计,Proteus具有对单片机和外围电路具有很强的交互仿真能力为LED数控电源的设计提供了很大的方便。前文中介绍的单片机及最小系统的时候已经简单介绍,Proteus在仿真的过程中,系统自带晶振,因此,仿真电路中的最小系统就可以省去。本设计中所用的Proteus 7.5软件由ISIS和ARES两部分组成,I这两个部分给有各自的作用。ISIS的主要功能是对电路图的开发与设计并具有可以进行软件的交互仿真的功能。本课题设计中利用的就是其电路图开发设计和软件交互仿真的功能。 在通过运用Proteus的电路图绘制软件把电路图绘制完毕,需要的话可以再采用pro tel软件制作PCB图后,接下来就是要进行软件部分的调试。这时候,我们就要用到KEIL如那件来完成Proteus仿真部分功能的实现。通过KEIL软件,根据本设计的软件流程图来编写调试各个部分的程序。KEIL C51 软件相比于其他的单片机程序编写软件有着它独有的优势。KEIL C51软件集编辑、编译、仿真于一体。除此之外,它支持包括C语言、PLM语言和汇编语言。界面简洁,易于操作使用。为用户提高了较大的便利。5.1.1 KEIL C51与PROTEUS 7.5的联合使用131 首先要经过LEIL C51对程序进行编写,编译。编译发生错误后对程序进行检查修改直至编译成功,生成HEX的文件(51单片机可以识别的文件形式),然后将生成的HEX文件与电路设计原理图中的MCU进行绑定,然后对Proteus进行仿真,反复调试修改,直至完成仿真。 2 HEX文件作为单片机在Proteus调试中唯一可识别文件是不可或缺的重要一部分,如果没有在KEIL C51阶段没有生成HEX软件,或者HEX的文件路径出错的时候,仿真是无法进行的。KEIL C51软件生成HEX文件的步骤如下所示:打开KEIL C51软件进入编辑的界面,在确定编辑和编译正确后,在 target1的版面下,在project的下拉菜单中选择options for target target1,在选择 output 的选项中选定 create HEX file,这样以来就可以形成正确的HEX文件。5.1.2 KEIL C51与PROTEUS 7.5的联合仿真调试151 TCP/IP协议是否已经安装; 2 双击V dmagdi.exe文件对程序进行安装,KEIL文件夹下会产生两行新的字符。而这两行字符就是用作KEIL软件与PROTUES软件的连接于调试; 3 同样的在KEIL C51编辑页面把程序编辑、编译好。然后在工程文件下选择 target选项,在 target选项的下拉菜单下选择Project-options for target target;4 在Debug的选项卡下在 use的选项上打钩,然后选择 Proteus VSM Simulator,Setting中相应接口,在Host后面添上相对应的IP地址;5 在Proteus ISIS中选择Debug-use remote debug monitor;6 KEIL工程文件和Proteus文件放在同一文件夹的目录下。5.2 系统仿真结果打开Proteus软件,打开首先画好的电路图文件(经过检查确定无误)。经过KEIL C51软件根据本设计的程序流程图逐步编写程序,编译程序最后生成HEX文件后,即可对设计的系统进行仿真以及数据的记录。电路仿真时候的操作步骤如下:按下44矩阵按键中的RESET/ON键,按下之后后显示电流的初始值200mA。可以通过步进加减的按键来实现10mA的步进加减功能。在系统复位之后直接对数据进行输入时无效的。此时需要按下输入键SET,使系统进入输入的功能指令进行确定。按下SET键后LCD1602会显示 Are you sure to set I? ,按下OK键后就可以对电流的数值进行输入设置。倘若不需要输入新的电流数值,按下RESET/ON进行返回指令的执行。在设定电流的过程中要注意的是,显示模块显示的有效数值为4位有效值。例如要输入500mA的数值,就需要按下0500mA。这样才能算正确的电流输入。如果在输入的过程中发生了输入错误,需要修改输入的数值,按下DEL键对错误的数字进行删除,输入正确的数字即可。当然,如果想观看上一次输入的数值的大小,则按下RESET/ON键,LCD显示模块就可以显示出上一次仿真时候输入的数值。操作显示界面如图5.1所示。图5.1 操作显示界面图5.2.1 输出电流范围仿真在本课题设计的时候对电流的输出有一定的范围:200mA2000mA之间,负载上面的电压也不得高于10V。当这电流电压的条件都满足设计要求的时候。显示模块就会给出 OK!的字样。当然,当输入的给定值以及负载的电压值不在设计的要求之内,LCD1602会显示 ERROR! RESET!,如图5.2所示。图5.2 错误显示界面图5.3 按下SET键后界面交流界面步进加减显示的仿真再程序设计允许范围内,可以通过加减按键来实现步进加减10mA的功能操作。通过LCD显示模块可以显示操作的效果。图5.4 正确的数据输入输出上图5.4所示为电流输入为200mA的时,负载为3盏LED灯时候Proteus交

温馨提示

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

评论

0/150

提交评论