毕业设计(论文)单片机控制的直流斩波器设计.doc

上传人:仙人指路1688 文档编号:3977958 上传时间:2023-03-30 格式:DOC 页数:59 大小:888KB
返回 下载 相关 举报
毕业设计(论文)单片机控制的直流斩波器设计.doc_第1页
第1页 / 共59页
毕业设计(论文)单片机控制的直流斩波器设计.doc_第2页
第2页 / 共59页
毕业设计(论文)单片机控制的直流斩波器设计.doc_第3页
第3页 / 共59页
毕业设计(论文)单片机控制的直流斩波器设计.doc_第4页
第4页 / 共59页
毕业设计(论文)单片机控制的直流斩波器设计.doc_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《毕业设计(论文)单片机控制的直流斩波器设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)单片机控制的直流斩波器设计.doc(59页珍藏版)》请在三一办公上搜索。

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

3、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

4、 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.显示对应的拉丁字符的拼音字典可翻译 50 多种语言 Pardon ? dti Wie gehts? Vr s snill

5、! Je ne sais pas ! miracoloso Hjelp! Wie heien Sie? . hoje est ensolarado Cmo ests? mijn vriend Buongiorno Principessa! s t nazdar! Ich bin vierzig Jahre alt Wie bitte? hello haydi gidelim La voiture rouge Es ist sehr interessant! Je parle un petit peu franais. escargots朗读显示对应的拉丁字符的拼音朗读显示对应的拉丁字符的拼音K

6、ey words: microcontroller, switching power supply目录目录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波发生模块19

7、3.23 A/D转换模块233.24 PID算法处理模块273.25 LCD液晶显示模块293.26 按键处理模块293.3 中断服务程序模块313.31 中断程序原理及框图313.32 数字滤波算法32第四章 结 论34致 谢36参考文献37附录39目录?前 言1.选题目的和意义直流斩波电路(DC Chopper)的功能是将直流电变为另一固定电压或可调电压的直流电。也称为直接直流-直流变换器(DC/DC Converter)。直流斩波电路包括六种基本斩波电路升降压斩波电路应用最为广泛。路包括六种基本斩波电路升降压斩波电路应用最为广泛。直流斩波器能起调压的作用,所以可以做开关电源用。开关电源作

8、为电力电子领域的一个重要分支,随着电力电子技术的高速发展而被广泛应用于以电子计算机为主的各种终端设备和通信设备中,是当今电子信息产业飞速发展不可缺少的一种电源方式。采用传统控制方式的开关电源,其控制精度、响应速度等都由电路拓扑和器件本身的参数决定,如果想进一步提高开关电源的性能,就只能选用参数更优的器件,或者对原有电路进行大范围的改动,这对电源产品的研发、生产都会带来很多麻烦,也制约了开关电源性能的提升。同时,由于模拟信号在传递过程中可能会出现信号失真、畸变以及受到外界电磁干扰,造成开关电源工作状态不稳定。所以,采用传统控制方式的开关电源在性能上的提升相当有限。随着数字处理技术的日趋成熟,开关

9、电源的可编程数控技术得到了快速的发展和广泛的关注。与硬件控制方式相比,数字控制技术具有其无法比拟的优势。 2. 国内外综述开关电源的发展方向是高频、高可靠、低耗、低噪声、抗干扰和模块化。由于开关电源轻、小、薄的关键技术是高频化,因此国外各大开关电源制造商都致力于同步开发新型高智能化的元器件,特别是改善二次整流器件的损耗,并在功率铁氧体(Mn?Zn)材料上加大科技创新,以提高在高频率和较大磁通密度(Bs)下获得高的磁性能,而电容器的小型化也是一项关键技术。SMT技术的应用使得开关电源取得了长足的进展,在电路板两面布置元器件,以确保开关电源的轻、小、薄。开关电源的高频化就必然对传统的PWM开关技术

10、进行创新,实现ZVS、ZCS的软开关技术已成为开关电源的主流技术,并大幅提高了开关电源的工作效率。对于高可靠性指标,美国的开关电源生产商通过降低运行电流,降低结温等措施以减少器件的应力,使得产品的可靠性大大提高。目前,开关电源以小型、轻量和高效率的特点被广泛应用于以电子计算机为主导的各种终端设备、通信设备等几乎所有的电子设备,是当今电子信息产业飞速发展不可缺少的一种电源方式。目前市场上出售的开关电源中采用双极性晶体管制成的kHz、用制成的kHz电源,虽已实用化,但其频率有待进一步提高。要提高开关频率,就要减少开关损耗,而要减少开关损耗,就需要有高速开关元器件。然而,开关速度提高后,会受电路中分

11、布电感和电容或二极管中存储电荷的影响而产生浪涌或噪声。这样,不仅会影响周围电子设备,还会大大降低电源本身的可靠性。其中,为防止随开关启-闭所发生的电压浪涌,可采用R-C或L-C缓冲器,而对由二极管存储电荷所致的电流浪涌可采用非晶态等磁芯制成的磁缓冲器。不过,对1MHz以上的高频,要采用谐振电路,以使开关上的电压或通过开关的电流呈正弦波,这样既可减少开关损耗,同时也可控制浪涌的发生。这种开关方式称为谐振式开关。目前对这种开关电源的研究很活跃,因为采用这种方式不需要大幅度提高开关速度就可以在理论上把开关损耗降到零,而且噪声也小,可望成为开关电源高频化的一种主要方式。当前,世界上许多国家都在致力于数

12、兆Hz的变换器的实用化研究。3. 本论文的任务及工作 第二章 系统硬件设计 本章将对硬件部分的设计进行详细介绍,其中包括以单片机为核心最小系统的搭建以及外围电路的设计和优化,并对一些在设计中遇到的问题进行分析和解决。2.1 系统原理本次制作的是36V、3A的开关电源,要求能够对输出的电压进行恒定的控制,使整个系统具有很好的稳定性。可以通过键盘的输入值对开关电源在20V-36V的输出控制,而对其进行恒压的控制是根据设置的电压值与采集到的电压值的偏差进行比较,由单片机来完成PID算法处理得到电压的偏差信号,再根据偏差信号的大小改变单片机ECCP模块所产生两路推挽的PWM波的占空比,从而改变半控桥电

13、路中两个MOS管通断时间的大小,从而起到稳压的作用。同时外加LED显示模块,对实时的电压电流起到了检测和显示的作用。系统的硬件框图如图2-1所示。图2-1 系统硬件框图实际的硬件系统中,通过抗干扰电路来减少外界干扰如果没有该部分输入电路就会有干扰对输出有很大的影响,整流滤波电路使输入和输出的波形更接近理想化,这样可以减少误差。如果没有该部分加大了误差有可能使结果和理想状态下有很大的出入。单片机模块输出两路推挽的PWM波,通过高速光耦隔离并且进行电平的转换,再通过以IR2113为核心的驱动电路将PWM波供给开关电源的半桥控制的逆变电路。从开关电源输出端电压经分压后采集回单片机模块进行A/D转换,

14、通过LCD液晶显示采样回来的电压值。通过软件的控制使电压稳定在某一值,具体的电压值由按键模块确定。2.2 硬件的选取 本设计采用的是Microchip公司的高性能8位单片机PIC18F4520,并且使用C语言进行程序的编写,同时在MPLAB IDE 集成开发环境中程序的编译和调试对整个系统进行描述和设计。本设计所使用的PIC18F4520单片机是采用10位A/D及纳瓦技术的40脚的增强型闪存单片机,如图2-2所示。 21-2 PIC18F4520 DPIP封装的引脚图 此单片机具有高性能的RISC(Reduced Instruction Set Computer)结构CPU,有较宽的工作电压范

15、围:2.0-5.5V,同时驱动能力强,驱动电流高达25mA,还具有超低的功耗,多级的中断。由单片机来完成PID算法处理得到电压的偏差信号,再根据偏差信号的大小改变单片机ECCP模块所产生两路推挽的PWM波的占空比,从而改变半控桥电路中两个MOS管通断时间的大小,从而起到稳压的作用。在本设计中主要使用的是单片机的ECCP模块(增强型捕捉/比较/PWM模块),10位输出的A/D转换模块,同时加上外围的键盘输入模块,以及LCD显示模块。2.3 半桥输出的PWM波产生电路由于原先在选择单片机时选择的是PIC18F4520,其内部本身就具有ECCP模块,所以只需要单片机的最小系统就可以实现两路推挽的PW

16、M波的输出,无需外加其他电路。2.4 A/D采样及调理电路 本系统主要对输出的电压以及电流进行采样,通过分压或者信号调理电路进行整形和放大送至A/D转换器,由于PIC单片机本身就内置有A/D转换模块,所以不必外扩展A/D转换器,使得整个系统的硬件电路变得更为简捷。图2-3 PIC18F4520各管脚电路图 图2-4 电压分压采样电路2.41电压采样电路单片机的A/D转换器所能接受的输入转换电压为0-5V,而从开关电源的输出端所输出的电压在24V-36V之间,要将其转换成相应的数量值就必须将输出端的电压进行降压处理,故采用了分压电路,将输出电压的值降到2-4V之间,考虑到电阻的功耗问题,两个分压

17、电阻不宜太小,同时考虑到电阻的阻值越大越容易受干扰,阻值又不宜取太大,因此,我们最终选定100k和10k这两个电阻分压以便单片机的A/D转换器进行模数的转换。具体的分压电路较为简单,如图2-4所示。2.42 电流采样调理电路 本系统采用康铜丝6进行电流的采样。用康铜丝是考虑到功率损耗的问题,是因为康铜丝的阻值很小,一般在0.01左右,电流流经康铜丝后的电压很小,最大值不会超过50mV,信号比较微弱。因此,在进行采样的时候,我们需要将此电压信号放大到PIC单片机的A/D模块能够接受的0-5V之间的范围。本系统根据实际的需要将该电压进行大约100倍的放大,这一模块的电路图如2-5所示。直接用提供的

18、公式计算, 当U1=U2=Uf时, 满足输出Uo=-(U1+U2),当然如果要求说满足一个确定的关系式时,可以通过改变两个电阻与Rf的比值得到所需要的比例关系。从运算放大器输出的电压Vout=1+(R31+R33)/R32Vcurrent,放大倍数由(R31+R33)/R32决定。 图2-5 电流采样信号调理电路2.5 矩阵键盘电路通过键盘的输入值对开关电源在20V-36V的输出控制,而对其进行恒压的控制是根据设置的电压值与采集到的电压值的偏差进行比较。如图2-6所示为33的矩阵式键盘,这一键盘的电路设计是采用电阻分压式设计,配合A/D转换器一查表得方式做按键的判断,所以只要使用一个具有A/D

19、功能的输入口即可完成对33的矩阵式键盘的扫描操作,图中的AnJian 端口与图2-3的AN0相连接,为A/D功能的输入口。此外,一般的按键所用开关都是机械弹性开关,由于机械触点的弹性作用,按键开关在闭合时不会马上稳定地连接,在断开时也不会马上完全的断开,在闭合和断开的瞬间均有一连串的抖动,所以一般在程序中会加按键的去抖动的部分。按键按下的电压信号波形图如图2-7所示,从图中可以看出按键按下和松开的时候都存在着抖动。抖动时间的长短因按键的机械特性不同而有所不同,一般为5ms10ms。如果不处理键抖动,则有可能引起一次按键被误读成多次,所以为了确保能够正确地读到按键,必须去除键抖动,确保在按键的稳

20、定闭合和稳定断开的时候来判断按键状态,判断后再做处理。 图2-6 33矩阵式键盘 在本系统的按键去抖动设计中,主要是判断按键是否抬起。如果此法效果不是很好,那就可以采用延时再判断的方法,如前所述,机械按键的抖动时间一般在10ms-20ms之间。在程序中首先A/D采样进来的电压值与延时10ms后的电压值进行比较,若相等,则说明按键已经确定按下,按键的抖动已经消除。假若不相等,则按键不确定已经按下,需要重新再扫描。实验证明,本系统中只需要采用判断按键是否抬起的方法已经可以很好的去抖动满足要求了。 图1-7 按键抖动2.6 液晶LCD显示电路2.61 液晶1602显示器介绍 液晶显示器以其微功耗、体

21、积小、显示内容丰富以及超薄轻的诸多优点,在各类仪表和低功耗系统中得到广泛的应用7-8。 根据显示内容可以分为字符型液晶,图形液晶。根据显示容量又可分为单行16字,2行16字,两20字等等。本系统中采用的是一款应用相当广泛,功能精简但完全可以满足要求的1602液晶模块。它是16字2行的字符型液晶模块,是一种通用模块,与数码管相比该模块主要有如下优点:1)位数多,可显示32位,而32个数码管体积相当庞大了。2)显示内容丰富,可显示所有数字和大、小写字母。3)程序简单,如果用数码管动态显示,会占用很多时间来刷新显示,而1602 自动完成此功能。 1602采用标准的16脚接口,各管脚功能如表2-1所示

22、。管脚序号名称功能1VSS电源地端2VDD电源5V端3VEE液晶显示器对比度调整端4RS寄存器选择,高选数据寄存器、低选指令寄存器5R/W读写信号,高为读、低为写6E使能端,高电平跳变为低电平时有效714D0D7双向数据口15、16LED+、LED-调节液晶背光 表2-1 1602各管脚及其功能2.62 本系统中1602的应用根据系统设计的实际需要,液晶模块主要是显示设定电压值,AD采集得到的时间电压值,电流值。1602的各管脚和单片机各端口的连接如图2-8所示,实物图如图2-9所示。液晶显示器1602的D0-D3分别与PIC18F4520的RD0-RD3相连接,使能端E则与单片机的Vref+

23、端相连,RS端与RD4连接,R/W端则与RD6相连,具体可以把图2-3与图2-8这两幅图联合起来看。15、16脚是用来调节背光,达到即使黑暗的地方也能看清液晶屏上显示的字符,但它有损于液晶屏的寿命。图2-8 1602与单片机引脚连接图第三章 系统软件设计单片机传统的开发语言是汇编语言,因为汇编语言是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。作为一种结构化的程序设计语言,C语言的特点就是可以使你尽量少地对硬件进行操作,具有很强的功能性、结构性和可移植性,因此常常被优选作为单片机系统的编程语言。用C编写程序比汇编更符合人

24、们的思考习惯,开发者可以摆脱与硬件无必要的接触,更专心的考虑功能和算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。C语言具有良好的程序结构,适用于模块化程序设计,因此采用C语言设计单片机应用系统程序时,首先要尽可能地采用结构化的程序设计方法,将功能模块化,由不同的模块完成不同的功能,这样可使整个应用系统程序结构清晰,易于调试和维护。不同的功能模块,分别指定相应的入口参数和出口参数,对于一些要重复调用的程序一般把其编成函数,这样可以减少程序代码的长度,又便于整个程序的管理,还可增强可读性和移植性。 综上,C语言具有很强的功能性和结构性,可以缩短单片机控制系统的开发周期,而且易于调试和维

25、护,已经成为目前单片机语言中最流行的编程语言。本程序设计正是将每一功能模块化,一个一个模块进行C语言的编写,再一块一块调试,从整个设计下来的结果看,用C语言编写程序达到了很好的效果。本设计使用单片机对开关电源进行数字的控制,代替原来的PWM控制芯片KA75009。原先的KA7500所实现的功能是对输出的电压以及电流进行反馈采样,通过误差放大器之后对输出的PWM波的占空比进行相应的调节,起到了稳压恒流的作用。改用PIC18F4520后,采取双通道A/D采样,分别为电压采样和电流的采样,转换为相应之后进行PID(Proportional Integral Differential)算法,同样起到了

26、稳压恒流的作用。同时外围增设键盘和LCD显示电路,对输出的电压和电流有实时的控制和监测。本章将对整个软件部分的设计思路及其具体实现进行阐述。3.1 软件设计总体思路本系统的软件主要有主程序模块、中断服务程序模块组成。其中,主程序模块主要完成系统的初始化模块、PWM波发生模块、ADC信号采集模块以及PID算法处理模块、键盘以及LCD显示模块。中断服务程序主要完成TMR0定时10ms和A/D模块的数据采集滤波处理功能。3.2 系统主程序模块主程序模块的程序框图如图3-1所示。 图3-1 主程序框图 3.21 始初化模块主程序中的初始化模块主要完成系统全局变量的初始化、ECCP模块的初始化、A/D转

27、化的初始化、LCD显示的初始化、TMR0定时器的初始化和CPU中断系统的初始化。初始化模块的程序框图如图3-2所示。ECCP模块的初始化将设置有两路互补推挽输出的PWM波,A/D转化初始化将A/D模块初始化为10位的A/D转换,TMR0初始化完成每10ms采样一次电压及电流值。 图3-2 初始化模块框图3.22 PWM波发生模块 在PIC18F4520 中,CCP1模块为带有增强的PWM功能的标准CCP模块10。这些增强的功能包括提供2路或4路输出通道、用户可选的极性(高电平有效或低电平有效)、死区控制以及自动关闭和重启。因此,增强型PWM 模式提供了更多的PWM 输出选项以适应范围更广的控制

28、应用。图3-3所示为PWM操作的简化框图。所有的控制寄存器都是双重缓冲的,并且在一个新的PWM周期的开始时刻(Timer2复位时的周期边界)被装载以防止在任何输出上出现毛刺。但PWM延迟寄存器PWM1CON例外,该寄存器在占空比边界或周期边界(选择两者中首先出现的那个)被装载。由于缓冲,模块将不会立即启动,而要等到分配的定时器复位为止。这意味着增强型PWM 波形并不完全与标准的PWM 波形吻合,而是偏移一个完整的指令周期(4TOSC)11。 图3-3 增强型PWM模式工作原理示意图每个增强型CCP模块至多有4路PWM 输出,这取决于选定的操作模式。这些输出,P1A至P1D,与PORTC和POR

29、TD上的I/O引脚复用。输出是否有效取决于选定的CCP操作模式。因此,若想要单片机工作于半桥输出的增强型的PWM模式,必须按照以下几个步骤: (1) 通过分别设置CCP1CON寄存器的P1M1:P1M0 和CCP1M3:CCP1M0 位可配置模块的输出模式和极性。如图3-4所示为CCP1CON寄存器各配置位。 图3-4 CCP1CON寄存器配置位由于本设计中为两路互补推挽的PWM波输出,所以设置P1M1:P1M0=10,即半桥输出:P1A和P1B为带死区控制的调制输出;P1C和P1D被指定为端口引脚。同时设置CCP1M3:CCP1M0=1100,使P1A和P1B都为高电平有效。 (2) 使P1

30、A和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位。

31、由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,同

32、时CCP1CON=00。(5) 设置死区延时。在半桥输出模式下,两个引脚用作输出端来驱动推挽式负载。PWM 输出信号在P1A引脚上输出,而互补的PWM输出信号在P1B引脚上输出。如图3-5所示。 图3-5 半桥PWM波输出波形示意图 在半桥应用中,模块在所有时间以PWM频率的调制信号驱动电源开关,关闭电源开关通常比打开它需要更多的时间。如果上方的电源和下方的电源开关同时切换(一个打开,另一个关闭),两个开关可能会在一段很短的时间内都处于打开状态,直到一个开关完全关闭为止。在这很短的间隔内,很大的电流(直通电流)可能流过两个电源开关,从而导致半桥供电电源短路。为了避免在切换期间流过这种潜在的破坏

33、性直通电流,一般延迟打开其中的一个开关等待另一个开关完全关闭。在半桥输出模式下,可编程的死区延迟可用来避免直通电流破坏构成半桥的电子开关。该延迟在信号从非有效状态到有效状态转换时发生。PWM1CON 寄存器(如图3-6所示)中的PDC6:PDC0位根据单片机指令周期设置延迟时间(TCY或4个TOSC)13。 图3-6 PWM1CON寄存器其中bit6-bit0为PWM延迟计数位,延迟时间为PWM信号变为有效的预计时间和实际时间之差,其单位为FOSC/4(4TOSC)周期14。根据本设计的情况,设定延时时间为占空比时间的5%,即510-7s,故对PWM1CON 寄存器赋值为0x84。3.23 A

34、/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的输出是转换器的输

35、入,转换器采用逐次逼近法得到转换结果。器件复位操作将强制所有寄存器进入复位状态,这将迫使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模块之后,必须在转换开始之前对选定的通道进行采样。必须将模拟输入

36、通道相应的TRIS位选择为输入。采集时间一结束,即可启动A/D转换。可将采集时间编程设定在GO/DONE位置1和实际转换启动之间。 图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寄存器各配置位

37、 (2)通过ADCON1寄存器配置模拟引脚、参考电压和数字I/O口。ADCON1寄存器各配置位如图3-9所示。其中bit7-bit6为未用位,bit5-bit4为参考电压配置位,在本次设计中将其配置位00,使得参考电压在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寄存器选择采集时

38、间。该寄存器还提供了自动设定采集时间的选项。可以使用ACQT2:ACQT0 位(ADCON2)设置采集时间,采集时间的范围是2到20 个TAD。当GO/DONE位置1时,A/D模块继续对输入进行采样,采样时间为所选择的采集时间,然后自动启动转换。由于采集时间已被编程,因此在选择通道和GO/DONE 位置1之间无需另外等待一个采集时间。 若ACQT2:ACQT0=000,则表示选择手动采集。当GO/DONE位置1时,采样停止并启动转换。用户有责任确保在选定所需要的输入通道和GO/DONE位置1之间经过了所需要的采集时间。此选项也是ACQT2:ACQT0位的默认复位状态,并且与不提供可编程采集时间

39、的器件兼容。在这两种情况下,当转换完成时,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转换器的工作状态。在转换期间

40、将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中断: (1)清零ADIF位 (2)将ADIE位置1 (3)将GIE位置13.等待所需要的采集时间。4.启动转换:将ADCON0寄存器中的GO/DONE为置1。5.等待A/D转换完成

41、,在本设计中是以中断的形式来判断转换是否完成。6.读取A/D结果寄存器(ADRESH:ADRESL)。7.再次进行A/D转换。3.24 PID算法处理模块1. PID算法原理简介18典型PID控制的传递函数如式(1)所示: (1)式中:Kp为比例系数;Ti为积分常数;Td为微分常数。简单说来,PID控制器各校正环节的作用如下:比例环节(Proportiona1):及时成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差。积分环节(Integra1):主要用于消除静差,提高系统的无差度。积分作用强弱取决于积分时间常数Ti,Ti越大,积分作用越弱,反之则越强。微分环节(

42、Differentia1):能反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。若令,则式(1)可以改写为: (2)将式(2)经过拉氏变换,并考虑初始值,即可求得时域内理想的模拟PID控制算式,如下: (3)由于单片机根据采样时刻的偏差值计算控制量19,因此式(3)中的积分和微分项不能直接使用,需要做离散化处理。按照模拟PID控制算法的算式(3),现以一系列的采样时刻点代表连续的时间,以和式代替积分,以增量代替微分,则可得到离散化的PID表达式为: (4)式中:j为采样序号,j=0,1,2n;un第n次采

43、样时刻的控制器输出值;en为第n次采样时刻输入的偏差值;en-1为第n-1次采样时刻输入的偏差值。数字PID控制分为位置式PID控制算法和增量式PID控制算法,式(4)所示便是位置式PID算式。由式(4)可得控制器第n-1次的输出量un-1为: (5)所以,增量式PID控制算式如下所示: (6)2. 本系统的PID算法程序框图在开关电源结构中,开关电源是通过修改PWM波占空比改变逆变桥中COOLMOSFET的通断时间,从而控制输出电压的大小。当输出电压超过给定值时,减小PWM波占空比,减小COOLMOSFET开通时间,降低输出电压;反之,当输出电压小于给定值时,则增加PWM波占空比,增加COOLMOSFET开通时间,使输出电压升高。可见,在控制器进行调节的时候我们所关心的是此次PWM波的占空比需要改变的量,即每次输出控制量的增量。因此,本系统使用增量式PID控制算法。程序框图如图3-12所示。图3-12 PID算法程序框图3.25 LCD液晶显示模块本设计中的LCD现实这一块相对清晰,主要进行的是对LCD的读写操作。但是在编写程序的过程中主要的是将读写的时序有很好的理解。如图2-13和如图2-14分别为显示了1602的读和写的操作。3.26 按键处理模块通过按键实现设

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号