1、 学科代码:080601 学 号:101401010078 贵 州 师 范 大 学(本 科)毕 业 论 文题 目:恒温箱自动控制系统 学 院:机械与电气工程学院专 业:电气工程及其自动化年 级:2010 级姓 名: 周康指导教师: 吴志坚(讲师)完成时间:2014 年 5 月 5 日恒温箱自动控制系统设计摘要 恒温箱主要是用来控制温度,它为农业研究、生物技术测试提供所需要的各种环境模拟条件,因此可广泛适用于药物、纺织、食品加工等无菌试验、稳定性检查以及工业产品的原料性能、产品包装、产品寿命等测试。恒温箱供科研机关及医院作细菌培养之用;也可以作育种、发酵以及大型养殖孵化等用途。 恒温箱控制系统能
2、够自动温度控制、人工干预温度控制、远程温度控制等多功能的高性能装置。可以形成规模化和产业化,大范围的应用到现代化工业生产。 本论文结合工厂中如何实现恒温箱控制,讨论大多数工业生产情况下对恒温箱中的温度进行有效控制的方法。因此采用以单片机为基础的恒温箱控制系统,单片机系统包括 89C52 处理器、扩展存储器 27512 及 6264,并行接口芯片8255、8253、ADC0809、8279、掉电保护和复位以及看门狗电路等。具体方法是使用铂锗-铂热电偶进行温度数据采集,经过放大和滤波电路进行 A/D 转换,转换后的值再根据标准分度表转换成温度值,同时显示出来。并且通过 CAN 总线传输控制参数关键
3、词: 单片机、恒温箱、 热电偶、 CAN 总线AbstractThe thermostat is mainly used to control temperature. It can provide many kinds of simulated conditions which are needed for agricultural research and biological technology tests.So the thermostat is widely used for the sterility testing of medicine,textile industry,fo
4、od processing, and stability check and all tests on industrial product,including the material properties of products,product packaging and product life.The thermostat can supply scientific research institutions and hospitals with germiculture.In addition,the thermostat can be used for breeding,ferme
5、ntation and large scale breeding incubator.The thermostat is a high performance device with many functions,which can automatically control temperature,conduct manual intervention and remotely control temperature and can form scale and industrialization and be widely brought in the modernization of i
6、ndustrial production.The paper explains how the thermostat realizes temperature control in factories and discusses the ways in which the factories effectively control the temperature of the thermostat in industrial production.The paper takes the 恒温箱自动控制系统设计thermostat based on single chip microcomput
7、er as an example.Single chip microcomputer system consists of the 89C52 processor ,the Extended memory 27512 and 6264 ,Parallel interface chip 8255, 8253, 8279 and ADC0809, Power-fail protection and reset and watchdog circuit.The specific method is using PT ge - Platinum thermocouple to collect data
8、 on temperature, then amplifying and filtering the circuit to converse A/D,then according to the standard indexing table,converting the conversion value to the temperature value and showing the two values,the conversion value and the temperature value.Finally conveying the controlling parameter by t
9、he CAN bus transmission.Key words:Single chip microcomputer, Thermostat, Thermocouples, The CAN bus引言 温度控制是工业生产过程中经常遇到的过程控制,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用,其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也
10、不同。因而,对温度的测控方法多种多样。随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。然而现有的温度传感元件大多为模拟器件(热电耦)体积大、应用复杂、而且不容易实现数字化等缺点,阻碍了应用领域的扩展。本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件 DS18B20 作为温度采集器,单片机STC89C52 作为主控芯片,液晶显示屏作为显示输出,实现了对温度的实时测量与恒定控制。恒温箱自动控制系统设计目录:1 系统方案 11.1恒温箱控制系统设计任务和要求
11、11.2恒温箱控制系统部分 21.3温度控制系统算法分析 22 系统硬件设计 52.1总体设计框图及说明 62.2各个子模块设计 72.2.1 CPU 的选择 72.2.2 温度采集电路 82.2.3 温度控制电路设 计102.2.4 LCD 显示电路 122.2.5 报警电路 133 系统软件设计133.1 程序框架结构 143.2 程序流程图及部分程序 143.2.1 主程序模块 143.2.2 LCD 显示程序 153.2.3 DS18B20 采集温度程序 183.2.4 PID 计算程序 203.2.5 继电器控制程序 214 结论与心得体 会235 参考文献 246 致谢 247 附
12、录 系统源程序 25恒温箱自动控制系统设计11 系统方案1.1 恒温箱控制系统设计任务和要求该系统为一实验系统,系统设计任务如下:设计一个恒温箱自动控制系统,控制对象为一玻璃钢的一部分。箱内温度可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持特定的温度不变。系统设计具体要求:温度设定范围为 30-50 摄氏度;环境温度降低是控制恒温箱温度误差小于 0.5 摄氏度;采用适当的方法,使得温度在一定范围内才进行控制,大于某一范围直接加热或者不加热,减小系统的调节时间;采用适当方法减少系统的超调量;用 LCD1602 显示温度与时间。1.2 恒温箱控制系统部分温度控制系统是一个过程
13、控制系统,组成框图如图 1 所示,由控制器、执行器、被控对象其反馈作用的测量组成。控制器 执行器 被控对象测量输入 输出图 1 计算机控制系统框图恒温箱自动控制系统设计2本系统中 CPU 选择为单片机,执行器为继电器,控制加热片通断,检测装置为温度传感器采集温度并反馈给单片机。另外还有显示部分以及报警部分(硬件的具体选择与应用我会在第二章做具体说明),总体框图如下(图 2)图 2 温控箱控制系统总体框图1.3 温度控制系统的算法分析系统算法控制采用工业上常用的位置型 PID 数字控制,并且结合特定的系统加以算法的改进,形成了开关量控制积分分离 PID 控制相结合的自动识别的控制算法。该方法不仅
14、减小了超调量,而且有效地克服了积分饱和的影响,使控制精度提高。长期以来国内外科技工作者对温度控制器进行了广泛深入的研究,产生了大批温度控制器,如性能成熟应用广泛的 PID 调节器、智能控制PID 调节器、自适应控制等。目前在过程控制中应用较多的还是 PI 控制算法、PD 控制算法和 PID 控制算法。温度控制系统的控制对象具有热储存能力大,惯性也较大的特点,空气的流动或加热片热量传递都存在一定的阻力,因而可以归于具有纯滞后的一阶大惯性环节。对于大惯性系统的过渡过程控制,一般可采用以下几种控制方案:比例控制(P 控制) 恒温箱自动控制系统设计3ty图 4 比例控制比例控制的输出与偏差成比例关系,
15、当负荷变化时,抗干扰能力强,过渡过程时间短,但过程终了存在余差;适用于控制通道滞后较小、负荷变化不大、允许被控量在一定范围内变化的系统。如图 4 所示。比例积分控制(PI 控制) 控制器的输出与偏差的积分成比例,积分的作用使过渡过程结束时无余差,但降低了系统的稳定性;PI 控制适用于滞后较小,负荷变化不大,被控量不允许有余差的控制系统。如图 5 所示。ty图 5 PI 控制 恒温箱自动控制系统设计4ty图 6 PID 控制比例积分加微分控制(PID 控制) 微分的作用是使控制器的输出与偏差变化的速度成比例,它对克服对象的容量滞后有显著的效果;在比例基础上加入微分作用,使稳定性提高,再加上积分作
16、用,可以消除余差;PID 控制适用于负荷变化大、容量滞后较大、控制品质要求又很高的控制系统。如图 6 所示。由图 7 可知 PID 调节器是一种线性调节器,这种调节器是将设定值 w 与实际输出值 y 进行比较构成偏差we并将其比例、积分、微分通过线性组合构成控制量。其动态方程为:dteKtteKtuip)()()(其中 -为调节器的比例放大系数-为积分时间常数i-为微分时间常数dKPID 调节器的离散化表达式为;恒温箱自动控制系统设计5)1()()( keTKkekudip其增量表达形式为: )1()(kuk其中 T 为采)2()1(2)/( kekeTKeeKdip样周图 7 PID 调节器
17、可见温度 PID 调节器有三个可设定参数,即比例放大系数 、积分时间常pK数 、微分时间常数 。iKdK比例调节的作用是使调节过程趋于稳定,但会产生稳态误差;积分作用可消除被调量的稳态误差,但可能会使系统振荡甚至使系统不稳定;微分作用能有效的减小动态偏差。通过以上分析,结合温度系统的特性,该系统选择位置式 PID,并用开关量控制积分分离 PID 相结合的改进算法进行系统的调节与控制。选择 PID参数是使得系统满足精度要求的关键。2 系统硬件设计2.1 总体设计框图及说明恒温箱自动控制系统设计6本系统是一个简单的单回路控制系统。为了实现温度的自动测量和控制,根据系统总体方案,系统由单片机基本系统
18、、前向通道、反馈通道和人机对话通道等 4 个主要的功能模块组成,总体框图如上面图 2 所示。单片机系统是整个控制系统的核心,STC89C52 可以提供系统控制所需的I/O 口、中断、定时及存放中间结果的 RAM 电路;前向通道是控制执行的通道,主要包括光耦、继电器、加热管;反馈通道由 DS18b20 构成,采集当前实际的温度。数据采集:运用 DS18b20 数字温度传感器采集当前温度并反馈给 CPU 进行处理,用于控制和显示。数据显示:运用 LCD1602 字符型液晶显示屏显示设定温度、实际温度以及当前的时间。执行机构:通过三极管控制继电器来完成对加热管的控制,为防止强电弱电相互影响,在单片机
19、与继电器之间加入 TLP521-1 光电耦合器进行强电弱电的隔离。系统总体仿真图如图 8图 8 恒温箱温度控制系统图2.2 各个子模块设计恒温箱自动控制系统设计72.2.1 CPU 的选择单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU 随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。其使用起来十分简单灵活方便,因此选择单片机作为 CPU。本系统选择自己较为熟悉的 STC89C52 单片机作为 CPU。如图 9 所示。图 9 STC89C52 封装图STC89C5
20、2 是一个低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器(RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,STC89C52 单片机在电子行业中有着广泛的应用。主 要 功 能 特 性 :1、兼容 MCS51 指令系统 2、8k 可反复擦写(大于 1000 次)Flash ROM; 3、32 个双向 I/O 口; 4、256x8bit 内部 RAM; 恒温箱自动控制系统设计85、3 个
21、16 位可编程定时/计数器中断; 6、时钟频率 0-24MHz; 7、2 个串行中断,可编程 UART 串行通道; 8、2 个外部中断源,共 8 个中断源; 9、2 个读写中断口线,3 级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有 PDIP、PQFP、TQFP 及 PLCC 等几种封装形式,以适应不同产品的需求。其最小系统连接如图 10图 10 89C52 最小系统连接图(其中晶振连接 18、19 两脚)2.2.2 温度采集电路本系统采用 DS18b20 数字温度传感器进行当前温度的采集。DS18b20 是一片支持“一线总线”借口的温度传感器,体积小,不占单片机过
22、多的 IO 口,经济灵活,实物如图 11(图 12 为实际应用的带探头的温度传感器)恒温箱自动控制系统设计9图 11 DS18b20 芯片 图 12 实际应用的带探头的 DS18b20技术性能描述: 、 独 特 的 单 线 接 口 方 式 , DS18B20 在 与 微 处 理 器 连 接 时仅 需 要 一 条 口 线 即 可 实 现 微 处 理 器 与 DS18B20 的 双 向 通 讯 。 、 测 温 范 围 55 +125 , 固 有 测 温 分 辨 率 0.5 。 、 支 持 多 点 组 网 功 能 , 多 个 DS18B20 可 以 并 联 在 唯 一 的 三 线 上 , 最多 只
23、能 并 联 8 个 , 实 现 多 点 测 温 , 如 果 数 量 过 多 , 会 使 供 电 电 源 电 压 过 低 ,从 而 造 成 信 号 传 输 的 不 稳 定 。 、 工 作 电 源 : 35V/DC 、 在 使 用 中 不 需 要 任 何 外 围 元 件 、 测 量 结 果 以 912 位 数 字 量 方 式 串 行 传 送 、 不 锈 钢 保 护 管 直 径 6 图 13 是 DS18b20 的 仿 真 部 分 :图 13 DS18b20 与单片机连接图可见该数字传感器用起来十分方便,仅需要一根口线与单片机相连,数据线与电源之间一般接 4K7 的电阻,保证 DQ 在空闲时为高电平
24、(DS18B20 数据线是恒温箱自动控制系统设计10漏级开路结构,在没有数据的时候,总线状态不确定.加一个上拉电阻就可以使总线在空闲的时候处于高电平状态.)2.2.3 温度控制电路设计此部分通过控制继电器的通断从而控制加热片,采用对加在电热管两端的电压进行通断的方法进行控制,以实现对恒温箱中空气加热功率的调整,从而达到对温度控制的目的,即在闭环控制系统中对被控对象实施控制。继电器选则松乐 SRD-05VDC-SL-C 继电器。另外,为了防止强电对弱电的影响,我在继电器与单片机之间加了 TLP5211 进行隔离。继电器是一种电控制器件。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之
25、间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。如图 14 所示图 14 继电器原理图 图 15 实际应用的继电器只 要 在 线 圈 两 端 加 上 一 定 的 电 压 , 线 圈 中 就 会 流 过 一 定 的 电 流 , 从 而 产生 电 磁 效 应 , 衔 铁 就 会 在 电 磁 力 吸 引 的 作 用 下 克 服 返 回 弹 簧 的 拉 力 吸 向 铁 芯 ,从 而 带 动 衔 铁 的 动 触 点 与 静 触 点 ( 常 开 触 点 ) 吸 合 。 当 线 圈 断 电 后 , 电 磁 的
26、吸 力 也 随 之 消 失 , 衔 铁 就 会 在 弹 簧 的 反 作 用 力 返 回 原 来 的 位 置 , 使 动 触 点 与原 来 的 静 触 点 ( 常 闭 触 点 ) 释 放 。 这 样 吸 合 、 释 放 , 从 而 达 到 了 在 电 路 中 的导 通 、 切 断 的 目 的 。本 系 统 采 用 松 乐 5V 直 流 继 电 器 。 该 继 电 器 为 无 极 性 电 磁 继 电 器 , 吸 合电 压 为 5V, 最 低 为 3.75V, 吸 合 额 定 电 流 为 71.2mA,落 下 电 压 为 0.5V。光 电 耦 合 器 是 以 光 为 媒 介 传 输 电 信 号 的
27、一 种 电 一 光 一 电 转 换 器 件 。 它由 发 光 源 和 受 光 器 两 部 分 组 成 。 把 发 光 源 和 受 光 器 组 装 在 同 一 密 闭 的 壳 体 内 ,恒温箱自动控制系统设计11彼 此 间 用 透 明 绝 缘 体 隔 离 。 发 光 源 的 引 脚 为 输 入 端 , 受 光 器 的 引 脚 为 输 出端 。 在 光 电 耦 合 器 输 入 端 加 电 信 号 使 发 光 源 发 光 , 光 的 强 度 取 决 于 激 励 电 流的 大 小 , 此 光 照 射 到 封 装 在 一 起 的 受 光 器 上 后 , 因 光 电 效 应 而 产 生 光 电 流 ,由
28、受 光 器 输 出 端 引 出 , 这 样 就 实 现 了 电 一 光 一 电 的 转 换 。 内 部 电 路 如 图 16本系统采用 TLP5211 光耦。其封装如图 16图 16 TLP5211以下为光耦使用参数温度控制电路图如图 17恒温箱自动控制系统设计12图 17 温度控制电路图三极管作为继电器的驱动电路,二极管的作用是保护驱动继电器的三极管,避免三极管由导通变为截止时继电器产生的自感电动势使得三极管击穿。2.2.5 LCD 显示电路本系统采用 LCD1602 显示温度值与时间。如图 20 所示。图 20 LCD1602 图 21 LCD 与单片机连接图1602 液晶也叫 1602
29、字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一个字符。恒温箱自动控制系统设计131602LCD 主要技术参数:显示容量:162 个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm1602 液晶显示模块可以和单片机 STC89C52 直接接口,电路如图 21 所示。2.2.6 报警电路本系统采用简易的报警电路进行报警,仿真图如图 22 所示:图 22 报警电路图设计思想为当预设温度不在所期望的范围(3050 度)内,则蜂
30、鸣器发出警报,若实际温度大于 50 度则亮红灯进行提醒,若实际温度小于 30 度则亮黄灯进行提醒。3 系统软件设计3.1 程序框架结构恒温箱自动控制系统设计14一个整体的系统软件设计是由各个在系统里起着不同作用的模块整合在一起,从而实现系统的所要实现的功能。本系统包括主控制程序,键盘扫描程序,温度采集程序,时间显示与调整程序,PID 算法程序,LCD 显示程序。结构框架图如图 23 所示。图 23 系统程序框架主程序模块相当于调度室,对子程序模块的调用进行管理,它主要负责初始化 IO 口;等待键盘的被按下,并调用相应的模块进行处理;显示温度控制过程及时间;在适当的时候通过 DS18b20 检测
31、实际温度,并与所设定的值进行比较,判断报警并通过调用 PID 算法处理数据,处理后来控制继电器的通断,从而控制热电管达到控制温度的目的。3.2 程序流程图及部分程序3.2.1 主程序模块由于模块化程序的设计,通过调用程序即可实现所用功能,主程序流程图如图 24 所示。恒温箱自动控制系统设计15图 24 主程序流程图 主程序见附件一。由以上程序可以看出,调用程序前即系统运行首要先对系统进行初始化。然后对按键进行扫描,然后读取当前温度进行计算并显示,计算是否报警以及是否进行 PID 计算,最终控制继电器的工作。3.2.3 LCD 显示程序程序显示要根据芯片的时序图编写恒温箱自动控制系统设计16图
32、26 主要接口说明图 27 基本操作时序图图 28 状态字说明图 29 RAM 地址映射图恒温箱自动控制系统设计17图 30 显示模式设置图 31 显示开关及光标设置图 32 数据指针设置图 33 读操作时序恒温箱自动控制系统设计18图 44 写操作时序由于 LCD1602 比较常用,编程序是按照时序写入即可,这里不再赘述。LCD 显示程序见附件一.3.2.4 DS18b20 采集温度程序DS18b20 数字温度传感器对时序的要求十分严格,延时大多是 us 级的,因此该子程序中的延时程序需要区别于 LCD 显示的延时程序。DS18B20 有 六 条 控 制 命 令 :温 度 转 换 44H 启
33、 动 DS18B20 进 行 温 度 转 换 读 暂 存 器 BEH 读 暂 存 器 9 位 二 进 制 数 字 写 暂 存 器 4EH 将 数 据 写 入 暂 存 器 的 TH、 TL 字 节 复 制 暂 存 器 48H 把 暂 存 器 的 TH、 TL 字 节 写 到 E2RAM 中 重 新 调 E2RAM B8H 把 E2RAM 中 的 TH、 TL 字 节 写 到 暂 存 器 TH、 TL 字节 读 电 源 供 电 方 式 B4H 启 动 DS18B20 发 送 电 源 供 电 方 式 的 信 号 给 主 CPUDS18B20 的 初 始 化 ( 1) 先 将 数 据 线 置 高 电
34、平 “1”。 恒温箱自动控制系统设计19( 2) 延 时 ( 该 时 间 要 求 的 不 是 很 严 格 , 但 是 尽 可 能 的 短 一 点 ) ( 3) 数 据 线 拉 到 低 电 平 “0”。 ( 4) 延 时 750 微 秒 ( 该 时 间 的 时 间 范 围 可 以 从 480 到 960 微 秒 ) 。 ( 5) 数 据 线 拉 到 高 电 平 “1”。 ( 6) 延 时 等 待 ( 如 果 初 始 化 成 功 则 在 15 到 60 微 妙 时 间 之 内 产 生 一 个由 DS18B20 所 返 回 的 低 电 平 “0”。 据 该 状 态 可 以 来 确 定 它 的 存 在
35、 , 但 是 应注 意 不 能 无 限 的 进 行 等 待 , 不 然 会 使 程 序 进 入 死 循 环 , 所 以 要 进 行 超 时 控 制 )。 ( 7) 若 CPU 读 到 了 数 据 线 上 的 低 电 平 “0”后 , 还 要 做 延 时 , 其 延 时 的时 间 从 发 出 的 高 电 平 算 起 ( 第 ( 5) 步 的 时 间 算 起 ) 最 少 要 480 微 秒 。 ( 8) 将 数 据 线 再 次 拉 高 到 高 电 平 “1”后 结 束 。其 时 序 图 如 图 28 图 28 DS18b20 初 始 化 时 序 图DS18B20 的 写 操 作 ( 1) 数 据
36、线 先 置 低 电 平 “0”。 ( 2) 延 时 确 定 的 时 间 为 15 微 秒 。 ( 3) 按 从 低 位 到 高 位 的 顺 序 发 送 字 节 ( 一 次 只 发 送 一 位 ) 。 ( 4) 延 时 时 间 为 45 微 秒 。 恒温箱自动控制系统设计20( 5) 将 数 据 线 拉 到 高 电 平 。 ( 6) 重 复 上 ( 1) 到 ( 6) 的 操 作 直 到 所 有 的 字 节 全 部 发 送 完 为 止 。 ( 7) 最 后 将 数 据 线 拉 高 。DS18B20 的 读 操 作 ( 1) 将 数 据 线 拉 高 “1”。 ( 2) 延 时 2 微 秒 。 (
37、3) 将 数 据 线 拉 低 “0”。 ( 4) 延 时 3 微 秒 。 ( 5) 将 数 据 线 拉 高 “1”。 ( 6) 延 时 5 微 秒 。 ( 7) 读 数 据 线 的 状 态 得 到 1 个 状 态 位 , 并 进 行 数 据 处 理 。 ( 8) 延 时 60 微 秒 。时 序 图 如 图 29图 29 DS18b20 读写时序图只要严格按照时序图写程序,DS18b20 即可运行。恒温箱自动控制系统设计21DS18b20 具体程序见附件。3.2.5 PID 计算和继电器控制程序前面已经提到 PID 是一种线性控制器,因此本系统 PID 控制的思路是在第一次 PID 调节时记下
38、PID 调节器的输出值 uk0(该值为以后 PID 调节器输出地最大值),并以该值为参考,以后的输出 uk 与 uk0 做比值,假设 uk0 表示加热a, 那么输出 uk 与 uk0 比值表示加热 a*uk/uk0 时间,以此类推,最后算出每次计算应该加热的时间作用于继电器,控制加热管加热。由于温度变化缓慢,则设置为 5s 计算 PID 一次。另外本系统的 PID 采用了开关量计算积分分离相结合的改进 PID 算法,具体思路是当温差大于等于 15 度时不用 PID 直接进行开关控制。当温度在 0-15 度之间时才采用 PID 计算。当温差大于 4 度是采用 PD 控制加快响应速度并减少超调,当
39、温差小于 4 度是采用 PID 控制保证系统的稳态精度。具体程序如下:(1)PID 计算void PID(void) float ek,ek1,ek2,ek_sum;uint a; ek=K-temp; /计算误差while(1) if(ON_OFF=1) /温控开关开 恒温箱自动控制系统设计22if(ek=15) outflag=1;OUT=0;Time_on=100;break; /温差大于 15度,不用 PID 调节else if(ek5)a=0;if(ekTime_on) /模拟迟滞OUT=1;outflag=0; if(TIM=100) /5s 进行一次 PID计算 PID();TI
40、M=0;4.结论与心得体会结论与展望 三个多月的毕业设计即将结束了,我深刻感受到专业知识的缺乏,同时,在整个设计过程中我也感受到自身知识的进步,特别是在单片机恒温箱自动控制系统设计24控制系统方面。 设计是以 80C51 单片机为核心进行的,数据采样模块采用可直接输出数字量的数字温度传感器 DS18B20,使系统的软、硬件都简化了很多;采用继电器驱动模块作为为系统的降温部分,大大地简化了系统硬件电路。通过对风机的控制可实现粮库温度的自动控制。由于采用数字温度传感器DS18B20 采集温度,所以,详细介绍了 DS18B20 的运用;软件设计方面采用汇编语言对系统的软件编程,为了便于编写、调试、修
41、改和增删,系统软件的编制采用了模块化的设计方法。 鉴于温度控制的发展趋势,在以后的实践中对系统还要做进一步的改进:硬件方面,采用 DSP, ARM 或者利用第一章提到的片上系统 SOC 对系统的硬件进行重新设计,软件方面,摒弃传统的前后台系统软件编程模式,改用基于实时操作系统的系统软件开发;控制算法方面,采用了 PID 控制。5.参考文献:1 万隆.单片机原理与应用技术.北京:清华大学出版社.2005.4 2 徐玮等.AVR 单片机快速入门.北京:机械工业出版社.2011.113 戴胜华单片机原理与应用.北京:清华大学出版社.北京交通大学出版社.2005.44 胡寿松.自动控制原理.北京:科学
42、出版社.2007.16.致 谢 本课题是在代广珍导师的悉心指导下完成的,从论文的选题、系统设计、到修改定稿都没有离开代老师的无私帮助,通过本次设计,本人在代老师的指引下学到了许多知识,这些是在平时的学习中得不到的知识,他严谨的治学态度、渊博的学识和悉心的指导使我受益非浅。在此,向代老师表以崇高的敬意和由衷的感谢!还要感谢各位评阅老师,经过你们的认真评阅和指正,将会使我的设计的系统更加完善。在此,我向你们致以最诚挚的谢意! 贵州师范大学机电学院的老师们,在平时严谨的治学和勤恳的教育,让我在平时打下坚实的基础,才能顺利完成本次设计,可以说没有你们的教诲和指导,我们也不会取得今天的成绩。我想对他们说
43、一声:感谢你们的教导和关心,您们辛苦了! 本次课程设计的完成还离不开我身边同学和一些老师的帮忙,在系统软件设计方面同学给了我很大的帮助,因为期间我一直在外实习工作,许多事都要麻烦在校的老师和同学帮忙,在此,向他们表示感谢! 鉴于本人所学知识有限,经恒温箱自动控制系统设计25验不足,又是初次研究这种复杂的设计,在此过程中难免存在一些错误和不足之处,恳请各位老师给予批评和指正。7.附件:恒温箱控制系统源程序/*/恒温箱控制系统源程序程序实现功能:通过 PID 调节控制恒温箱中温度为一定值*/#include“delay.h“#include“1602.h“#include“zhongduan.h“
44、#include“wendu1.h“#include“delay.h“#include“1602.h“bit shanshuo_st; /闪烁间隔标志bit beep_st; /蜂鸣器间隔标志uchar n;signed char m; /温度值全局变量uchar baiwei,gewei,shiwei;uchar num;uchar code table1=“wendu:“;恒温箱自动控制系统设计26uchar code table2=0,1,2,3,4,5,6,7,8,9;signed char shangxian=50; /上限报警温度signed char xiaxian=30; /下
45、限报警温度sbit DEC = P10; /定义减少键 下限sbit DEC1=P11; / 定义减少键 上限sbit ADD1=P13; / 定义增加键 上限sbit ADD = P12; /定义增加键 下限sbit BEEP= P37; /定义蜂鸣器sbit OUT=P26; /光耦、继电器驱动信号sbit lcdrs=P23; /数据、命令选择端sbit lcdrw=P24; /读/写信号选择断sbit lcden=P25; /LCD 使能信号sbit DQ=P36; /定义 ds18b20 通信端口 sbit LED1 = P14; /调整上限加减的灯sbit LED2 = P15; /调整下限加减的灯unsigned int TIM; /PID 计时中断变量bit start_flag=0; / 开始 PID 运算标志位float div,kp=1.5,kd=1; /用于 PID 计算的变量float ki=0.01;float uk,uk0;uint Time_on; /控制加热片加热时间