资源描述
郑州大学本科毕业论文- 1 - 本本 科科 毕毕 业业 设设 计(论文)计(论文) 题目题目 单片机控制的直流斩波器单片机控制的直流斩波器 院院 系系 专业名称专业名称 电子信息工程电子信息工程 年级班级年级班级 学生姓名学生姓名 指导教师指导教师 年年 月月 日日郑州大学本科毕业论文- 1 - 摘要摘要传统开关电源是模数结合的硬件为主的控制方式,其控制精度、响应速度等都由电路拓扑结构和器件本身的参数决定,很难进一步提升其性能。随着微处理器处理技术的日趋成熟,开关电源的软硬件结合的控制技术得到了广泛的关注,它呈现出纯硬件控制方式无法比拟的优点。 本论文以单片机为控制核心对开关电源进行了可编程控制的设计。首先介绍了开关电源数控技术的研究现状及趋势;对整个系统的硬件电路进行了各模块的设计及对应器件的选型;在此基础上,对软件部分实现过程进行了详细阐述。【关键词】单片机,开关电源 郑州大学本科毕业论文- 2 -AbstractConventional switching power supply is combined with hardware-based module control mode, the control accuracy, response speed by the circuit topology and device parameters of the decision itself, it is difficult to further improve its performance. With the microprocessor processing technology matures, switching power supply control software and hardware combination technology has been widespread concern, it presents a pure hardware control mode can not match advantage.In this thesis, the core of the microcontroller for the control of switching power supply for the programmable control of the attempt. First introduced the technique of switching power supply CNC status and trends; on the whole system has briefly introduces the hardware design and partial implementation of the software process described in detail.Key words: microcontroller, switching power supply郑州大学本科毕业论文- 3 -目录目录 .3第一章 前言 .61.选题目的和意义 .62.国内外综述 .6第二章 系统硬件设计 .82.1 系统原理 .82.2 硬件的选取 .92.3 半桥输出的 PWM 波产生电路 .102.4 A/D 采样及调理电路.102.41 电压采样电路.112.42 电流采样调理电路 .112.5 矩阵键盘电路 .122.6 液晶 LCD 显示电路 .142.61 液晶 1602 显示器介绍 .142.62 本系统中 1602 的应用 .15第三章 系统软件设计 .163.1 软件设计总体思路 .173.2 系统主程序模块 .173.21 始初化模块 .183.22 PWM 波发生模块.193.23 A/D 转换模块.233.24 PID 算法处理模块.273.25 LCD 液晶显示模块.29郑州大学本科毕业论文- 4 -3.26 按键处理模块 .293.3 中断服务程序模块 .313.31 中断程序原理及框图 .313.32 数字滤波算法 .32第四章 结 论 .34致 谢 .36参考文献 .37附录 .39目录?郑州大学本科毕业论文- 5 -前 言1.选题目的和意义直流斩波电路(DC Chopper)的功能是将直流电变为另一固定电压或可调电压的直流电。也称为直接直流-直流变换器(DC/DC Converter) 。直流斩波电路包括六种基本斩波电路升降压斩波电路应用最为广泛。路包括六种基本斩波电路升降压斩波电路应用最为广泛。直流斩波器能起调压的作用,所以可以做开关电源用。开关电源作为电力电子领域的一个重要分支,随着电力电子技术的高速发展而被广泛应用于以电子计算机为主的各种终端设备和通信设备中,是当今电子信息产业飞速发展不可缺少的一种电源方式。采用传统控制方式的开关电源,其控制精度、响应速度等都由电路拓扑和器件本身的参数决定,如果想进一步提高开关电源的性能,就只能选用参数更优的器件,或者对原有电路进行大范围的改动,这对电源产品的研发、生产都会带来很多麻烦,也制约了开关电源性能的提升。同时,由于模拟信号在传递过程中可能会出现信号失真、畸变以及受到外界电磁干扰,造成开关电源工作状态不稳定。所以,采用传统控制方式的开关电源在性能上的提升相当有限。随着数字处理技术的日趋成熟,开关电源的可编程数控技术得到了快速的发展和广泛的关注。与硬件控制方式相比,数字控制技术具有其无法比拟的优势。 2. 国内外综述开关电源的发展方向是高频、高可靠、低耗、低噪声、抗干扰和模块化。由于开关电源轻、小、薄的关键技术是高频化,因此国外各大开郑州大学本科毕业论文- 6 -关电源制造商都致力于同步开发新型高智能化的元器件,特别是改善二次整流器件的损耗,并在功率铁氧体(Mn?Zn)材料上加大科技创新,以提高在高频率和较大磁通密度(Bs)下获得高的磁性能,而电容器的小型化也是一项关键技术。SMT 技术的应用使得开关电源取得了长足的进展,在电路板两面布置元器件,以确保开关电源的轻、小、薄。开关电源的高频化就必然对传统的 PWM 开关技术进行创新,实现 ZVS、ZCS 的软开关技术已成为开关电源的主流技术,并大幅提高了开关电源的工作效率。对于高可靠性指标,美国的开关电源生产商通过降低运行电流,降低结温等措施以减少器件的应力,使得产品的可靠性大大提高。目前,开关电源以小型、轻量和高效率的特点被广泛应用于以电子计算机为主导的各种终端设备、通信设备等几乎所有的电子设备,是当今电子信息产业飞速发展不可缺少的一种电源方式。目前市场上出售的开关电源中采用双极性晶体管制成的kHz、用制成的kHz 电源,虽已实用化,但其频率有待进一步提高。要提高开关频率,就要减少开关损耗,而要减少开关损耗,就需要有高速开关元器件。然而,开关速度提高后,会受电路中分布电感和电容或二极管中存储电荷的影响而产生浪涌或噪声。这样,不仅会影响周围电子设备,还会大大降低电源本身的可靠性。其中,为防止随开关启-闭所发生的电压浪涌,可采用 R-C 或 L-C 缓冲器,而对由二极管存储电荷所致的电流浪涌可采用非晶态等磁芯制成的磁缓冲器。不过,对 1MHz 以上的高频,要采用谐振电路,以使开关上的电压或通过开关的电流呈正弦波,这样既可减少开关损耗,同时也可控制浪涌的发生。这种开关方式称为谐振式开关。目前对这种开关电源的研究很活跃,因为采用这种方式不需要大幅度提高开关速度就可以在理论上把开关损耗降到零,而且噪声也小,可望成为开关电源高频化的一种主要方式。当前,世界上许多国家都在郑州大学本科毕业论文- 7 -致力于数兆 Hz 的变换器的实用化研究。3. 本论文的任务及工作 郑州大学本科毕业论文- 1 - 第二章 系统硬件设计 本章将对硬件部分的设计进行详细介绍,其中包括以单片机为核心最小系统的搭建以及外围电路的设计和优化,并对一些在设计中遇到的问题进行分析和解决。2.1 系统原理本次制作的是 36V、3A 的开关电源,要求能够对输出的电压进行恒定的控制,使整个系统具有很好的稳定性。可以通过键盘的输入值对开关电源在 20V-36V 的输出控制,而对其进行恒压的控制是根据设置的电压值与采集到的电压值的偏差进行比较,由单片机来完成 PID 算法处理得到电压的偏差信号,再根据偏差信号的大小改变单片机 ECCP 模块所产生两路推挽的 PWM 波的占空比,从而改变半控桥电路中两个 MOS 管通断时间的大小,从而起到稳压的作用。同时外加 LED 显示模块,对实时的电压电流起到了检测和显示的作用。系统的硬件框图如图 2-1 所示。郑州大学本科毕业论文- 2 -图 2-1 系统硬件框图实际的硬件系统中,通过抗干扰电路来减少外界干扰如果没有该部分输入电路就会有干扰对输出有很大的影响,整流滤波电路使输入和输出的波形更接近理想化,这样可以减少误差。如果没有该部分加大了误差有可能使结果和理想状态下有很大的出入。单片机模块输出两路推挽的 PWM 波,通过高速光耦隔离并且进行电平的转换,再通过以 IR2113 为核心的驱动电路将 PWM 波供给开关电源的半桥控制的逆变电路。从开关电源输出端电压经分压后采集回单片机模块进行 A/D 转换,通过 LCD 液晶显示采样回来的电压值。通过软件的控制使电压稳定在某一值,具体的电压值由按键模块确定。2.2 硬件的选取 本设计采用的是 Microchip 公司的高性能 8 位单片机PIC18F4520,并且使用 C 语言进行程序的编写,同时在 MPLAB IDE 集成开发环境中程序的编译和调试对整个系统进行描述和设计。本设计所使用的 PIC18F4520 单片机是采用 10 位 A/D 及纳瓦技术的郑州大学本科毕业论文- 3 -40 脚的增强型闪存单片机,如图 2-2 所示。 21-2 PIC18F4520 DPIP 封装的引脚图 此单片机具有高性能的 RISC(Reduced Instruction Set Computer)结构CPU,有较宽的工作电压范围:2.0-5.5V,同时驱动能力强,驱动电流高达25mA,还具有超低的功耗,多级的中断。由单片机来完成 PID 算法处理得到电压的偏差信号,再根据偏差信号的大小改变单片机 ECCP 模块所产生两路推挽的 PWM 波的占空比,从而改变半控桥电路中两个 MOS 管通断时间的大小,从而起到稳压的作用。在本设计中主要使用的是单片机的 ECCP 模块(增强型捕捉/比较/PWM 模块) ,10 位输出的 A/D 转换模块,同时加上外围的键盘输入模块,以及 LCD 显示模块。2.3 半桥输出的 PWM 波产生电路由于原先在选择单片机时选择的是 PIC18F4520,其内部本身就具有ECCP 模块,所以只需要单片机的最小系统就可以实现两路推挽的 PWM 波的输出,无需外加其他电路。郑州大学本科毕业论文- 4 -2.4 A/D 采样及调理电路 本系统主要对输出的电压以及电流进行采样,通过分压或者信号调理电路进行整形和放大送至 A/D 转换器,由于 PIC 单片机本身就内置有A/D 转换模块,所以不必外扩展 A/D 转换器,使得整个系统的硬件电路变得更为简捷。123456ABCD654321DCBATitleNumberRevisionSizeBDate:1-May-2010 Sheet of File:D:PROGRAM FILESEXAMPLESBACKUP11.DDBDrawn By:RA1/AN13RA2/AN2/Vref-4RA3/AN3/Vref+5RA4/TOCK1/C1OUT6RA5/AN4/SS/7RE0/RD/AN58RE1/WR/AN69RE2/CS/AN710VDD11VSS12OSC1/CLKI/RA713OSC2/CLKO/RA614RC0/T1OSO/T13CKI15RC1/T1OSI/CCP216RB6/KBI2/PGC39RB5/KBI1/PGM38RB4/KBI0/AN1137RB3/AN9/CCP236RB2/INT2/AN835RB1/INT1/AN1034RB0/INT0/AN1233VDD32Vss31RD7/PSP7/P1D30RD6/PSP6/P1C29RD5/PSP5/P1B28RD4/PSP427RC7/RX/DT26RC6/TX/CK25RC5/SDO24RC2/CCP1/P1A17RC3/SCK/SCL18RC4/SDI/SDA23RA0/AN02MCLR/VPP/RE31RB7/KBI3/PGD40RD0/PSP019RD1/PSP120RD2/PSP221RD3/PSP322PIC18F4520U3VCC5VVCC5VY1JTC2322pFC2422pFR2310KVCC5VRSRWED0D1D2D3PWMOUT1PWMOUT2AnJianVoltAmpCONT_OUT123456ABCD654321DCBATitleNumberRevisionSizeBDate:7-May-2010 Sheet of File:C:Documents and SettingsAdministrator业 业 业 业 业 业 .ddbDrawn By:R31100kR3210kVoutVolt图 2-3 PIC18F4520 各管脚电路图 图 2-4 电压分压采样电路2.41 电压采样电路电压采样电路单片机的 A/D 转换器所能接受的输入转换电压为 0-5V,而从开关电源的输出端所输出的电压在 24V-36V 之间,要将其转换成相应的数量值就必须将输出端的电压进行降压处理,故采用了分压电路,将输出电压的值降到 2-4V 之间,考虑到电阻的功耗问题,两个分压电阻不宜太小,同时考虑到电阻的阻值越大越容易受干扰,阻值又不宜取太大,因此,我们最终选定 100k 和 10k 这两个电阻分压以便单片机的 A/D 转换器进行郑州大学本科毕业论文- 5 -模数的转换。具体的分压电路较为简单,如图 2-4 所示。2.42 电流采样调理电路 本系统采用康铜丝6进行电流的采样。用康铜丝是考虑到功率损耗的问题,是因为康铜丝的阻值很小,一般在 0.01 左右,电流流经康铜丝后的电压很小,最大值不会超过 50mV,信号比较微弱。因此,在进行采样的时候,我们需要将此电压信号放大到 PIC 单片机的 A/D 模块能够接受的 0-5V 之间的范围。本系统根据实际的需要将该电压进行大约 100倍的放大,这一模块的电路图如 2-5 所示。直接用提供的公式计算, 当 U1=U2=Uf 时, 满足输出 Uo=-(U1+U2),当然如果要求说满足一个确定的关系式时,可以通过改变两个电阻与 Rf 的比值得到所需要的比例关系。从运算放大器输出的电压 Vout=1+(R31+R33)/R32Vcurrent,放大倍数由(R31+R33)/R32决定。 123456ABCD654321DCBATitleNumberRevisionSizeBDate:10-M ay-2010Sheet of File:C:Documents and SettingsAdministrator业 业 业 业 业 业 .ddbDrawn By:AR1OPAM PVCC5VR33100kR321kCurrentAmpR311k 图 2-5 电流采样信号调理电路2.5 矩阵键盘电路通过键盘的输入值对开关电源在 20V-36V 的输出控制,而对其进行恒压的控制是根据设置的电压值与采集到的电压值的偏差进行比较。如图 2-6 所示为 33 的矩阵式键盘,这一键盘的电路设计是采用电阻分压式设计,配合 A/D 转换器一查表得方式做按键的判断,所以只要郑州大学本科毕业论文- 6 -使用一个具有 A/D 功能的输入口即可完成对 33 的矩阵式键盘的扫描操作,图中的 AnJian 端口与图 2-3 的 AN0 相连接,为 A/D 功能的输入口。此外,一般的按键所用开关都是机械弹性开关,由于机械触点的弹性作用,按键开关在闭合时不会马上稳定地连接,在断开时也不会马上完全的断开,在闭合和断开的瞬间均有一连串的抖动,所以一般在程序中会加按键的去抖动的部分。按键按下的电压信号波形图如图 2-7 所示,从图中可以看出按键按下和松开的时候都存在着抖动。抖动时间的长短因按键的机械特性不同而有所不同,一般为 5ms10ms。如果不处理键抖动,则有可能引起一次按键被误读成多次,所以为了确保能够正确地读到按键,必须去除键抖动,确保在按键的稳定闭合和稳定断开的时候来判断按键状态,判断后再做处理。123456ABCD654321DCBATitleNumberRevisionSizeBDate:7-May-2010 Sheet of File:C:Documents and SettingsAdministrator业业业业业业.ddbDrawn By:S1K1S2K2S3K3S4K4S7k7S5K5S8K8S6K6S9K9R2410kR254.7kR262.2kVCC5VR2720kR2810kR2920kR30K30kAnJianAmp 图 2-6 33 矩阵式键盘 在本系统的按键去抖动设计中,主要是判断按键是否抬起。如果此法效果不是很好,那就可以采用延时再判断的方法,如前所述,机械按键的抖动时间一般在 10ms-20ms 之间。在程序中首先 A/D 采样进来的电郑州大学本科毕业论文- 7 -压值与延时 10ms 后的电压值进行比较,若相等,则说明按键已经确定按下,按键的抖动已经消除。假若不相等,则按键不确定已经按下,需要重新再扫描。实验证明,本系统中只需要采用判断按键是否抬起的方法已经可以很好的去抖动满足要求了。按键按下前抖动稳定闭合后抖动按键松开 图 1-7 按键抖动2.6 液晶 LCD 显示电路2.61 液晶 1602 显示器介绍 液晶显示器以其微功耗、体积小、显示内容丰富以及超薄轻的诸多优点,在各类仪表和低功耗系统中得到广泛的应用7-8。 根据显示内容可以分为字符型液晶,图形液晶。根据显示容量又可分为单行 16 字,2 行 16 字,两 20 字等等。本系统中采用的是一款应用相当广泛,功能精简但完全可以满足要求的 1602 液晶模块。它是 16 字2 行的字符型液晶模块,是一种通用模块,与数码管相比该模块主要有如下优点:1)位数多,可显示 32 位,而 32 个数码管体积相当庞大了。2)显示内容丰富,可显示所有数字和大、小写字母。3)程序简单,如果用数码管动态显示,会占用很多时间来刷新显示,而 1602 自动完成此功能。 1602 采用标准的 16 脚接口,各管脚功能如表 2-1 所示。郑州大学本科毕业论文- 8 - 表 2-1 1602 各管脚及其功能2.62 本系统中 1602 的应用根据系统设计的实际需要,液晶模块主要是显示设定电压值,AD 采集得到的时间电压值,电流值。1602 的各管脚和单片机各端口的连接如图 2-8 所示,实物图如图 2-9 所示。液晶显示器 1602 的 D0-D3 分别与PIC18F4520 的 RD0-RD3 相连接,使能端 E 则与单片机的 Vref+端相连,RS端与 RD4 连接,R/W 端则与 RD6 相连,具体可以把图 2-3 与图 2-8 这两幅图联合起来看。15、16 脚是用来调节背光,达到即使黑暗的地方也能看清液晶屏上显示的字符,但它有损于液晶屏的寿命。管脚序号名称功能1VSS电源地端2VDD电源5V 端3VEE液晶显示器对比度调整端4RS寄存器选择,高选数据寄存器、低选指令寄存器5R/W读写信号,高为读、低为写6E使能端,高电平跳变为低电平时有效714D0D7双向数据口15、16LED+、LED-调节液晶背光郑州大学本科毕业论文- 9 -123456ABCD654321DCBATitleNumberRevisionSizeBDate:1-May-2010 Sheet of File:D:PROGRAM FILESEXAMPLESBACKUP11.DDBDrawn By:VCC5VRSRWED0D1D2D3VCC5VS1K1S2K2S3K3S4K4S7k7S5K5S8K8S6K6S9K9R2410KR254.7KR262.2KVCC5VR2720KR2810KR2920KR30K30KAnJianGND1VCC2VO3RS4RW5E6DB07DB18DB29DB310DB411DB512DB613DB714BG VCC15BG GND16LCD 1602U4LCD1602图 2-8 1602 与单片机引脚连接图郑州大学本科毕业论文- 1 - 第三章 系统软件设计单片机传统的开发语言是汇编语言,因为汇编语言是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。作为一种结构化的程序设计语言,C 语言的特点就是可以使你尽量少地对硬件进行操作,具有很强的功能性、结构性和可移植性,因此常常被优选作为单片机系统的编程语言。用 C 编写程序比汇编更符合人们的思考习惯,开发者可以摆脱与硬件无必要的接触,更专心的考虑功能和算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。C语言具有良好的程序结构,适用于模块化程序设计,因此采用 C 语言设计单片机应用系统程序时,首先要尽可能地采用结构化的程序设计方法,将功能模块化,由不同的模块完成不同的功能,这样可使整个应用系统程序结构清晰,易于调试和维护。不同的功能模块,分别指定相应的入口参数和出口参数,对于一些要重复调用的程序一般把其编成函数,这样可以减少程序代码的长度,又便于整个程序的管理,还可增强可读性和移植性。 综上,C 语言具有很强的功能性和结构性,可以缩短单片机控制系统的开发周期,而且易于调试和维护,已经成为目前单片机语言中最流行的编程语言。本程序设计正是将每一功能模块化,一个一个模块进行C 语言的编写,再一块一块调试,从整个设计下来的结果看,用 C 语言编写程序达到了很好的效果。本设计使用单片机对开关电源进行数字的控制,代替原来的 PWM 控郑州大学本科毕业论文- 2 -制芯片 KA75009。原先的 KA7500 所实现的功能是对输出的电压以及电流进行反馈采样,通过误差放大器之后对输出的 PWM 波的占空比进行相应的调节,起到了稳压恒流的作用。改用 PIC18F4520 后,采取双通道A/D 采样,分别为电压采样和电流的采样,转换为相应之后进行PID(Proportional Integral Differential)算法,同样起到了稳压恒流的作用。同时外围增设键盘和 LCD 显示电路,对输出的电压和电流有实时的控制和监测。本章将对整个软件部分的设计思路及其具体实现进行阐述。3.1 软件设计总体思路本系统的软件主要有主程序模块、中断服务程序模块组成。其中,主程序模块主要完成系统的初始化模块、PWM 波发生模块、ADC 信号采集模块以及 PID 算法处理模块、键盘以及 LCD 显示模块。中断服务程序主要完成 TMR0 定时 10ms 和 A/D 模块的数据采集滤波处理功能。3.2 系统主程序模块主程序模块的程序框图如图 3-1 所示。郑州大学本科毕业论文- 3 - 图 3-1 主程序框图 3.21 始初化模块主程序中的初始化模块主要完成系统全局变量的初始化、ECCP 模块的初始化、A/D 转化的初始化、LCD 显示的初始化、TMR0 定时器的初始化和 CPU 中断系统的初始化。初始化模块的程序框图如图 3-2 所示。ECCP 模块的初始化将设置有两路互补推挽输出的 PWM 波,A/D 转化初始化将 A/D 模块初始化为 10 位的 A/D 转换,TMR0 初始化完成每 10ms 采样一次电压及电流值。郑州大学本科毕业论文- 4 - 图 3-2 初始化模块框图3.22 PWM 波发生模块波发生模块 在PIC18F4520 中,CCP1模块为带有增强的PWM功能的标准CCP模块10。这些增强的功能包括提供2路或4路输出通道、用户可选的极性(高电平有效或低电平有效) 、死区控制以及自动关闭和重启。因此,增强型PWM 模式提供了更多的PWM 输出选项以适应范围更广的控制应用。图3-3所示为PWM操作的简化框图。所有的控制寄存器都是双重缓冲的,并且在一个新的PWM周期的开始时刻(Timer2复位时的周期边界)被装载以防止在任何输出上出现毛刺。但PWM延迟寄存器PWM1CON例外,该寄存器在占空比边界或周期边界(选择两者中首先出现的那个)被装载。由于缓冲,模块将不会立即启动,而要等到分配的定时器复位为止。这意味着增强型PWM 波形并不完全与标准的PWM 波形吻合,而是偏移一个完整的指令周期(4TOSC)11。郑州大学本科毕业论文- 5 - 图 3-3 增强型 PWM 模式工作原理示意图每个增强型CCP模块至多有4路PWM 输出,这取决于选定的操作模式。这些输出,P1A至P1D,与PORTC和PORTD上的I/O引脚复用。输出是否有效取决于选定的CCP操作模式。因此,若想要单片机工作于半桥输出的增强型的PWM模式,必须按照以下几个步骤: (1) 通过分别设置CCP1CON寄存器的P1M1:P1M0 和CCP1M3:CCP1M0 位可配置模块的输出模式和极性。如图3-4所示为CCP1CON寄存器各配置位。 图3-4 CCP1CON寄存器配置位由于本设计中为两路互补推挽的PWM波输出,所以设置P1M1:P1M0=10,即半桥输出:P1A和P1B为带死区控制的调制输出;P1C和郑州大学本科毕业论文- 6 -P1D被指定为端口引脚。同时设置CCP1M3:CCP1M0=1100,使P1A和P1B都为高电平有效。 (2) 使P1A和P1B都为输出模式,即配置TRISC和TRISD的相应引脚为0。 (3) 设置PWM波的周期。PWM 周期可以通过写PR2寄存器来指定。用以下公式来计算PWM周期。PWM周期=(PR2)+14TOSC(TMR2预分频值)根据本系统所需PWM波的实际情况,原先的PWM控制芯片所产生的PWM波的频率要求为25kHz,即周期为410-5s。而单片机外部的振荡器为16MHz,TOSC=1/16106s,经计算的PR2=159。(4) 设置PWM波的占空比。通过写CCPR1L寄存器和CCP1CON位来指定PWM占空比。最高分辨率可达10位。CCPR1L包含占空比的高8位,而CCP1CON包含低2位。由CCPR1L:CCP1CON 表示完整的10位值。计算占空比的公式如下:PWM占空比=(CCPR1L:CCP1CON)TOSC(TMR2预分频值) 可以在任何时候写入CCPR1L和CCP1CON,但是在PR2和TMR2发生匹配(即周期结束)前占空比值不会被锁存到CCPR1H中。在PWM模式中,CCPR1H 是只读寄存器。CCPR1H寄存器和一个2位的内部锁存器用于给PWM占空比提供双重缓冲。这种双重缓冲结构非常重要,可以避免在PWM工作过程中产生毛刺。同样根据本系统所需 PWM 波的实际情况,PWM 的占空比在 25%左右。所以需要配置 CCPR1L 和 CCP1CON,经计算得 CCPR1L=0X28,同时CCP1CON=00。(5) 设置死区延时。在半桥输出模式下,两个引脚用作输出端来驱动推挽式负载。PWM 输出信号在P1A引脚上输出,而互补的PWM输出信号郑州大学本科毕业论文- 7 -在P1B引脚上输出。如图3-5所示。 图 3-5 半桥 PWM 波输出波形示意图 在半桥应用中,模块在所有时间以PWM频率的调制信号驱动电源开关,关闭电源开关通常比打开它需要更多的时间。如果上方的电源和下方的电源开关同时切换(一个打开,另一个关闭) ,两个开关可能会在一段很短的时间内都处于打开状态,直到一个开关完全关闭为止。在这很短的间隔内,很大的电流(直通电流)可能流过两个电源开关,从而导致半桥供电电源短路。为了避免在切换期间流过这种潜在的破坏性直通电流,一般延迟打开其中的一个开关等待另一个开关完全关闭。在半桥输出模式下,可编程的死区延迟可用来避免直通电流破坏构成半桥的电子开关。该延迟在信号从非有效状态到有效状态转换时发生。PWM1CON 寄存器(如图3-6所示)中的PDC6:PDC0位根据单片机指令周期设置延迟时间(TCY或4个TOSC)13。 图 3-6 PWM1CON 寄存器郑州大学本科毕业论文- 8 -其中 bit6-bit0 为 PWM 延迟计数位,延迟时间为 PWM 信号变为有效的预计时间和实际时间之差,其单位为 FOSC/4(4TOSC)周期14。根据本设计的情况,设定延时时间为占空比时间的 5%,即 510-7s,故对 PWM1CON 寄存器赋值为 0 x84。3.23 A/D 转换模块转换模块 在本系统中需要对电压和电流进行相应的 A/D 转换,硬件电路的设计已经在前一章进行了较为详细的描述,在此不再赘述。这一小节主要介绍 PIC 单片机中的 A/D 转换的原理以及在本实验中所需要用到 A/D 转换功能的程序设计。 PIC 单片机中的 A/D 转换模块15如图 3-7 所示。 可用软件选择模拟参考电压为器件的正电源电压和负电源电压(VDD和VSS)或RA3/AN3/VREF+引脚和RA2/AN2/VREF-/CVREF引脚上的电平。A/D转换器具有可在休眠模式下工作的特性。要使A/D转换器在休眠状态下工作,A/D转换时钟必须来自于A/D 模块内部的RC振荡器。 采样保持电路16的输出是转换器的输入,转换器采用逐次逼近法得到转换结果。器件复位操作将强制所有寄存器进入复位状态,这将迫使A/D模块关闭并中止正在进行的转换。可以将每个与A/D转换器相关的端口引脚配置为模拟输入或数字I/O。ADRESH和ADRESL寄存器保存A/D转换的结果。当 A/D转换完成之后,转换结果被装入ADRESH:ADRESL寄存器对,GO/DONE位(ADCON0寄存器)被清零且A/D中断标志位ADIF被置1。上电复位时,ADRESH:ADRESL寄存器中的值保持不变。上电复位后,ADRESH:ADRESL寄存器中的值不确定。在根据需要配置好A/D模块之后,必须在转换开始之前对选定的通道进行采样。必须将模拟输入通道相应的TRIS位选择为输入。采集时间一结束,即可启动A/D转换。可将采集时间编程设定在GO/DONE位置1和实际转换启动之间。郑州大学本科毕业论文- 9 - 图 3-7 10 位 A/D 转换器模块原理框图在执行 A/D 转换时应该遵循以下步骤: 1.配置 A/D 模块17:(1)通过 ADCON0 寄存器选择输入通道。ADCON0 寄存器各配置位如图3-8 所示 。 其中 bit7-bit6 为未用位,bit5-bit2 为模拟通道选择位,从 0000-1100 分别代表 AN0-AN12,这 13 个通道。bit1 为 A/D 转换状态位,1 表示转换正在进行,0 表示空闲。bit0 为 A/D 转换使能位,1 表示使能,0 表示禁止。 图 3-8 ADCON0 寄存器各配置位 (2)通过 ADCON1 寄存器配置模拟引脚、参考电压和数字 I/O 口。ADCON1 寄存器各配置位如图 3-9 所示。其中 bit7-bit6 为未用位,bit5-bit4 为参考电压配置位,在本次设计中将其配置位 00,使得参考电压在郑州大学本科毕业论文- 10 -0-5V 之间。bit3-bit0 为 A/D 端口配置控制位,如表 3-1 所示。 图 3-9 ADCON1 寄存器各配置位表 3-1 A/D 端口配置控制位由于 AN0 为按键采集,AN1 为电压采集,AN2 为电流采集,所以ADCON1 寄存器的 bit3-bit0 设置为 1100。 (3)通过配置ADCON2从而设置A/D转换的采集时间。每当GO/DONE位置1,用户就可利用ADCON2寄存器选择采集时间。该寄存器还提供了自动设定采集时间的选项。可以使用ACQT2:ACQT0 位(ADCON2)设置采集时间,采集时间的范围是2到20 个TAD。当GO/DONE位置1时,A/D模块继续对输入进行采样,采样时间为所选择的采集时间,然后自动启动转换。由于采集时间已被编程,因此在选择通道和GO/DONE 位置1之间无需另外等待一个采集时间。 若ACQT2:ACQT0=000,则表示选择手动采集。当GO/DONE位置1时,采样停止并启动转换。用户有责任确保在选定所需要的输入通道和GO/DONE郑州大学本科毕业论文- 11 -位置1之间经过了所需要的采集时间。此选项也是ACQT2:ACQT0位的默认复位状态,并且与不提供可编程采集时间的器件兼容。在这两种情况下,当转换完成时,GO/DONE位被清零、ADIF 标志位被置1且A/D 再次开始对当前选定的通道进行采样。如果采集时间已经被编程,那么将不会有任何指示显示采集时间何时结束,转换何时开始。ADCON2寄存器各配置位如图2-10所示。图 3-10 ADCON2 寄存器各配置位bit5-bit3为A/D采集时间选择位,在本设计中将这3位设置成010,为4TAD(每位A/D转换时间被定义为TAD)。而每完成一次10位A/D转换需要11个TAD。图3-11显示了GO置位为1,bit5-bit3位被设置为010,且在转换开始之前选择4TAD采集时间后A/D转换器的工作状态。在转换期间将GO/DONE位清零将中止当前的A/D转换。不会用尚未完成的A/D转换结果来更新A/D结果寄存器对。这意味着ADRESH:ADRESL寄存器将仍然保持上一次的转换结果(或上一次写入ADRESH:ADRESL寄存器的值) 。在A/D转换完成或中止以后,需要等待2个TAD才能开始下一次采集。等待时间一到,将自动开始对选定通道进行采集。图 3-11 A/D 转换周期 TAD(ACQT=010.TACQ=4TAD)2.配置A/D中断:郑州大学本科毕业论文- 12 - (1)清零ADIF位 (2)将ADIE位置1 (3)将 GIE 位置 13.等待所需要的采集时间。4.启动转换:将 ADCON0 寄存器中的 GO/DONE 为置 1。5.等待 A/D 转换完成,在本设计中是以中断的形式来判断转换是否完成。6.读取 A/D 结果寄存器(ADRESH:ADRESL) 。7.再次进行 A/D 转换。3.24 PID 算法处理模块算法处理模块1.PID 算法原理简介18典型 PID 控制的传递函数如式(1)所示: (1)11 ()()()(sTsTKsXsXsGdipiO式中:Kp为比例系数;Ti为积分常数;Td为微分常数。简单说来,PID 控制器各校正环节的作用如下:比例环节(Proportiona1):及时成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差。积分环节(Integra1):主要用于消除静差,提高系统的无差度。积分作用强弱取决于积分时间常数Ti,Ti越大,积分作用越弱,反之则越强。微分环节(Differentia1):能反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。郑州大学本科毕业论文- 13 -若令,则式(1)可以改写为:iipKTKddpKTK (2)sKsKKsGdip)(将式(2)经过拉氏变换,并考虑初始值,即可求得时域内理想的模拟PID控制算式,如下: (3)0)()()()(udttdeKdtteKteKtudip由于单片机根据采样时刻的偏差值计算控制量19,因此式(3)中的积分和微分项不能直接使用,需要做离散化处理。按照模拟PID控制算法的算式(3),现以一系列的采样时刻点代表连续的时间,以和式代替积分,以增量代替微分,则可得到离散化的PID表达式为: (4)njnndjinpnueeKeKeKu101)(式中:j为采样序号,j=0,1,2n;un第n次采样时刻的控制器输出值;en为第n次采样时刻输入的偏差值;en-1为第n-1次采样时刻输入的偏差值。数字PID控制分为位置式PID控制算法和增量式PID控制算法,式(4)所示便是位置式PID算式。由式(4)可得控制器第n-1次的输出量un-1为: (5)0112111)(ueeKeKeKunjnndjinpn所以,增量式PID控制算式如下所示: (6)2()(2111nnndninnpnneeeKeKeeKuuu2.本系统的PID算法程序框图在开关电源结构中,开关电源是通过修改PWM波占空比改变逆变桥中郑州大学本科毕业论文- 14 -COOLMOSFET的通断时间,从而控制输出电压的大小。当输出电压超过给定值时,减小PWM波占空比,减小COOLMOSFET开通时间,降低输出电压;反之,当输出电压小于给定值时,则增加PWM波占空比,增加COOLMOSFET开通时间,使输出电压升高。可见,在控制器进行调节的时候我们所关心的是此次PWM波的占空比需要改变的量,即每次输出控制量的增量。因此,本系统使用增量式PID控制算法。程序框图如图3-12所示。图 3-12 PID 算法程序框图3.25 LCD 液晶显示模块液晶显示模块本设计中的 LCD 现实这一块相对清晰,主要进行的是对 LCD 的读写操作。但是在编写程序的过程中主要的是将读写的时序有很好的理解。如图 2-13 和如图 2-14 分别为显示了 1602 的读和写的操作。3.26 按键处理模块通过按键实现设定电压的增减,如按一下增加键(键 1) ,则设定电压值加一伏,但是如果设定电压值大于或是等于 36V 时,则不在增加;同理,按一下减少键(键 2) ,则设定电压值减一伏,但是如果设定电压郑州大学本科毕业论文- 15 -值小于或是等于 24V 时,设定值将不在减少而是保存原值不变。 图 3-13 LCD1602 读操作时序图 图 3-14 LCD1602 写操作时序图注:tsp1和 tsp2的最小值一般在 30-40ns 之间;tHD1和 tHD2最小值一般在 10ns;tPW的最小值为 150ns;tC的最小值为 400ns;tF的最大值一般为25ns;tR的最大值一般为 25ns;tD的最大值一般为 100ns。此模块采用 AD 采集的方式来识别按键的按键模块,每个按键对应于不同的电压,因此每个按键对应于不同的 AD 值,从而通过判断 AD 值的大小范围就可以判定出按键的值,而此按键模块只需一个 AD 采集口就够了,大大的减少了 IO 口的占用情况。各个按键按下所得到的 AD 值如下:郑州大学本科毕业论文- 16 -Key1 2.5V 0 x200 Key2 2.0V 0 x199 Key3 1.67V 0 x156Key4 2.882V 0 x24E Key5 2.24V 0 x1CA Key6 1.795V 0 x16FKey7 3.11V 0 x27C Key8 2.37V 0 x1E5 Key9 1.916V 0 x1883.3 中断服务程序模块 3.31 中断程序原理及框图此系统的中断服务程序采取两级中断,主要是 TMR0 定时/计数器产生 10ms 定时的溢出中断,主要完成定时 10ms 对 A/D 模块的数字量读取和重新开始新的 A/D 转换,每当 ADCBuffer 缓冲区的内容满时,对所有采集到的数据进行数字滤波从而读取正确的 A/D 转换后的电压数字量传给主程序的电压变换模块从而交于 PID 算法处理模块进行处理。在此分析电压中断服务子程序。程序的框图如图 3-15 所示。郑州大学本科毕业论文- 17 -图 3-15 电压中断服务程序框图3.32 数字滤波算法数字PID控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。而测量信号中总是存在一些干扰、噪声或者畸变,这些因素都影响上述控制算法的精度,从而使整个控制系统的性能下降。因此,利用数字滤波技术能够有效地对偏差信号(测量信号)中的干扰、噪声进行滤波或者对其畸变进行动态补偿,从而提高数字PID控制算式的精度,改进控制系统的性能。本系统中软件中采用TMR0定时10ms,每10ms定时的时间到就将A/D转换的结果读出来,存储在定义的unsigned char ADCBuffer5缓冲区中。当缓冲区满时,将缓冲区的内容进行排序,抑制掉最大值和最小值,只取中间的值作为转换的结果。这部分数字滤波的具体实现方法如下: /采用数字滤波算法,用排序法完成 for(i=0;isizeof(ADCBuffer)/2;i+) for(j=i;jsizeof(ADCBuffer)/2;j+) if(ADCBufferiADCBufferj) temp=ADCBufferi; ADCBufferi=ADCBufferj; ADCBufferj=temp; 郑州大学本科毕业论文- 18 - /获取滤波后的 AD 转换值,将该值载入 ADCValue 中 ADCValue=ADCBuffersizeof(ADCBuffer)/2;第四章 结 论此毕业设计主要完成的任务是对开关电源进行数字的控制即程序的编写。其实从硬件电路的角度讲难度并不是很大,因为主要就是电压和电流的采集,然后进行 A/D 的转换,再调节 PWM 波的占空比。原理相对简单,但是要做成功其实并不是一件容易的事情,主要碰到的问题有不同电压情况下 PWM 波的占空比是不一样的。要想通过进行电压的设定以及将电压稳定在设定的状态需要对 PWM 波的占空比有比较精确的定量认识。在这个情况下面,需要极其耐心地对每个电压所对应的 PWM 波的占空比做一个较为详细的记录,以便进行软件程序的编写。郑州大学本科毕业论文- 19 -在开关电源中,相对模拟系统而言,数字系统22具有设计周期短,易实现模块化管理,能够消除因分立元件引起的不稳定和电磁干扰等优点。因此,近年来数字控制在开关电源中得到迅速的发展。随着芯片技术的不断发展,特别是单片机技术的发展,各种在模拟电路中难以实现的现代控制方法也开始应用于开关电源的控制中,使得模拟控制向数字控制转变。 相信随着数字技术的不断发展和电子技术的不断发展,单片机的数字控制将会越来越受到关注,也会越来越广泛地被运用到高效率、高功率因素的开关电源中。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。本文所涉及的是市场占有率最高的是 MCS51 系列,因为世界上很多知名的 IC 生产厂家都生产 51 兼容的芯片。到目前为止,MCS51 单片机已有数百个品种,还在不断推出功能更强的新产品。郑州大学本科毕业论文- 20 -致 谢经过三个多月的时间,毕业设计按照预期完成了,由于本人的知识水平有限,论文和设计中有遗漏和缺陷的地方恳请指正。我要感谢河南理工大学,感谢电气系对我四年的培养,让我学到了许许多多的知识,感谢各位老师在这四年里对我的关怀与照顾,在此致以我深深的谢意。感谢我的导师给了我莫大的帮助,在她悉心的指导和严格的要求下,作品和论文顺利完成了。论文从选题和最终完成,凝结着导师的辛勤的汗水,她不辞劳苦的教导、严谨的作风使我终生受益。在此毕业设计完郑州大学本科毕业论文- 21 -成之际,谨向导师和所有帮助过我的老师致以崇高的敬意和衷心的感谢。还有感谢家人、朋友还有宿舍里所有的室友,是他们给我创造了良好的学习氛围,在学习和生活中给了我支持和帮助。在以后的学习生活中我会时时敦促自己更加努力,不辜负师长、亲人、朋友对我的期望毕业设计是综合运用所学知识的一次能力锻炼。在设计过程中,不但要汲取新的知识而且对以前所学的知识也要融会贯通。此次的毕业设计不但增强了自己的动手能力,而且也使我学会了如何用所学的知识解决实际问题。同时它也使我认识到同学之间相互讨论,相互学习的重要性,让我在以后的工作中更加注重一个团队的合作精神。最后,感谢在百忙之中抽出时间参加论文评阅和课题答辩的各位老师,在此致以最衷心的感谢!参考文献1 王小波.直流开关电源的数字控制设计及应用M. 电子工业出版社,2005.1-32 常敏慧,申功迈等.开关电源应用、设计与维修M. 科学技术文献出版社,2007.55-573 何希才. 实用开关电源数字控制技术M. 电子工业出版社,2002.169-1754 高飞, 田玉冬. 36V/2A稳压开关电源的设计J. 上海电机学院学报,郑州大学本科毕业论文- 22 -2007,10(2): 94-975 林雯. 浅谈开关电源的技术发展趋势J. 通信电源技术,2008,25(6):79-806 孔锋封. 开关电源单片机外围元器件选择与检测M. 北京: 中国电力出版社, 2009.1-37 刘松又. 高频开关电源的数字化控制电路的设计J. 湖南大学学报, 2003(6): 978 雷媛媛,吴胜益. 试论开关电源技术的发展J. 通信电源技术,2008,25(4):75-77 9 胡玮,康永. 基于单片机控制的双路输出数字开关电源的研制J. 上海电机学院学报,2008,10(2): 65-6710 刘鹿生.电力电子的高频数字控制J.电力电子,2005(1):535511 马彦霞,李俊. 等型变换器的闭环控制性能分析与仿真J. 中原工学院学报,2004(4):363912 汪超. 基于高性能单片机的功率直流开关电源的设计J. 湖南工程学院学报,2003(6): 9713 王增福,李翅等. 软开关电源原理与应用M. 北京: 电子工业出版社, 2009.1-3: 20014 孙著. 新型PID控制在开关电源中的应用J. 电力电子技术, 2009,43(2): 73-7515 姜少飞等.基于DSP的数字PID控制在开关电源中的应用J. 漳州师范学院学报, 2009(3): 53-5516 魏旭光, 陈建锋. 开关电源时变模型的新型PID算法J. 通信电源技术, 2009, 26(4):28-3017 刘文军, 罗玉峰. 开关电源模糊控制PID的设计和MATLAB仿真研究郑州大学本科毕业论文- 23 -J. 通信电源技术,2007,25(4):23-2618 席俊国. 一种新型的PID参数自整定策略J. 电力电子技术, 2008,23(3):83-85郑州大学本科毕业论文- 24 -附录123456ABCD654321DCBATitleNumberRevisionSizeBDate:10-May-2010Sheet of File:C:Documents and SettingsAdministrator业 业 业 业 业 业 .ddbDrawn By:RA1/AN13RA2/AN2/Vref-4RA3/AN3/Vref+5RA4/TOCK1/C1OUT6RA5/AN4/SS/7RE0/RD/AN58RE1/WR/AN69RE2/CS/AN710VDD11VSS12OSC1/CLKI/RA713OSC2/CLKO/RA614RC0/T1OSO/T13CKI15RC1/T1OSI/CCP216RB6/KBI2/PGC39RB5/KBI1/PGM38RB4/KBI0/AN1137RB3/AN9/CCP236RB2/INT2/AN835RB1/INT1/AN1034RB0/INT0/AN1233VDD32Vss31RD7/PSP7/P1D30RD6/PSP6/P1C29RD5/PSP5/P1B28RD4/PSP427RC7/RX/DT26RC6/TX/C
展开阅读全文