毕业设计(论文)基于单片机的水温控制系统(软件部分设计).doc

上传人:e****s 文档编号:92379892 上传时间:2023-06-03 格式:DOC 页数:47 大小:370KB
返回 下载 相关 举报
毕业设计(论文)基于单片机的水温控制系统(软件部分设计).doc_第1页
第1页 / 共47页
毕业设计(论文)基于单片机的水温控制系统(软件部分设计).doc_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的水温控制系统(软件部分设计).doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的水温控制系统(软件部分设计).doc(47页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、基于单片机的水温控制系统毕 业 设 计(论 文)说 明 书题 目:基于单片机的水温控制系统(软件部分设计)系 别:专业班级:学生姓名:XXX指导教师:教 研 室:提交时间:I摘 要本系统以单片机SPCE061A为核心,采用铂电阻温度传感器进行温度的采集,利用SPY0030进行语音放大。可根据提前设定的温度,自动使用PID算法进行温度控制。通过键盘可设置一定的温度和温度变化范围,LED实时显示当前温度以便于用户观测。采用EEPROM使设定的温度控制范围掉电存储。如果有新的控温范围,则可以通过键盘改变。关键词: 自动调节;温度控制;PID;单片机 ABSTRCTThe system conside

2、rs SPCE061A as the core, using the platinum resistance temperature sensor.for temperature collection, and uses SPY0030 for the amplification of voice. It can be set in accordance with the temperature in advance, and can be controlled automatically by using PID algorithm for temperature. Keyboard can

3、 be set along with arbitrary changes of temperature and the temperature range, and the current temperature displayed by LED real-time to users observation.EEPROM is used to make the set of temperature control and the power-off memory. If there is a new temperature control range, Change the keyboard

4、to meet its demand.Keywords : Automatic adjustment; Temperature control; PID; Singlechip目 录摘 要IABSTRCTII第1章 引言11.1 设计背景11.2 系统设计的目标、内容及意义1第2章 技术背景32.1 温度传感器32.2 SPCE061A单片机32.3 PID控制简介4第3章 硬件实现53.1 系统总体电路框图53.2 键盘部分设计53.3 显示部分设计63.4 温度采集部分设计63.5 数字滤波部分设计73.6 温控部分设计73.7 打印部分设计73.8 语音播报部分设计8第4章 软件实现94

5、.1 软件总体部分设计94.2 温度测量程序设计114.3 数字滤波程序设计124.4 温度控制程序设计134.5 打印控制程序设计144.6 PID算法部分设计15第5章 软件调试与安装275.1 软件调试275.2 软件安装28第6章 结束语29致谢31参考文献32附录33III第1章 引言 设计背景随着社会的进步,技术的发展,越来越多地需要实现生产工具的自动化,不再需要人力的介入,有的环境甚至是人无法介入的,或者是人的干预对其的控制效果是不理想或者微乎其微的,种种情况促使人们对越来越多的设备进行自动化的开发,使其脱离人的直接干预,可以独立工作,节省了人力,同时可以高效快捷的解决问题。在控

6、制领域,温度是一个永远被人们所关注的控制对象,它的控制不仅仅出现在常规的工控领域,在生活,商业,科研,军事的方方面面,温度的控制简直是无所不在,因此,对于温度自动调节系统的研究,不但有着很大的科研意义,同时也有着现实的经济意义和社会意义。目前在温度的自动控制调节的研究领域,常用的算法大致有PID算法,史密斯预估算法,模糊控制算法等,其中PID算法以其简单易操作,控制效果好,容易理解等特点,被广泛的应用于温度控制的领域。 系统设计的目标、内容及意义本次系统设计的目标是对单片机控制的水温控制系统进行分块的分析与设计,对其合理性进行探究,最终设计一个实用的,功能完善的设计方案。本次系统设计的内容是通

7、过对硬件的合理选择,在一定程度上实现该电子装置的方便性、实用性和低成本性。再编程对单片机及其外围电路进行较为准确的控制,以实现通过键盘就可以方便的对水温进行控制。本系统的设计实现了温度控制系统的自动调节,正常工作状态下不需要人为控制,只有在需要改变温度控制范围时才进行人工调节,方便了用户。采用PID算法进行温度的控制,有效的将温度控制在设定值附近,LED的实时显示和打印机的输出使本系统更加的实用。本课题的研究与实现,在工控领域有着重要的理论指导意义,同时如果将其用于实际应用,有着广泛的社会意义和经济效益。29第2章 技术背景2.1 温度传感器温度传感器有多种类型,常见的有:数字接口的温度传感器

8、,可以与控制器直接相连;热电偶温度传感器,一般线形度较差,需要开发人员进行线性化调节;热电阻温度传感器,线形度略好于热电偶,测温范围较广,应用场合较多。常见的数字接口的温度传感器如18B20,18B20是一线总线接口的温度传感器。一线总线具有独特而且经济的特点。测量温度范围为 -55+125,在-10+85范围内,精度为。其硬件操作比较简单,用户只需对其进行软件编程就可以实现控制。因此,18B20适合硬件资源较少,测量温度要求不高的情况。本设计拟采用铂热电阻作为温度采集装置,铂热电阻是一种精确、灵敏、性能稳定的温度传感器。在外界温度作用下,铂电阻丝的电阻值将随之变而变化,可用于测量-20080

9、0范围内的温度。其优点是:电气性能稳定,温度和电阻关系近于线性,精度高。铂电阻元件可与显示仪、记录仪、调节器、扫描仪、数据记录仪以及电脑配套进行精确的温度测量和控制。因此,在温度控制精度要求比较高的情况,一般采用铂热电阻作为温度采集装置。2.2 SPCE061A单片机SPCE061A作为凌阳公司推出的一款较为智能的16位单片机,与51单片机相比,最主要的一个优点就是该单片机内置7通道10位电压模数转换器和2个10位DAC输出通道,在外部信号传入单片机时,不再需要外接模数转换芯片,可以简化系统电路。此外该单片机还具有丰富的外部扩展功能,在很大程度上可以优化系统设置,使系统更加完善、更具人性化。2

10、.3 PID控制简介目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。一个控制系统包括控制器、传感器、变送器、执行机构、输入输出接口。控制器的输出经过输出接口、执行机构,加到被控系统上;控制系统的被控量,经过传感器,变送器,通过输入接口送到控制器。不同的控制系统,其传感器、变送器、执行机构是不一样的。目前,PID控制及其控制器或智能PID控制器已经很多,产品已在工程实际中得到了广泛的应用,各大公司均开发出了具有PID参数自整定功能的智能调节器,其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应

11、算法来实现。目前产品有利用PID控制实现的压力、温度、流量、液位控制器,能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等。第3章 硬件实现3.1 系统总体电路框图SPCE061A16Bit CPU数据显示串口打印温度采集语音播报电热丝继电器键盘设定图3.1 系统总体电路框图键盘设定:用于温度的设置、重新设置和语音播报。温度采集:将电压信号转换成温度值。继电器/电热丝:控制继电器开关来完成对电热丝的功率控制。数据显示:显示设置温度和测量温度。串口打印:打印预设温度值、当前温度值、超标幅度等信息。语音播报:语音播放水温设置温度,并播报整数温度变化。3.2 键盘部分设计

12、本系统通过键盘操作实现对水温的设置及控制,共有3个按键,其中KEY1对应十进制数码管的十位数操作,KEY2对应十进制数码管的个位数操作,KEY3按下后,系统开始测温,开关电路,并对温度变化整数值进行语音播报。3.3 显示部分设计系统使用数码管作为显示单元,通过DIS_CLK提供串行移位时钟,DIS_DATA提供串行数据,可以方便的控制数码管显示数据。且本设计为静态数码管显示,不需要实时更新,只是在需要改变显示内容时才刷新一次。这有效的减少了对单片机资源的占用。3.4 温度采集部分设计本系统采用铂电阻作为温度传感器,铂热电阻是一种精确、灵敏、性能稳定的温度传感器。铂热电阻元件是用陶瓷为保护管做成

13、的内绕结构,感温元件可制成各种微型温度传感器探头。铂热电阻元件配上金属保护管和安装固定装置(如各种螺纹接头、法兰盘等),就构成装配式铂热电阻。在0时, 阻值为100的白金感温电阻, 简称为Pt100。白金感温电阻Pt100,一般被使用在做成标准件及较精密的工业量测与检测分析的场合。其准确度比一般民用品的规格严谨。当待测温度的地点和测试系统之间有相当的距离时,必须通过长线连接。而该延长线上的引线电阻及接触电阻,都将造成不同程度的影响,因此必须设法消除引线电阻所造成的误差。 为了配合精密量测技巧的使用,目前Pt100 依接线数的不同,可分为3 种:1两线式:接线简单,但因引线电阻的变化,将造成较大

14、误差; 2三线式:一般以定电压方式处理,适合工业运用;3四线式:一般以定电流方式处理,适合精密测量使用。本系统采用的是三线式的铂热电阻。铂电阻获得环境温度后,转化为电压信号,同时电压信号经过HT9274放大到SPCE061A的模数转换端口,并将模拟的电压信号转换成数字电压信号,其中,HT9274可以通过外接电阻实现放大倍数的调整。3.5 数字滤波部分设计传感器采集的信息常会受到干扰,为了提高采样的可靠性,减小虚假信息的影响,这里采用数字滤波。它与模拟滤波相比具有以下优点:1数字滤波是用程序实现的,不需要增加任何硬件设备,也不存在阻抗匹配问题,可以多个通道共用,提高稳定性和可靠性。2数字滤波可以

15、对频率很低的信号实现滤波,而模拟滤波器由于受电容容量的影响,频率不能太低。数字滤波的灵活性好,可以有很多方法实现,如中值滤波、算术平均值滤波、滑动平均值滤波等。本设计采用的是去脉冲干扰滑动平均值滤波,具体做法如下:将本次采样值和过去的若干次采样一起去除最大值和最小值后,求平均值,得到本次测量的有效值。3.6 温控部分设计温度控制系统是在单片机处理完测量到的温度值之后,按照PID算法,自动地通过控制可控硅或者继电器的开合来实现的。在本系统具体实现时,选择通过继电器来控制电热丝,通过衔铁和公共端的吸合与释放来控制电热丝的加热。如果温度偏高则通过电路控制风扇的工作来实现降温,并且还可以控制风扇的转速

16、以更快的将温度稳定在设定值附近。3.7 打印部分设计虽然本温控系统是自动调节的,基本摆脱了人工控制,但是控制的效果等信息还是需要反馈,因此本系统扩展了打印机的接口,使其更加实用化。本系统使用TPuP-16微型打印机,TPuP-16微型打印机采用与标准Centronics兼容的并行接口,是一种超小型的通用微型打印机。用户在键盘上按下打印按钮后,系统便会调用打印机相关函数,将预设温度值,当前温度值,超标幅度等信息通过微型打印机打印出来。3.8 语音播报部分设计语音播报功能通过SPY0030芯片实现。SPY0030作为一款语音放大芯片,可以直接接收来自于单片机输出的模拟信号并进行放大。它可以工作在到

17、的范围内,输出功率可达700mW。SPCE061A单片机自带双通道DAC音频输出,SPY0030将其输出信号放大,经过滤波电容后,获得比较平稳的电流信号,最后输出至喇叭,从而实现语音播报功能。第4章 软件实现4.1 软件总体部分设计开 始初始化从存储器中读取上一次温度设定值按键按下重设温度值采集温度大于设定温度范围打开风扇(降温)显示当前温度在设定温度范围内小于设定温度范围打开电热丝(升温)NNNYY图4-1 系统主程序流程图主程序源代码:int main(void) int iKeyValue; status = system_temperature_set; guifgSpeechPlay

18、 = 0;System_Initial(); turn_on_relay(); turn_off_relay(); PIDinit();while(1) iKeyValue = SP_GetCh(); /取键值 key_value_process(iKeyValue); /键值处理 if(guifgSpeechPlay) temperature_speech_play( ); /语音播放 if(status = system_temperature_control) display_speech_ADC_temperature(); /测量温度显示、温度播报、PID计算 Clear_Watch

19、Dog(); /清看门狗 System_ServiceLoop(); /键盘扫描 if(fOut=0) turn_off_timerB(); 具体实现步骤如下:系统上电初始化,将存储器中保存的温度值读入。如果用户需要设定新的温度值则按键盘上的“温度设定”按键,如果不进行任何操作则以上次保存的温度为准。进行温度的实时采集并显示。如果实测温度偏离设定温度较多,则相应打开风扇或者电热丝。当有用户按下“打印”按键,则通过打印程序,控制打印机将当前系统信息打印出来。4.2 温度测量程序设计开 始允许转化为温度允许滤波允许显示温度允许温度采集启动温度采集将温度队列求平均值得到温度值将采集值转化为温度值LE

20、D刷新显示温度值YYYY返 回图4-2 温度测量部分软件流程图具体实现步骤如下:系统上电后,系统测温确认键KEY3按下时,通过程序命令对单片机相应端口进行初始化,系统开始测温。外部温度信号通过传感器送至单片机经过A/D转换后,换算成温度值,然后再进行滤波处理得到平稳的电流信号,经驱动电路的处理转换后,在十进制数码管上将所测温显示出来。 数字滤波程序设计开 始初始化滤波上限和下限读取采样值是否大于上限是否小于下限求平均值获取有效值返 回去除超限值去除超限值NNYY图4-3 数字滤波程序软件流程图 具体实现步骤如下:系统首先初始化滤波程序的上限和下限,设定滤波范围,然后读入系统采样获得的温度值,通

21、过程序分别去除超过上限和低于下限的温度值,然后求出滤波后获得的有效温度值的平均值,并反馈到相关程序。4.4 温度控制程序设计开 始实时采集温度大于设定值小于设定值正常值打开风扇(降温)打开电阻丝(升温)接近设定值接近设定值全速降温全速升温PID控制升温PID控制降温实时采集当前温度返 回NNNNYYYY图4-4 温度控制程序的实现具体实现步骤如下:根据温度测量的结果,调用PID算法,通过PID算法求出控制量来进行调节。如果温度高于设定值,则停止电热丝加热并且继续测量温度;如果发现温度高于设定值较多,则打开风扇强制降温;如果温度值低于设定值,则停止风扇并且继续测量温度;如果发现温度低于设定值较多

22、,则打开电热丝强制升温。4.5 打印控制程序设计开 始初始化打印按键是否按下打印机是否忙碌读取需打印的信息启动打印机并打印返 回NNYY图4-5 打印控制程序的实现具体实现步骤如下:初始化程序,判断打印按键是否按下,如果没有打印要求则直接返回;如果按下,继续判断打印机是否处于忙碌状态,空闲则读取需打印的信息并打印;若处于忙碌状态,则继续等待直到打印机处于空闲为止。4.6 PID算法部分设计模拟PID控制算法输入与输出的关系为:1 (4-1)数字PID控制算法是以模拟PID调节器控制为基础的,由于单片机是一种采样控制,它只能根据采样时刻的偏差计算控制量。但是如果采样周期T取得足够小,采用数值计算

23、的方法逼近可相当准确,使被控过程与连续控制十分接近。离散化后的PID算式为:1 (4-2)上式中:比例系数;:偏差为零时的控制作用; :积分时间;:微分时间;:采样时间。以上公式称为位置式算法。由它可推出增量式算法: (4-3)在本设计中采用了增量式算法,这是由于增量式算法只需保持以前三个时刻的偏差即可,既节省了资源又不会产生较大的积累误差。式中各系数由反复实践后确定,实验证明,这种控制方式可以加快系统阶跃响应,减小超调量,并具有较高的精度。上面对PID控制算法进行了一个基本的介绍,下面进一步详细的介绍PID算法:常用名词:21. 直接计算法和增量计算法:直接计算法就是计算当前需要的控制量;增

24、量计算法是计算相对于标准算法的相邻两次运算之差,得到的结果是增量,也就是在上一次的控制量的基础上需要增加(负值意味着减少)的控制量,例如对于可控硅电机调速系统,就是可控硅的触发相位还需要提前(或滞后)的量,对于温度控制就是需要增加(或减少)的加热比例。根据具体的应用,不管采用哪一种算法,基本的控制算法、原理是完全一样的,直接计算法得到的是当前需要的控制量,相邻两次控制量的差就是增量。2基本偏差:表示当前测量值与设定目标值之间的差,设定目标值是被减数,结果可以是正或负,正数表示还没有达到,负数表示已经超过了设定值。这是面向比例项使用的变动数据。3累计偏差:,这是每一次测量得到的偏差值的总和,是考

25、虑它的正负符号运算的代数和,是面向积分项所需的一个变动数据。4基本偏差的相对偏差 :,意即用本次的基本偏差减去上一次的基本偏差,用于考察当前控制的对象的趋势。作为快速反应的重要依据,这是面向微分项的一个变动数据。5 三个基本参数:,这是做好一个控制器的关键常数,分别称为比例常数、积分常数和微分常数,不同的控制对象需要选择不同的数值,还需要现场调制才能获得较好的结果。6 标准的直接计算法公式:4 (4-4)上一次的计算值: (4-5)两式相减得到增量法计算公式: (4-6)这里对项的表示应该是对从1到全部总和。三个基本参数,在实际控制中的作用:比例调节作用:是按比例反应系统的偏差,系统一旦出现了

26、偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,将使系统的稳定性下降,甚至造成系统的不稳定。积分调节作用:使系统消除稳态误差,提高无差度。如果有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决于积分时间常数,越小,积分作用就越强。反之大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用。在偏差还没有形成之前,已被微分调节作用消除。因此,

27、可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。数字PID控制算法,是以连续系统的PID控制规律为基础,再将其数字化得到的。下面讨论PID控制的两种算法:第一种是位置式PID算法。这种算法是以连续系统的PID控制为基础,然后将其数字化,写成差分方程:6 (4-7)上式中:PID调节器的输出量;:PID调节器的输入量;:比例系数;:积分时间常数;:微分时间常数

28、。在计算机控制系统中,一般使用数字PID,因此将式(4-7)离散化,令:其中为采样周期,必须足够短才能保证其精度。将式(4-7)写成差分方程为: (4-8)上式中:积分系数:微分系数由于是代替被控对象执行机构的位置,故称为位置式PID。可以看出是全量输出,是执行机构所应达到的位置。数字PID的输出跟过去的状态有关,需要对偏差进行积累。第二种是增量式PID算法。由式(4-8)可以看出,位置型控制算式不够方便,这是因为要累加偏差,不仅要占用较多的存储单元,而且不便于编写程序,对此可对式(4-8)进行改进。由式(4-8)不难写出的表达式,即:8 (4-9)将式(4-8)和式(4-9)相减,即得数字P

29、ID增量型控制算法为: (4-10)开 始读取给定将给定赋给求偏差采样时间到返 回NY图4-6 增量式PID算法流程图采用增量式实现一般PID控制,其表达式如下: (4-11)通过上面的介绍对PID算法有了一定的理解,在这里使用增量法进行温度调节: (4-12)上面只是控制算法的数学方法,稍显抽象,在具体的控制项目中的量化问题阐述如下:9对于加温的温度控制,可以采用调节供电电压或在一定的时间循环周期内的供电时间比例来调节加温控制温度,一般以调节加温时间比例比较简单,这也是控制上比较常用的方法。调压法控制的原理是通过调节可控硅的触发相位的相位角达到对电压的调节,这个电压是指有效电压,直观上就是对

30、一个正弦波形的前边切掉一块,用不同的切割位置来保留剩余的面积。为了叙述方便,采用控制时间比例的方法:设定一个标准的加温周期,例如两分钟。在这个两分钟周期内对输出进行控制,也就是说在这个两分钟内加温多少时间。全速加温就是连续整个周期(两分钟)都加温,当然停止加温就是完全不输出。根据计算可以让加温时间在0-2分钟内变化,比如计算所得在这一个周期内应该加温1分30秒,经过两分钟以后再测量被加温物体的温度,通过计算应该加温1分28秒,等等。这里除了加温以外的时间就用来等待下一个周期到来,再进行实际测量,计算下一周期的输出量,周而复始,不断地修正输出量,以达到对温度的有效控制。为了对应程序处理上的方便,

31、在程序内部一般并不是用时分秒来计算的,通常使用系统的一个定时器用于系统全部时钟,例如显示刷新、键盘扫描等。相对于计算来说,控制周期比较长,所以可对两分钟进行细分,例如可将每分钟进行100等分,则两分钟就是200等分,这样的输出比例变化有200个输出等级,用于温度控制已经足够细了,取200的另一个好处是,对应于8位单片机刚好可以在一个字节内进行计算,程序简单,运算速度快。当需要改变定时周期时,有些不同的加热对象,例如对较大热惯性的加热对象,2分钟周期显得太短,这时可以通过修改基本定时常数的办法来保持200等分不变。对2分钟进行200等分,每一个基本单位的具体时间如下:这对于单片机来说定时周期太长

32、。为了显示、键盘等的处理,一般定时在5-10ms,所以就需要另外设定一个变量。在每一个定时中断发生时对计数。例如系统定时器的定时常数对应于10ms,则设定在达到60的时候确认是达到600ms了,才作为一个基本的输出时间单位。对应于总周期的修改,200等分可以不用修改,而只要修改变量的判断边界就可以了。例如对应于2分钟时是60,则在3分钟为周期时边界改为90就行了。定下了基本控制时间分辨率以后,计算就可以不用改变了。当然,根据具体对象也可以修改这个等分数。PID的三个基本参数,一般由试验确定:根据实际工作对象去初步确定,然后在实际运行过程中进行调节,以达到相对理想的效果。为了达到较好的控制效果,

33、这三个参数一般不采用整数。但同时为了减轻单片机的运算量,通常采用2的整数倍放大的办法确定这些参数,在运算结果中再除以2的整数倍,因为单片机运算中可以用移位来完成,速度比较快。常用的是8倍或16倍放大,同时,需要特别注意的是,这三个参数应采用相同的放大比例,编程的过程中要对运算结果还原。获得0200加温比例数据的计算方法:为了说明这个问题,先假定只考虑最简单的比例控制算法。假定控制范围是在200,则设定温度与实际温度的差的最大值就是200,这时的输出参数为。为了提高加热速度,可使受控制的区域适当缩小,例如只控制50范围。比如目标温度设定为230,控制范围可设置在180230范围内,这时的差值不够

34、200,把计算得到的数字乘以4就得到0200的数据了。假定当前实测温度为222,则2302228再乘以4算得32,这就作为输出比例数据。当然这里还没有考虑超温的情况,计算产生了负数。这一部分将作为控制输出的基本量,上面的计算是对应于的,再加入微分和积分项,这时可以基本保持不变。在这里基本确定了起始控制点到目标值之间的控制范围,微分和积分项在这里只是作为附加部分,基本不影响控制范围。当温度突然下降1时,希望用多少比例去进行下一轮的加热,这就是微分系数;经过这么久的控制,目标温度还是低了一点,希望用多少的比例去弥补这个长期欠温,这就是积分常数。比例常数决定参与在目标点以前真正控制的范围,基本时间总

35、周期/控制范围。,是反应对策速度,需要耐心去逐步达到稳定点,过激了会起反作用。最后,在计算结果交付于输出之前,还需要进行一些修正。例如当计算结果大于200时按200输出,计算结果小于零时按零输出。处理上的一些常用方法:为了提高测温的准确性,往往需要进行多次测温,然后剔除测得结果中超过程序所设定的上限和下限的值,把剩余的数值相加再计算平均值,这样比较有利于抗干扰,或者由于其他原因引起的测量值波动,所以初期的处理是很必要的。测温工作和PID计算一般安排在上一个输出周期的最后阶段就提前进行,测温次数一般在713次,去掉超过上限和下限的值以后进行运算,均值运算的累加部分将安排在每一次测温以后逐步进行,

36、不会过多占用系统时间。只要系统的时间允许,尽可能的多测几次,所得到的结果也将相对精确。运算将会占用很长的时间,这是相对于一个基本定时周期来讲的。一个系统定时周期内系统还要处理很多的事情,例如显示的刷新、键盘的扫描、键盘码的处理执行等等。如果运算占用很多时间的话,就会出现一个系统定时周期内完不成的情况。所以如果此系统仅仅是一台测温仪的话,就可以将运算部分放到主程序中进行,而常规的刷新扫描之类的工作才放在定时和中断程序里处理。这样编制的主程序就非常清晰明了,这是比较理想的情况。如果温度控制仅仅作为系统中的一部分,那就需要认真考虑程序的布局了。主程序有更重要的任务要处理,温度控制运算部分就只能委托系

37、统定时器来承担,这时有可能出现时间不够用的情况。假定定时周期是10ms,显示刷新部分需要1ms,键盘扫描处理需要1ms,PID运算需要2ms(假定),留给主程序的时间就可能不够。此时就需要对PID运算任务进行分割,把运算分成几个部分进行,每一次进入运算程序只计算其中的一小部分,经过N次的调用才完成一个完整的PID运算,这样就不会影响整个系统的运作。这是面对一个较大系统的一般处理方法,对其他任务也可以采用分割的办法进行细化,例如对显示结果的刷新。现在液晶屏用的比较多,环境的干扰、数据的变化都会引起花屏或反应迟钝,而刷新需要占用很长的时间。也可以采用分片刷新的办法处理,尽量把每次刷新所占用的时间减

38、到最短。PID的输出部分可以放到系统定时中断程序里处理,这部分占用的时间不长,可以附带完成。前面讲到将时间作200等分记作,也就是将一个约定时间作200级不同的输出时间比例,通过计算得到一个介于0200之间的数,然后每次在PID基本定时时间中对减1,当等分计数器也达到0时再进行下一轮控制循环,重新计算。这样就完成了一个控制比例/200,这个是计算获得的原始数据。运算中往往会出现数据溢出的情况,所以一般在运算中都要求对数据强制转换成int型,这里需要考虑符号。另外,对有些参数如积分项的累加数过大时会起反作用,或者调节失灵,或者引起大幅振荡,为此对此项引入一个数值最大界限,当结果超出规定界限时,不

39、再增加(或减少)。加温的整个过程没有必要全程PID控制,一般可以设定到达目标值前一个温度区域才进行PID控制。例如,如果设定目标温度为80,则在60以前全速加温,当达到70以后才开始计算PID并予以控制,这样可以加快加温速度又不影响温度控制。在不产生过大的过冲的情况下,尽可能提高起控点,有利于后面控制部分的进一步细化。在进入控制之前积分项记录数据为0。参数的设定与调整:编程时只能预先设定参数的大概数值,然后通过反复的调试才能找到相对理想的参数值。面向不同的控制对象参数都不一样,所以无法提供参考数值,但是可以根据这些参数在整个PID过程中的作用原理来讨论对策:1.加温很迅速就达到目标值,但是温度

40、过冲很大:(1) 比例系数太大,致使在未达到设定温度前加温比例过高;(2) 微分系数过小,致使对对象反应不敏感;2.加温经常达不到目标值,小于目标值的时间较多:(1) 比例系数过小,加温比例不够;(2) 积分系数过小,对恒偏差补偿不足;3.基本上能够在控制目标上,但上下偏差偏大,经常波动:(1) 微分系数过小,对即时变化反应不够快,反映措施不力;(2) 积分系数过大,使微分反应被淹没钝化;(3) 设定的基本定时周期过短,加热没有来得及传到测温点;4.受工作环境影响较大,在稍有变动时就会引起温度的波动:(1) 微分系数过小,对即时变化反应不够快,不能及时反映;(2) 设定的基本定时周期过长,不能

41、及时得到修正。选择一个合适的时间常数,需要根据输出单元采用什么器件来确定,如果采用可控硅,则可设定时间常数的范围就很自由;如果采用继电器,则过于频繁的开关会影响继电器的使用寿命,不适合采用较短周期。本设计采用继电器,因此周期设定范围在110分钟内较为合适。第5章 软件调试与安装5.1 软件调试软件调试的目的是检验程序编写是否正确,能否驱动整个系统完成所设定的功能。其具体的步骤是:在KEIL调试软件中对C语言代码和汇编语言代码模块分别进行调试.。若出现错误,则检查或者修改程序内容,直到无误。下图为主程序调试结果:图5-1 主程序调试结果5.2 软件安装全部源代码调试无误后,对其进行编译,生成可执

42、行代码,然后导出可执行代码的.hex文件。将可执行代码的.hex文件导入到对单片机进行程序烧写的应用程序中,执行应用程序的程序烧写功能,将可执行代码的.hex文件写入单片机中。对单片机烧写成功后,将单片机放入系统版中,对系统上电后单片机就可以实现用户想要实现的功能。第6章 结束语在现在的生产和实验过程中,温度的测定、控制是一项经常要进行的工作。以往的方法都是人工测定、手工操作、肉眼观察,既费时费力、准确度低、实时性差,又不利于工人的操作安全。最终实现的设计可以实现在无人介入被测控的环境下,通过LED显示直接看到被测控对象的实时温度,并可随时通过键盘输入被测控对象应控制的温度范围及误差值。本系统

43、具有实时性好、清晰度和精度高、非人工介入以及自动调温等特点。由于时间的限制,目前的系统还存在以下不足:(1)对于加温的温度控制可以采用调节供电电压或在一定的时间循环周期内的供电时间比例来调节加温控制温度。调节加温时间方法原理在论文中已做了详细介绍,这里不再多说。调压法控制的原理是通过调节可控硅的触发相位的相位角达到对电压的调节,这个电压是指有效电压,直观上就是对一个正弦波形的前边切掉一块,用不同的切割位置以保留剩余的面积。本应把两种方法都尝试做一下,通过响应时间,稳定度等等方面考虑,选择一个更贴近实际生产生活需要的方法,这里为了实现方便,只采用了调节加温时间的方法。(2)PID算法超调量大,上

44、升时间短,稳态误差小;Simth 预估算法超调量很小或没有、上升时间很长、稳态误差很小。所以如果要提高系统稳定性,应采用Simth 预估算法。但是PID算法响应速度比较快,优缺点权衡之下,本系统中温控算法采用了PID算法。(3)LED显示效果单一,有待改进为更加友好的LCD显示。经过本次设计,作者在方案选择、算法分析、电路原理图设计、以及软件调试等多方面积累了宝贵的经验和教训。这些经验和教训皆来之不易,必将为日后的工作和学习打下夯实的基础。由于水平有限,在此次设计中存在不完善的地方,恳请各位老师批评指正。致谢首先要衷心感谢的是我的导师老师。本文是在老师精心指导和大力支持下完成的。老师以其严谨求实的治学态度、高度的敬业精神、兢兢业业、孜孜以求的工作作风和大胆创新的进取精神对我产生了重要影响。她渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。感谢老师对我的支持和帮助!在这里要特别感谢同学对我论文写作的指导。我能完成这篇论文,他提供了巨大的帮助。还要感谢、和同学对我编程方面的无私帮助,使我得以顺利完成论文。 最后,再次对关心、帮助我的老师和同学表示衷心地感谢!参考文献1 郝鸿安. 常用模拟集成电路应用手册. 北京:人民邮电出版社,1991.2 何立民. 单片机应用技术选编. 北京:北京航空航天大学出版社,2001.3 汤山俊夫. 数字电路设计与制作M. 北京: 科学出版

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 工程图纸

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com