1、_ (2014届)毕业设计题目:基于PID的温度控制系统设计 学院: * 专业:电气工程及其自动化 班级: 电气*学号: * 姓名: 某某某 指导教师: 某某某 教务处制 年月日精品资料_诚 信 声 明我声明,所呈交的论文是本人在老师指导下进行的研究工作及取得的研究成果。据我查证,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得或其他教育机构的学位或证书而使用过的材料。我承诺,论文中的所有内容均真实、可信。 论文作者签名: 签名日期: 年 月 日授 权 声 明 学校有权保留送论文交的原件,允许论文被查阅和借阅,学校可以公布论文的全部或部分内容,可
2、以影印、缩印或其他复制手段保存论文,学校必须严格按照授权对论文进行处理,不得超越授权对论文进行任意处置。论文作者签名: 签名日期: 年 月 日基于PID的温度控制系统设计摘 要温度是工业上最基本的参数,与人们的生活紧密相关,实时测量温度在工业生产中越来越受到重视,离不开温度测量所带来的好处,因此研究控制和测量温度具有及其重要的意义。本设计介绍了以AT89C52单片机为主控器件,基于PID的温度控制系统的设计方案和设计的基本原理。由DS18B20收集温度信号,并以数字信号的方式送给单片机进行处理,从而达到温度控制的目标。主要包括硬件电路的设计和系统程序的设计。硬件电路由主控器件、温测电路、温控电
3、路和显示电路等组成。软件设计部分包括:显示电路、温度信号处理,超温警报、继电器控制、按键处理等程序。关键词:温度检测,温度控制,PID算法Design of Temperature Control System Based on PIDAbstractTemperature is the most basic parameters of industrial and closely related with peoples lives, real-time measurement of temperature in industrial production and more attentio
4、n, which is inseparable from the benefits of the temperature measurement, temperature control and measurement study therefore has its significance.This design introduces the basic principles to AT89C52 microcontroller-based controller pieces temperature control system design and design. Collected by
5、 the DS18B20 temperature signal, and digital signal sent by way of the microcontroller for processing, so as to achieve the target temperature control. Including the design of hardware circuit design and system programs. Hardware circuit includes a master device, the temperature measuring circuit, t
6、emperature control circuit and display circuit. Software design, including: display electrical, temperature, signal processing, over-temperature alarm, relay control, key handling procedures.Keywords: temperature detection, temperature control, PID algorithm目录摘 要IIIAbstractIV1绪论11.1课题的来源11.2课题的意义11.
7、3课题研究的主要内容12硬件设计32.1单片机控制模块的设计32.1.1 AT89C52单片机简介32.1.2 单片机的引脚功能42.1.3 单片机控制模块的电路设计52.1.4 电源设计62.2温度采集模块的设计72.2.1 DS18B20芯片的简介72.2.2 DS18B20的内部结构82.2.3 DS18B20的供电方式102.2.4 DS18B20的引脚功能102.3温度控制模块的设计112.4按键及显示模块的设计122.4.1 LCD1602的参数和引脚功能122.4.2 LCD1602的特点132.4.3 按键电路的设计132.5报警模块的设计143软件设计163.1主程序的设计1
8、63.2DS18B20读温度程序的设计163.3键盘扫描程序的设计173.4报警处理程序的设计183.5PID控制算法184系统仿真22参考文献27致谢28附录29精品资料_1绪论1.1课题的来源在食品加工、化工、冶炼等工业控制和生产中,在工业生产和日常生活中经常要用到温度检测和控制。以及各种各样的加热炉、热处理器等,都对温度有着严格的要求。传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的通常是电压,再转换成相应的温度值,在硬件方面是个难点,而且从设计和调试的角度来讲都是很复杂的,以及高昂的制作成本。但采用DS18B20作为温测元件,然后用单片机对温度进行控制,可以大幅度提高温度控制的技
9、术指标,而且还具有控制方便、简单、灵活等特点。单片机已经渗透到我们生活的各领域,仪表仪器、家用电器、航空航天、计算机通讯网络和数据的传输,包括工业自动化的实时控制和数据处理等,这些都离不开单片机。用单片机可构成丰富多样的数据采集系统和控制系统。像工厂流水线智能化的管理、电梯智能化的控制、多种报警系统,都可以与计算机联网构成二级控制系统等。1.2课题的意义温度传感器是测量温度的关键,现在温度传感器正由模拟式向数字式、集成化向智能化、网络化的方向发展。在测量温度的电路中,使用热敏电阻之类的器件利用其感温效应,将随被测温度变化的电压或电流采集过来,先进行A/D转换,然后用单片机进行数据的处理,再在显
10、示电路上,将被测温度显示出来。这种设计需要用到A/D转换电路,因此电路的设计比较复杂。继而想到可以采用智能温度传感器来设计数字温度计。本数字温度计的设计采用美国半导体公司DALLAS推出的一种改进型智能温度传感器DS18B20作为检测元件,其温度值可以直接被读出来,通过单片机AT89C52的读写和显示,然后用LCD1602来进行显示。它的测温范围为55125,最大分辨率可达0.0625。而且采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。1.3课题研究的主要内容1、总体设计的内容总体设计的主要内容有:利用单片机作为系统的主控制器,利用DS18B20作为温度传感器,将信号
11、送入单片机进行处理,经过PID算法后,单片机的输出用来控制加热棒的输出功率,从而实现对温度的控制。2、总体设计的基本要求总体布置的基本要求主要有:(1)温度控制系统的总体设计和思路;(2)各部分原理说明;(3)温度控制系统硬件设计,有理论依据,有分析计算过程,主要元件有原理和说明,所有元件必须要有型号和参数;(4)温度控制系统软件设计,可以使用汇编语言或C语言编程。主要软件必须能在设计好的硬件电路上正确运行。2硬件设计硬件设计方框图如图2-1所示,它主要由五个模块组成: 单片机控制模块; 温度采集模块; 温度控制模块; 按键及显示模块; 报警模块。图2-1 硬件设计方框图2.1单片机控制模块的
12、设计方案一:采用8031芯片,其内部没有程序存储器,需要进行外部扩展,这给电路增加了复杂度。方案二:采用2051芯片,其内部有2KB单元的程序存储器,不需外部扩展程序存储器。但由于系统用到较多的I/O口,因此此芯片资源不够用。方案三:采用AT89C52单片机,其内部有4KB单元的程序存储器,不需外部扩展程序存储器,而且它的I/O口也足够本次设计的要求。方案评价:比较这三种方案,综合考虑单片机的各部分资源,本次设计选用方案三。2.1.1 AT89C52单片机简介AT89C52是ATMEL公司生产的51系列单片机。片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随
13、机存取数据存储器(RAM),器件采用ATMEL公司的高密度,兼容51指令系统,Flash存储单元和8位中央处理器置于片内,AT89C52单片机功能强大,在许多复杂的应用场合都可以用到。单片机是微型机的一个分支,单片机的最大特点就是在超大规模的集成电路芯片上集成了定时器、存储器、CPU、和多种输入/输出接口电路。由于单片机的这种结构,相应的它具有很多的特点。它的特点包括:(1) 可靠性高;(2) 抗干扰能力强;(3) 控制能力强;(4) 性价比高;(5) 低电压;(6) 能扩展了多种串行口。2.1.2 单片机的引脚功能AT89C52单片机的引脚图如图2-2所示。图2-2 AT89C52引脚图 电
14、源引脚VCC和VSSVCC(40引脚):电源端,+5V。VSS(20引脚):接地端。 外接晶体引脚XTAL 2和XTAL 1XTAL 2(18引脚):接微调电容和外部晶体的端口。作为振荡电路的输出端。XTAL 1(19引脚):接微调电容和外部晶体的端口。作为振荡电路的输入端。 控制信号引脚RST、ALE、PSEN、EARST(9引脚):复位信号输入端,高电平有效。完成复位操作,输入端必须为两机器周期(即为24个时钟振荡周期)的高电平。ALE/PROG(30引脚):地址锁存允许信号端。当单片机上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器平率的1/6。输出信号作为锁存低8位地址
15、的控制信号。如果想确认单片机芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。若有脉冲信号输出,则单片机基本上是好的。PSEN(29引脚):程序存储允许输出信号端。EA(31引脚):外部程序存储器地址允许输入端/固化编程电压输入端。 输入/输出端口P0、P1、P2和P3P0端口(P0.0P0.7,3932引脚)P1端口(P1.0P1.7)P2端口(P2.0P2.7)P3端口(P3.0P3.7)P3端口还用于一些复用功能,如表2-1所示。表2-1 P3各口线与第2功能表口线替代的第2功能P3.0RXD(串行口输入)P3.1TXD(串行口输出)P3.2INT0(外部中断0输入)P3.3INT1
16、(外部中断1输入)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6WR(片外数据存储器“写选通控制”输出)P3.7RD(片外数据存储器“读选通控制”输出)2.1.3 单片机控制模块的电路设计单片机的最小系统如图2-3所示,由单片机芯片、电源、时钟振荡电路与复位电路组成。时钟振荡电路的设计:单片机XIAL1和XIAL2分别接30pF的电容,中间再并个12MHz的晶振,形成单片机的晶振电路。电容器C1和C2可稳定频率并对振荡频率有微调作用。复位电路的设计:复位操作有按键手动复位和上电自动复位两种。本设计采用的是上电自动复位:RST引脚是复位信号的输入端。复位信号是高电平
17、有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。电容端瞬间通电,电容C通过电阻R充电,RST端为正脉冲,用以复位。只要电源VCC的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。关于参数的选定,在振荡稳定后应保证复位高电平持续时间(即正脉冲宽度)大于2个机器周期。当采用的晶体频率为6MHz时,可取C=22F,R=1k;当采用的晶体频率为12MHz时,可取C=10F,R=8.2k。图2-3 单片机的最小系统图2.1.4 电源设计220V交流电转5V直流电的电源设计如图2-4所示是由3个部分组成:变压器、桥式整流电路和三端稳压器。图2-4 5V直流电电
18、源设计图(1) 变压器:将220V交流电变成9V左右,由此可知变压器变比为220/9=25/1;(2) 桥式整流电路:经过滤波整流后,电压有效值增大为10V。如图2-5所示为桥式整流电路电压波形图;(3) 三端稳压器:一般用于直流电路的保护电路,起到降压、稳压的作用。图2-5 桥式整流电路电压波形图2.2温度采集模块的设计方案一:传统的测温元件有热电偶和热电阻。一般来说热电偶和热电阻测出的电压,再转换成相应的温度,要比较多外部硬件的支持,其缺点有:硬件电路较复杂;软件调试较复杂;制作成本较高。方案二:结合单片机电路的设计,决定使用温度传感器DS18B20,它是最新推出的一种智能型温度传感器,它
19、的优点是可以直接读出被测的温度。主要是对温度信号进行采集和转换工作,电路由DS18B20温度传感器和单片机部分组成。温度传感器DS18B20把收集到的温度送到单片机的P2.6口,单片机接受温度,然后存储下来。因为电路部分只用到了温度传感器和单片机,所以硬件方面比较简单。方案评价:方案一这种设计需要用到A/D转换电路,感温电路比较麻烦。但方案二电路比较简单,软件设计容易实现,故实际设计中拟采用方案二。2.2.1 DS18B20芯片的简介DS18B20是美国著名半导体公司推出的一种可以直接读出被测温度值的温度传感器,而且采用寄生供电方式与单片机相连,具有成本低和易使用的特点。输出信号为数字信号,方
20、便单片机控制和处理,很多外围电路因此可以减掉。且该芯片的线形较好,物理、化学性也相对稳定,在工业生产中可以用来做测量温度的元件。由于AT89C52能够带多个DSB1820,因此容易实现多点测量的目的。轻松的构建传感器网络,并且单片机可以同时进行数码显示与键盘控制,也可以通过RS232串口与上位机进行数据通讯,达到全方位立体监控的效果。采用温度芯片DS18B20测量温度,可以更方便的实现多点测温,也体现了数据数字化的好处,便于测温数据集成显示,也方便了后期对数据的处理及其记录。2.2.2 DS18B20的内部结构DS18B20芯片的内部结构如图2-6所示。DS18B20主要包括上下限触发器、储存
21、器与控制逻辑、CRC发生器电源、温度传感器、64位ROM单线借口暂存器。图2-6 DS18B20芯片的内部结构图DS18B20温度数字对应关系表如表2-2所示。表2-2 DS18B20温度数字对应关系表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111
22、1111 0000FFF8HDS18B20温度值格式表如表2-3所示。表2-3 DS18B20温度值格式表高字节15141312111098SSSSS2 62 52 41/01/01/01/01/0643216低字节765432102 32 22 12 02_12_22_32_484210.50.250.1250.0625DS18B20的工作过程:(1) 发复位DS18B20的负脉冲;(2) 收DS18B20的回应脉冲;(3) 发ROM命令(33H);(4) 发储存和控制命令。DS18B20储存控制命令共有6种,如表2-4所示。表2-4 DS18B20 存储器控制指令指令约定代码复制48H读数
23、据BEH读电源供电方式B4H温度转换44H读EERAMB8H写数据4EH主机操作ROM的命令有5种,如表2-5所示。表2-5 DS18B20的ROM指令指令约定代码读ROM33H匹配ROM55H跳过ROMCCH搜索ROM0F0H报警搜索ECHDS18B20的执行序列: 初始化; 执行ROM命令,用于定位; 执行DS18B20的储存控制命令,用于转换和读数据; DS18B20的I/O信号有回应脉冲、复位脉冲、写0,读0,写1,读1等几种。2.2.3 DS18B20的供电方式在硬件上,DS18B20与单片机的连接有两种方法,一种是用寄生电源供电,此时,VCC、GND接地,I/O接单片机I/O;另外
24、一种是VCC接外部电源,GND接地,I/O与单片机的I/O线相连。无论是内部寄生电源还是外部供电,I/O口线要接5k左右的上拉电阻。如图2-7所示,本设计采用的是外部电源供电的方式,且选用的上拉电阻为4.7k。图2-7 DS18B20外部电源供电方式图2.2.4 DS18B20的引脚功能引脚功能说明:(1) GND为地;(2) I/O是数据输入/输出脚(单线接口,可作寄生供电);(3) UDD为外接供电电源输入端(在寄生电源接线方式时接地)。DS28B20的引脚如图2-8所示。图2-8 DS18B20引脚图DS18B20的特点说明:(1) 采用单总线技术,与单片机通信只需要一根I/O线,在一根
25、线上可以挂接多个DS18B20。(2) 每只DS18B20具有一个独有的,不可修改的64位序列号,根据序列号访问相应的器件。(3) 低压供电,电源范围从3.05.5V,可以本地供电,也可以直接从数据线窃取电源(寄生电源方式)。(4) 测温范围为-55+125,在-10+85范围内误差为0.5。(5) 可编辑数据为912位,转换12位温度时间为750ms(最大)。(6) 用户可自设定报警上下限温度。(7) 报警搜索命令可识别和寻址超过程序限定温度(温度报警条件)的器件。(8) DS18B20的分辨率由用户通过EEPROM设置为912位。(9) DS18B20可将检测到温度值直接转化为数字量,并通
26、过串行通信的方式与主控制器进行数据通信。(10) 负电压特性,电源极性接反时,温度计不会因为发热而烧毁,只是不能正常工作。2.3温度控制模块的设计方案一:继电器由于是机械动作,响应速度慢,不能满足本设计的需要。而用可控硅可以在电路中能够实现以小电流控制大电流、交流电的无触点控制的目的,而且它的寿命长、可靠性高、动作快。方案二:利用单片机控制双向可控硅的导通角。在不同时刻利用单片机给双向可控硅的控制端发出触发信号,使其导通或关断,实现负载电压有效值的不同,以达到调压控制的目的。具体如下:(1)由硬件完成过零触发环节,即在工频电压下,每10ms进行一次过零触发信号,由此信号来达到与单片机的同步。(
27、2)过零检测信号接至单片机输入口,由单片机对此口进行循环检测,然后进行延时触发。通过单片机控制双向可控硅的导通,从而可以控制加热丝的加热功率。双向可控硅接通,则加热丝加热;双向可控硅断开,则加热丝停止加热。方案评价:综合考虑,选择方案二。由于是弱电控制强电,因而弱电很容易被强电干扰,影响系统的实时性和效率。因此必须需要有抗干扰的措施,将强电与弱电隔离。光耦合器切断了各部件之间的联系,对强电和弱电实施隔离,有效地抑制了干扰信号对电路的干扰。光耦合器很容易得到触发脉冲,且有可靠、体积小的特点。所以可以用带过零检测的光电隔离器MOC3061来驱动双向可控硅并隔离控制回路和主回路。MOC3061参数:
28、输出端的额定电压是400V。最大重复浪涌电流为1.2A。最大电压上升率dv/dt为1000v/us。输入输出隔离电压为7500V。输入控制电流为15mA。MOC3061引脚排列及内部电路图如图2-9所示。图2-9 MOC3061引脚排列及内部电路图当单片机的输出口发出高电平,经过三极管放大后驱动光耦合器的放光二极管,MOC3061的输入端导通,输入电流约为15mA。当MOC306的输出端6脚和4脚尖电压稍稍过零时,光耦内部双向可控硅即可导通,它可以给外部晶闸管一个触发信号,并使其导通;当单片机输出口发出低电平,MOC3061截止,双向可控硅处于截止状态。MOC3061的优点:(1)控制简单。(
29、2)MOC3061由于采用了过零触发电路大大简化了双向可控硅的触发电路。(3)MOC3061与双向可控硅实际组成了一个固态继电器,实现了无触电控制。(4)输出通道实现了光电隔离,防止了射电干扰。(5)单片机输出口直接控制双向可控硅,省去了的D/A转换电路,简化了接口电路。双向可控硅介绍:双向可控硅具有双向导通功能,在交流电的正负半周都可以导通。双向可控硅的通断情况由栅极决定,当栅极无信号时MT1和MT2成高阻态,管截止;当在MT1与MT2之间加一个阈值电压时,就可以利用控制极栅极电压来使可控硅导通。但需要注意的是,当双向可控硅接感性负载时,电流和电压之间有一定的相位差。在电流为零时,反向电压可
30、能不为零,且超过转换电压,使管子反向导通,故要管子能承受这种反向电压,并在回路中加入RC网络加以吸收。双向可控硅的触发方式:控制双向可控硅从高阻态转换到导通区可以用不同的方式实现,相应的分为四种方式。MT1相对于MT2为正,控制脉冲电压Ug相对于MT1为正。MT1相对于MT2为负,控制脉冲电压Ug相对于MT1为负。MT1相对于MT2为正,控制脉冲电压Ug相对于MT1为负。MT1相对于MT2为负,控制脉冲电压Ug相对于MT1为正。双向可控硅的控制极在触发后便失去了作用。双向可控硅长期维持低阻态,直到低于维持电流I H,然后在转换到高阻态。在控制交流电压时,每次电源电压过零双向可控硅都会自动截止,
31、所以双向可控硅每半个周期都需要重新触发。如图2-10所示为温度控制模块原理图。图2-10 温度控制模块原理图2.4按键及显示模块的设计方案一:八段数码管显示,数码管是由八个发光管组成一个八字形,这些段分别由a,b,c,d,e,f,g,dp来表示。方案二:LCD1602液晶显示器显示。方案评价:本设计采用LCD1602液晶显示器显示,因为它有功耗较低、显示质量较高、重量轻、体积小的特点。LCD1602的电路图如图2-11所示。图2-11 LCD1602电路图2.4.1 LCD1602的参数和引脚功能LCD1602的参数:字符尺寸:2.954.35(WH)mm。显示总容量:162个字符。最佳工作电
32、压:5.0V。芯片工作电压区间:4.5V5.5V。工作电流:2.0mA(5.0V)。LCD1602的引脚功能如表2-6所示。表2-6 LCD1602引脚功能表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA正极背光源8D1数据16BLK负极背光源2.4.2 LCD1602的特点在单片机系统中应用晶液显示器作为输出器件有以下几个特点。(1)功耗较低LCD1602的功耗主要在驱动IC和内部的电极上,因此功耗较低。(2)显示质量较高L
33、CD1602显示器在收到信号后,不需要不断刷新新的亮点,它的显示器上的每一个点可以一直保持同样的亮度和色彩,发光持续稳定。因此,显示器不会闪烁,且质量较高。(3)重量轻、体积小因为控制原理不同,LCD1602显示器通过电极来控制液晶分子状态来达到控制的目的,相较于其他的显示器来说,同等面积的显示器,LCD1602要轻许多。(4)数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。2.4.3 按键电路的设计方案一:独立连接式。独立式按键是指各按键相互独立地接通一条输入数据线。方案二:行列式(矩阵式)为了减少键盘与单片机借口时所占用I/O线的数目,在键数较多时,通常都将
34、键盘排列成行列矩阵形式。判断键盘中哪一个键被按下是通过将行线逐行置低电平后,检查列输入状态实现的。方案评价:对比两种方案可知,方案一虽然也能很好的实现电路的要求,但考虑到电路设计的成本和电路整体的性能,我们采用方案一。如图2-12所示为独立式按键电路图。图2-12 独立式按键电路图独立式按键是指各按键相互独立地接通一条输入数据线。本设计采用2个独立式按键分别连接单片机I/O来实现按键的功能。从而解决了单片机I/O口被占用的问题和减少了硬件的复杂程度,通过软件来配合2个按键实现功能。系统程序中通过扫描P1.2、P1.3这2个端口是否为低电平0来判断按键是否被按下。2.5报警模块的设计方案一:使用
35、7406作驱动的单音频报警电路。方案二:使用三极管作驱动的单音频报警电路。方案评价:使用方案二。蜂鸣器电路图如图2-13所示。图2-13 蜂鸣器电路图蜂鸣器以直流电压作为电源,被广泛地应用于电话机、电子玩具、报警器、定时器等电子产品中,被用来当作电子发声器。蜂鸣器主要有压电式和电磁式两种。本设计的报警模块主要采用蜂鸣器及发光二级管的蜂鸣和发光来实现超出温度上限时的报警。压电式蜂鸣器约需10mA的驱动电流。单片机的P2.5接晶体管基极输入端。当P2.5输出高电平1时,三极管导通,压电蜂鸣器两端获得约+5V电压而鸣叫;当P2.5口输出低电平0时,三极管截止,蜂鸣器停止发声。要使三极管有放大作用,必
36、须保证发射结正偏、集电极反偏。电流放大系数:=IC/IB。 9013三极管介绍:9013 结构:NPN。集电极-发射极电压:25V。集电极-基电压:45V。射极-基极电压:5V。集电极电流:0.5A。耗散功率:0.625W。结温:150。特征频率最小:150MHz。放大倍数:91。3软件设计按照系统设计功能的要求,来确定本系统程序包括DS18B20读温度程序、LCD1602的显示程序、键盘扫描程序、报警处理程序以及继电器加热程序。3.1主程序的设计如图3-1所示为主程序流程图。图3-1 主程序流程图3.2DS18B20读温度程序的设计(1)DS18B20读时序: 读时序包括读0和读1的时序。
37、读时序是在拉低单总线之后,在15us之内释放单总线,让DS18B20把数据传送到单总线上。读时序的过程至少需要60us。(2)DS18B20写时序: 写时序包括写0和写1的时序。 写0和写1时序略有不同。当写0时序时,单总线至少要被拉低60us。保证DS18B20能够采到数据线上的“0”电平,在15us到45us之间;当写1时序时,拉低单总线,并在15us之内释放单总线。如图3-2所示为DS18B20读温度程序流程图。图3-2 DS18B20读温度程序流程图3.3键盘扫描程序的设计该电路为查询方式电路,当任何一个键按下时,与之相连的输入数据线即被清0,而平时该线为1。因此可以通过检测各数据线的
38、状态(0或1)来判断按键是否闭合,以及哪个按键已闭合。如图3-3所示为键盘扫描程序流程图。图3-3 键盘扫描程序流程图3.4报警处理程序的设计设定目标温度上限,当实际温度大于目标温度上限的时候,执行声光报警程序。如图3-4所示为声光报警程序流程图。图3-4 声光报警程序流程图3.5PID控制算法 本设计采用了PID控制技术。在工程实际运用中,PID控制器以其稳定性好、工作可靠、调整方便、结构简单而成为主要的工业控制技术之一。当被控对象的参数和结构不能被很好的掌握,或得不到精确的数学模型时,控制理论的技术很难被采用,所以当系统控制器的结构和参数必须依靠经验来确定时,PID控制技术最为实用和方便。
39、PID调节器是一种线性调节器,它将给定值r(t)与实际输出值c(t)的偏差的比例(P)、积分(I)、微分(D)的组合组成控制量,从而达到对控制对象的控制目的。控制偏差 (3-1)(1)连续控制系统PID调节器的微分方程为: (3-2)式中Kp比例常数;Ti积分时间常数;Td微分时间常数;e(t)系统偏差信号;u(t)控制器的输出信号。(2)PID调节器的函数形式方程为: (3-3)(3)数字PID控制器如表3-1所示为模拟PID控制规律的离散化表。表3-1 模拟PID控制规律的离散化模拟形式离散化形式数字PID控制器的差分方程:(3-4)为积分系数。为微分系数。式中 称为比例项。 称为积分项。
40、 称为微分项。常用的控制方式: 1、P控制 2、PI控制 3、PD控制 4、PID控制 模拟PID控制系统原理如图3-5所示。图3-5 模拟PID控制系统原理框图(4)PID调节器比例、积分、微分的环节 比例环节:把调节器的输入偏差乘以一个系数,作为调节器的输出,比例环节的作用是放大误差的幅值。当仅有比例控制环节时系统输出存在稳态误差。 积分环节:调节器加入积分环节后达到消除稳态误差的目的。积分项随着时间的增加而增大,积分项对稳态误差的消除取决于时间的积分。PI调节器可以使系统在进入稳态后无稳态误差。 微分环节:调节器的输入、输出误差信号的微分成正比关系。微分环节能反应偏差信号的变化趋势,从而
41、可以实现超前调节。 控制器中仅有比例环节是不行的,还需要增加微分项,因为它能预测误差变化的趋势。 (5) PID控制算法的两种类型1、 位置型控制(3-5)2、 增量型控制(3-6)PID参数整定方法: 理论计算法依赖被控对象准确的数学模型。 工程整定法不依赖被控对象准确的数学模型,直接在控制系统中进行现场整定。 下面对PID运算加以说明: 所有的数都变成定点纯小数进行处理。 算式中的各项有正有负,以最高位作为符号位,最高位为0表示为正数,为1表示负数。正负数都是补码表示,最后的计算以原码输出。节16位进行计算,最后将运算结果取成高8位有效值输出。输出控制量u(n)的限幅处理。为了便于实现对晶
42、闸管的通断处理,PID的输出在0250之间。大于250或小于0的控制量u(n)都是没有意义的,因在算法上对u(n)进行限幅,即: = (3-7)增量式PID控制算法如图3-6所示。图3-6 增量式PID控制算法程序框图4系统仿真单片机程序编写可以有多种:汇编语言、C语言等。本设计采用C语言来编写。(1) 汇编语言用汇编语言助记符来表示的程序就是汇编语言。这种语言比机器语言更容易,使用方便,容易记忆。但是由于不同的机器对应着不同的汇编语言,这种语言具有一定限制。(2) C语言 对微控制器的指令系统不需要了解,只是有一个初步的了解单片机的存储结构。 具有规范的程序,通过不同的函数,是程序变得结构化
43、。 寄存器分配,不同的内存地址和数据类型和其他细节可以由编译器管理。 大大缩短了编程和调试的时间,提高了编程的效率。对于AT89C52的控制设计,编程用Keil软件,仿真用proteus软件。Keil支持C语言、汇编及二者的混合编程。编程软件Keil介绍:KeiluVision2是美国软件公司的C语言软件开发系统,它兼容单片机系统。与汇编相比,C语言有易学易用的特点。不仅提高了工作效率,而且在关键的位置嵌入汇编,可以使程序的工作效率接近汇编。标准C编译器在保留汇编代码搞笑、快速特点的同时,还未控制器的软件开发提供了C环境。uVision2的集成开发环境已经完全包括了C52。它包括:项目管理器、编译器,汇编器,实时操作系统和调试器。Keil