版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 绪论1引言随着现代工业的逐步发展,在工业生产中,温度、压力、流量和液位是四种最常见的过程变量。其中,温度是一个非常重要的过程变量。例如:在冶金工业、化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行控制。然而,用常规的控制方法,潜力是有限的,难以满足较高的性能要求。采用单片机来对它们进行控制不仅具有控制方便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。 模糊PID单片机温度控制系统,是利用单片机作为系统的主控制器,测量电
2、路中的温度反馈信号经A/D变换后,送入单片机中进行处理,经过模糊PID算法后,单片机的输出用来控制可控硅的通断,控制加热炉的输出功率,从而实现对温度的控制。本设计运用MCS-51系列单片机集中的8051单片机为主控制器,对加热炉的温度进行智能化控制,最终通过软件设计来实现人机对话功能,实现对加热炉的温度控制。 本设计主要介绍模糊PID单片机温度控制系统,内容主要包括:采样、滤波、键盘显示、加热控制系统,单片机MCS-51的开发及系统应用软件的开发等。全文共分四章。第一章绪论介绍相关技术发展,系统设计概述及设计要求,方案论证。第二章硬件电路的设计介绍主控电路核心MCS-51单片机AT80C51的
3、基本结构和配置以及一些子模块的设计。第三章典型芯片的介绍MAX6675 包括了A/D采样技术和数字滤波技术。第四章软件设计介绍以模糊PID为主的温度控制算法及系统加热控制系统。第五章主要是系统软件编程。2单片机技术现状与发展 单片机又称为微控制器(Microcontroller),是把中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时器/计数器、I/O接口电路等部件集成在一块芯片上的微型计算机。自问世以来,性能不断提高和完善,加之具有控制能力强、体积小、功耗小;成本低、开发周期短、集成度高;速度快,指令周期为S级;功能强,有丰富的内置资源;易于商品化,多数厂商提供配套外围借
4、口芯片;抗干扰能力强等优点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算机、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统,数字单片机的位数越来越多,精度也越来越高。另外,在需要极高响应速度的控制场合,还出现了模糊单片机,它是专门执行模糊逻辑信号的器件,具有极高的模糊推理速度。 今天,还出现了不少高级语言的开发工具,这些系统经过仿真可在更高的开发平台上进行快速的开发,为单片机的广泛应用铺平了道路。所以,在未来的社会主义工业化建设中,单片机无疑会发挥更大的作用。单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范
5、围广,精度较高。3系统设计概述及设计要求采用单片机为控制核心器件,选择合适的传感器对电阻丝加热炉温度进行测量,并采用模糊PID控制算法使其保持在某一设定的温度值。温度值可由键盘设定,并在LED显示器上显示。 具体要求如下:1) 温度范围为50015002) 系统有必要的保护和报警3) 温度值有显示4) 误差范围14方案论证4.1 总体方案比较与论证 方案一: 采用CPLD作为主控制器控制外围电路进行温度测量、键盘和LED控制、报警控制。 方案二:采用AT89C51单片机来实现系统的控制。AT89C51内部自带程序存储器,采用Intel8279键盘/显示器的控制,K 型热电偶(镍铬-镍硅)作为测
6、温传感器,AD574芯片作数模量转换芯片,用继电器对电阻炉加热进行控制。采用PID控制算法对温度进行控制,此系统硬件简洁,将复杂的硬件功能用软件实现,因此系统控制灵活,能很好地满足本题的基本要求和扩展要求。 比较以上两种方案的优缺点: 方案一逻辑电路复杂,且灵活性较低,不利于各种功能的扩展,而且开发成本很高。方案二简洁、灵活、可扩展性好,能完全达到设计要求。通过大量的资料的查找与对比采用第二种方案较好。故采用方案二。4.2 典型模块电路的设计方案与比较4.2.1 温度检测方案 方案一:利用热释电红外传感器(探测器)进行非接触式红外测温的原理、红外测温系统结构和信号处理电路的组成,目的是实现对移
7、动物体的非接触式温度测量。以此为基础,组装了一套微机红外测温实验装置,用该装置测定了目标表面温度变化规律。在大约190测量精度达到最高,其残差为9.5。但是在测定高温时误差大,而且系统的造价高。方案二:选用K型热电偶(镍铬镍硅),具有线性度好、测温范围适中、输出电动势大、价格便宜等特点。另外,为保证检测精度,采用补偿导线法对热电偶进行冷端补偿。4.2.2 键盘显示方案 方案一:采用独立按键按口,这种方式是各种按键相互独立,每个键各按一根输入线,一根输出线上的按键工作状态不会影响其他输入线上的工作状态。所以通过检测输入线的电平状态可以很容易判断哪个键按下。独立式按键电路配置灵活、软件简单,但是每
8、个键占一根输入口线,在按键数较多时需要较多的输入口线且电路结构简单,故使用于按键少,操作速度高的场合。它直接与单片机I/O相接,通过读I/O口,判断各个I/O口线电平状态,即可识别出按下键盘。 方案二:采用3*3矩阵键盘输入,这种接口方式适用于按键数量较多场合,由行、列线组成,行列分别连接到按键两端。按键位于行列交叉点,行线通过上拉电阻接到+5V上。平时无按键按下时,行处于高电平,而当按下时行电平将由此与此电平相连的列线电平决定。由于矩阵键盘中行、列线为多键共用,各按键均影响该键所在的行和列电平,所以各按键彼此将相互影响,所以必须将行列信号配合起来并做适当处理才能决定闭合键位置。 方案三:采用
9、Intel 8279键盘/显示电路,该接口电路设计新颖,结构简单,稳定性强,可靠性高,编程容易,具有很强的使用性。4.2.3 显示模块的选择 方案一:采用数码管显示。数码管亮度高、体积小、重量轻,但其显示信息简单、有限,在本题目中应用受到很大的限制。方案二:采用液晶显示。液晶显示功耗低、轻便防震。由于本题显示信息比较复杂,采用液晶显示界面友好清晰,操作方便,显示信息丰富。第2章 硬件设计1系统的硬件总体设计 AT89C51电阻炉温度控制系统是以AT89C51 单片机为核心,采用模糊PID控制的方法,使电阻炉的温度得到较为理想的控制。本系统所要控制的电阻炉加热功率1500W,使用电压范围0220
10、V(AC),升温速度0.3 /min,控制精度1,控制温度范围为500-1500度。控制系统的结构框图如图1 所示。放大 光偶双向可控硅电阻炉热电耦A/D89C51报警显示键盘图2-1系统组成基本框图 整个系统由3部分组成,即由单片机AT89C51构成的单片机应用系统;由K 型热电偶、运算放大电路和A/D 转换电路构成的温度检测通道;由双向可控硅构成的输出控制通道。工作时,温度由K型热电偶检测温度值,经过冷端温度补偿运算放大器和A/D 转换,将温度信号送入单片机;单片机将温度信号进行数字滤波,标度变换后,由LED 显示。同时与系统设定值进行比较,按照模糊PID控制算法进行运算,通过输出信号去控
11、制双向可控硅的通断,从而控制电阻炉的平均输入功率,实现电阻炉炉温的控制。并可直接显示。热电偶将炉温变换为模拟电压信号,经MAX6675芯片转换为数字量送单片机。同时,热电偶的冷端温度也由IC温度传感器变为电压信号,经放大和转换后送单片机。标度变换程度根据温检测值求得实际炉温。数字调节器程序根据恒温给定值。与的偏差A0,按积分分离的PID控制算法得到输出控制量i。数字触发器程序根据c控制电阻炉子的导通时间,调节炉温冷端处的温度值的变化使之与给定恒温值一致。导通时间长,输出功率大,温度升高快;导通时间短,输出功率小,温度升高变慢。显示与恒温判断程序完成炉温与恒温时间显示、恒温开与恒温完成判别、恒温
12、完成时给出声光指示信号。断偶判断程序根据温度检测值判断温度传感是否开路,若开路,则给出断偶报警信号。2温度检测设计采用热电偶传感器。热电偶传感器具有价廉、精度高、构造简单、测量范围宽(通常可由一5O度到 +1600度)及反应快速的优点。热电偶传感器输出的电压信号较为微弱(只有几毫伏到几十毫伏),型热电偶是工业生产中最常用的温度传感器,目前,在以型热电偶为测温元件的工业测温系统中,热电偶输出的热电势信号必须经过中间转换环节,才能输入基于单片机的嵌入式系统。中间转换环节包括信号放大、冷端补偿、线性化及数字化等几个部分,实际应用中,由于中间环节较多,调试较为困难,系统的抗干扰性能往往也不理想。在电阻
13、炉温度检测中,采用MAXIM公司新近推出的MAX6675,它是一个集成了热电偶放大器、冷端补偿、A/D转换器及SPI串口的热电偶放大器与数字转换器,可以直接与单片机接口,大大简化系统的设计,保证了温度测量的快速、准确。2.1 MAX6675电阻炉温度控制系统的型热电偶温度采集电路如图2.1-1所示。其微控制器采用ATMEL公司的FLASH单片机AT89C51,该微控制器具有4K内部可擦写程序存储器和32个输入/输出端口,满足本系统中液位测量、数据显示、温度测量、数据通讯、看门狗电路的需要。作为一款廉价的通用型单片机,AT89C51没有SPI接口。因此采用I/O口线模拟SPI串行口来对MAX66
14、75读取数据。MAX6675的CS端接单片机的P1.0脚,CS低电平停止转换,MAX6675准备将数据输出;SCK引脚接单片机的P1.1脚,为传输数据提供时钟。无数据传输时,SCK应置为低电平;SO引脚接单片机的P1.2脚,用于传输数据。单片机的P1.3脚作为型热电偶探头断线报警口,报警时输出低电平,驱动故障指示LED显示。 在单片机的上述4个引脚各接一个10K的上拉电阻,保证数据的可靠传送。由于MAX6675的测量精度对电源耦合噪声较敏感,为降低电源噪声影响,在MAX6675的电源引脚附近接入1只0.1F陶瓷旁路电容。在印刷电路板的设计中,采用大面积接地技术来降低芯片自热引起的测量误差,提高
15、温度测量精度。图2.1-1 AX6675与AT89C51单片机组成的热电偶温度采集电路 AX6675是一复杂的单片热电偶数字转换器,其内部结构如图二所示。主要包括:低噪声电压放大器A1、电压跟随器A2、冷端温度补偿二极管、基准电压源、12位AD转换器、SPI串行接口、模拟开关及数字控制器。其工作原理如下:K型热电偶产生的热电势,经过低噪声电压放大器A1和电压跟随器A2放大、缓冲后,得到热电势信号U1,再经过S4送至ADC。对于K型热电偶,电压变化率为(41V/),电压可由如下公式来近似热电偶的特性。U1=(41V/)(T-T0) 上式中,U1为热电偶输出电压(mV),T是测量点温度;T0是周围
16、温度。在将温度电压值转换为相应的温度值之前,对热电偶的冷端温度进行补偿,冷端温度即是MAX6675周围温度与0实际参考值之间的差值。通过冷端温度补偿二极管,产生补偿电压U2经S4输入ADC转换器。U2=(41V/)T0在数字控制器的控制下,ADC首先将U1、U2转换成数字量,即获得输出电压U0的数据,该数据就代表测量点的实际温度值T。这就是MAX6675进行冷端温度补偿和测量温度的原理。 其内部结构图如图二所示2.2 MAX6675的特性与MAX6675引脚功能MAX6675是具有冷端补偿和A/D转换功能的单片集成型热电偶变换器,测温范围01024,主要功能特点如下: 直接将热电偶信号转换为数
17、字信号 具有冷端补偿功能 简单的SPI串行接口与单片机通讯 12位A/D转换器、0.25分辨率 单一+5V的电源电压 热电偶断线检测 工作温度范围-20+85 MAX6675采用SO-8封装形式,有8个引脚,脚1(GND)接地,脚2(T-)接热电偶负极,脚3(T+)接热电偶正极,脚4(VCC)电源端,脚5(SCK)串行时钟输入端,脚6(CS)片选端,使能启动串行数据通讯,脚7(SO)串行数据输出端,脚8(NC)未用。在VCC和GND之间接0.1F电容。MAX6675的引脚如图一所示 2.3 89C51 89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Program
18、mable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 1 主要特性: 与MCS-51 兼容 4K字节可编程闪烁存储器 寿命
19、:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24Hz 三级程序存储器锁定 128*8位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 2管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个
20、内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,
21、当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入
22、) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8
23、EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1
24、:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 4芯片擦除: 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,
25、AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 5.结构特点:8位CPU;片内振荡器和时钟电路;32根I/O线;外部存贮器寻址范围ROM、RAM64K;2个16位的定时器/计数器;5个中断源,两个中断优先级;全双工串行口;布尔处理器;5.引脚说明:电源引脚Vcc(40脚):典型值5V。Vss(20脚):接低电平。外部晶振X1、X2分别与晶体两端相连接。当采用外部时钟信号时,X2接振
26、荡信号,X1接地 输入输出口引脚: P0口:I/O双向口。作输入口时,应先软件置“ 1”。 P1口:I/O双向口。作输入口时,应先软件置“ 1”。 P2口:I/O双向口。作输入口时,应先软件置“ 1”。 P3口:I/O双向口。作输入口时,应先软件置“ 1”。控制引脚:RST/Vpd、ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。RST/Vpd(9脚):复位信号输入端(高电平有效)。第一功能:加+5V备用电源,可以实现掉电保护RAM信息不丢失。ALE/-PROG(30脚):地址锁存信号输出端。第二功能:编程脉冲输入。-PSEN(29脚):外部程序存储器读选通信号。-
27、EA/Vpp(31脚):外部程序存储器使能端。第三功能:编程电压输入端(+21V)。6. AT89C51单片机的P口特点: P0口:是一个8位漏极开路输出型双向I/O端口。作为输出端口时,每位能以吸收电流的方式驱动8 个TTL输入,对端口写1时,又可作高阻抗输入端用。在访问外部程序或数据存储器时,它是时分多路转换的地址(低8位)/数据总线,在访问期间将激活内部的上拉电阻。P0口作为I/O端口使用时,多路开关的控制信号为0(低电平),看上图中的线线部份,多路开关的控制信号同时与与门的一个输入端是相接的,我们知道与门的逻辑特点是“全1出1,有0出0”那么控制信号是0的话,这时与门输出的也是一个0(
28、低电平),与让的输出是0,V1管就截止,在多路控制开关的控制信号是0(低电平)时,多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。(1)P0口用作I/O口线,其由数据总线向引脚输出(即输出状态Output)的工作过程:当写锁存器信号CP 有效,数据总线的信号锁存器的输入端D锁存器的反向输出Q非端多路开关V2管的栅极V2的漏极到输出端P0.X。前面我们已讲了,当多路开关的控制信号为低电平0时,与门输出为低电平,V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉电阻.(2)、作为地址/数据复用口使用时的工作原理 在访问外部存储器时
29、P0口作为地址/数据复用口使用。 这时多路开关控制信号为1,与门解锁,与门输出信号电平由“地址/数据”线信号决定;多路开关与反相器的输出端相连,地址信号经“地址/数据”线反相器V2场效应管栅极V2漏极输出。例如:控制信号为1,地址信号为“0”时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平P1口:P1口是一个带有内部上拉电阻的8位双向I/O端口。P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(I
30、il)。单片机复位后,各个端口已自动地被写入了1,此时,可直接作输入操作。如果在应用端口的过程中,已向P1一P3端口线输出过0,则再要输入时,必须先写1后再读引脚,才能得到正确的信息。此外,随输入指令的不同,H端口也有读锁存器与读引脚之分。 P2口:P2口是一个带有内部上拉电阻的8位双向I/O端口。P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。P2端口在片内既有上拉电阻,又有切换开关MUX,所以P2端口在功能上兼有P0端口
31、和P1端口的特点。这主要表现在输出功能上,当切换开关向下接通时,从内部总线输出的一位数据经反相器和场效应管反相后,输出在端口引脚线上;当多路开关向上时,输出的一位地址信号也经反相器和场效应管反相后,输出在端口引脚线上。对于单片机必须外接程序存储器才能构成应用电路(或者我们的应用电路扩展了外部存储器),而P2端口就是用来周期性地输出从外存中取指令的地址(高8位地址),因此,P2端口的多路开关总是在进行切换,分时地输出从内部总线来的数据和从地址信号线上来的地址。因此P2端口是动态的I/O端口。输出数据虽被锁存,但不是稳定地出现在端口线上。其实,这里输出的数据往往也是一种地址,只不过是外部RAM的高
32、8位地址。在输入功能方面,P2端口与P0和H端口相同,有读引脚和读锁存器之分,并且P2端口也是准双向口。可见,P2端口的主要特点包括:不能输出静态的数据;自身输出外部程序存储器的高8位地址;执行MOVX指令时,还输出外部RAM的高位地址,故称P2端口为动态地址端口。在访问外部程序存储器时和16位外部地址的外部数据存储器(如执行 MOVX DPTR)时,P2口送出高8位地址。在访问8位地址的外部数据存储器(如执行 MOVX RI)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。 P3口:P3口是一个带有内部上拉电阻的8位双向I/O端口。P3口的输
33、出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。P3口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。在稳定的状态条件下Io 低被外部限制如下1、每个管脚的最大IOL 15mA 注85 规格2、每个8 位口的最大IOL 26 mA3、IOL 输出最大总和 71mA4、如果IOL 超过测试条件VOL 可能会超过相应规格不能保证超过测试电流P3端口和Pl端口的结构相似,区别仅在于P3端口的各端口线有两种功能选择。当处于第一功能时,第二输出功能线为1,此时,内部总线信号经锁存器和场效应管输入/
34、输出,其作用与P1端口作用相同,也是静态准双向I/O端口。当处于第二功能时,锁存器输出1,通过第二输出功能线输出特定的内含信号,在输入方面,即可以通过缓冲器读入引脚信号,还可以通过替代输入功能读入片内的特定第二功能信号。由于输出信号锁存并且有双重功能,故P3端口为静态双功能端口。在应用中,如不设定P3端口各位的第二功能(WR,RD信叼的产生不用设置),则P3端口线自动处于第一功能状态,也就是静态IO端口的工作状态。在更多的场合是根据应用的需要,把几条端口线设置为第二功能,而另外几条端口线处于第一功能运行状态。在这种情况下,不宜对P3端口作字节操作,需采用位操作的形式。7. D锁存器:构成一个锁
35、存器,通常要用一个时序电路,时序的单元电路在学数字电路时我们已知道,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端
36、D的数据(即把上次的数据锁存起来了)。如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。多路开关:在51单片机中,当内部的存储器够用(也就是不需要外扩展存储器时,这里讲的存储器包括数据存储器及程序存储器)时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为地址/数据总线使用。那么这个多路选择开关就是用于选择是做为普通I/O口使用还是作为数据/地址总线使用的选择开关了。当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时
37、,P0口是作为地址/数据总线使用的。输出驱动部份:P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。3. 温度控制电路 温度控制电路采用可控硅调功率方式。双向可控硅串在50Hz交流电源和加热丝电路中,只要在给定周期里改变可控硅的接通时间,就能达到改变加热功率的目的,从而实现温度控制。对于这样的执行机构,单片机只要输出能控制可控硅通断电时间的脉冲信号就可以了。因此,用一条I/O线与可控硅的控制端相连接,并通过程序实现输出导通脉冲的宽度和导通时间。为了达到过零触发的目的,需要交流电过零检测电路。此电路输出对应于
38、50Hz交流电压过零时刻的脉冲,作为触发双向可控硅的同步脉冲,使可控硅在交流电压过零时刻触发导通。电压比较器将50H z正弦交流电压变为方波。方波的正跳沿河负跳沿分别作为俩个单稳触发器的触发信号,单稳触发器输出的窄脉冲经二极管或门混合,就得到对应于220市电过零时刻的同步脉冲。此脉冲一路作为处罚同步脉冲夹道温度控制电路,一路作为计数脉冲加到单片机89C51的输出端。4.键盘操作键盘的扫描方式有三种,即编程扫描工作方式、定时扫描工作方式和中断扫描工作方式。键盘的工作方式介绍如下:(1)编程扫描工作方式:编程扫描工作方式是利用CPU在完成其他工作的空余,调用键盘扫描子程序,来响应键输入要求。将键盘
39、端口分为扫描口和输入口,由扫描口输出状态数据,在输入口读取扫描后的。(2)定时器产生的定时中断(定时扫描工作方式:定时扫描工作方式是利用单片机内部定时例如10ms),CPU响应中断后对键盘进行扫描、并在有键按下时转入键功能处理程序,则可以实现定时扫描。(3)中断扫描工作方式:为了进一步提高键盘接口CPU的工作效率,可以采用中断扫描工作方式。当没有键按下时,/I N T1为高电平;当任意键被按下时,/I N T1变为低电平,向CPU申请中断。若CPU开放外部中断1,则响应中断,执行中断服务程序扫描键盘,并判断是哪个键被按下。面板上键盘包括启动运行、停止运行、复位键及设置时间键。第3章 软件设计模
40、糊PID控制器具有以下一些特点:(1) 算法简单实用,本质上不依赖于系统的数字模型;(2) 可充分利用单片机的软件资源,可靠性高,开发速度快;(3) 克服了传统PID控制器操作的困难,提高了系统的智能化程度;(4) 模糊PID控制器棒性好,具有专家控制器的特点,并可推广应用于其它工作领域。模糊PID控制的基本思想: 在自动控制技术产生以前,人们在生产过程中只能采用手动控制方式.手动控制过程首先是观测被控对象的输出,其次是才民据观测结果作出决策判断,然后手动调整输入。操作工人就是这样不断地观测一决策一调整,从而实现对生产过程的手动控制,这三个步骤分别由人的眼一脑一手来完成.后来,由于科学和技术的
41、进步,人们采用各种测量装置代替人的眼睛,完成对被控量的观测任务;利用各种控制器部分地取代人脑的作用实现比较,综合被控制量与给定量之间的偏差,控制器所给出的输出信号相当于手动过程中的人脑的决策;使用各种执行机构对被控对象施加某种控制作用,这就起到了手动控制中手的调整作用,这就是人们所熟悉的常规负反馈控制系统。 在这种情况下,人们总结了自身的控制行为,正是遵循反馈及负反馈控制的思想,人的手动控制决策可以用语言加以描述,总结成一系列条件语句一控制规则。利用微机程序实现这些控制规则,微机就起到了控制器的作用,于是利用微机取代人可以付被控对象进行自动控制。这样,模糊控制技术相应而生了。模糊控制技术是一种
42、由模糊数学,计算机科学,人工智能,知识工程等多门学科领域相互渗透,理论性很强的科学技术。 综上,相对于传统的控制方法,从被控对象的数学结构上去考虑进行控制,模糊控制的基本思想就是:从人类智能活动的角度和基础上去考虑实施控制.1 模糊PID自整定控制器的设计本控制系统主要完成数据采集、速度显示和速度控制等功能。其中智能模糊控制由单片机完成,并采用规则自整定PID控制算法进行过程控制。整个系统的核心是模糊控制器,AT89C51单片机是控制器的主体模块。电液伺服系统输出的速度信号经传感器和AD转换之后进入单片机,单片机则根据输入的各种命令,并通过模糊控制算法计算控制量,然后将输出信号通过DA转换送给
43、液压伺服系统,从而控制系统的速度。该模糊控制器的硬件框图如图1所示。功率放大传感器电液伺服系统D/A转换A/D转换单片机数码显示键盘给定图1模糊控制器硬件框图模糊控制系统一般可分为四个组成部分: (1)被控对象可以是一种设备或装置以及它们的群体,也可以是一个生产的自然的,社会的,生物的或其他各种的状态转移过程,这些被控对象可以是确定的或模糊的,单变量的或多变量的,有滞后的或无滞后的,也可以是线性的或非线性的,定常的或时变的以及具有强藕合和千扰等多种情况,对于那些难以建立精确数学模型的复杂对象更适合采用模糊控制。 (2)执行和时勺电气的可以是交直流电机,伺服电动机,步进电机等;其它气动的或液压的
44、,如各类气动调节阀和液压马达,液压阀等均可。 (3)控制器模糊拉制系统的核心部分,由于被控对象不同以及对系统的静态、动态特性的要求和所用的控制规则相异,可构成各种类型的控制器:经典控制论中,采用Pm控制器,串并校正器;现代控制论中,状态观测器;智能控制论中,则采用模糊知识表示和规则推理的语言型的模糊控制器,这是模糊控制系统区别于其它自动控制系统的特点所在。实质上一台微型计算机,根据控制系统的需要既可以采用系统机也可采用单片机或单板机。 (4)输入/输出接口装置实际模糊控制系统中,由于被控对象的控 制量以及可观测的状态量是模拟量,因此,模糊控制系统与通常的全数字拉制系统或混合控制系统一样,也必须
45、具有模数,数模转换单元。模糊控制器通过输入/输出接口从被拉对象获得数字量信号,并将模糊控制器决策的输出信号经过数模变换,将其转换为模拟信号送给执行机构去控制被控对象,不同的是在模糊控制系统中,还应该具有模糊 逻辑处理的“模糊化”与“解模糊化”环节这部分,通常也被看作是模糊控制器的输入/输出接口。 (5)测量装置是将被测对象的的各种非电量如电流,温度,压力,速度,浓度等转换为电信号的一类装置。通常由各类数字的或模拟的测量仪器,检测元件或传感器等组成。它在模糊控制系统中占据十分重要的地位,其精度往往影响整个系统的性能指标,因此要求其精度高,可靠性强且稳定性好。模糊控制器的主程序包括初始化、键盘管理
46、及控制模块和显示模块的调用等。温度信号的采集、标度变换、控制算法以及速度显示等功能的实现可由各子程序完成。软件的主要流程是:利用AT89C51单片机调AD转换、标度转换模块以得到速度的反馈信号,然后根据偏差和偏差的变化率计算输入量,再由模糊PID自整定控制算法得出输出控制量。启动、停止可通过键盘并利用外部中断产生,有按键输入则调用中断服务程序。该程序的流程图如图2所示启动停止停机状态启动停止命令吗?数据显示模块模糊PID控制算法模块计算偏差 偏差变换量采样实际速度标度变换开始启动停止命令吗?初始化启动停止图2模糊控制器程序控制流程2 模糊控制器算法研究 采用模糊PID自整定控制的目的是使控制器
47、能够根据实际情况调整比例系数Kp、积分系数Ki和微分系数Kd,以达到调节作用的实时最优。该电液伺服系统的Fuzzy自整定PID控制系统结构如图3所示。y输出量被控对象uk3k2PID调节器k1逆模糊化处理模糊决策模糊控制规 则E1E2模糊化e2e1给定量r-+de/dt 图3模糊控制器系统结构图为了简化运算和满足实时性要求,即该调节系统的基本控制仍为PID控制,但使PID调节参数由模糊自整定控制器根据偏差e和偏差变化率ec进行自动调整,同时把模糊自整定控制器的模糊部分按Kp、Ki和Kd分成3部分,分别由相应的子推理器来实现。 2.1 输入值的模糊化模糊自整定PID控制器是在fuzzy集的论域中
48、进行讨论和计算的,因而首先要将输入变量变换到相应的论域,并将输人数据转换成合适的语言值,也就是要对输入量进行模糊化。结合本液压伺服系统的特性,这里选择模糊变量的模糊集隶属函数为正态分布,具体分布如图4所示。根据该规则可把实际误差e、误差变化率ec(dedt)对应的语言变量E、EC表示成模糊量。E、EC的基本论域为-6,+6,将其离散成13个等级即-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6。考虑到控制的精度要求,本设计将-6,+6分为负大NB、负中NM、负小NS、零ZO、正小PS、正中PM、正大PB等7个语言变量,然后由e、ec隶属函数根据最大值法得出相应的模糊变
49、量。2.2 模糊控制规则表的建立(1) Kp控制规则设计 在PID控制器中,Kp值的选取决定于系统的响应速度。增大Kp能提高响应速度,减小稳态误差;但是,Kp值过大会产生较大的超调,甚至使系统不稳定减小Kp可以减小超调,提高稳定性,但Kp过小会减慢响应速度,延长调节时间。因此,调节初期应适当取较大的Kp值以提高响应速度,而在调节中期,Kp则取较小值,以使系统具有较小的超调并保证一定的响应速度;而在调节过程后期再将Kp值调到较大值来减小静差,提高控制精度。Kp的控制规则如表1所列。(2) Ki控制规则设计 在系统控制中,积分控制主要是用来消除系统的稳态误差。由于某些原因(如饱和非线性等),积分过
50、程有可能在调节过程的初期产生积分饱和,从而引起调节过程的较大超调。因此,在调节过程的初期,为防止积分饱和,其积分作用应当弱一些,甚至可以取零;而在调节中期,为了避免影响稳定性,其积分作用应该比较适中;最后在过程的后期,则应增强积分作用,以减小调节静差。依据以上分析,制定的Ki控制规则表如表2所列。(3) Kd控制规则设计 微分环节的调整主要是针对大惯性过程引入的,微分环节系数的作用在于改变系统的动态特性。系统的微分环节系数能反映信号变化的趋势,并能在偏差信号变化太大之前,在系统中引入一个有效的早期修正信号,从而加快响应速度,减少调整时间,消除振荡最终改变系统的动态性能。因此,Kd值的选取对调节
51、动态特性影响很大。Kd值过大,调节过程制动就会超前,致使调节时间过长;Kd值过小,调节过程制动就会落后,从而导致超调增加。根据实际过程经验,在调节初期,应加大微分作用,这样可得到较小甚至避免超调;而在中期,由于调节特性对Kd值的变化比较敏感,因此,Kd值应适当小一些并应保持固定不变;然后在调节后期,Kd值应减小,以减小被控过程的制动作用,进而补偿在调节过程初期由于Kd值较大所造成的调节过程的时间延长。依据以上分析,制定的Kd控制规则表如表3所列。2.3 逆模糊化处理及输出量的计算 对经过模糊控制规则表求得的Kp、Ki、Kd采用重心法进行逆模糊化处理(重心法在此就不做详细介绍)的公式如下: 式中
52、,u(k)为k采样周期时的输出,e(k)为k采样周期时的偏差,T为采样周期,通过输出u(k)乘以相应的比例因子Ku就可得出精确的输出量u。其公式如下: 常规PID控制时通过调节PID三个参数,就可以得到系统比较理想的响应图,控制效果的优良与参数的调整有很大的关系,也能提高快速性。但三个参数的调整非常繁琐。而且,如果系统环境不断变化,则参数又必须进行重新调整,往往达不到最优。而采用模糊PID控制后,通过模糊控制器对PID进行非线性的参数整定,可使系统无论是快速性方面还是稳定性方面都达到比较好的效果。 将上述PID控制及模糊PID控制分别进行了仿真试验,实验分别在单独模糊PID控制情况下和模糊PI
53、D控制两种情况下进行。并在在线运行过程中通过逻辑规则的结果处理、查表和运算完成了对PID参数的在线自矫正。系统的偏差绝对值以及偏差的变化绝对值的取值范围可根据实际经验分别确定为-0.1 cms,0.1 cms】和-0.06 cms2,0.06 cms2,以而确定相对控制效果较好时Kp、Ki、Kd的取值范围为Kp-0.3,0.3、Ki-0.06,0.06、Kd-3,3。传统PID和模糊PID实验所得的曲线分别如图5及图6所示。从图中可以发现,采用模糊控制策略整定PID参数相对于普通PID控制策略,其系统的稳态性得到了较大的改善,响应时间大大减少,超调量也得到了一定的改善。第四章 系统的软件实现1
54、.单片机的软件编程单片机的主要任务是接收来自主机的命令并执行命令,对整个恒压控制系统进行模糊控制,同时返回系统的状态和当前的压力值。在主机工作之前,片机已启动。在此设计中.单片机定时器T1工作于方式2,波特率9600,串行口工作方式1,允许接受,或允许发送,晶振11. 0592MHZ,根据此设置,(TMOD)=20H,(TH 1)=FD, (TL 1)=FD,(SCON)=50H . 2. 系统运行主程序YN重新设定参数与设定温度相等?关中断模糊PID调节采样温度并显示CPU开中断设定定时器T0值清显示缓冲区清寄存器设定堆栈主程序开始图4.2主程序流程图3.MAX6675温度采集设计 温度测量开始进行温度测量,这一部分程序作为一个独立的程序段,定时调用,主要包括MAX6675数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学课外活动计划汇编6篇
- 试用期个人工作总结
- 感恩老师+演讲稿范文集锦三篇
- 房产销售主管月工作总结
- DB31-T 1394-2023 塑料制品绿色设计评价导则
- 男性患者自助式清洁间歇导尿
- 《社会保险法》讲座课件
- 吉林省长春市虹麓综合高中2023-2024学年高一上学期期末物理试卷
- 做好安全防范
- 酒店相关职业规划
- 校园天眼平台建设方案
- Excel常用函数公式及技巧
- 期末测试卷(试题)-2024-2025学年人教PEP版(2024)英语三年级上册
- 美妆细分市场机会与策略洞察-任拓-202409
- 2024-2030年中国网络安全行业发展前景及投资战略研究报告
- 《学习与娱乐平衡》主题班会
- 加油站风险清单(隐患排查表)(195项) 2024
- 2024年全省职业院校技能大赛(中职教师组)装备制造类智能制造设备技术赛项竞赛样题1
- 2023.05.06-广东省建筑施工安全生产隐患识别图集(高处作业吊篮工程部分)
- 2024版公共卫生间管理服务承包协议
- 部编人教版六年级语文上册习作《有你真好》精美课件
评论
0/150
提交评论