基于某PID地温度控制系统设计

上传人:痛*** 文档编号:101496255 上传时间:2022-06-05 格式:DOC 页数:42 大小:722KB
收藏 版权申诉 举报 下载
基于某PID地温度控制系统设计_第1页
第1页 / 共42页
基于某PID地温度控制系统设计_第2页
第2页 / 共42页
基于某PID地温度控制系统设计_第3页
第3页 / 共42页
资源描述:

《基于某PID地温度控制系统设计》由会员分享,可在线阅读,更多相关《基于某PID地温度控制系统设计(42页珍藏版)》请在装配图网上搜索。

1、word(2014届)毕业设计题目:基于PID的温度控制系统设计 学院:*专业:电气工程及其自动化 班级: 电气*学号:*姓名:某某某指导教师:某某某教务处制 年月日36 / 42诚 信 声 明我声明,所呈交的论文是本人在老师指导下进行的研究工作及取得的研究成果。据我查证,除了文中特别加以标注和致的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得或其他教育机构的学位或证书而使用过的材料。我承诺,论文中的所有容均真实、可信。论文作者签名: 签名日期: 年 月 日授 权 声 明学校有权保留送论文交的原件,允许论文被查阅和借阅,学校可以公布论文的全部或部分容,可以影印、缩印或其他

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 attention, which

4、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 the DS18

5、B20 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, temperatur

6、e 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绪论11112硬件设计332.1.1 AT89C52单片机简介3

7、2.1.2 单片机的引脚功能42.1.3 单片机控制模块的电路设计52.1.4 电源设计672.2.1 DS18B20芯片的简介72.2.2 DS18B20的部结构82.2.3 DS18B20的供电方式102.2.4 DS18B20的引脚功能1011122.4.1 LCD1602的参数和引脚功能122.4.2 LCD1602的特点132.4.3 按键电路的设计13143软件设计1616161718184系统仿真22参考文献27致28附录291绪论课题的来源在食品加工、化工、冶炼等工业控制和生产中,在工业生产和日常生活中经常要用到温度检测和控制。以及各种各样的加热炉、热处理器等,都对温度有着严格

8、的要求。传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的通常是电压,再转换成相应的温度值,在硬件方面是个难点,而且从设计和调试的角度来讲都是很复杂的,以及高昂的制作成本。但采用DS18B20作为温测元件,然后用单片机对温度进行控制,可以大幅度提高温度控制的技术指标,而且还具有控制方便、简单、灵活等特点。单片机已经渗透到我们生活的各领域,仪表仪器、家用电器、航空航天、计算机通讯网络和数据的传输,包括工业自动化的实时控制和数据处理等,这些都离不开单片机。用单片机可构成丰富多样的数据采集系统和控制系统。像工厂流水线智能化的管理、电梯智能化的控制、多种报警系统,都可以与计算机联网构成二级控制系统

9、等。温度传感器是测量温度的关键,现在温度传感器正由模拟式向数字式、集成化向智能化、网络化的方向发展。在测量温度的电路中,使用热敏电阻之类的器件利用其感温效应,将随被测温度变化的电压或电流采集过来,先进行A/D转换,然后用单片机进行数据的处理,再在显示电路上,将被测温度显示出来。这种设计需要用到A/D转换电路,因此电路的设计比较复杂。继而想到可以采用智能温度传感器来设计数字温度计。本数字温度计的设计采用美国半导体公司DALLAS推出的一种改进型智能温度传感器DS18B20作为检测元件,其温度值可以直接被读出来,通过单片机AT89C52的读写和显示,然后用LCD1602来进行显示。它的测温围为55

10、125。而且采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。1.3课题研究的主要容1、总体设计的容总体设计的主要容有:利用单片机作为系统的主控制器,利用DS18B20作为温度传感器,将信号送入单片机进行处理,经过PID算法后,单片机的输出用来控制加热棒的输出功率,从而实现对温度的控制。2、总体设计的基本要求总体布置的基本要求主要有:(1)温度控制系统的总体设计和思路;(2)各部分原理说明;(3)温度控制系统硬件设计,有理论依据,有分析计算过程,主要元件有原理和说明,所有元件必须要有型号和参数;(4)温度控制系统软件设计,可以使用汇编语言或C语言编程。主要软件必须能在设计

11、好的硬件电路上正确运行。2硬件设计硬件设计方框图如图2-1所示,它主要由五个模块组成: 单片机控制模块; 温度采集模块; 温度控制模块; 按键及显示模块; 报警模块。图2-1 硬件设计方框图方案一:采用8031芯片,其部没有程序存储器,需要进行外部扩展,这给电路增加了复杂度。方案二:采用2051芯片,其部有2KB单元的程序存储器,不需外部扩展程序存储器。但由于系统用到较多的I/O口,因此此芯片资源不够用。方案三:采用AT89C52单片机,其部有4KB单元的程序存储器,不需外部扩展程序存储器,而且它的I/O口也足够本次设计的要求。方案评价:比较这三种方案,综合考虑单片机的各部分资源,本次设计选用

12、方案三。2.1.1 AT89C52单片机简介AT89C52是ATMEL公司生产的51系列单片机。片含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度,兼容51指令系统,Flash存储单元和8位中央处理器置于片,AT89C52单片机功能强大,在许多复杂的应用场合都可以用到。单片机是微型机的一个分支,单片机的最大特点就是在超大规模的集成电路芯片上集成了定时器、存储器、CPU、和多种输入/输出接口电路。由于单片机的这种结构,相应的它具有很多的特点。它的特点包括:(1) 可靠性高;(2) 抗干扰能力强;(3) 控制

13、能力强;(4) 性价比高;(5) 低电压;(6) 能扩展了多种串行口。2.1.2 单片机的引脚功能AT89C52单片机的引脚图如图2-2所示。图2-2 AT89C52引脚图 电源引脚VCC和VSSVCC(40引脚):电源端,+5V。VSS(20引脚):接地端。 外接晶体引脚XTAL 2和XTAL 1XTAL 2(18引脚):接微调电容和外部晶体的端口。作为振荡电路的输出端。XTAL 1(19引脚):接微调电容和外部晶体的端口。作为振荡电路的输入端。 控制信号引脚RST、ALE、PSEN、EARST(9引脚):复位信号输入端,高电平有效。完成复位操作,输入端必须为两机器周期(即为24个时钟振荡周

14、期)的高电平。ALE/PROG(30引脚):地址锁存允许信号端。当单片机上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器平率的1/6。输出信号作为锁存低8位地址的控制信号。如果想确认单片机芯片的好坏,可用示波器查看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端口还用于一些复用功

15、能,如表2-1所示。表2-1 P3各口线与第2功能表口线替代的第2功能RXD(串行口输入)TXD(串行口输出)INT0(外部中断0输入)INT1(外部中断1输入)T0(定时器0的外部输入)T1(定时器1的外部输入)WR(片外数据存储器“写选通控制”输出)RD(片外数据存储器“读选通控制”输出)2.1.3 单片机控制模块的电路设计单片机的最小系统如图2-3所示,由单片机芯片、电源、时钟振荡电路与复位电路组成。时钟振荡电路的设计:单片机XIAL1和XIAL2分别接30pF的电容,中间再并个12MHz的晶振,形成单片机的晶振电路。电容器C1和C2可稳定频率并对振荡频率有微调作用。复位电路的设计:复位

16、操作有按键手动复位和上电自动复位两种。本设计采用的是上电自动复位:RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。电容端瞬间通电,电容C通过电阻R充电,RST端为正脉冲,用以复位。只要电源VCC的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。关于参数的选定,在振荡稳定后应保证复位高电平持续时间(即正脉冲宽度)大于2个机器周期。当采用的晶体频率为6MHz时,可取C=22F,R=1k;当采用的晶体频率为12MHz时,可取C=10。图2-3 单片机的最小系统图2.1.4 电源设计220V交流电转5V直流电的

17、电源设计如图2-4所示是由3个部分组成:变压器、桥式整流电路和三端稳压器。图2-4 5V直流电电源设计图(1) 变压器:将220V交流电变成9V左右,由此可知变压器变比为220/9=25/1;(2) 桥式整流电路:经过滤波整流后,电压有效值增大为10V。如图2-5所示为桥式整流电路电压波形图;(3) 三端稳压器:一般用于直流电路的保护电路,起到降压、稳压的作用。图2-5 桥式整流电路电压波形图2.2温度采集模块的设计方案一:传统的测温元件有热电偶和热电阻。一般来说热电偶和热电阻测出的电压,再转换成相应的温度,要比较多外部硬件的支持,其缺点有:硬件电路较复杂;软件调试较复杂;制作成本较高。方案二

18、:结合单片机电路的设计,决定使用温度传感器DS18B20,它是最新推出的一种智能型温度传感器,它的优点是可以直接读出被测的温度。主要是对温度信号进行采集和转换工作,电路由DS18B20温度传感器和单片机部分组成。温度传感器DS18B20把收集到的温度送到单片机的P2.6口,单片机接受温度,然后存储下来。因为电路部分只用到了温度传感器和单片机,所以硬件方面比较简单。方案评价:方案一这种设计需要用到A/D转换电路,感温电路比较麻烦。但方案二电路比较简单,软件设计容易实现,故实际设计中拟采用方案二。2.2.1 DS18B20芯片的简介DS18B20是美国著名半导体公司推出的一种可以直接读出被测温度值

19、的温度传感器,而且采用寄生供电方式与单片机相连,具有成本低和易使用的特点。输出信号为数字信号,方便单片机控制和处理,很多外围电路因此可以减掉。且该芯片的线形较好,物理、化学性也相对稳定,在工业生产中可以用来做测量温度的元件。由于AT89C52能够带多个DSB1820,因此容易实现多点测量的目的。轻松的构建传感器网络,并且单片机可以同时进行数码显示与键盘控制,也可以通过RS232串口与上位机进行数据通讯,达到全方位立体监控的效果。采用温度芯片DS18B20测量温度,可以更方便的实现多点测温,也体现了数据数字化的好处,便于测温数据集成显示,也方便了后期对数据的处理及其记录。2.2.2 DS18B2

20、0的部结构DS18B20芯片的部结构如图2-6所示。DS18B20主要包括上下限触发器、储存器与控制逻辑、CRC发生器电源、温度传感器、64位ROM单线借口暂存器。图2-6 DS18B20芯片的部结构图DS18B20温度数字对应关系表如表2-2所示。表2-2 DS18B20温度数字对应关系表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H0000 0001 1001 00000191H0000 0000 1010 000100A2H0000 0000 0000 00100008H00000 0000 00

21、00 10000000H1111 1111 1111 0000FFF8HDS18B20温度值格式表如表2-3所示。表2-3 DS18B20温度值格式表高字节15141312111098SSSSS2 62 52 41/01/01/01/01/0643216低字节765432102 32 22 12 02_12_22_32_48421DS18B20的工作过程:(1) 发复位DS18B20的负脉冲;(2) 收DS18B20的回应脉冲;(3) 发ROM命令(33H);(4) 发储存和控制命令。DS18B20储存控制命令共有6种,如表2-4所示。表2-4 DS18B20 存储器控制指令指令约定代码复制4

22、8H读数据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/

23、O;另外一种是VCC接外部电源,GND接地,I/O与单片机的I/O线相连。无论是部寄生电源还是外部供电,I/O口线要接5k左右的上拉电阻。如图2-7。图2-7 DS18B20外部电源供电方式图2.2.4 DS18B20的引脚功能引脚功能说明:(1) GND为地;(2) I/O是数据输入/输出脚(单线接口,可作寄生供电);(3) UDD为外接供电电源输入端(在寄生电源接线方式时接地)。DS28B20的引脚如图2-8所示。图2-8 DS18B20引脚图DS18B20的特点说明:(1) 采用单总线技术,与单片机通信只需要一根I/O线,在一根线上可以挂接多个DS18B20。(2) 每只DS18B20具

24、有一个独有的,不可修改的64位序列号,根据序列号访问相应的器件。(3) 低压供电,电源围从3.05.5V,可以本地供电,也可以直接从数据线窃取电源(寄生电源方式)。(4) 测温围为-55+125,在-10+85围误差为。(5) 可编辑数据为912位,转换12位温度时间为750ms(最大)。(6) 用户可自设定报警上下限温度。(7) 报警搜索命令可识别和寻址超过程序限定温度(温度报警条件)的器件。(8) DS18B20的分辨率由用户通过EEPROM设置为912位。(9) DS18B20可将检测到温度值直接转化为数字量,并通过串行通信的方式与主控制器进行数据通信。(10) 负电压特性,电源极性接反

25、时,温度计不会因为发热而烧毁,只是不能正常工作。方案一:继电器由于是机械动作,响应速度慢,不能满足本设计的需要。而用可控硅可以在电路中能够实现以小电流控制大电流、交流电的无触点控制的目的,而且它的寿命长、可靠性高、动作快。方案二:利用单片机控制双向可控硅的导通角。在不同时刻利用单片机给双向可控硅的控制端发出触发信号,使其导通或关断,实现负载电压有效值的不同,以达到调压控制的目的。具体如下:(1)由硬件完成过零触发环节,即在工频电压下,每10ms进行一次过零触发信号,由此信号来达到与单片机的同步。(2)过零检测信号接至单片机输入口,由单片机对此口进行循环检测,然后进行延时触发。通过单片机控制双向

26、可控硅的导通,从而可以控制加热丝的加热功率。双向可控硅接通,则加热丝加热;双向可控硅断开,则加热丝停止加热。方案评价:综合考虑,选择方案二。由于是弱电控制强电,因而弱电很容易被强电干扰,影响系统的实时性和效率。因此必须需要有抗干扰的措施,将强电与弱电隔离。光耦合器切断了各部件之间的联系,对强电和弱电实施隔离,有效地抑制了干扰信号对电路的干扰。光耦合器很容易得到触发脉冲,且有可靠、体积小的特点。所以可以用带过零检测的光电隔离器MOC3061来驱动双向可控硅并隔离控制回路和主回路。MOC3061参数:输出端的额定电压是400V。最大电压上升率dv/dt为1000v/us。输入输出隔离电压为7500

27、V。输入控制电流为15mA。MOC3061引脚排列及部电路图如图2-9所示。图2-9 MOC3061引脚排列及部电路图当单片机的输出口发出高电平,经过三极管放大后驱动光耦合器的放光二极管,MOC3061的输入端导通,输入电流约为15mA。当MOC306的输出端6脚和4脚尖电压稍稍过零时,光耦部双向可控硅即可导通,它可以给外部晶闸管一个触发信号,并使其导通;当单片机输出口发出低电平,MOC3061截止,双向可控硅处于截止状态。MOC3061的优点:(1)控制简单。(2)MOC3061由于采用了过零触发电路大大简化了双向可控硅的触发电路。(3)MOC3061与双向可控硅实际组成了一个固态继电器,实

28、现了无触电控制。(4)输出通道实现了光电隔离,防止了射电干扰。(5)单片机输出口直接控制双向可控硅,省去了的D/A转换电路,简化了接口电路。双向可控硅介绍:双向可控硅具有双向导通功能,在交流电的正负半周都可以导通。双向可控硅的通断情况由栅极决定,当栅极无信号时MT1和MT2成高阻态,管截止;当在MT1与MT2之间加一个阈值电压时,就可以利用控制极栅极电压来使可控硅导通。但需要注意的是,当双向可控硅接感性负载时,电流和电压之间有一定的相位差。在电流为零时,反向电压可能不为零,且超过转换电压,使管子反向导通,故要管子能承受这种反向电压,并在回路中加入RC网络加以吸收。双向可控硅的触发方式:控制双向

29、可控硅从高阻态转换到导通区可以用不同的方式实现,相应的分为四种方式。MT1相对于MT2为正,控制脉冲电压Ug相对于MT1为正。MT1相对于MT2为负,控制脉冲电压Ug相对于MT1为负。MT1相对于MT2为正,控制脉冲电压Ug相对于MT1为负。MT1相对于MT2为负,控制脉冲电压Ug相对于MT1为正。双向可控硅的控制极在触发后便失去了作用。双向可控硅长期维持低阻态,直到低于维持电流I H,然后在转换到高阻态。在控制交流电压时,每次电源电压过零双向可控硅都会自动截止,所以双向可控硅每半个周期都需要重新触发。如图2-10所示为温度控制模块原理图。图2-10 温度控制模块原理图2.4按键及显示模块的设

30、计方案一:八段数码管显示,数码管是由八个发光管组成一个八字形,这些段分别由a,b,c,d,e,f,g,dp来表示。方案二:LCD1602液晶显示器显示。方案评价:本设计采用LCD1602液晶显示器显示,因为它有功耗较低、显示质量较高、重量轻、体积小的特点。LCD1602的电路图如图2-11所示。图2-11 LCD1602电路图2.4.1 LCD1602的参数和引脚功能LCD1602的参数:4.35(WH)mm。显示总容量:162个字符。工作电流:2.0mA(5.0V)。LCD1602的引脚功能如表2-6所示。表2-6 LCD1602引脚功能表编号符号引脚说明编号符号引脚说明1VSS电源地9D2

31、数据2VDD电源正极10D3数据3VL显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA正极背光源8D1数据16BLK负极背光源2.4.2 LCD1602的特点在单片机系统中应用晶液显示器作为输出器件有以下几个特点。(1)功耗较低LCD1602的功耗主要在驱动IC和部的电极上,因此功耗较低。(2)显示质量较高LCD1602显示器在收到信号后,不需要不断刷新新的亮点,它的显示器上的每一个点可以一直保持同样的亮度和色彩,发光持续稳定。因此,显示器不会闪烁,且质量较高。(3)重量轻、体积小因为控制原理不同,LCD1602显示

32、器通过电极来控制液晶分子状态来达到控制的目的,相较于其他的显示器来说,同等面积的显示器,LCD1602要轻许多。(4)数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。2.4.3 按键电路的设计方案一:独立连接式。独立式按键是指各按键相互独立地接通一条输入数据线。方案二:行列式(矩阵式)为了减少键盘与单片机借口时所占用I/O线的数目,在键数较多时,通常都将键盘排列成行列矩阵形式。判断键盘中哪一个键被按下是通过将行线逐行置低电平后,检查列输入状态实现的。方案评价:对比两种方案可知,方案一虽然也能很好的实现电路的要求,但考虑到电路设计的成本和电路整体的性能,我们采用方

33、案一。如图2-12所示为独立式按键电路图。图2-12 独立式按键电路图独立式按键是指各按键相互独立地接通一条输入数据线。本设计采用2个独立式按键分别连接单片机I/O来实现按键的功能。从而解决了单片机I/O口被占用的问题和减少了硬件的复杂程度,通过软件来配合2个按键实现功能。系统程序过扫描P1.2、P1.3这2个端口是否为低电平0来判断按键是否被按下。2.5报警模块的设计方案一:使用7406作驱动的单音频报警电路。方案二:使用三极管作驱动的单音频报警电路。方案评价:使用方案二。蜂鸣器电路图如图2-13所示。图2-13 蜂鸣器电路图蜂鸣器以直流电压作为电源,被广泛地应用于机、电子玩具、报警器、定时

34、器等电子产品中,被用来当作电子发声器。蜂鸣器主要有压电式和电磁式两种。本设计的报警模块主要采用蜂鸣器及发光二级管的蜂鸣和发光来实现超出温度上限时的报警。,三极管导通,压电蜂鸣器两端获得约+5V电压而鸣叫;当P2.5口输出低电平0时,三极管截止,蜂鸣器停止发声。要使三极管有放大作用,必须保证发射结正偏、集电极反偏。电流放大系数:=IC/IB。9013三极管介绍:9013 结构:NPN。集电极-发射极电压:25V。集电极-基电压:45V。射极-基极电压:5V。结温:150。特征频率最小:150MHz。放大倍数:91。3软件设计按照系统设计功能的要求,来确定本系统程序包括DS18B20读温度程序、L

35、CD1602的显示程序、键盘扫描程序、报警处理程序以及继电器加热程序。主程序的设计如图3-1所示为主程序流程图。图3-1 主程序流程图(1)DS18B20读时序: 读时序包括读0和读1的时序。 读时序是在拉低单总线之后,在15us之释放单总线,让DS18B20把数据传送到单总线上。读时序的过程至少需要60us。(2)DS18B20写时序: 写时序包括写0和写1的时序。 写0和写1时序略有不同。当写0时序时,单总线至少要被拉低60us。保证DS18B20能够采到数据线上的“0”电平,在15us到45us之间;当写1时序时,拉低单总线,并在15us之释放单总线。如图3-2所示为DS18B20读温度

36、程序流程图。图3-2 DS18B20读温度程序流程图该电路为查询方式电路,当任何一个键按下时,与之相连的输入数据线即被清0,而平时该线为1。因此可以通过检测各数据线的状态(0或1)来判断按键是否闭合,以及哪个按键已闭合。如图3-3所示为键盘扫描程序流程图。图3-3 键盘扫描程序流程图设定目标温度上限,当实际温度大于目标温度上限的时候,执行声光报警程序。如图3-4所示为声光报警程序流程图。图3-4 声光报警程序流程图 本设计采用了PID控制技术。在工程实际运用中,PID控制器以其稳定性好、工作可靠、调整方便、结构简单而成为主要的工业控制技术之一。当被控对象的参数和结构不能被很好的掌握,或得不到精

37、确的数学模型时,控制理论的技术很难被采用,所以当系统控制器的结构和参数必须依靠经验来确定时,PID控制技术最为实用和方便。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控制规

38、律的离散化模拟形式离散化形式数字PID控制器的差分方程:(3-4)为积分系数。为微分系数。式中 称为比例项。 称为积分项。 称为微分项。常用的控制方式: 1、P控制 2、PI控制 3、PD控制 4、PID控制 模拟PID控制系统原理如图3-5所示。图3-5 模拟PID控制系统原理框图(4)PID调节器比例、积分、微分的环节 比例环节:把调节器的输入偏差乘以一个系数,作为调节器的输出,比例环节的作用是放大误差的幅值。当仅有比例控制环节时系统输出存在稳态误差。 积分环节:调节器加入积分环节后达到消除稳态误差的目的。积分项随着时间的增加而增大,积分项对稳态误差的消除取决于时间的积分。PI调节器可以使

39、系统在进入稳态后无稳态误差。 微分环节:调节器的输入、输出误差信号的微分成正比关系。微分环节能反应偏差信号的变化趋势,从而可以实现超前调节。 控制器中仅有比例环节是不行的,还需要增加微分项,因为它能预测误差变化的趋势。 (5) PID控制算法的两种类型1、 位置型控制(3-5)2、 增量型控制(3-6)PID参数整定方法: 理论计算法依赖被控对象准确的数学模型。 工程整定法不依赖被控对象准确的数学模型,直接在控制系统中进行现场整定。 下面对PID运算加以说明: 所有的数都变成定点纯小数进行处理。 算式中的各项有正有负,以最高位作为符号位,最高位为0表示为正数,为1表示负数。正负数都是补码表示,

40、最后的计算以原码输出。节16位进行计算,最后将运算结果取成高8位有效值输出。输出控制量u(n)的限幅处理。为了便于实现对晶闸管的通断处理,PID的输出在0250之间。大于250或小于0的控制量u(n)都是没有意义的,因在算法上对u(n)进行限幅,即:=(3-7)增量式PID控制算法如图3-6所示。图3-6 增量式PID控制算法程序框图4系统仿真单片机程序编写可以有多种:汇编语言、C语言等。本设计采用C语言来编写。(1) 汇编语言用汇编语言助记符来表示的程序就是汇编语言。这种语言比机器语言更容易,使用方便,容易记忆。但是由于不同的机器对应着不同的汇编语言,这种语言具有一定限制。(2) C语言 对

41、微控制器的指令系统不需要了解,只是有一个初步的了解单片机的存储结构。 具有规的程序,通过不同的函数,是程序变得结构化。 寄存器分配,不同的存地址和数据类型和其他细节可以由编译器管理。 大大缩短了编程和调试的时间,提高了编程的效率。对于AT89C52的控制设计,编程用Keil软件,仿真用proteus软件。Keil支持C语言、汇编及二者的混合编程。编程软件Keil介绍:KeiluVision2是美国软件公司的C语言软件开发系统,它兼容单片机系统。与汇编相比,C语言有易学易用的特点。不仅提高了工作效率,而且在关键的位置嵌入汇编,可以使程序的工作效率接近汇编。标准C编译器在保留汇编代码搞笑、快速特点

42、的同时,还未控制器的软件开发提供了C环境。uVision2的集成开发环境已经完全包括了C52。它包括:项目管理器、编译器,汇编器,实时操作系统和调试器。Keil软件界面如图4-1所示。仿真软件Protues介绍:Protues软件是英国公司出版的工具软件。它不仅具有仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。在国它已受到学单片机的爱好者和参加单片机开发应用工作者的好感。Proteus是世界上最著名的仿真软件之一,从代码调试到原理图布图等仿真,从概念到产品的整个流程都是它的功劳。目前它是世界上唯一可以将PCB设计软件、电路仿真软件和虚拟模型仿真软件合为一的软件之

43、一,它的处理器模型支持MSP430、AVR、8051、HC11、ARM和8086PIC10/12/16/18/24/30/DsPIC33等,在编译方面,它也支持Keil、IAR和MPLAB等多种编译器。Proteus ISIS的运行界面是标准的Windows界面,如图4-3所示,Proteus ISIS软件有:标题栏、主菜单、状态栏、标准工具栏、绘图工具栏、对象选择按钮、仿真进程控制按钮、预览窗口、图形编辑窗口、对象选择器等窗口。图4-1 Keil软件界面生成Hex文件,如图4-2所示。图4-2 生成Hex文件图图4-3 Proteus软件界面当温度还未达到设置温度上限默认的50时,如图4-4

44、所示单片机P2.5口输出低电平,蜂鸣器不响。单片机P2.7口也输出低电平,二极管不亮,继电器继续加热。图4-4 温度低于上限时仿真图当温度达到设置温度上限默认的50时,如图4-5所示单片机P2.5口输出高电平,蜂鸣器响。单片机P2.7口也输出高电平,二极管亮,继电器停止加热。图4-5 温度低于上限时仿真图结论通过本次设计,加深了我对单片机的认识,对温度传感器DS18B20也有了更深刻的了解。虽然DS18B20在测量温度时,出现了灵敏度不高,无法跟随温度变化快速显示温度等问题,但是易于制作、价格低廉、硬件结构简单、测量值精确和易于操作等许多优点让DS18B20在测温方面有独特的优势。参考文献1焕

45、生温度测试技术及仪表M:水利电力,198792沿海数字PID控制原理及其应用J西南民族学院学报,1997:49-543徐科军传感器与检测技术M:电子工业,200494宝芬自动检测技术及仪表控制系统M:化学工业,20005先锋工作室单片机程序设计实例M:清华大学,20036王孝武现代控制理论基础M:机械工业,19987袁希光传感器技术手册M:国防工业,19868剑一种数字PID控制算法分析J石油高等专科学校学报,2007:11-229历风满数字PID控制算法的研究J大学学报,2005:367-37010丁元杰单片微机原理及应用M:机械工业,1996:256-276J微计算机信息,2008(26)

46、.12J科技信息,2009(29).13赖寿宏微型计算机控制技术M:机械工业,2003:130-14514马淑兰单片机技术及应用实例分析M:电子科技大学,2009:20-40.15Zhang et alDigital PID controller design for multivariable analogue systems with putationalJIMA J Math Control Info,2004:21-433.16L DuboisTemperature control by microwave radiometry with narrow band width JEurP

47、hysJ.App.lPhys,2000:63-68.17Shiqian wu,Meng Joo Er and Yang Gao,A Fast Appoach for Automatic Generation of Fuzzy Rules by Generalized DynamicFuzzy Neural NetworksJ. IEEE Transaction on Fuzzy Systems,2001(4):578-593.致本设计在*老师的严格要求和悉心指导下才完成,从课题选择、总体方案设计、硬件软件设计到系统仿真,无不凝聚着程老师的汗水和心血,导师无私的关怀和悉心的指导,令我受益匪浅。在

48、此特向程老师表示深深的感和崇高的敬意。附录附录1附录2程序代码:#include #include #include #include #include #include #include #include LCD1602.h/液晶显示头文件#define uchar unsigned char#define uint unsigned intsbit Key1=P10;sbit Key2=P11;sbit Up =P12;sbit Down=P13;uchar t2,*pt;/这是用来存放温度值的,测温程序通过这个数组与主函数通信uchar TempBuffer19=0x2b,0x31,0x

49、32,0x32,0x2e,0x30,0x30,0x43,0;uchar TempBuffer017=0x54,0x48,0x3a,0x2b,0x31,0x32,0x35,0x20,0x54,0x4c,0x3a,0x2b,0x31,0x32,0x34,0x43,0;/显示温度上下限,上电时显示TH:+125 TL:+124Cuchar code dotcode4=0,25,50,75;uchar set;/温度初始值uchar count,high_time=0; /调节占空比的参数uint rout;/ PID输出/查表法*将表值分离出的十位和个位送到十分位和百分位*/struct PID u

50、int SetPoint; / 设定目标 Desired Valueuint Proportion; / 比例常数 Proportional Constuint Integral; / 积分常数 Integral Constuint Derivative; / 微分常数 Derivative Constsigned int LastError; / 错误Error-1signed int PrevError; / 错误Error-2signed int SumError; / Sums of Errors;struct PID spid; / PID控制结构体void init_pid()/P

51、ID初始化high_time=50; spid.Proportion = 23; / Set PID Coefficientsspid.Integral = 2;spid.Derivative =6;spid.SetPoint = set; / Set PID Setpointunsigned int PIDCalc( struct PID *pp, unsigned int NextPoint ) /PID算法signed int dError,Error;Error = pp-SetPoint - NextPoint; / 偏差pp-SumError += Error; / 积分dErro

52、r = pp-LastError - pp-PrevError; / 当前微分pp-PrevError = pp-LastError;pp-LastError = Error;return (pp-Proportion * Error+ pp-Integral * pp-SumError+ pp-Derivative * dError); void duty_cycle(uint t) / 占空比uchar s;t=t/10; s=set;if(st)if(s-t2)high_time=100;elserout = PIDCalc ( &spid,t ); / Perform PID Inte

53、rationif(high_time0x7F) /判断正负,如果为负温,将其转化为其绝对值TempBuffer03=0x2d; /0x2d为-的ASCII码TH=TH;TH+;else TempBuffer03=0x2b;/0x2B为+的ASCII码if(TL0x7f)TempBuffer011=0x2d; /0x2d为-的ASCII码TL=TL+1;else TempBuffer011=0x2b;/0x2B为+的ASCII码TempBuffer04=TH/100+0x30; /分离出TH的百十个位if( TempBuffer04=0x30) TempBuffer04=0xfe; /百位数消隐

54、TempBuffer05=(TH%100)/10+0x30;/分离出十位TempBuffer06=(TH%100)%10+0x30; /分离出个位TempBuffer012=TL/100+0x30; /分离出TL的百十个位if( TempBuffer012=0x30) TempBuffer012=0xfe; /百位数消隐TempBuffer013=(TL%100)/10+0x30;/分离出十位TempBuffer014=(TL%100)%10+0x30; /分离出个位void covert1(void)/将温度转换为LCD显示的数据unsigned char x=0x00,y=0x00; t0

55、=*pt; pt+; t1=*pt; if(t10x07) /判断正负温度 TempBuffer10=0x2d; /0x2d为-的ASCII码t1=t1; /*下面几句把负数的补码*/t0=t0; /* 换算成绝对值*/x=t0+1; /*/t0=x; /*/if(x255) /*/t1+; /*/ else TempBuffer10=0x2b;/0xfe为变+的ASCII码 t1=4;/右移4位 x=x&0x0f;/和前面两句就是取出t0的高四位 t1=t1|x;/将高低字节的有效值的整数部分拼成一个字节 TempBuffer11=t1/100+0x30; /+0x30 为变 09 ASCII码 if( TempBuffer11=0x30) TempBuffer11=0xfe; /百位数消隐 TempBuffer12=(t1%100)/10+0x30;/分离出十位 TempBuffer13=(t1%100)%10+0x30; /分离出个位 t0=t0&0x0c;/取有效的两位小数 t0=2;/左移两位,以便查表 x=t0; y=dotcodex;/查表换算成实际的小数 TempBuffer15=y/10+0x30;/分离出十分位 Temp

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!