版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计〔论文〕题目:加热炉多参数检测和炉温控制技术学院:电气与电子信息工程学院专业名称:应用电子技术学号:0630210110学生姓名:王有敏指导教师:胡蔷2021年5月10日摘要在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。其中,温度控制也越来越重要。在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反响炉和锅炉中的温度进行检测和控制。采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。
单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等局部于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。因此,单片机广泛用于现代工业控制中。
本论文侧重介绍“单片机温度控制系统〞的软件设计及相关内容。论文的主要内容包括:采样、滤波、键盘、LED显示系统,加热控制系统,单片机MCS-51的开发以及系统应用软件开发等。作为控制系统中的一个典型实验设计,单片机温度控制系统综合运用了微机原理、自动控制原理、模拟电子技术、数字控制技术、键盘显示技术等诸多方面的知识,是对所学知识的一次综合测试。关键词:MCS-51;8051;温度控制;PIDABSTRACT
Withscientificconstantprogress,inindustrialproduction,electriccurrent,voltage,temperature,pressurearemainlycommonlyused.especiallyintheheattreatmentindustry,theaccuratetestandcontrollingoftemperatureisveryimportant.Inalotoffields,forexample:Inmetallurgicalindustry,chemicalproduction,powerengineering,machinemanufactures,foodprocessing,familyandindustryheatetc.peopleneedtoheatingfurnace,heat-treatmentfurnaceandallkindsofresponsestoveandboilertemperaturemeasureandcontrol,throughsoftwaredesign,toreachtheintelligentcontrolfinallyandrealizetheinteractivefunction.
AdoptSingle-ChipMicrocomputerisitcontrolconvenient,simple,flexibilityadvantagesuchasbeingheavytohavenotmerelytocontroltogoontotemperaturetocome,andcanraisebytechnicalindicatornottoaccuseoftemperaturebyalargemargin,thuscanbigimprovementqualityandthequantityofproducts.SothecontrolproblemtothetemperatureofSingle-ChipMicrocomputeristhecontrolproblemconstantlybeabletoencounterintheindustrymanufacture.
Thisthesisintroducesthedesignanddebuggingof“thetemperaturecontrolsystembymicrocomputer〞.Asatypicalexperimentaldesignincontrolsystem,itusesmuchcontrolknowledgeandcomprehensivelytestsstudent’sabilityincontrolsystem.
Thecontentofthisthesismainlyincludes:introduces,filteringware,keyboard,man-computerdialoguesupportedbyLEDindication,heatcontrolmethod,thedevelopmentofmicro-computerMCS-51andsystemicappliedsoftware.Keywords:MCS-51,8051,temperaturecontrol,PID
目录
第一章绪论…………………1
1.1概述……………………1
1.2课题分析………………1
1.3设计思路………………2
第二章MCS-51单片机的根本知识………4
2.1MCS-51单片机的结构…………………4
2.28051存储器配置………5
2.3定时器及其应用………8
2.4本章小结………………9
第三章采样与滤波………10
3.1采样……………………10
3.1.1ADC0809的主要功能……………10
3.1.2逐次逼近式转换原理……………11
3.2数字滤波………………11
3.2.1硬件滤波器………11
3.2.2数字滤波器………12
3.3可控硅…………………14
3.3.1可控硅的结构……………………14
3.3.2可控硅的根本特性………………14
3.4本章小结………………15
第四章控制系统的算法…………………16
4.1PID控制的离散化……………………16
4.2PID位置式算法………17
4.3PID的增量式算法……………………18
4.4PID算法的改良………18
4.4.1积分别离PID控制算法……………19
4.4.2不完全微分PID算法………………20
4.4.3微分先行PID算法…………………21
4.4.4带死区的PID控制…………………22
4.5PID控制器的参数整定………………22
4.6Smith预估器的补偿原理……………26
4.7数字Smith预估系统…………………28
4.8本章小结………………30
第五章系统程序设计………31
5.1主程序…………………31
5.2键盘扫描及显示程序…………………32
5.3T0中断效劳程序………33
5.4子程序…………………34
5.4.1采样子程序SAMP……………………34
5.4.2数字滤波子程序FILTER…………36
5.4.3
PID计算子程序…………………36
………………37硬件调试……………37软件调试……………385.6本章小结………………39
结束语……………40
参考文献……………41
致
谢……………42第一章绪论
1.1概述
随着现代工业的逐步开展,在工业生产中,温度、压力、流量和液位是四种最常见的过程变量。其中,温度是一个非常重要的过程变量。例如:在冶金工业、化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、热处理炉、反响炉和锅炉的温度进行控制。然而,用常规的控制方法,潜力是有限的,难以满足较高的性能要求。采用单片机来对它们进行控制不仅具有控制方便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。
1.2课题分析
单片机温度控制系统,是利用单片机作为系统的主控制器,测量电路中的温度反响信号经A/D变换后,送入单片机中进行处理,经过一定的算法后,单片机的输出用来控制可控硅的通断,控制加热炉的输出功率,从而实现对温度的控制。
本单片机温度控制系统的具体指标要求是,对加热器加热温度调整范围为600℃—1000℃,温度控制精度小于3℃,系统的超调量须小于15%。软件设计须能进行人机对话,考虑到本系统控制对象为电炉,是一个大延迟环节,且温度调节范围较宽,所以本系统对过渡过程时间不予要求。
单片机是一种集CPU、RAM、ROM、I/O接口和中断系统于一体的器件,只需要外加电源和晶振就可以实现对数字信号的处理和控制。本设计运用MCS-51系列单片集中的8051单片机为主控制器,对加热炉的温度进行智能化控制,最终通过软件设计来实现人机对话功能,实现对加热炉的温度控制。
本论文主要介绍单片机温度控制系统,内容主要包括:采样、滤波、键盘显示、加热控制系统,单片机MCS-51的开发及系统应用软件的开发等。全文共分五章。第一章绪论介绍课题背景、目的、意义及设计的总体思路。第二章介绍主控电路核心局部MCS-51单片机8051的根本结构和配置。第三章介绍A/D采样技术和数字滤波技术。第四章介绍以PID为主的温度控制算法及系统加热控制系统。第五章主要是系统软件编程。
1.3设计思路
根据系统具体指标要求,可以对每一个具体局部进行分析设计。整个控制系统分为硬件电路设计和软件程序设计两局部。
硬件电路见附录Ⅱ。分析硬件电路主要包括:加热及控制电路局部,数据采集和模/数〔A/D〕转换处理局部,键盘和显示器局部,单片机与各局部的接口处理局部。这些可用一个方框图来表示,如图1-1所示,显然,这是一个典型的单反响控制系统。图1-1
单片机温度控制系统框图
从框图上我们可以看出,整个系统也可划分为控制电路局部、加热电路局部和测量电路三局部。控制电路是由单片机来处理给定信号和反响信号,发出相应的指令来控制可控硅,是系统的核心。8051对温度的控制是通过可控硅调功能电路实现的。在给定的周期T内,8051只要改变可控硅管的接通时间便可改变加热丝的功率,从而到达调节温度的目的。而可控硅的接通时间可以通过可控硅极上触发脉冲控制。该触发脉冲由8051用软件在P1.3引脚上产生,受过零同步脉冲同步后经光耦合管和驱动管输出送到可控硅的控制极上。过零同步脉冲是一种50HZ交流电压过零时刻的脉冲,可使可控硅在交流电压正弦波过零时触发导通。该脉冲一方面作为可控硅的触发同步脉冲加到控制电路中,另一方面还作为计数脉冲加到8051的T0和T1端。
加热电路用来实现对系统的升温加热到达预定的温度。当温度没有到达要求,控制电路利用双向可控硅的通断特性来决定加热电路的通电与断电。
测量电路功能为将测量到的信号经过处理变成数字信号送入单片机中进行处理。主要由温度检测和变送器组成。
温度检测元件和变送器的类型选择和被控温度及精度等级有关。镍络/镍铝热电偶〔﹣200℃~﹢1000℃〕适用于0℃—1000℃的温度测量范围,相应输出电压为0mV—41.32mV。
变送器由毫伏变送器和电流/电压变送器组成:毫伏变送器用于把热点偶输出的0mV—41.32mV变换成0mA—10mA范围内的电流;电流/电压变送器用于把毫伏变送器输出的0mA—10mA电流变换成0V—5V范围内的电压。为了提高测量精度,变送器可以进行零点漂移。
本次设计的温度控制范围为600℃~1000℃之间,温度误差要求在3℃左右,系统超调量不超过15%,采用8位转换器ADC0809就可以使温度误差保持在±2.34℃以内,满足设计要求。
除上述电路,8051还要有8155﹑2732﹑和ADC0809等芯片接口电路。其中8155用于键盘/LED显示器接口,2732可以作为8051的外部ROM存储器,ADC0809为温度测量电路的输入接口,用于把连续变化的信号进行离散化。最终再通过控制电路中的键盘显示器电路实现人机对话功能。软件设计主要由温度控制的算法和温度控制程序组成。软件设计主要为控制器局部,即温度控制系统,采用PID算法,其原理是先求出实测炉温对所需炉温的偏差值,而后对偏差值处理而获得控制信号去调节加热炉的加热功率,以实现对炉温的控制。PID根本可满足系统要求。
程序设计是本次设计的核心局部。整个程序包括管理程序和控制程序两局部。管理程序是对显示LED进行动态刷新,控制指示灯,处理键盘的扫描和响应,进行掉电保护,执行中断效劳程序等。控制程序是用来对被控进行采样,数据处理,根据控制算法进行计算和输出等。第二章MCS-51单片机的根本知识AT89C2051单片机简介AT89C2051是美国ATMEI公司生产的低电压,高性能的8位单片机,片内含2kbytes的可反复电擦除FLASH程序存器和128bytes的随机存取的数据存储器RAM。器件采用ATMEI公司高密度、非易失性存储技术生产,与标准的MCS-51指令系统及产品引脚兼容,但去除了P0口、P2口和ALE、、、引脚,所以不能并行扩展总线,为非总线型单片机。其主要的内部资源有:●与MCS-51产品指令和引脚完全兼容●2k字节可重擦写FLASH闪速存储器●全静态操作:0—24MHZ●2级加密程序存储器●128×8字节内部RAM●2个精密模拟比拟器●15个可编程I/O口线●2个16位定时/计数器●5个中断源●1个可编程串行UART通道●低功耗空闲和掉电模式AT89C2051的引脚图如图3-1所示,其引脚定义如下:图3-1图3-1AT89C52引脚图2、GND:接地。3、P1口:P1口是一个8位双向I/O口。其中P1.0、P1.1是片内精密模拟比拟器的同相输入端和反向输入端,P3.6固定用于该比拟器的输出端〔P3.6对外无引脚,不可作I/O口访问〕。当不用该模拟比拟器时,P1.0、P1.1经外接上拉电阻后,也可作为普通I/O口使用。P1.2~P1.7为普通I/O口,内部已接上拉电阻。4、P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。但由于P3.6口固定用作片内精密模拟比拟器的输出端,对外无引脚,所以真正可作为I/O口用的只有7个。除了作为一般的I/O口外,更重要的用途是它的第二功能,如下所示:端口引脚第二功能RXD〔串行输入口〕TXD〔串行输出口〕INT0〔外中断0〕INT1〔外中断1〕T0〔定时/计数器0〕T1〔定时/计数器1〕5、RST:复位输入,当振荡器工作时,RST引脚出现两个周期以上高电平将使单片机复位。6、XTAL1、XTAL2:晶体振荡电路反相输入端和输出端。使用内部振荡电路时外接石英晶体;外振荡输入时,XTAL1接地,XTAL2接外部振荡脉冲。单片机系统结构
单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个根本局部组成的。单片机是把包括运算器、控制器、少量的存储器、最根本的输入输出口电路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。
MCS-51单片机芯片内部逻辑结构
通过MCS-51单片机内部的逻辑结构图掌握单片机内部的逻辑结构及各个部件的功能与特点。即:
中央处理器〔CPU〕、内部数据存储器、内部程序存储器、定时器/计数器、并行I/O口、串行口、中断控制系统、时钟电路、位处理器、总线。
MCS-51单片机的内部存储器
MCS-51单片机芯片内部有数据存储器和程序存储器两类存储器,即所谓的内部RAM和内部ROM。同学重点要掌握内部数据存储器的结构、用途、地址分配和使用特点。
一是内部数据存储器的低128单元,它包括了存放器区、位寻址区、用户RAM区,要掌握这些单元的地址分配、作用等。
二是内部数据存储器高128单元,这是为专用存放器提供的,地址范围为80H~FFH。所谓专用存放器是区别于通用存放器而言的,即这些存放器的功能或用途已作了专门的规定,用于存放单片机相应部件的控制命令、状态或数据等。在这些专用存放器中,重点要掌握以下存放器的使用:
程序计数器、累加器A、B存放器、程序状态字〔PSW〕、数据指针〔DPTR〕。
MCS-51的堆栈操作:堆栈是计算机的重要概念,要掌握以下几方面:
1.堆栈的功用
2.堆栈的设置
3.堆栈指示器
4.堆栈使用方式
内部程序存储器
80C51芯片内有4KROM存储单元,其地址为0000H~0FFFH,这就是我们所说的内部程序存储器〔或简称“内部ROM〞〕。无论是片内或是片外存储器〔对于无片内ROM的单片机〕,在程序存储器中有一组特殊的保存单元0000H~002AH,使用时应特别注意。
系统的启动单元:0000H~0002H
五个中断源的中断地址区:0003H~002AH
0003H~000AH外部中断0中断地址区
000BH~0012H定时器/计数器0中断地址区
0013H~001AH外部中断1中断地址区
001BH~0022H定时器/计数器1中断地址区
0023H~002AH串行中断地址区
中断响应后,系统能按中断种类,自动转到各中断区的首地址去执行程序。因此在中断地址区中本应存放中断效劳程序。但通常情况下,8个单元难以存下一个完整的中断效劳程序,因此一般也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断效劳程序的实际入口地址去。MCS-51单片机系统的存储器结构特点
单片机的存储器结构有两个重要的特点:一是把数据存储器和程序存储器截然分开,二是存储器有内外之分。总的来说,由芯片内存储器和芯片外扩展存储器构成了单片机应用系统的整个存储器系统。
MCS-51单片机并行输入/输出口电路
单片机芯片内还有一项重要内容就是并行I/O口电路。MCS-51共有四个8位的并行双向I/O口,分别记作P0、P1、P2、P3,实际上它们已被归入专用存放器之列。这四个口除了按字节寻址之外,还可以按位寻址,四个口合在一起共有32位。
在单片机中,口是一个集数据输入缓冲、数据输出驱动及锁存等多项功能于一体的I/O电路。MCS-51的四个口在电路结构上是根本相同的,但它们又各具特点,因此在功能和使用上各口之间有一定的差异。在学习中必须要掌握各个口的用途。
MCS-51单片机时钟电路与时序
时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。而时序所研究的那么是指令执行中各信号之间的相互时间关系。
要理解时钟电路的产生与作用,能根据外部所参加的晶体的振荡频率计算时序的定时单位。
1.MCS-51的外部晶体的振荡频率范围:1.2MHz~12MHz,
2.MCS-51时序的定时单位共有4个,依次是:拍节、状态、机器周期和指令周期。第三章采样和滤波数字滤波器(digitalfilter)是由数字乘法器、加法器和延时单元组成的一种装置。其功能是对输入离散信号的数字代码进行运算处理,以到达改变信号频谱的目的。由于电子计算机技术和大规模集成电路的开展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。数字滤波器是一个离散时间系统〔按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置〕。应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。数字滤波器有低通、高通、带通、带阻和全通等类型。它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。应用最广的是线性、时不变数字滤波器.通带和阻带间给出了一个过渡带,以使幅度平滑地从通带下降到阻带
在通带内:1-δp≤|G(ejω)|≤1+δp
|ω|≤ωp
在阻带内:|G(ejω)|≤δs
ωs≤|ω|≤π
频率ωp称为通带截止频率
频率ωs称为阻带截止频率
δp和δs称为峰波纹值
在0~π间讨论问题
数字滤波器的频率响应G(ejω)是ω的周期函数
实系数数字滤波的幅度响应是ω的偶函数
因此可以在0≤ω≤π内讨论数字滤波器即可
峰值通带波纹αp和最小阻带衰减αs一、硬件系统介绍1.1系统框图
系统硬件框图如图2.1所示。主要由A/D转换、FPGA、存储器和D/A转换四局部组成。1.2局部芯片介绍一个电路的性能与元器件的选择是密切相关的,下面将从控制芯片、存储器、A/D转换和D/A转换四个方面介绍系统硬件设计。数字信号处理芯片,我们选用采用Xilinx公司的XC2S50型号的FPGA芯片。用FPGA进行数据采集存储的有以下优点:〔1〕FPGA采取有多少数据转换芯片用多少控制单元模块的策略,功能控制模块与数据转换芯片是一一对应的关系,在硬件上保证了数据采集的完全并行性;〔2〕XC2S50芯片内有RAM块,可以设计为数据缓冲,方便解决数据流阻塞的问题;〔3〕FPGA芯片读写速度较高,在采集和存储速度都上不会存在任何问题;〔4〕FPGA的设计采用在线编程的方式进行,修改和调试都相当快捷、方便;〔5〕FPGA的外围电路除了一块配置芯片外,不再需要其他任何外围器件,集成度高,可靠性强。对于A/D和D/A转换芯片,我们选用高精度的16位转换芯片ADS8402和MAX5631,有利于提高所测数据的精度。1.3硬件工作过程传感器采集的模拟信号,经过ADS8402芯片以后转换为数字信号,将数字信号输入FPGA芯片中,FPGA芯片采用IIR数字滤波算法对输入信号进行处理,将处理后的信号一方面可以通过数字接口进行传输,另一方面可以经AD变换以模拟量的形式输出,通过前后输出和输入信号的比照,我们就可以直观的分析滤波效果。二、
IIR数字滤波器的原理和设计数字滤波器是实现数字滤波的核心器件,按类型分为2大类:无限冲激响应IIR和有限冲激响应FIR数字滤波器。IIR数字滤波器在很多领域中有着广阔的应用前景,与FIR数字滤波器相比,它可以用较低的阶数获得高选择性,所要求的阶用存储单元少,且本钱低、信号延迟小,同时还可以利用模拟滤波器设计成果,设计工作量相对较小。2.1
IIR数字滤波器的结构高阶IIR滤波器可通过传递函数,表示为:
(3.1-1)由于高阶IIR滤波器可以用假设干个二阶网络级联起来构成。对于每一个二阶根本节,它可以用转置直接II型结构加以实现,如图3.1所示。
图3.1标准二阶局部的转换2.2
滤波器系数的计算该系统的设计指标为:模拟信号采样频率为2MHZ,每周期最少采样20点,即模拟信号的通带边缘频率为fp=100KHZ,阻带边缘频率fs=1MHz,通带波动RP不大于0.1dB〔通带误差不大于5%〕,阻带衰减AS不小于32dB。本系统函数H(z)的计算采用MATLAB软件中数字信号处理工具箱比拟方便,其中有两个现成的函数可以使用:ellipord〔Fp/π,Fs/π,Rp,As〕函数用来计算数字椭圆滤波器的阶次N和3dB截止频率Fn,而ellip〔N,Rp,As,Fn〕函数可以求得直接型椭圆IIR滤波器的各个系数。利用MATLAB软件进行计算,可得:b=〔0.0271
-0.0724
0.0984
-0.0724
0.0271〕,a=〔1.0000
-3.3553
4.3439
-2.5578
0.5771〕。通过调用以上两个函数计算得到的系统函数:
〔2.2-1〕
上面的式子是直接型结构,它的实现需用的乘法器和延迟单元相对较多,而且分子和分母的系数相差较大,需要较多的二进制位数才能实现相应的精度要求。如果采用二阶节级联实现,一来各个根本节的零点、极点可以很方便地单独进行调整,二来可以降低对二进制数位数的要求。下面给出了一个直接型结构转为级联型结构的文件,即利用[b0,b,a]=dir2cas(b,a),可得b0=0.0271。对该系数进行合理安排后可得式〔3.2-2〕:为了使设计简便以及资源得充分利用,我们应该对系数进行进一步的量化,将系数由小数转化为整数,根据需要主要考虑量化精度和系统资源两方面,将二阶网络的系数同时扩大N倍后作为新的系数,然后再将输出网络的系数缩小N倍,并用二进制数进行表示图1可控硅等效图解图当阳极A加上正向电压时,BG1和BG2管均处于放大状态。此时,如果从控制极G输入一个正向触发信号,BG2便有基流ib2流过,经BG2放大,其集电极电流ic2=β2ib2。因为BG2的集电极直接与BG1的基极相连,所以ib1=ic2。此时,电流ic2再经BG1放大,于是BG1的集电极电流ic1=β1ib1=β1β2ib2。这个电流又流回到BG2的基极,表成正反响,使ib2不断增大,如此正向馈循环的结果,两个管子的电流剧增,可控硅使饱和导通。由于BG1和BG2所构成的正反响作用,所以一旦可控硅导通后,即使控制极G的电流消失了,可控硅仍然能够维持导通状态,由于触发信号只起触发作用,没有关断功能,所以这种可控硅是不可关断的。由于可控硅只有导通和关断两种工作状态,所以它具有开关特性,这种特性需要一定的条件才能转化,此条件见表1表1可控硅导通和关断条件状态条件说明从关断到导通1、阳极电位高于是阴极电位
2、控制极有足够的正向电压和电流两者缺一不可维持导通1、阳极电位高于阴极电位
2、阳极电流大于维持电流
两者缺一不可从导通到关断1、阳极电位低于阴极电位
2、阳极电流小于维持电流任一条件即可
2、根本伏安特性可控硅的根本伏安特性见图2
图2可控硅根本伏安特性
〔1〕反向特性当控制极开路,阳极加上反向电压时〔见图3〕,J2结正偏,但J1、J2结反偏。此时只能流过很小的反向饱和电流,当电压进一步提高到J1结的雪崩击穿电压后,接差J3结也击穿,电流迅速增加,图3的特性开始弯曲,如特性OR段所示,弯曲处的电压URO叫“反向转折电压〞。此时,可控硅会发生永久性反向击穿。图3阳极加反向电压〔2〕正向特性当控制极开路,阳极上加上正向电压时〔见图4〕,J1、J3结正偏,但J2结反偏,这与普通PN结的反向特性相似,也只能流过很小电流,这叫正向阻断状态,当电压增加,图3的特性发生了弯曲,如特性OA段所示,弯曲处的是UBO叫:正向转折电压图4阳极加正向电压由于电压升高到J2结的雪崩击穿电压后,J2结发生雪崩倍增效应,在结区产生大量的电子和空穴,电子时入N1区,空穴时入P2区。进入N1区的电子与由P1区通过J1结注入N1区的空穴复合,同样,进入P2区的空穴与由N2区通过J3结注入P2区的电子复合,雪崩击穿,进入N1区的电子与进入P2区的空穴各自不能全部复合掉,这样,在N1区就有电子积累,在P2区就有空穴积累,结果使P2区的电位升高,N1区的电位下降,J2结变成正偏,只要电流稍增加,电压便迅速下降,出现所谓负阻特性,见图3的虚线AB段。这时J1、J2、J3三个结均处于正偏,可控硅便进入正向导电状态---通态,此时,它的特性与普通的PN结正向特性相似,见图2中的BC段3、触发导通在控制极G上参加正向电压时〔见图5〕因J3正偏,P2区的空穴时入N2区,N2区的电子进入P2区,形成触发电流IGT。在可控硅的内部正反响作用〔见图2〕的根底上,加上IGT的作用,使可控硅提前导通,导致图3的伏安特性OA段左移,IGT越大,特性左移越快。第四章控制系统的算法用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其他技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象﹐或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。比例〔P〕控制:比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差〔Steady-stateerror〕。比例调节作用:是按比例反响系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。积分〔I〕控制:在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,那么称这个控制系统是有稳态误差的或简称有差系统〔SystemwithSteady-stateError〕。为了消除稳态误差,在控制器中必须引入“积分项〞。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。反之Ti大那么积分作用弱,参加积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。微分〔D〕控制:在微分控制中,控制器的输出与输入误差信号的微分〔即误差的变化率〕成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件〔环节〕或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的方法是使抑制误差的作用的变化“超前〞,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例〞项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“项〞,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而防止了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择适宜情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反响的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器5、PID控制器的参数整定PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反响曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅参加比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到PID控制器的参数。在电子数字计算机直接数字控制系统中,PID控制器是通过计算机PID控制算法程序实现的。计算机直接数字控制系统大多数是采样-数据控制系统。进入计算机的连续-时间信号,必须经过采样和整量化后,变成数字量,方能进入计算机的存贮器和存放器,而在数字计算机中的计算和处理,不管是积分还是微分,只能用数值计算去逼近。
在数字计算机中,PID控制规律的实现,也必须用数值逼近的方法。当采样周期相当短时,用求和代替积分,用差商代替微商,使PID算法离散化,将描述连续-时间PID算法的微分方程,变为描述离散-时间PID算法的差分方程。位置式PID控制算法考虑式〔3-4〕,用矩形积分时,有
(3-5)用差分代替微分
(3-6)将式〔3一5〕、〔3一6〕代入式〔3一4〕,PID算法变为
(3-7)或
式中
u
0——控制量的基值,即k=0时的控制;
u〔k〕——第k个采样时刻的控制;KP——比例放大系数;
KI——积分放大系数;
KD——微分放大系数;
TS——采样周期。
式〔3-7〕是数字PID算法的非递推形式,称全量算法。算法中,为了求和,必须将系统偏差的全部过去值e〔j〕〔j=1,2,3,...,k〕都存储起来。这种算法得出控制量的全量输出u〔k〕,是控制量的绝对数值。在控制系统中,这种控制量确定了执行机构的位置,例如在阀门控制中,这种算法的输出对应了阀门的位置〔开度〕。所以,将这种算法称为“位置算法〞。增量式PID控制算法
当执行机构需要的不是控制量的绝对值,而是控制量的增量〔例如去驱动步进电动机〕时,需要用PID的“增量算法〞。
由位置算法求出再求出两式相减,得出控制量的增量算法
〔3-8〕式(3-8)称为增量式PID算法。
对增量式PID算法〔3-8〕归并后,得
(3-9)其中〔3-9〕已看不出是PID的表达式了,也看不出P、I、D作用的直接关系,只表示了各次误差量对控制作用的影响。从式〔3-9〕看出,数字增量式PID算法,只要贮存最近的三个误差采样值e〔k〕、e〔k-1〕、e〔k-2〕就足够了。图3-3表示了增量式PID控制算法的流程图。饱和特性和改良算法
实际的控制系统中,存在着饱和特性。当控制变量到达一定值后,系统的输出变量不再增长,系统进入饱和区。这就要求系统的控制变量必须限制在某个范围之内,即有时候,对控制量的变化率也有限制
假设计算得之控制量超出了上述范围,系统实际执行的不是控制量的计算值,而是控制量的最值〔或〕,控制达不到预期的效果,甚至引起振荡。这种现象在开工、停工或大幅度改变给定值的情况下尤其容易发生,此时需要改良算法。1引言交流电动机伺服驱动系统由于其结构简单、易于维护的优点逐渐成为现代产业的根底。其中交流伺服系统在机器人与操作机械手的关节驱动以及精密数控机床等方面得到越来越广泛的应用。交流伺服系统由交流电动机组成,交流电动机的数字模型不是简单的线性模型,而具有非线性、时变、耦合等特点,用传统的基于对象模型的控制方法难以进行有效的控制。对于交流伺服系统的性能,一方面要求快速跟踪性能好,即要求系统对输入信号的响应快,跟踪误差小,过渡时间短,且无超调或超调小,振荡次数少。另一方面,要求稳态精度高,即系统稳态误差小,定位精度高。在交流伺服控制中,常规控制方法普遍是以PID控制为根底,然而单纯的PID控制存在超调量大,调节时间长,控制效率低等缺点,而且其参数的选取比拟困难。在普通的PID控制中,积分环节的作用是消除静态误差,提高系统的控制精度。如果在误差较大的初始阶段引入积分环节,会造成PID的积分累积,从而引起系统较大的超调。因此,本文针对PID控制的特点,设计了一种积分别离的控制方法,即当系统误差较大时,取消积分环节,防止由于积分累积引起系统较大的超调;当系统误差较小时,引入积分环节,以消除误差,提高控制精度。将这种积分别离PID控制应用于交流伺服系统的位置实时控制,从而使控制过程的静态、动态性能指标较为理想。2系统结构设计
积分别离PID控制交流伺服系统结构如图1所示。图中θd为给定角位移,θ为电机转轴的实际角位移,e为θd和θ进行比拟而得到的偏差,那么有:
图1中,u为PID控制的转速期望值;ωd为期望电机转速;ω为实际电机转速;ωd与ω的偏差经过转速调节器产生期望的电机电磁转矩Td由于内环的缺乏可由外环控制来弥补,所以转速调节器采用一般的PI调节器即可,而电机的电磁转矩控制那么采用直接转矩控制方法。
3积分别离PID控制器PID控制是一种技术成熟、应用广泛的控制方法,其结构简单,而且对大多数过程均有较好的控制效果。其离散PID控制规律为:
式中,u〔k〕为k时刻控制器的输出量;KP,KI,KD分别为比例系数,积分系数和微分系数;e〔K〕为当前时刻的交流伺服系统的位置与期望值之差;e〔k-1〕为上次采样时刻的交流伺服系统的位置与期望值之差。由式〔2〕可得到控制器输出第k个周期时刻的控制量u〔k〕和第k-1个周期时刻的控制量u〔k-1〕之间的增量为:
在PID控制中,积分环节的作用是消除静态误差,提高系统的控制精度。如果在误差较大的初始阶段引入积分环节,会造成:PID的积分累积,从而引起系统较大的超调。因此,本文针对PID控制的特点,设计了一种积分别离的控制方法,积分别离PID控制算法的程序框图如图2所示。
当系统误差较大时,取消积分环节,采用PD控制,防止由于积分累积引起系统较大的超调;当系统误差较小时,引入积分环节,采用PID控制,以消除误差,提高控制精度。即:
式中,ε>0为人为设定的阈值。积分别离控制算法可表示为:
式中,T为采样时间,a为积分项的开关系数,即:
4实验研究用于实验的交流电机参数为Pn=2.2kW,Un=220V,In=5A,nn=1440r/min,r1=2.91Ω,r2=3.04Ω,Is=0.45694H,Ir=0.45694H,Im=O.44427H,Ten=14N。
通过实验说明,积分别离PID控制充分发挥了PID控制调节精度高的优点,提高了系统的控制精度。
5结语
本文提出了一种基于积分别离PID控制的交流伺服系统,在系统误差较大时,取消积分环节;当误差较小时,引入积分环节,从而使系统的静态和动态性能指标较为理想。这种控制方法提高了系统的精度。仿真实验结果说明,该控制器具有很好的动静态性能,是一种行之有效的控制器。实际的控制系统中,存在着饱和特性。当控制变量到达一定值后,系统的输出变量不再增长,系统进入饱和区。这就要求系统的控制变量必须限制在某个范围之内,即有时候,对控制量的变化率也有限制
假设计算得之控制量超出了上述范围,系统实际执行的不是控制量的计算值,而是控制量的最值〔或〕,控制达不到预期的效果,甚至引起振荡。这种现象在开工、停工或大幅度改变给定值的情况下尤其容易发生,此时需要改良算法。PID算法的饱和及其抑制位置算法的积分PID位置算法中,“饱和〞主要由积分项引起,称为“积分饱和〞。要克服“积分饱和〞,关键是限制积分作用,使积分积累不能过大。下面介绍常用的方法。积分别离法
积分别离法是在误差量较大时,不进行积分,直至误差到达一定值之后,才在控制量的计算中参加积分累积。算法为
〔3-15〕其中
为门限值,见图3-5所示。
用积分别离的改良算法效果较好,
程序简单,程序框图如图3-6所示。根本思想是,当控制进入饱和区以后,便不再进行积分项的累加,而只执行削弱积分的运算。这种算法可以防止控制量长时间停留在饱和区。
这种方法是将实际执行的控制量对应的误差值作为有效误差值,进行积分累加,而不用实际的误差值进行积分累加。增量算法的比例与微分
数字PID增量算法中没有累加和项,不会出现积分饱和,防止了大的超调和震荡。但在增量算法中,可能出现比例和微分饱和现象。为了抑制微分饱和,加速系统的动态过程,可采用积累补偿法。
积累补偿法的根本思想是,将那些因饱和而未能执行的控制增量信息累积起来,一旦有可能时再补充执行。数字滤波器与模拟滤波器相比有以下优点:
(1)数字滤波器是用软件实现的,不需要增加硬设备,因而可靠性高、稳定性好,不存在阻抗匹配问题。
(2)模拟滤波器通常是各通道专用,而数字滤波器那么可多通道共享,从而降低了本钱。
(3)数字滤波器可以对频率很低(如0.01Hz)的信号进行滤波,而模拟滤波器由于受电容容量的限制,频率不可能太低。
(4)数字滤波器可以根据信号的不同,采用不同的滤波方法或滤波参数,具有灵活、方便、功能强的特点。
10种软件滤波方法的例如程序
OurWay发表于2005-9-222:24:0010种软件滤波方法的例如程序(JKRL)
假定从8位AD中读取数据〔如果是更高位的AD可定义数据类型为int),子程序为get_ad();1、限副滤波
A、方法:根据经验判断,确定两次采样允许的最大偏差值〔设为A〕,每次检测到新值时判断:如果本次值与上次值之差<=A,那么本次值有效。如果本次值与上次值之差>A,那么本次值无效,放弃本次值,用上次值代替本次值
B、优点:能有效克服因偶然因素引起的脉冲干扰。
C、缺点:无法抑制那种周期性的干扰,平滑度差。
/*
A值可根据实际情况调整
value为有效值,new_value为当前采样值
滤波程序返回有效的实际值
*/
#defineA10charvalue;charfilter()
{
char
new_value;
new_value=get_ad();
if((new_value-value>A)||(value-new_value>A)
returnvalue;
returnnew_value;
}2、中位值滤波法
A、方法:连续采样N次〔N取奇数〕,把N次采样值按大小排列,取中间值为本次有效值。
B、优点:能有效克服因偶然因素引起的波动干扰,对温度、液位的变化缓慢的被测参数有良好的滤波效果。
C、缺点:对流量、速度等快速变化的参数不宜。/*
N值可根据实际情况调整
排序采用冒泡法*/
#defineN
11charfilter()
{
charvalue_buf[N];
charcount,i,j,temp;
for(count=0;count<N;count++)
{
value_buf[count]=get_ad();
delay();
}
for(j=0;j<N-1;j++)
{
for(i=0;i<N-j;i++)
{
if(value_buf[i]>value_buf[i+1])
{
temp=value_buf[i];
value_buf[i]=value_buf[i+1];
value_buf[i+1]=temp;
}
}
}
returnvalue_buf[(N-1)/2];
}
3、算术平均滤波法A、方法:连续取N个采样值进行算术平均运算。N值较大时:信号平滑度较高,但灵敏度较低;N值较小时:信号平滑度较低,但灵敏度较高。N值的选取:一般流量,N=12;压力:N=4
B、优点:适用于对一般具有随机干扰的信号进行滤波,这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动。
C、缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用,比拟浪费RAM。#defineN12charfilter()
{
int
sum=0;
for(count=0;count<N;count++)
{
sum+=get_ad();
delay();
}
return(char)(sum/N);
}
4、递推平均滤波法〔又称滑动平均滤波法〕A、方法:把连续取N个采样值看成一个队列,队列的长度固定为N,每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原那么),把队列中的N个数据进行算术平均运算,就可获得新的滤波结果。N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4
#defineN12charvalue_buf[N];
chari=0;charfilter()
{
charcount;
int
sum=0;
value_buf[i++]=get_ad();
if(i==N)
i=0;
for(count=0;count<N,count++)
sum=value_buf[count];
return(char)(sum/N);
}
5、中位值平均滤波法〔又称防脉冲干扰平均滤波法〕A、方法:相当于“中位值滤波法〞+“算术平均滤波法〞。连续采样N个数据,去掉一个最大值和一个最小值,然后计算N-2个数据的算术平均值。N值的选取:3~14
B、优点:融合了两种滤波法的优点,对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。
C、缺点:测量速度较慢,和算术平均滤波法一样,比拟浪费RAM。
#defineN12charfilter()
{
charcount,i,j;
charvalue_buf[N];
int
sum=0;
for
(count=0;count<N;count++)
{
value_buf[count]=get_ad();
delay();
}
for(j=0;j<N-1;j++)
{
for(i=0;i<N-j;i++)
{
if(value_buf[i]>value_buf[i+1])
{
temp=value_buf[i];
value_buf[i]=value_buf[i+1];
value_buf[i+1]=temp;
}
}
}
for(count=1;count<N-1;count++)
sum+=value[count];
return(char)(sum/(N-2));
}
6、限幅平均滤波法A、方法:相当于“限幅滤波法〞+“递推平均滤波法〞,每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理。
B、优点:融合了两种滤波法的优点,对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。
C、缺点:比拟浪费RAM。
/*
*/
略参考子程序1、37、一阶滞后滤波法A、方法:取a=0~1,本次滤波结果=〔1-a〕*本次采样值+a*上次滤波结果。
B、优点:对周期性干扰具有良好的抑制作用,适用于波动频率较高的场合。
C、缺点:相位滞后,灵敏度低,滞后程度取决于a值大小,不能消除滤波频率高于采样频率的1/2的干扰信号。
/*为加快程序处理速度假定基数为100,a=0~100*/#definea50charvalue;charfilter()
{
char
new_value;
new_value=get_ad();
return(100-a)*value+a*new_value;
}
8、加权递推平均滤波法A、方法:是对递推平均滤波法的改良,即不同时刻的数据加以不同的权。通常是,越接近现时刻的数据,权取得越大。给予新采样值的权系数越大,那么灵敏度越高,但信号平滑度越低。
B、优点:适用于有较大纯滞后时间常数的对象和采样周期较短的系统。
C、缺点:对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号不能迅速反响系统当前所受干扰的严重程度,滤波效果差。
/*coe数组为加权系数表,存在程序存储区。*/#defineN12charcodecoe[N]={1,2,3,4,5,6,7,8,9,10,11,12};
charcodesum_coe=1+2+3+4+5+6+7+8+9+10+11+12;charfilter()
{
charcount;
charvalue_buf[N];
int
sum=0;
for(count=0,count<N;count++)
{
value_buf[count]=get_ad();
delay();
}
for(count=0,count<N;count++)
sum+=value_buf[count]*coe[count];
return(char)(sum/sum_coe);
}
9、消抖滤波法A、方法:设置一个滤波计数器将每次采样值与当前有效值比拟:如果采样值=当前有效值,那么计数器清零如果采样值<>当前有效值,那么计数器+1,并判断计数器是否>=上限N(溢出),如果计数器溢出,那么将本次值替换当前有效值,并清计数器。
B、优点:对于变化缓慢的被测参数有较好的滤波效果,可防止在临界值附近控制器的反复开/关跳动或显示器上数值抖动。
C、缺点:对于快速变化的参数不宜,如果在计数器溢出的那一次采样到的值恰好是干扰值,那么会将干扰值当作有效值导入系统。#defineN12charfilter()
{
charcount=0;
charnew_value;
new_value=get_ad();
while(value!=new_value);
{
count++;
if(count>=N)
returnnew_value;
delay();
new_value=get_ad();
}
returnvalue;
}10、限幅消抖滤波法A、方法:相当于“限幅滤波法〞+“消抖滤波法〞先限幅,后消抖。
B、优点:继承了“限幅〞和“消抖〞的优点改良了“消抖滤波法〞中的某些缺陷,防止将干扰值导入系统。
C、缺点:对于快速变化的参数不宜。
/*
*/.3PID控制子程序PID控制程序的入口参数是经A/D转换的实际值,而它的各个系数均由初始化时确定,假设要修改,那么通过单片机控制屏来完成。PID增量型的出口参数是直接输入D/A转换的数值。本设计是将PID控制作为主要控制方法,将其放在初始程序中。不需要时,只要将其入口地址改变即可。PID控制子程序流程如图5所示。该PID控制算法的主要目的是消除静差和提高控制精度,系统短时间内输出偏差很大会导致控制量超出执行机构允许的最大动作范围,从而使系统出现较大的超调量甚致发生系统振荡。采用变速积分法根据系统偏差的大小改变积分项的累积速度,对提高系统的品质十分有效。图5变速积分PID控制子程序流程图4、系统其他局部设计上位机和下位机之间采用基于RS232C通信标准的半双工数据通信方式,为提高系统抗干扰能力的设计了看门狗电路。文中的数据采集与处理程序、上位机与下位机之间的通信程序都使用执行效率较高的汇编语言来完成,上位机的人机交互界面与数据输出程序采用高级语言VB来开发。主程序
MOV81H,#50H;设堆栈
CLR5EH;清本次越限标志
CLR5FH;清上次
CLRA;
MOV2FH,A;
MOV30H,A;
MOV3BH,A;
MOV3CH,A;清暂存单元
MOV3DH,A;
MOV3EH,A;
MOV44H,A;
MOVDISM0,A;
MOVDISM1,A;
MOVDISM2,A;
MOVDISM3,A;
MOVDISM4,A;
MOVDISM5,A;清显示缓冲
MOVTMOD,#56H;T0方式2:T1方式1计数
MOVTL0,#06H;
MOVTH0,#06H;TO赋值
CLRPT0;T0为低优先级中断
SETBTR0;启动T0
SETBET0;允许T0中断
SETBEA;CPU中断
LOOP:ACALLDISPLY;调用显示程序
ACALLSCAN;调用扫描程序
ATMPLOOP;等待中断
7.2中断效劳程序的设计
T0中断效劳程序:
PUSHA;
PUSHDPL;
PUSHDPH;保护现场
SETBD5H;置标志
ACALLSAMP;调用采样子程序
ACALLFILTER;调用数字滤波程序
CJNEA,42H,TPL;Ui〔K〕≠Umax那么TPL
WL:MOVC,5EH;
MOV5FH,C;交换标志
CLR5EH;清本次标志
ACALLUPL;上限处理
POPDPH;
POPDPL;恢复现场
POPA;
RETI;中断返回
TPL:JNCTPL1;假设Ui〔K〕>Vmax那么TPL1
CLR5FH;清上次越限标志
CJNEA,43H,MTPL;Ui〔K〕≠Umin那么MTPL
HAT:SETBP1.1;正常,绿
ACALLPID;计算PID
MOVA,2FH;PLD值→〔A〕
CPLA;
INCA;求TL1值
NM:SETBP1.3;输出控制脉冲
MOVTL1,A;T1赋初值
MOVTH1,#OFFH;
SETBPT1;T1高优先级中断³
SETBTR1;启动T1
SETBET1;允许T1中断
ACALLTRAST;标度转换
LOOP:ACALLDISPLY;显示温度
JBD5H,LOOP;等待T1中断
POPA;
POPDPH;
POPDPL;
RETI;中断返回
MTPL:JNCHAT;假设Ui(k)>Umin那么HAT
SETBP1.0;
MOVA,45H;
CPLA;
INCA;
AJMPNM;
TPL1:SETB5EH;置本次越限标志
JNB5FH,WL;假设上次没越限那么转
INC44H;越限计数器加1
MOVA,44H;
CLRC;
SUBBA,#N;
JNZWL;越限次数不等于N转
SETBP1.2;上限报警,红灯亮
CLR5EH;
CLR5FH;清标志
POPA;
POPDPH;
POPDPL;恢复现场
RETI;从中断返回
T1中断效劳程序〔由001BH转来〕
CLRD5H;清标志
CLRP1.3;停止输出
RETI;从中断返回
图7.3T1中断程序图
图7.4系统控制流程图
7.3采样程序的设计
数字滤波子程序
根据流程图写程序如下:
SMAP:MOVR0,#2CH;采样值首址
MOVR1,#03H;计数器赋值
SAM1:MOVDPTR,#03F8H;
MOVX@DPTR,A;启动ADC
MOVR2,#20H;延时
DLY:DJNZR2,DLY;结束?
HERE:JBP3.3,HERE;等待ADC结束
MOVXA,@DPTR;
MOV@RO,A;存放采样值
INCRO;
DJNER1SAM1;
RET;
程序清单如下:
FILTER:MOVA,2CH;(2CH)送A
CJNZA,2DH,CMP1;假设〔2CH〕≠(2DH)那么CMP1
ATMPCMP2;否那么转CMP2
CMP1:JNCCMP2;假设〔2CH〕>(2DH)那么CMP2
XCHA,2DH;
XCHA,2CH;
CMP2:MOVA,2DH;
CJNEA,2EH,CMP3;假设〔2DH〕≠(2EH)那么CMP3
MOV2AH,A;否那么〔2DH〕送2AH
RET;返回
CMP3:JCCMP4;假设〔2DH〕<(2EH)那么CMP4
MOV2AH,A;
RET;
CMP4:MOVA,2EH;
CJNEA,2CH,CMP5;假设〔2EH〕≠(2CH)那么CMP5
MOV2AH,A;
RET
CMP5:JCCMP6;假设〔2EH〕<(2CH)那么CMP6
XCHA,2CH;
CMP6:MOV2AH,A;
RET;电容C的耐压应大于=10.6V。故取一只1000uF的电容,如图3-15中的C1。C3为输出电压进一步滤波,取100uF,C2用以抵消线路的电感效应,防止产生自激振荡,一般取0.33uF。C4用以滤除输出端的高频信号,改善电路的暂态响应,一般取0.1uF。5系统调试一个单片机系统经过总体设计,完成了硬件和软件设计开发。元器件安装后,在系统的程序存储器中写入编制好的应用程序,系统即可运行。但编制好的程序或焊接好的线路不能按预计的那样正常工作是常见的事,多少会出现一些硬件、软件上的错误。这就需要通过调试来发现错误并加以改正。调试可分为硬件调试和软件调试。在允许的条件下,根据本设计系统的需求性首先采用在PC机上用模拟开发软件进行检测和调试,然后进行硬件的组装与调试。5.1硬件调试单片机应用系统的硬件调试和软件调试是分不开的,许多硬件故障在软件调试时才能发现,但通常要先排除系统中明显的硬件故障。调试工作可以分为四步:=1\*GB3①目测检查在安装完成的硬件电路加电之前,先用万用表工具,根据硬件逻辑设计图,仔细检查样机线路是否连接正确,并核对元器件的型号、规格和安装是否符合要求,应特别注意电源系统的检查,以防电源的短路和极性错误,并重点检查系统总线〔地址总线、数据总线、控制总线〕是否存在相互之间短路或与其他信号线的短路。=2\*GB3②电源检查在硬件连接、焊接完成后,先不插单片机AT89S52、语音芯片ISD1420、温度传感器DS18B20、功率放大器等主要元器件,通上电源。用万用表电压档测各元器件插座上相应引脚电压数值是否正确,极性是否符合。如有错误,就及时检查、排除,以使每个电源引脚的数值都符合要求。=3\*GB3③各主要元器件电源检查断开电源,按正确的元器件方向分别插上元器件,再分别通电,并逐一检查每个元器件上的电源是否正确,直至最后插上全部元器件,通上电源后,每个元器件上电源都正确无误。=4\*GB3④检查相应芯片的逻辑关系采用静态电平检查法检查相应芯片的逻辑关系。即在一个芯片信号输入端参加一个相应电平,检查输出电平是否正确。单片机系统大都是数字逻辑电路,使用电平检查法可首先查出逻辑设计是否正确,选用器件和连接关系是否符合要求等。5.2软件调试软件调试采用脱机调试的方法,即完全用仿真软件在PC机上对程序进行检测和调试。在程序编写完成后,就可以利用仿真软件在PC机上进行调试、验证。在调试的过程中,单片机相应输入端由通用键盘和鼠标设定,通过仿真软件的监视窗口观察单片机的运行状态、各存放器状态、端口状态等的变化是否与设计相符。如果有不相符的情况,就要仔细分析出现错误前后的语句,特别是那些条件、跳转语句,找出错误原因,并将其改正。调试可按以下步骤进行:=1\*GB3①源程序纠错在编写源程序的过程中,难免会出现一些书写格式、标号未定义或多重定义、拼写等错误。一般来说,编译软件能发现用户输入的程序时出现的这些错误,并指定出现错误的位置和原因。因此可根据编译软件提供的错误置和原因,分析前后语句,将错误改正过来=2\*GB3②子程序功能调试程序设计通常采用模块程序设计,调试时可对一个个子程序分别进行调试,设置好入口条件,然后采用单步运行或断点运行方式,检查系统CPU状态、特殊功能存放器、RAM和I/O口状态,看程序执行结果是否符合设计要求。确保每个子程序的输出与设计的结果相符。=3\*GB3③整体程序综合调试在排除各功能子程无误的情况下,把各功能子程序整体连起来进行到综合调试,看是否能实现预计的功能。在这阶段假设发生故障,可以考虑各子程序在运行时是否破坏现场,数据缓冲单元是否发生冲突,标志位的建立和去除在设计上是否失误,堆栈是否溢出,输入输出状态是否正常等。用软件模拟器调试不需任何在线仿真器,也不需要用户样机,直接就可以在PC机上开发和调试。调试和修改完毕后,对于实时性要求不高的应用系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国电子科技集团公司第三研究所校园招聘备考题库及答案详解(夺冠系列)
- 2026江苏徐州沛县产投集团招聘1人备考题库及参考答案详解(能力提升)
- 2026中国邮政集团有限公司江西省分公司社会招聘备考题库附答案详解(达标题)
- 2026福建漳州市交发工贸集团有限公司权属通畅公司市场化用工人员招聘4人备考题库带答案详解(能力提升)
- 2026江苏食品药品职业技术学院招聘专职辅导员3人备考题库及参考答案详解(达标题)
- 人教部编版七年级语文上册第三单元整本书阅读《朝花夕拾》学案
- 2026西藏拉萨发展集团有限公司招聘46人备考题库带答案详解(综合卷)
- 2026天津联通派遣制智家工程师、营业员招聘5人备考题库含答案详解ab卷
- 2026西藏拉萨发展集团有限公司招聘46人备考题库附答案详解(考试直接用)
- 2026吉林晨鸣纸业有限责任公司招聘备考题库含答案详解(黄金题型)
- 科技新赋能智护帕全程2026世界帕金森病日科普与义诊指南
- 2026年春川教版(新教材)小学信息技术四年级下册(全册)教学设计(附目录P66)
- 2026年高考作文备考之多则材料类型作文审题立意指导
- 2026散装液态食品灌装设备选型及智能化改造报告
- 三 长方形和正方形 单元教学课件 2026人教版数学三年级下册
- 海绵城市监理实施细则样本
- 白血病药物护理实践指南(2025年版)
- 物业客服部催费培训课件
- 2026年宁波城市职业技术学院高职单招职业适应性考试模拟试题带答案解析
- 5轴加工中心培训课件
- 小说评论课件
评论
0/150
提交评论