温度控制PID研究毕业论文.doc_第1页
温度控制PID研究毕业论文.doc_第2页
温度控制PID研究毕业论文.doc_第3页
温度控制PID研究毕业论文.doc_第4页
温度控制PID研究毕业论文.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈阳航空航天大学电子信息工程学院毕业设计(论文)温度控制PID研究毕业论文第1章 绪论1.1 选题的依据和意义随着科学技术的发展,各类精密产品的生产制造以及特种科学实验都要求具有特定的工作环境,恒温就成为了不可缺少的条件之一。目前我国常见的恒温系统的恒温精度为1及0.5也有0.1。而一些高精度的恒温系统如光学仪器厂的刻线室恒温精度已达到了0.0056。但是在某些非凡的科学实验室不仅恒温精度很高,而且干扰量多如渗透风、设备散热、送风温度波动以及电热器供电电压的波动等。且某些干扰量如渗透风其最大值难以确定而没有采用相应的措施控制渗透风干扰量,导致房间温度的波动过大。结果使恒温精度很难达到要求。如何使这些非凡的科学实验的恒温精度达到使用要求成为了恒温控制系统设计的一个巨大的难题。由于传统的PID控制算法其运算简单、调整方便,在过程控制中这种控制算法仍占据相当重要的地位。故目前恒温室的空调系统大部分采用PID控制。在工业生产中,经常需要控制温度、压力、流量、间距等连续变化的模拟量,无论使用模拟控制器的模拟控制系统,还是使用计算机的数字控制系统,PID控制都得到广泛的应用。PID控制器是比例-积分-微分控制的简称,具有不需要精确的控制系统数学模型,有较强的灵活性和适应性,以及程序设计简单,参数调整方便等优点。积分控制可以消除系统的静态误差和改善动态响应速度,比例、积分、微分三者有效地结合可以满足不同的控制要求。 目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。自动控制系统可分为开环控制系统和闭环控制系统。目前,PID控制及其控制器或智能PID控制器、仪表、已经很多产品已在工程实际中得到了广泛的应用。有各种各样的PID控制器产品,各大公司均开发了具有PID参数自整定功能的智能调节器其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。温度控制是PID运用最广的方式之一,顾研究基于PID的温室温度控制器,可以迅速了解最基本的PID现代化需求以及原理,更好的掌握前端科技,同时也拥有更新更准确的理论支持,因而过温度控制来研究PID是非常合适的。1.2 选题研究的基本内容本文研究的是基于PID的温室温度控制器的设计总体方案,温度控制器是温室温度调节的一个重要环节,对提高温度控制的经济性、可靠性和安全性有着重要的意义。本文主要是完成对温度控制器进行研究。PID控制,因为它简单,容易实现,它有可消除稳态误差的优点基本上能够达到反应速度快、稳态误差小的理想结果。本项目以单片机芯片为核心用PID控制方法设计出的温度控制的控制算法及其系统实现方法,实现对温度的检测,显示和控制功能。1.3 PID控制算法的研究1.3.1 模拟PID简介在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近80年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。1.3.2 PID控制理论PID控制器是一种线性控制器,它根据给定值r(t)与实际输出值y(t)构成控制偏差e(t): (1.1)将偏差e(t)的比例(Proportional)、积分(Integral)和微分(Derivative)通过线性组合构成控制量,对被控对象进行控制,因此称为PID控制,PID控制系统原理如图1.1所示:图1.1 PID控制系统原理图其控制规律为 (1.2)或者写成传递函数形式为 (1.3)式1.3中:比例系数;:积分时间常数;:微分时间常数。PID控制器各校正环节的作用如下:(1)比例环节即时成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差;(2)积分环节主要用于消除静差,提高系统的无差度;(3)微分环节能够反映偏差信号的变化趋势(变化速率),并且能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。1.1.3 PID控制算法由于计算机控制是一种采样控制系统,它只能根据采样时刻的偏差值计算控制量。因此,式1.3中的积分和微分项不能直接使用,需要进行离散化处理现令T为采样周期,以一系列的采样时刻点KT代表连续时间t,以累加求和近似代替积分以一阶后向差分近似代替微分做如下的近似变换: (1.4) (1.5) (1.6)其中,T为采样周期,e(k)为系统第k次采样时刻的偏差值,e(k-l)为系统第(k-l)次采样时刻的偏差值,k为采样序号,k=0,1,2,。将上面的1.4和1.5代入1.6则可以得到离散的PID表达式: (1.7)如果采样周期了足够小,该算式可以很好的逼近模拟PID算式,因而使被控过程与连续控制过程十分接近。通常把式1.7称为PID的位置式控制算法。若在式1.7中,令: (称为积分系数) (称为微分系数)则 (1.8)1.8式即为离散化的位置式PID控制算法的编程表达式。可以看出,每次输出与过去的所有状态都有关,要想计算u(k),不仅涉及e(k)和e(k-l),且须将历次e(j)相加,计算复杂,浪费内存。下面,推导计算较为简单的递推算式。为此,对1.8式作如下的变动:考虑到第(k-1)次采样时有: (1.9)使(1.8)两边对应减去(1.9)式得整理后得 (1.10)其中:; 式(1.10)就是PID位置式的递推形式如果令,则: (1.11)式中、同式(1.10)中一样。因为在计算机控制中式中、都可以事先求出,所以,实际控制时只须获得 、三个有限的偏差值就可以求出控制增量。由于其控制输出对应执行机构的位置的增量,故(1.11)式通常被称为PID控制的增量式算式。增量式PID控制算法与位置式控制算法比较,有如下的一些优点(1)位置式算法每次输出与整个过去状态有关,算式中要用到过去偏差的累加值,容易产生较大的累计误差。而增量式中只须计算增量,控制增量的确定仅与最近几次偏差采样值有关,当存在计算误差或者精度不足时,对控制量的影响较小,且较容易通过加权处理获得比较好的控制效果;(2)由于计算机只输出控制增量,所以误动作影响小,而且必要时可以用逻辑判断的方法去掉,对系统安全运行有利;(3)手动与自动切换时冲击比较小。第2章 方案论证2.1 方案概述根据功能的指标和要求,本系统可以从原件开始设计。使用STC90C51单片机作为主控机,通过温度传感器对封闭的空间进行温度测量,并对反馈信号进行调平放大转化为模拟量,通过AD转换器进行模数转换用LED显示出来。用PID算法控制可控硅并决定加热电阻丝的输出功率。使得系统可以迅速的达到设定的温度,并持续维持在所设定温度下进行小范围的波动。系统方案原理图如图2.1所示。单片机键盘输入显示电路模数转换器温度传感器调节器放大器PID计算可控硅加热电阻丝密闭空间图2.1 基于PID的温室温度控制器的设计方案原理图2.2 设计的总体思路 本次设计要实现对温室温度控制,必须实现温度采集,电阻丝加热,以及对可控硅的控制,同时实现对数据的显示以及按键的设置。根据设计要求确定该系统的设计思路。2.2.1 单片机的选择现今社会单片机发展很迅猛,出现很多种类单片机如:STC单片机、PIC单片机、PHLIPIS 51PLC系列单片机(51单片机)等;本系统采用的是STC90C51单片机,STC90C51是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC90C51使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC90C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC90C51可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。其外形及引脚排列如图2.2所示。图2.2 STC90C51芯片模型2.2.2 温度传感器的选择温度传感器有四种主要类型: 热电偶、 热敏电阻、 电阻温度检测器(RTD)和 IC 温度传感器。热电阻是中低温区最常用的一种温度检测器。它的主要特点是测量精度高,性能稳定,典型的有铜热电阻、铂热电阻等。其中铂热电阻的测量精确度是最高的,它不仅广泛应用于工业测温,而且被制成标准的基准仪,它的阻值会随着温度的变化而改变,通常用PT100来表示。其中PT后的100即表示它在0时阻值为100欧姆,在100时它的阻值约为138.5欧姆。 PT100是广泛应用的测温元件,在-50600范围内具有其他任何温度传感器无可比拟的优势,包括高精度、稳定性好、抗干扰能力强等。由于铂电阻的电阻值与温度成非线性关系,所以需要进行非线性校正。校正分为模拟电路校正和微处理器数字化校正,模拟校正有很多现成的电路,其精度不高且易受温漂等干扰因素影响,数字化校正则需要在微处理系统中使用,将PT电阻的电阻值和温度对应起来后存入EEPROM中,根据电路中实测的AD值以查表方式计算相应温度值。2.2.3 AD转换器的选择本系统使用PCF8591来实现模数转换,PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。可以满足单片机STC90C51的配片需求。PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。PCF8591的最大转化速率由I2C总线的最大速率决定。外形及引脚排列如图2.3所示。图2.3 PCF8591芯片模型2.2.4 可控硅的选择本系统采用MAC97A6可控硅以及MOC3021交流光耦来研究对可控硅的控制。MAC97A6是先进的玻璃钝化芯片,拥有高的可靠稳定性,控制起来比较容易。而MOC3021是一款光隔离三端双向可控硅驱动器芯片。是摩托罗拉生产的可控硅输出的光电耦合器;常用做大功率可控硅的光电隔离触发器,且是即时触发的。系统采用MOC3021交流光耦来驱动可控硅MAC97A6,来实现对温度的控制。MOC3021电路图如图2.4所示。图2.4 MOC3021电路图2.2.5 其他器件的选择本系统显示功能采用8为LED数码管来对温度进行显示功能,同时用独立按键来实现对温度的设定以及控制程序的开始。第3章 硬件电路设计3.1 单片机控制电路设计3.1.1 STC90C51单片机简介STC90C51RC是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率为80MHz,片内含8K Bytes的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。STC90C51RC系列单片机是单时钟/机器周期(1T)的兼容8051 内核单片机,是高速/ 低功耗的新一代8051 单片机,全新的流水线/精简指令集结构,内部集成MAX810 专用复位电路。整体电路原理图如图3.1。图3.1 整体电路原理图1 主要性能本系统选用并设定的单片机采用12时钟/机器周期,工作电压5V。在STC90C51单片机的40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,两个16位定时器/计数器,中断口线与P3口线复用,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。2管脚说明VCC:供电电压;VSS:接地。P0口:P0口既可作为输入/输出口,也可以作为地址/数据服用总线使用。当P0口作为输入/输出口时,P0是一个8位准双向口,上电复位house处于开漏模式。P0口内部无上拉电阻,所以做I/O口 必须外接10K-4.7K的上拉电阻。当P0作为地址/数据复用总线使用时,是低8位地址线A0-A7,数据线的D0-D7,此时无需外接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P0口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第8位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高8位。在给出地址“1”时,它利用内部上拉优势,当对外部8位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高8位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为STC90C51的一些特殊功能口,如下所示: P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(计时器0外部输入)P3.5 T1(计时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。3复位电路复位电路的主要功能是使单片机进行初始化,在初始化的过程中需要在复位引脚上加大于2个机器周期的高电平。复位后的单片机地址初始化为0000H,然后继续从0000H单元开始执行程序。在复位电路中提供复位信号,等到系统电源稳定后,再撤销复位信号。但是为了在复位按键稳定的前提下,电源稳定后还要经一定的延时才撤销复位信号,以防在按键过程中引起的抖动而影响复位。3.2 炉温采集电路设计3.2.1 PT100简介和工作原理PT100是铂热电阻,它的阻值会随着温度的变化而改变。PT后的100即表示它在0时阻值为100欧姆,在100时它的阻值约为138.5欧姆。它的工作原理是当PT100在0摄氏度的时候他的阻值为100欧姆,它的阻值会随着温度上升而成近似匀速的增长。但他们之间的关系并不是简单的正比的关系,而更应该趋近于一条抛物线。铂电阻的阻值随温度的变化而变化的计算公式:-200t0 Rt=R01+At+Bt*t+C(t-100)t*t*t (3.1)0t850 Rt=R0(1+At+Bt2) (3.2)Rt为t时的电阻值,R0为0时的阻值。公式中的A,B,系数为实验测定。这里给出标准的DIN IEC751系数:A=3.9083E-3、 B=-5.775E-7、 C=-4.183E-12。所以就是当温度变化1摄氏度时PT100阻值近似变化0.39。PT100温度感测器是一种以白金(PT)作成的电阻式温度检测器,属于正电阻系数,其电阻和温度变化的关系式如下:R=Ro(1+T)其中=0.00392,Ro为100(在0的电阻值),T为摄氏温度因此白金作成的电阻式温度检测器,又称为PT100。常见的PT100感温元件有陶瓷元件,玻璃元件,云母元件,它们是由铂丝分别绕在陶瓷骨架,玻璃骨架,云母骨架上再经过复杂的工艺加工而成薄膜铂电阻:用真空沉积的薄膜技术把铂溅射在陶瓷基片上,膜厚在2微米以内,用玻璃烧结料把Ni(或Pd)引线固定,经激光调阻制成薄膜元件。由于PT100热电阻的温度值与阻值变化关系,人们便利用它的这一特性,研发生产了PT100热电阻温度传感器。PT100铂电阻RT曲线图如图3.3所示。图3.3 PT100铂电阻RT曲线图3.2.2 PT100桥电路设计本设计系统测量信号较弱,必须用专门的电路来测量这种微弱的变化,最常用的电路就是双臂电桥电路。他的作用是把电阻片的电阻变化率R/R转换成电压输出,然后提供给放大电路放大后进行测量。由于PT100是电阻,所以电信号采集中不存在采集电阻之说,需要采样电压或电流信号,桥电路的设计就是将电阻的细微变化体现出来,通过差分放大器将其变化为电压信号。又由于小电压信号,ADC采样范围太窄,需要将电压信号放大,这就用到放大器。放大倍数计算是由初始设计时的理论计算而决定的,本系统放大倍数A=20K/10K=2倍。差分放大器主要功能是将双臂桥的电流信号,转换为电压信号。当调节Rt电阻时,PT100测得的电流变化。采得的数据也随之变化。将经过双臂桥调节过的电压信号串送到差分放大器和反向放大器,将电压放大。然后将信号送到AD采样芯片中进行采样分析。如图3.4所示。3.3 可控硅的设计与调节MAC97A6为小功率双向可控硅(双向晶闸管),最多应用于电风扇速度控制或电灯的亮度控制,本系统使用MAC97A6来控制加热电阻丝的功率大小。晶闸管又叫可控硅。自从20世纪50年代问世以来已经发展成了一个大的家族,它的主要成员有单向晶闸管、双向晶闸管、光控晶闸管、逆导晶闸管、可关断晶闸管、快速晶闸管,等等。今天大家使用的是单向晶闸管,也就是人们常说的普通晶闸管,它是由四层半导体材料组成的,有三个PN结,对外有三个电极:第一层P型半导体引出的电极叫阳极A,第三层P型半导体引出的电极叫控制极G,第四层N型半导体引出的电极叫阴极K。从晶闸管的电路符号可以看到,它和二极管一样是一种单方向导电的器件,关键是多了一个控制极G,这就使它具有与二极管完全不同的工作特性。 晶闸管的特点: 是“一触即发”。但是,如果阳极或控制极外加的是反向电压,晶闸管就不能导通。控制极的作用是通过外加正向触发脉冲使晶闸管导通,却不能使它关断。图3.4 PT100桥电路设计3.3.1 双向可控硅的工作原理可控硅是P1、N1、P2、N2四层三端结构元件,共有三个PN结,分析原理时,可以把它看作由一个PNP管和一个NPN管所组成。当阳极A加上正向电压时,BG1和BG2管均处于放大状态。此时,如果从控制极G输入一个正向触发信号,BG2便有基流ib2流过,经BG2放大,其集电极电流ic2=2ib2。因为BG2的集电极直接与BG1的基极相连,所以ib1=ic2。此时,电流ic2再经BG1放大,于是BG1的集电极电流ic1=1ib1=12ib2。这个电流又流回到BG2的基极,表成正反馈,使ib2不断增大,如此正向馈循环的结果,两个管子的电流剧增,可控硅使饱和导通。由于BG1和BG2所构成的正反馈作用,所以一旦可控硅导通后,即使控制极G的电流消失了,可控硅仍然能够维持导通状态,由于触发信号只起触发作用,没有关断功能,所以这种可控硅是不可关断的。由于可控硅只有导通和关断两种工作状态,所以它具有开关特性,这种特性需要一定的条件才能转化在控制极G上加入正向电压时因J3正偏,P2区的空穴时入N2区,N2区的电子进入P2区,形成触发电流IGT。在可控硅的内部正反馈作用的基础上,加上IGT的作用,使可控硅提前导通,导致伏安特性OA段左移,IGT越大,特性左移越快.3.3.2 双向可控硅过零触发电路的设计双向可控硅是一种功率半导体器件 ,也称双向晶闸管 ,在单片机控制系统中 ,可作为功率驱动器件 ,由于双向可控硅没有反向耐压问题 ,控制电路简单 ,因此特别适合做交流无触点开关使用。双向可控硅接通的一般都是一些功率较大的用电器 ,且连接在强电网络中 ,其触发电路的抗干扰问题很重要 ,通常都是通过光电耦合器将单片机控制系统中的触发信号加载到可控硅的控制极。为减小驱动功率和可控硅触发时产生的干扰 ,交流电路双向可控硅的触发常采用过零触发电路。过零触发是指在电压为零或零附近的瞬间接通。由于采用过零触发 ,因此上述电路还需要正弦交流电过零检测电路。MOC3061 为光电耦合双向可控硅驱动器 ,也属于光电耦合器的一种 ,用来驱动双向可控硅 MAC97A6并且起到隔离的作用 ,R10为触发限流电阻 ,防止误触发 ,提高抗干扰能力。当单片机的输出负脉冲信号时交流光耦导通 ,MOC3061 导通 ,触发MAC97A6 导通 ,接通交流负载。另外 ,若双向可控硅接感性交流负载时 ,由于电源电压超前负载电流一个相位角 ,因此 ,当负载电流为零时 ,电源电压为反向电压 ,加上感性负载自感电动势 el作用 ,使得双向可控硅承受的电压值远远超过电源电压。可控硅原理图如图3.5所示。图3.5 可控硅设计原理图3.4 显示电路设计3.4.1 显示器件简介要将采集的数据显示有很多种方法,有多种显示器件可以帮助实现显示电路的设计,本设计显示电路选用七段4位数码管。四位数码管是一种半导体发光器件,其基本单元是发光二极管。能显示4个数码管叫四位数码管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。3.4.2 显示电路设计此电路是由一个单片机和一个七段数码管构成,单片机控制这个数码管,通过程序控制数码管的每一位,使其显示测量的温度值和预设温度。大多数的单片机应用系统,都要配置输入设备和输出设备,显示部分属于输出设备,显示作为人机交换的重要媒介,在整个系统中有举足轻重的作用。显示模块会将系统所测得的温度值以最简洁的方式实时传递给观察者,同时能够方便的显示设置设置温度的整个操作过程。所以,一个好的显示电路对于本系统是非常重要。数码管与单片机的P0口和P2口相连,P0口接上拉电阻。显示电路的类型主要有LCD显示,LED点阵显示以及数码管显示等等,本系统显示部分的作用是显示设定的温度以及炉内的实时温度。考虑到LCD显示电路的工作原理相对比较复杂,并且容易出错,而LED点阵显示对于实现本系统显示部分的设计显然不太适合,因此本系统的显示部分采用的是七段数码管显示,显示电路如图3.6所示。图3.6 显示电路3.5 模数转换模块设计3.5.1 PCF8591F介绍PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。PCF8591的最大转化速率由I2C总线的最大速率决定。其原理图如图3.7所示。图3.7 PCF8591F原理图3.5.2 PCF8591F的特性(1)单独供电(2)PCF8591的操作电压范围2.5V-6V(3)低待机电流(4)通过I2C总线串行输入/输出(5)PCF8591通过3个硬件地址引脚寻址(6)PCF8591的采样率由I2C总线速率决定(7)4个模拟输入可编程为单端型或差分输入(8)自动增量频道选择(9)PCF8591的模拟电压范围从VSS到VDD(10)PCF8591内置跟踪保持电路(11)8-bit逐次逼近A/D转换器3.5.3 PCF8591F电路配置PCF8591电路设计如图3.8所示。图3.8 PCF8591F电路设计AIN0AIN3:模拟信号输入端。A0A2:引脚地址端。VDD、VSS:电源端。(2.56V)SDA、SCL:I2C 总线的数据线、时钟线。OSC:外部时钟输入端,内部时钟输出端。EXT:内部、外部时钟选择线,使用内部时钟时 EXT 接地。AGND:模拟信号地。AOUT:D/A 转换输出端。VREF:基准电源端。3.5.4 I2C介绍PCF8591是具有I2C总线接口的8位A/D及D/A转换器,具有4路A/D输入,1路D/A输出。PCF8591采用典型的I2C总线接口器件寻址方法,即总线地址由器件地址(1001)、引脚地址(由A0A2接地或+5V来确定,接地代表0;接+5V代表1)、方向位(即R/W)组成。因此,在I2C总线系统中最多可接8个这样的器件。1、I2C总线数据位的传输它通过2根线:串行数据线(SDA)和串行时钟线(SCL)组成。连接到总线上的每一个器件都有一个唯一的地址,而且都可以作为一个发生器或接收器,SDA和SCL都是双向线路,分别通过一个电阻连接到电源(+5V)端。前提是连接到总线上的器件的SDA和SCL端必须是漏极或集电极开路型。I2C总线上的数据传输速率在标准模式下可达100Kb/s,快速模式可达400Kb/s,高速模式下可达3.4Mb/s。连接到总线的器件数量只由总线的电容(400PF)限制决定。I2C总线上每传输一个数据位必须产生一个时钟脉冲,I2C总线上数据传输的有效性要求SDA线上的数据必须在时钟线SCL的高电平期间保存稳定,数据线的改变只能在时钟线为低电平期间。在标准模式下,高低电平宽度必须大于4.7us(即每次时钟线需延时4.7us后才能改变)。2、I2C总线数据的传输数据传输的字节格式发送到SDA线上的每一个字节必须为8位,每次发送的字节数量不受限制,从机在接收完一个字节后向主机发送一个应答位,主机在收到从机应答后才会发送第二字节数据,发送数据时先发数据的最高位。数据传输中的应答相应的应答位由接收方(从机)产生,在应答的时钟脉冲期间,发送方(主机)应释放SDA线(使其为高电平)。在应答过程中,接收方(从机)必须将数据线SDA拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平。3、I2C总线的传输协议寻址字节主机产生起始条件后,发送的第一字节为寻址字节,该字节的前7位为从机地址,最低位决定了传输的方向,该最低位为“0”表示主机写数据到从机,“1”表示主机从从机中读数据。从机地址由一个固定的部分(如高4位1001)和可编程部分(如低3位A0A2)及一个方向位(R/W)组成。传输格式主机产生起始条件后,首先发送一个寻址字节,收到从机应答后,接着就传输数据,数据传输一般由主机产生的停止位终止。但如果主机仍希望在总线上通信,则它可以产生重复起始条件和寻址另一个从机,而不必产生一个停止条件。3.6 键控电路设计此系统的作用是设置将要维持的温度值及设定加热何时开始。使用独立按键,当K1闭合,温度向上调节0.1,当K5闭合,温度向下调节0.1。当K8闭合,温度设置完毕,系统开始工作。独立按键原理图如图3.9所示。图3.9 独立按键第4章软件系统的设计系统软件设计也就是程序设计,就是在完成了硬件系统的基础上,再编写相应的程序,下载到芯片里,通过执行程序指令控制硬件,从而实现各部分功能。在本设计中,软件编程方面采用C语言对单片机进行编程,并使用KeiLC51系统进行软件调试。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。掌握这一软件的使用方法对于使用51系列单片机的使用者来说是十分必要的。早期的单片机程序多采用汇编语言编写。用汇编语言编程,直接、简捷,可有效地访问和控制各种硬件设备,如存储器、I/O 口等,目标代码简短、占用内存少、执行速度快、语句效率高。然而,由于汇编语言是面向机器的语言,不同厂家或同厂家不同系列的单片机,其汇编语言指令系统往往互不相同,即通常所说的“不兼容”。这就出现了精通51单片机汇编语言的人不能直接编写PIC 或其他单片机的汇编语言源程序,反之亦然的现象,以及产品升级换代和不同单片机间程序移植难的问题。而且,由于汇编语言是采用助记符的低级语言,可读性较差,当源程序功能多、程序长时,即使加了注释,阅读自己编写的程序也会感到困难,更不用说修改程序和增加功能了。目前,单片机的应用越来越广,各半导体生产厂家不断推出各种高、中、低档单片机系列,以适应市场的需求。而客户对单片机系统的设计人员的基本要求,就是要选择能够满足产品性能和成本要求的单片机,并以最快的速度开发出完全满足市场需求的智能化产品。用汇编语言编程显然无法达到要求。用C 语言开发单片机系统软件的最大好处,是代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等。因此,C 语言在单片机系统设计中得到越来越广泛的运用。C 语言是一种高级语言,具有低级语言的特点,原来用各种汇编语言编写的单片机程序,均可用C语言程序代换。于是本设计采用C语言进行编程。为使程序结构简单,任务明确,易于编写、调试和修改,本系统软件采用模块化程序设计,这样,不仅程序可读性好,而且便于功能扩充和版本升级,对于使用频繁的子程序,可以建立子程序库,便于多个模块调用,从而加快了软件设计进度。根据课题的要求,在软件设计中,应该包括以下几个功能模块:主程序模块、PID计算模块、传感器采集模块、数码管显示模块、独立按键模块。4.1 主程序的设计本设计主要是完成对密闭炉温内的温度采集并用数码管显示,同时通过对可控硅的控制用PID算法对温度进行控制。并能实现温度的设定。主程序流程图如图4.1所示。图4.1 主程序流程图4.2 PID程序设计PID计算模块就是通过当前温度值以及设定值和各偏差计算得出输出量。其中在程序开始时进行了各个PID参数的初始化。因而只要进行计算即可,计算包括以下几项:计算偏差、计算积分项、计算微分项、将三项参数相加返回。具体流程如图4.2。图4.2 PID计算流程图4.3 温度采集程序设计此部分是使用PT100温度传感器进行温度的采集,PT100是铂热电阻,当PT100在0摄氏度的时候他的阻值为100欧姆,它的阻值会随着温度上升而成近似匀速的增长。温度采集部分的流程图如图4.3所示。图4.3 温度采集部分的流程图4.4 数码管显示子程序的设计由采集电路采集到的温度数据传输到了单品机内,单片机就要通过程序控制将数据显示出来,这时就要设计数码管显示电路,将传感器采集完成的温度值值用数码管显示,数码管显示流程图如图4.4所示。图4.4 数码管显示子程序流程图4.4 独立按键程序设计此部分是单片机通过串口扫描所控制的,当独立按键为低电平时,系统测试出独立按键工作,K1设置温度向上增长0.1,K5设置温度向下降低0.1,K8启动程序。独立按键程序设计流程图如图4.5所示。图4.5 独立按键程序设计第5章系统调试单片机应用系统的调试,包括硬件调试和软件调试,是一个很重要的步骤。硬件调试和软件调试并不能完全分开,许多硬件错误就是在软件调试过程中被发现和纠正的。一般方法是先排除明显的硬件故障和软件错误,然后进行软硬件联合调试。硬件调试主要是对硬件的每个部分进行调试,针对本次设计主要包括电机驱动部分、串口通信部分。软件调试主要是对所编写的程序的各个部分,包括主程序、数据采集程序、PID计算程序等的编译执行,测试其功能是否正常。下位机的PID参数整定是所有调试中最繁琐的。5.1 PID参数整定方法介绍PID控制的难点在于PID三个参数的整定,在设计中拟采用试凑法进行PID参数整定,已达到系统运行迅速稳定为目标。试凑法就是根据控制器各参数对系统性能的影响程度,边观察系统的运行,边修改参数,直到满意为止。 一般情况下,增大比例系数P会加快系统的响应速度,有利于减少静差。但过大的比例系数会使系统有较大的超调,并产生振荡使稳定性变差。减小积分系数I将减少积分作用,有利于减少超调使系统稳定,但系统消除静差的速度慢。增加微分系数D有利于加快系统的响应,是超调减少,稳定性增加,但对干扰的抑制能力会减弱。在试凑时,一般可根据以上参数对控制过程的影响趋势,对参数实行先比例、后积分、再微分的步骤进行整定。比例部分整定。 首先将积分系数I和微分系数D取零,即取消微分和积分作用,采用纯比例控制。将比例系数P由小到大变化,观察系统的响应,直至速度快,且有一定范围的超调为止。如果系统静差在规定范围之内,且响应曲线已满足设计要求,那么只需用纯比例调节器即可。 积分部分整定。 如果比例控制系统的静差达不到设计要求,这时可以加入积分作用。在整定时将积分系数I由小逐渐增加,积分作用就逐渐增强,观察输出会发现,系统的静差会逐渐减少直至消除。反复试验几次,直到消除静差的速度满意为止。注意这时的超调量会比原来加大,应适当的降低一点比例系数P。 微分部分整定。 若使用比例积分(PI)控制器经反复调整仍达不到设计要求,或不稳定,这时应加入微分作用,整定时先将微分系数D从零逐渐增加,观察超调量和稳定性,同时相应地微调比例系数P、积分系数I,逐步使凑,直到满意为止。先在计算机上使用模拟软件试凑PID各参数,经过多次试验及调试最终确定比例系数P为1.75,积分系数I为0.0021,微分系数D为0.3。在模拟软件中显示图像如图5.1所示。图5.1 PID参数整定模拟5.2 硬件调试第一步调试硬件电路板首先目测各元件各管脚是否都已经按照电路图正确连接,接着利用电表逐一排查,查看每个芯片的电源及地有无接反,是否焊好以及有无漏焊虚焊,然后查看每根导线与板的连接情况。仔细检查各芯片的管脚连线是否正确,在这一切工作都完成后检查高低电平是否短路。在这一切保证无误后通电测量各芯片高低电压及有关管脚电压。图5.2温度控制部分硬件。图5.3是单片机控制部分硬件。图5.2 温度控制部分硬件搭建图5.3 单片机控制部分硬件5.3 软件调试本设计中软件部分是采用C语言进行编写的,纯软件调试只是对软件程序进行完善和编译,使之没有语法上的错误,能够正确运行。由于本系统软件编写了多个功能模块,所以在软件调试中首先对各个功能模块进行了调试,然后对整个程序进行连调在编译通过的情况下运行。在调试过程中遇到了一些语法错误,在查阅资料的同使请教了老师和同学,顺利将其改正。5.4 软硬件联调调试完硬件电路以及软件编译成功之后,就开始了软硬件的联合调试。即使前期已经分别完成了软件和硬件的独立调试,但在联机调试中也还是遇到了一些的问题,比如硬件连接单片机的管脚与程序中该硬件连接单片机的管脚不一致,下载程序失败导致硬件无法工作,将硬件和程序仔细核对,下载程序时步骤正确,这样就可以避免这些错误。如图5.4是系统整体运行图。1. 电路连接好之后,LED显示炉内当前温度以及预设温度。2. 按K1或者K5按键设定炉内温度将要达到的设定值,每按K1一次向上调节0.1摄氏度,每按K5一次向下调节0.1摄氏度。3. 按K8键,系统开始工作。4. 数码管显示炉内温度的实时变化,当温度升高的过程中手摸密闭加热炉会感到炉温上升发热。5. 假设设定的温度为40摄氏度。过了一定时间数码管显示温度达40摄氏度,并在这个温度附近拨动,温度波动不超过1摄氏度。6. 温度达到稳定时,用万用表测得可控硅电流发现可控硅电流出现时而有电流事儿无电流,说明炉内加热电阻丝时而加热,时而停止加热,从而维持温度的稳定。结论:系统测试成功,此系统可以任意设定20到80的温度,温度可以维持在设定温度附近波动,波动范围不超过1。图5.4 系统整体运行图第6章 结论本报告介绍了用STC90C51单片机控制可控硅MAC97A6采用PID算法进行对密闭空间炉温的控制的设计。本文着重介绍了各模块的主要电路,并给出了系统的软硬件的设计过程,使用了C语言进行程序的设计。本文是采用模块化的方式进行叙述,对各模块的设计进行了比较详细地阐述。经过测试,可以看到系统能够正常工作,测量结果都能保证在允许的误差范围之内,本设计基本实现了预期目标。整个电路

温馨提示

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

评论

0/150

提交评论