1、 毕业设计(论文)水温控制系统设计及应用系 别: 电气电子工程系 学生姓名: 专业班级: 应用电子技术 学 号: 指导教师: 2012 年 02 月 20 日独创性声明 本人声明所呈交的毕业论文是我个人在导师指导下进行的研究工作及取得的成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。论文作者签名: 日期: 年 月 日毕业论文版权使用授权书 本毕业论文作者完全了解学校有关保留、使用毕业论文的规定,即:学校有权保留并向有关部门或机构送交论文的复
2、印件和电子版,允许论文被查阅和借阅。本人授权XX职业技术学院可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本论文。 保密,在_年解密后适用本授权书. 本论文属于 不保密。(请在以上方框内打“”)毕业论文作者签名: 指导教师签名:日期: 年 月 日 日期: 年 月 日摘 要 该水温控制系统采用单片机进行温度实时采集与控制。温度信号由“一线总线”数字化温度传感器DS18B20提供,DS18B20在-10+85C范围内, 固有测温分辨率为0.5 。水温实时控制采用继电器控制电热丝和风扇进行升温、降温控制。系统具备较高的测量精度和控制精度,能完成升温和
3、降温控制。关键词: AT89C51; DS18B20; 水温控制目 录摘要(III)绪论(1)1系统方案选择和论证(2)1.1题目要求(2)1.1.1基本要求(2)1.1.2发挥部分.(2)1.1.3说明(2)1.2系统基本方案(2)1.2.1各模块电路的方案选择及论证.(2)1.2.2系统各模块的最终方案.(6)2 硬件设计与实现(7)2.1系统硬件模块关系(7)2.2主要单元电路的设计.(8)2.2.1温度采集部分设计.(8)2.2.2加热控制部分(10)2.2.3键盘、显示、控制器部分.(11)3系统软件设计(12)3.1 读取DS18B20温度模块子程序.(12)3.2数据处理子程序.
4、(12)3.3键盘扫描子程序.(12)3.4主程序流程图 (14)4系统测试(15)4.1 静态温度测试.(15)4.2动态温控测量.(15)4.3结果分析.(15)参考文献(16)致谢(17)19绪 论 目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。 温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同国外的日本、美国、德国等先进国家相比,仍然有着较大的差距。目前,我国在这方面总体技术水平处于20世纪80年代中后期水平。成熟产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制,难于控制滞后复杂时
5、变温度系统控制,而且适应于较高控制场合的智能化、自适应控制仪表国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。现在,我国在温度等控制仪表业与国外还有着一定的差距。温度、压力,流量和液位是四种最常见的过程变量,其中温度是一个非常重要的过程变量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形,结晶以及空气流动等物理和化学过程。温度控制在工业领域应用非常广泛,由于其具有工况复杂、参数多变、运行惯性大、控制滞后等特点,它对控制调节器要求较高。温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。尽管温度控制很重要,但是要控制好温度常常会遇到意想不到的困难。本文主要
6、介绍单片机温度控制系统的软件设计过程,其中涉及系统结构设计、元器件的选取和控制算法的选择、程序的调试和系统参数的整定。在系统构建时选取了凌阳科技公司提供的一款新产品SPCE061A芯片作为该控制系统的核心。温度信号由PT1000和电压放大电路提供。通过PID算法实现对电炉功率和水温控制。使用SSR固态继电器作执行部件。同时,具有温度数字语音播报和显示啊功能。系统控制对象为1升净水,容器为搪瓷器皿。水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变,具有较好的快速性与较小的超调。该系统为一实验系统,要求系统有控制能力,实现对主要可变参数的实时监控。因此系统
7、控制部分程序设计在nSPTM集成开发环境中编辑、编译、链接、调试以及仿真的。使用软件编程既减少了系统设计的工作量,又提高了系统开发的速度,使用软件还可以提高所设计系统的稳定性,避免了因个人设计经验不足而产生过多的系统缺陷。1 系统方案选择和论证1.1 题目要求设计并制作一个水温自动控制系统,控制对象为1L净水,容器为搪瓷器皿。水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变。1.1.1基本要求(1)温度设定范围为4090,最小区分度为1,标定温度1。(2)环境温度降低时(例如用电风扇降温)温度控制的静态误差1。(3)用十进制数码管显示水的实际温度。1.
8、1.2发挥部分(1)采用适当的控制方法,当设定温度突变(由40提高到60)时,减小系统的调节时间和超调量。(2)温度控制的静态误差0.2。(3)在设定温度发生突变(由40提高到60)时,自动打印水温随时间变化的曲线。1.1.3说明(1)加热器用一千瓦电炉。(2)如果采用单片机控制,允许使用已有的单片机最小系统板。(3)数码显示部分可以使用数码显示模块。(4)测量水温时只要求在容器内任意设置一个测量点。(5)在设计报告附一篇400字以内的报告摘要。1.2系统基本方案根据题目要求系统模块分可以划分为:温度测量模块,显示电路模块,加热模块,控制模块,系统的框图如图1.2.1所示。为实现各模块的功能,
9、分别做了几种不同的设计方案并进行了论证。1.2.1各模块电路的方案选择及论证(1)控制器模块根据题目要求,控制器主要用于对温度测量信号的接受和处理、控制电热丝和风扇使控制对象满足设计要求、控制显示电路对温度值实时显示以及控制键盘实现对温度值的设定等。对控制器的选择有以下三种方案:方案一:采用FPGA作为系统控制器。FPGA功能强大,可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性,并且可应用EDA软件仿真、调试,易于进行功能扩展。FPGA采用并行的I/O口方式,提高了系统的处理速度,适合作为大规模实时系统控制核心。由温度传感器送来的温度信号,经
10、FPGA程序对其进行处理,控制加热装置动作。但由于本设计对数据处理的速度要求不高,FPGA的高速处理的优势得不到充分体现,并且其成本偏高,引脚较多,硬件电路布线复杂。Output显示电路加热装置测温部分键盘输入控制部分Input图1.2.1 系统基本模块方框图方案一:采用FPGA作为系统控制器。FPGA功能强大,可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性,并且可应用EDA软件仿真、调试,易于进行功能扩展。FPGA采用并行的I/O口方式,提高了系统的处理速度,适合作为大规模实时系统控制核心。由温度传感器送来的温度信号,经FPGA程序对其进行
11、处理,控制加热装置动作。但由于本设计对数据处理的速度要求不高,FPGA的高速处理的优势得不到充分体现,并且其成本偏高,引脚较多,硬件电路布线复杂。方案二:采用模拟运算放大器组成PID控制系统。对于水温控制是足够的。但要附加显示、温度设定等功能,要附加许多电路,稍显麻烦。方案三:采用ATMEL公司的AT89C52作为系统控制器。单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且其功耗低、体积小、技术成熟和成本低等优点。基于以上分析拟订方案二,由AT89C52作为控制核心,对温度采集和实时显示以及加热装置进行控制。(2)加热装置有效功率控制模块根据题目,可以使用
12、电热炉进行加热,控制电热炉的功率即可以控制加热的速度。当水温过高时,关掉电热炉进行降温处理,让其自然冷却。在制作中,我们装设一个小电风扇,当水温超高时关闭电炉开启风扇散热,当需要加热时开启电炉关闭风扇。由于加热的功率较大,考虑到简化电路的设计,我们直接采用220V电源。对加热装置控制模块有以下两种方案:方案一:采用可控硅来控制加热器有效功率。可控硅是一种半控器件,应用于交流电的功率控制有两种形式:控制导通的交流周期数达到控制功率的目的;控制导通角的方式控制交流功率。由交流过零检测电路输出方波经适当延时控制双向可控硅的导通角,延时时间即移相偏移量由温度误差计算得到。可以实现对交流电单个周期有效值
13、周期性控制,保证系统的动态性能指标。该方案电路稍复杂,需使用光耦合驱动芯片以及变压器等器件。但该方案可以实现功率的连续调节,因此响应速度快,控制精度也高。方案二:采用继电器控制。使用继电器可以很容易实现地通过较高的电压和电流,在正常条件下,工作十分可靠。继电器无需外加光耦,自身即可实现电气隔离。这种电路无法精确实现电热丝功率控制,电热丝只能工作在最大功率或零功率,对控制精度将造成影响。但可以由多路加热丝组成功率控制,由单片机对温差的处理实现分级功率控制提高系统动态性能。基于以上分析以及现有器件限制选择方案二,采用继电器控制省去光耦和交流过零检测电路,在软件上选用适当的控制算法,同样可以达到较好
14、的效果。(3)温度采集模块题目要求温度静态误差小于等于0.2,温度信号为模拟信号,本设计要对温度进行控制和显示,所以要把模拟量转换为数字量。该温度采集模块有以下三种方案:方案一:利用热电阻传感器作为感温元件,热电阻随温度变化而变化,用仪表测量出热电阻的阻值变化,从而得到与电阻值相应的温度值。最常用的的是铂电阻传感器,铂电阻在氧化介质中,甚至在高温的条件下其物理,化学性质不变。由铂电阻阻值的变化经小信号变送器XTR101将铂电阻随温度变化的转换为420mA线形变化电路,再将电流信号转化为电压信号,送到A/D转换器ADC0809.即将模拟信号转换为数字信号。该方案线性度优于0.01。方案二:采用温
15、度传感器AD590K。AD590K具有较高精度和重复性,良好的非线性保证0.1的测量精度。加上软件非线性补偿可以实现高精度测量。AD590将温度转化为电流信号,因此要加相应的调理电路,将电流信号转化为电压信号。送入8为A/D转换器,可以获得255级的精度,基本满足题目要求。 方案三:采用数字温度传感器DS18B20。DS18B20为数字式温度传感器,无需其他外加电路,直接输出数字量。可直接与单片机通信,读取测温数据,电路简单。如图1.2.2 所示 。图1.2.2 DS18B20测温电路基于以上分析和现有器件所限,温度采集模块选用方案三。DS18B20与传统的热敏电阻相比,他能够直接读出被测温度
16、并且可根据实际要求通过简单的编程实现912位的数字值读数方式。并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面带来了令人满意的效果。(4)键盘与显示模块根据题目要求,水温要由人工设定,并能实时显示温度值。对键盘和显示模块有下面两种方案: 方案一:采用液晶显示屏和通用矩阵键盘。液晶显示屏(LCD)具有功耗小、轻薄短小无辐射危险,平面直角显示以及影象稳定不闪烁,可视面积大,画面效果好,抗干扰能力强等特点。但由于只需显示三位温度值,信息量比较少,且由于液晶是以
17、点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器资源占用较多,其成本也偏高。方案二:采用三位LED七段数码管分别显示温度的十位、个位和小数位。按键采用单列3按键进行温度设定。数码管具有:低能耗、低损耗、低压、寿命长、耐老化,对外界环境要求较低。同时数码管采用BCD编码显示数字,程序编译容易,资源占用较少。根据以上论述,采用方案二。本系统中,采用了数码管的动态显示,节省单片机的内部资源。1.2.2系统各模块的最终方案根据以上分析,结合器件和设备等因素,确定如下方案: 1. 采用AT89C52单片机作为控制器,分别对温度采集、LED显示、温度设定、加热装置功率控制。2. 温
18、度测量模块采用数字温度传感器DS18B20。此器件经软件设置可以实现高分辨率测量。 3. 电热丝有效功率控制采用继电器控制,实现电路简单实用,加上温度变化缓慢可以满足设计要求。4. 显示用LED数码管显示实时温度值,用ENTER、UP、DOWN三个单键实现温度值的设定。 OutputLED数码管继电器DS18B20键盘输入AT89C52Input图1.2.3 系统基本框图系统的基本框图如图1.2.3 所示。CPU(AT 89C52)首先写入命令给DS18B20,然后DS18B20开始转换数据,转换后通过89S52来处理数据。数据处理后的结果就显示到数码管上。另外由键盘设定温度值送到单片机,单片
19、机通过数据处理发出温度控制信息到继电器。DS18B20可以被编程,所以箭头是双向的。2硬件设计与实现2.1 水温控制设计及说明本系统是一个简单的单回路控制系统。为了实现温度的自动测量和控制,本系统采用了SPCE061A单片机作为系统的控制中心,由数据采集模块检测到的温度信号传入单片机,并根据接收到的数据进行处理和控制运算,同时将数据保存,以便与下一次采样值进行比较,通过软件对所测电压进行数字非线性校正,同时由显示器进行实时显示。根据系统程序控制,进行PID运算以及输出控制,最终由CPU控制加热回路SSR的通断,达到调功的目的。系统还提供了键盘设定模块及打印机接口,便于用户与系统之间的对话。系统
20、的硬件结构较简单,由若干个功能模块组成。键盘设定:用于温度设定,共三个按键。 数据采样:将由传感器及相关电路采集到的温度转为电压信号,送入SPCE061A相应接口中,经AD转换后,换算成温度值,用于播报和显示。 数据显示:采用了共阴极数码管LED5641A进行显示设置温度与测量温度。 串行口传输:将采样温度值,上传至PC机,以利用PC的图形处理功能来描绘曲线并打印。 继电器/热电炉:通过三极管控制继电器的开关来完成对热电炉的功率控制。语音播放:语音播放水温设置温度,并播报整数温度变化。2.1.1 设计的基本事项可以看到,整个系统的设计都离不开SPCE061A的输入/输出接口。在单片机中,I/O
21、口就是单片机与外设交换信息的主要通道。输入端口从外界接收检测的输入信号、键盘信号等各种开关量信号;输出端口向外部输出处理结果、显示信息、控制命令、驱动信号等。SPCE061A内部有并行和串行两种方式的I/O口。两个16位通用的并行I/O端口即A口和B口,这两个口的每一位都可通过编程单独定义为输入或输出口,通常对某一位的设定包括三个基本项:数据向量Data、2.1.2系统硬件模块关系本系统的执行方法是循环查询执行的,键盘扫描也是用循环查询的办法,由于本系统对实时性要求不是很高,所以没有用到中断方式来处理。2.2主要单元电路的设计2.2.1温度采集部分设计本系统采用半导体温度传感器作为敏感元件。传
22、感器我们采用了DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,直接输出数字量,可以直接和单片机进行通讯,大大简化了电路的复杂度。DS18B20应用广泛,性能可以满足题目的设计要求。(1)DSI8B20的测温功能的实现:其测温电路的实现是依靠单片机软件的编程上。 当DSI8B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的0,1字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0062 5LSB形式表示。温度值格式如表2.2.1所示,其中“S”为标志位,对应的温度计算:当符号位S=0时,直
23、接将二进制位转换为十进制;当S=1时,先将补码变换为原码,再计算十进制值。DSI8B20完成温度转换后,就把测得的温度值与 TH做比较,若TTH或T RoM操作命令 - 存储器操作命令- 处理数据 初始化 单总线上的所有处理均从初始化开始 ROM操作命令 总线主机检测到DSl820的存在便可以发出ROM操作命令之一这些命令如表2.2.2所示表2.2.2 ROM操作命令表指令代码Read ROM(读ROM)33HMatch ROM(匹配ROM)55HSkip ROM(跳过ROMCCHSearch ROM(搜索ROM)F0HAlarm search(告警搜索)ECH 存储器操作命令如表2.2.3所
24、示表2.2.3 存储器操作命令表指令代码Write Scratchpad(写暂存存储器)4EHRead Scratchpad(读暂存存储器)BEHCopy Scratchpad(复制暂存存储器)48HConvert Temperature(温度变换)44HRecall EPROM(重新调出)B8HRead Power supply(读电源)B4H(3)温度转换算法及分析由于DS18B20转换后的代码并不是实际的温度值,所以要进行计算转换。温度高字节(MS Byte)高5位是用来保存温度的正负(标志为S的bit11bit15),高字节(MS Byte)低3位和低字节来保存温度值(bit0 bit
25、10)。其中低字节(LS Byte)的低4位来保存温度的小数位(bit0 bit 3)。由于本程序采用的是0.0625的精度,小数部分的值,可以用后四位代表的实际数值乘以0.0625,得到真正的数值,数值可能带几个小数位,所以采取小数舍入,保留一位小数即可。也就说,本系统的温度精确到了0.1度。2.2.2加热控制部分由于本系统要控制电热丝加热,功率较大,因此要借助功率电路。在器件选择上留足余量,增加安全性。加热部分采用继电器控制,电路简单可靠。当实测温度低于设定值时,由单片机输出高电平信号。三极管9014导通,继电器开始工作对水加温。为了防止继电器频繁动作。在软件中对水温测量精确到0.1,而在
26、温度设定时只取整数。可以有1的余量。2.2.3键盘、显示、控制器部分本设计中采用动态显示方式驱动3个七段数码管,分别显示温度的十位、个位和小数位。数码管采用共阴极,由于AT89C52单片机每个I/O的拉电流只有12mA。所以在位码和段码都加上了同相驱动器。键盘采用按键开关经上拉电阻分别接P1.0、P1.1、P1.2口上,起到控制、上调和下调作用。每按上调和下调键,设定温度值增1减1。单片机XTAL2、XTAL1接12MHZj晶振,提供系统时钟基值。另RESET接复位按键。原理图如图2.2.4所示。3系统软件设计系统的软件设计采用汇编语言,对单片机进行变成实现各项功能。主程序对模块进行初始化,而
27、后调用读温度、处理温度、显示、键盘、和继电器各模块。用的是循环查询方式,来显示和控制温度。3.1 读取DS18B20温度模块子程序每次对DA18B20操作时多要按造DS18B20工作过程中的协议进行。初始化- RoM操作命令- 存储器操作命令- 处理数据 3.2数据处理子程序由于DS18B20转换后的代码并不是实际的温度值,所以要进行数据处理。由于本程序采用的是0.0625的精度,小数部分的值,可以用后四位代表的实际数值乘以0.0625,得到真正的数值,数值可能带几个小数位,所以采取四舍五入,保留一位小数即可。也就说,本系统的温度精确到了0.1度。首先程序判断温度是否是零下,如果是,则DS18
28、B20保存的是温度的补码值,需要对其低8位(LS Byte)取反加一变成原码。处理过后把DS18B20的温度Copy到单片机的RAM中,里面已经是温度值的Hex码了,然后转换Hex码到BCD码,分别把小数位,个位,十位的BCD码存入RAM中。数据处理子程序流程图如图3.2.1所示。返回数据传递温度是否为负?BCD码转换求补运算图3.2.1数据处理子程序流程图3.3键盘扫描子程序按键功能: 1. Enter P1.0(k2)控制键2.Up P1.1(k3)加1键3. Down P1.2(k4)减1键键盘子程序流程图如图3.3.1所示。开始ENTER_FLAG为1?ENTER键是否按下?是否有EN
29、TER键按下?是否有UP键按下?是否有DOWN键按下?DISPLAY显示返回主程序ENTER子程序FLAG=1UP子程序DOWN子程序是是是是是否否否否否图3.3.1键盘子程序流程图3.4主程序流程图总模块流程图如图3.1.1所示。本软件设计采用循环查询来处理各个模块,温度是缓慢变化量所以可以满足性能要求。图3.1.1所示为系统主程序流程图否初始化开始调用A/D转换子程序DS18B20存在?数据处理子程序显示子程序键盘扫描子程序继电器控制子程序错误处理显示888是图3.1.1主程序流程图4. 系统测试4.1 静态温度测试测试方式:由于种种条件的限制,采用模拟加热方式进行测试。利用继电器的指示灯
30、来显示继电器的动作。红灯表示加热,绿灯表示降温。测量仪器:空调温度显示屏测试结果如表4.1.1所示:表4.1.1 测试结果数据标准温度/2022252728测量温度/19.822.124.726.827.6误差/0.20.10.30.20.44.2动态温控测量测试方式:加热方式用体温对传感器DS18B20进行加热。设定控制温度,记录超调温度,稳态误差。超调温度与加热的功率有关,这里不再测量。测量仪器:空调温度显示屏测量结果如表4.2.1所示:表4.2.1 测试结果数据设定温度/29303335超调温度/1.30.91.10.6稳态误差/0.20.40.20.44.3结果分析有以上的测量结果可见
31、,系统基本上达到了所要求的指标,静态测温的精度主要由DS18B20来决定。在控温指标中,影响系统的性能的因素很多。最关键的是加热系统本身的物理性质及控制算法。由于条件的限制,在本设计中采用体温进行测试。 参考文献1单片机应用开发实用子程序. 边春元等 编著. 人民邮电出版社. 2005,1251282水温控制系统. 娄建忠等 河北大学学报 2001,(04)3全国大学生电 设计大赛培训系列教程. 高吉祥 主编.电子工业出版社.2007,2132254单片微型计算机原理及应用. 张毅坤等 编著. 西安电子科技大学出版社.1998,15195水温控制系统的逻辑规则控制研究 .林伟等 编著. 机械工
32、业出版社 .2006,487495致 谢本课题在选题及研究过程中得到赵老师的悉心指导。赵老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。赵老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,虽历时三载,却终生受益,对赵老师的感激之情是无法用言语表达的。同时感谢孙中阳老师、罗飙老师、冯艳平老师、阎生辉老师等对我的教育培养。他们细心指导我的学习与研究,在此,我要向诸位老师深深地鞠上一躬!在此也感谢应电二班全体同学这三年来给予我的帮助!目 录第一章 总 论1一、项目提要1二、可行性研究报告编制依据2三、综合评价和论证结论3四、存在问题与建议4
33、第二章 项目背景及必要性5一、项目建设背景5二、项目区农业产业化经营发展现状11三、项目建设的必要性及目的意义12第三章 建设条件15一、项目区概况15二、项目实施的有利条件17第四章 建设单位基本情况19一、建设单位概况19二、研发能力20三、财务状况20第五章 市场分析与销售方案21一、市场分析21二、产品生产及销售方案22三、销售策略及营销模式22四、销售队伍和销售网络建设23第六章 项目建设方案24一、建设任务和规模24二、项目规划和布局24三、生产技术方案与工艺流程25四、项目建设标准和具体建设内容26五、项目实施进度安排27第七章 投资估算和资金筹措28一、投资估算依据28二、项目建设投资估算28三、资金来源29四、年度投资与资金偿还计划29第八章 财务评价30一、财务评价的原则30二、主要参数的选择30三、财务估算31四、盈利能力分析32五、不确定性分析33六、财务评价结论34第九章 环境影响评价35一、环境影响35二、环境保护与治理措施35三、环保部门意见36第十章 农业产业化经营与农民增收效果评价37一、产业化经营37二、农民增收38三、其它社会影响38第十一章 项目组织与管理40一、组织机构与职能划分40二、项目经营管理模式42三、技术培训42四、劳动保护与安全卫生43第十二章 可行性研究结论与建议46一、可行性研究结论46二、建议47