水温控制系统毕业设计_第1页
水温控制系统毕业设计_第2页
水温控制系统毕业设计_第3页
水温控制系统毕业设计_第4页
水温控制系统毕业设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业生毕业设计 学生姓名: 学生学号: 专 业: 计算机应用技术 系 别: 指导教师: 指导系部: 年 月 日 水温控制系统水温控制系统 专业:计算机系计算机应用 班级:班 姓名: 指导教师: 摘要摘要: 该系统由液晶屏显示模块,键盘控制模块,水温测控模块,继电器模块和报警模块组 成。采用单片机 easyarm1138 进行温度的实时采集与控制,其中温度信号由“一线总线”数 字化温度传感器 ds18b20 提供,温度的设定范围为 4090,最小区分度为 0.02。利 用继电器控制电热丝进行升降温,以达到实时控制温度的目的。该系统具备较高的测量精 度和控制精度,能够准确地完成温度的升降控制。 a

2、bstract: the system consists of liquid crystal display module, keyboard module, temperature measurement and control module, relay module and alarm module. single-chip easyarm1138 for real-time acquisition and control temperature, which temperature signal from the bus line to provide digital temperat

3、ure sensor ds18b20 temperature setting range is 40 90 , minimum differentiation is 0.02 . using of the relay control wire for electric heating and cooling, in order to achieve real-time control of temperature. the system has high precision and control accuracy, the ability to accurately complete con

4、trol of the temperature rise and fall. 关键词关键词: easyarm1138、ds18b20、水温实时控制 keywords: easyarm1138、ds18b20、the water temperature real-time control system 目目 录录 1 引言 .1 2 方案论证与设计 .2 2.1 测量部分 .2 2.2 驱动控制部分 .2 2.3 温度加热部分 .3 3 原理分析与硬件电路图 .3 3.1 主板的设计与制作 .3 3.2 继电器 .4 3.3 i2c 电路图 .4 4 软件设计与流程 .5 4.1 程序结构图 .

5、5 4.2 中断流程图 .6 4.3 程序 .6 5 系统测试与误差分析 .11 5.1 测试结果 .11 5.2 误差分析 .11 毕业设计总结 .12 参考文献 .12 1 引言引言 单片机自问世以来,性能不断提高和完善,同时又能满足很多应用场合的 需要,加之单片机具有集成度高、功能强、体积小、功耗低、使用方便、价格 低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、 高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片 危机应用系统。单片机的潜力越来越被人们所重视。 随着微控制器开发技术的快速发展及其在各个领域的广泛应用,人们对电 子产品的小型化和智能

6、化要求越来越高,作为高新技术之一的单片机以其体积 小,价格低,适用范围大以及本身的指令系统等诸多优势,在各个领域,各个 行业都得到了广泛的应用。 单片机在很多的电子产品中用到温度检测和温度控制。随着温度控制器应 用范围的日益广泛和多样性,各种适用于不同场合的智能温度控制器应运而生。 在科研、生产和家庭中,常需要对某些系统进行温度的监测和控制。 在工业生产中温度、压力、流量和液位是四种常用的物理量,其中温度是 一个非常重要的过程变量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅 烧、蒸馏、浓度、挤压成形,结晶以及空气流动等物理和化学过程。温度控制 在工业领域应用非常广泛,由于其具有影响因素多、参

7、数多变、运行惯性大、 控制滞后等特点,它对控制调节器要求较高。需检测和控制的温度系统一旦确定, 其热惯性大小和散热等各项硬件条件就确定了。温度控制不好就可能引起生产 安全,产品质量和产量等一系列问题。 下面介绍如何用单片机实现系统温度的自动控制。用这种方法控温,使整 个系统灵活、可靠性高,系统达到热平衡较快,精度也比较高,融合了前面列 举方法的优点,而且更加简单方便。此方案电路简单并且可以满足题目中的各 项要求的精度。基于单片机的水温自动控制系统是以单片机为核心来实现对水 温度的控制,用户可以根据需求进行设置。 该水温控制系统实现了用液晶显示屏代替了数码管,使该设计更具人性化。 采用比例控制方

8、法,当设定温度突变(由 40提高到 60)时,减小系统的 调节时间和超调量。该系统灵活性强,易于操作,可靠性高,将会有更广阔的 开发前景。 2 方案论证与设计方案论证与设计 本论文是设计一个水温控制系统,对象为 1 升净水,加热器为 400 瓦电热 炉。要求能在 40 摄氏度至 90 摄氏度范围内设定控制水温,水温可以在一定范 围内由人工设定,并能在环境温度变化时实现自动调整,以保持设定温度基本 不变。静态控制精度为 0.2 摄氏度。并具有较好的快速性与较小的超调,以及 十进制数码管显示、温度曲线打印、语音播报温度等功能。 2.1 测量部分测量部分 方案一: 采用热敏电阻,可满足 40 摄氏度

9、至 90 摄氏度测量范围,但热敏电阻精度、 重复性、可靠性较差,对于检测小于 1 摄氏度的信号是不适用的。 方案二: 采用温度传感器 ds18b20,dsl8b20 数字温度计提供 9 位(二进制)温度 读数指示器件的温度信息经过单线接口送入 dsl8b20 或从 dsl8b20 送出,因此 从主机 cpu 到 dsl8b20 仅需一条线(和地线)。dsl820 的电源可以由数据线 本身提供而不需要外部电源。温度敏感器件 dsl8b20 的测量范围从-55到 +125,增量值为 0.5,可在 l s(典型值)内把温度变换成数字。 通过对比,dsl8b20 数字温度传感器能够满足我们对水温的精确

10、控制,因 此,本文采用方案二。 2.2 驱动控制部分驱动控制部分 方案一: 此方案采用 89c51 单片机实现,单片机软件编程自由度大,可用编程实现 各种控制算法和逻辑控制,但是 89c51 需外接模数转换器来满足数据采样,对 外围电路来说,比较复杂,且软件实现也较麻烦。此外,51 单片机需要用仿真 器来实现软硬件调试,较为繁琐。 方案二: 此方案采用 easy arm1138 单片机实现,该单片机具有强大的 mcu 内核, 丰富的外设资源,内嵌 usb 接口的下载仿真器,外围电路设计简明,调试时无 需任何连线和跳线,操作极为方便。并且该单片机内置四个 32 位 timer,2 路 i2c,支

11、持 100kbps 标准模式、400kbps 快速模式,内置看门狗定时器 (watchdog timer) ,确保芯片可靠运行。 通过对比,easy arm1138 单片机克服了外围电路比较麻烦的缺陷,避免 了仿真器的使用,而且功能多样化,综合各方面因素,本文采用方案二。 2.3 温度加热部分温度加热部分 方案一: 单纯控制加热器工作,利用单片机单纯控制加热器不利用对温度的控制, 包括延迟时间,加热时间等等造成了实验精度低,不利于控制。 方案二: 采用闭环控制,如图 1 所示。 图图 1 闭环控制图闭环控制图 实现闭环控制的核心是利用 pid 算法中的比例调节。比例调节作用:是按 比例反应系统

12、的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以 减少偏差。 具体用一实例进行说明,设 p(当前)为当前温度下的功率,p0为电热炉 功率,则: t目标 t 当前 18.0 t目标 t当前 = 18.0 p = p0 p=(t目标 t当前) * 10ms / (270-t 目标)ms * 100% * p0 通过对比,方案二实验精度高且利于控制,因此采用方案二。 3 原理分析与硬件电路图原理分析与硬件电路图 3.1 主板的设计与制作主板的设计与制作 系统主板硬件采用以 easy arm1138 单片机为核心,配以 12m 赫兹晶振, 复位电路,液晶屏显示接口通过单片机的 pf 口实现。所

13、有元件设计成主板, 将此主板作为单片机最小系统。 easy arm1138 是美国 arm 公司推出的一种新型单片多位芯片,本文之 所以采用这款芯片,是因为其具有精度高、抗干扰能力强、成本低、工作温度 宽、噪声低、功耗低等特点。 3.2 继电器继电器 本系统中,固态继电器电路图,如下图 2 所示。 图图 2 固态继电器电路图固态继电器电路图 3.3 i2c 电路图电路图 i2c 是同步通信的一种特殊形式,具有接口线少,控制方便简化,器件封 装形式小,通信速率较高等优点。在主从通信中,可以有多个 i2c 总线器件同 时接到 i2c 总线上,所有 i2c 兼容的器件都具有标准的接口,通过地址来识别

14、 通信对象,使它们可以经由 i2c 总线互相直接通信。i2c 电路图,如下图 3 所示。 图图 3 i2c 电路图电路图 4 软件设计与流程软件设计与流程 4.1 程序结构图程序结构图 vcc x1 32768hz c7 12p vcc c6 0.1f/6v d1 4148 scl sda scl sda 0 xa2 osci 1 osco 2 /int 3 vss 4 sda 5 scl 6 clkout 7 vdd 8 u4 pcf8563 0 xa0 a0 1 a1 2 nc 3 vss 4 sda 5 scl 6 wp 7 vdd 8 u5 at24c256 程序结构 读取 时间 键盘

15、 扫描 液晶 显示 屏 键值 处理 ad 采样及上传 获得当前温度 图图 4 程序结构图程序结构图 4.2 中断流程图中断流程图 当系统发生中断时,通过 pid 计算后,由继电器进行控制,以达到较为满 意的控制结果。中断流程图,如图 5 所示. 图图 5 模块流程图模块流程图 4.3 程序程序 整个系统实现功能的程序,具体如下,本程序实现的功能较全面,比如: 相比以前的控制温度函数解决了显示不了百位,不能直接显示负号等。 #include #include #include #include #define uint unsigned int #define uchar unsigned ch

16、ar uchar code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07, 0 x7f,0 x6f,0 x40; void display(uchar , uchar ,uchar ,uchar ); void delay_led(uint z); void init_led(); uchar wei_3,v,wei_4,wei_5,wei_6,fwd,flag; int shuju,a; /得到的温度值 uchar temp2=0,0; /存放 ds18b20 的温度寄存器值 uint value = 0; sbit dq=p10

17、; /数据线 继电器控制 中断来临 pid 计算 sbit key=p11; /被控开关 sbit key1=p34; /温度加 sbit key2=p35; /温度减 sbit d1=p12; sbit we1=p14; sbit we2=p15; sbit we3=p16; sbit we4=p17; void ow_reset(void); void tmstart (void); void read_temperature(void); void write_byte(char); uint read_byte(void); void delay_18b20(uint); /*主函数*

18、/ void main() init_led();/初始化子程序 tmstart ();/18b20 初始化 delay_18b20(50); /*等待转换结束*/ while(1) read_temperature(); delay_18b20(50); tmstart(); delay_18b20(50); /*等待转换结束*/ if(fwd=0) /当温度为正值时 if(shujua+5) key=0; if(shujua) if(shujuabs(a)+5) key=1; if(shuju0;x-) for(y=110;y0;y-); /*led 初始化函数*/ void init_l

19、ed() key=1; fwd=0; a=40; ea=1; /开总中断 ex1=1; /开中断 1 it1=1; /选择中断方式为下降沿触发 /*显示函数*/ void display(uchar wei_3, uchar wei_4,uchar wei_5,uchar wei_6) wei_3=shuju/1000%100%10; wei_4=shuju/100%1000%100%10; wei_5=shuju/10%10000%1000%100%10; wei_6=shuju/1%100000%10000%1000%100%10; if (fwd=1)/ wei_3=10; p0=tab

20、lewei_3; we1=0; delay_led(5); we1=1; p0=tablewei_4; we2=0; delay_led(5); we2=1; p0=tablewei_5+0 x80; we3=0; delay_led(5); we3=1; p0=tablewei_6; we4=0; delay_led(5); we4=1; void delay_18b20(uint seconds) /延时 for(;seconds0;seconds-); void ow_reset(void) uchar presence; dq = 0; delay_18b20(44); dq = 1;

21、 delay_18b20(3); presence = dq; delay_18b20(12); uint read_byte(void) uchar i; for (i=8;i0;i-) value=1; dq = 0; _nop_();_nop_();_nop_();_nop_(); dq = 1; if(dq) value|=0 x80; delay_18b20(4); return(value); void write_byte(char val) uchar i,j; for (i=8; i0; i-) dq = 0; j+; dq = val delay_18b20(8); dq

22、= 1; j+; val=1; /=读取温度= void read_temperature(void) uint k,i; int temple; ow_reset(); k+; write_byte(0 xcc); k+; write_byte(0 xbe); k+;k+; temp0=read_byte(); /读取低字节 temp1=read_byte(); /读取高字节 i=temp1; i6348) temple=65536-i; /如果为负温则去除其补码 fwd=1; else temple=i; fwd=0; shuju=temple*10/16; 5 系统测试与误差分析系统测试与误差分析 5.1 测试结果测试结果 测试方式:采用加热方式,通过读取液晶屏数据和实际测量值。 灯亮表 示加热,灯灭表示加热停止。对本系统测试的结果,如表 1 所示。 表表 1 系统测试结果图系统测

温馨提示

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

评论

0/150

提交评论