毕业设计(论文)基于单片机的水温控制系统(软件部分设计).doc
《毕业设计(论文)基于单片机的水温控制系统(软件部分设计).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取得足够小,采用数值计算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 单片机 水温 控制系统 软件 部分 设计
限制150内