基于PID的温度控制系统设计.doc_第1页
基于PID的温度控制系统设计.doc_第2页
基于PID的温度控制系统设计.doc_第3页
基于PID的温度控制系统设计.doc_第4页
基于PID的温度控制系统设计.doc_第5页
免费预览已结束,剩余41页可下载查看

下载本文档

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

文档简介

20142014 届 届 毕业设计毕业设计 题 目 基于 PID 的温度控制系统设计 学 院 专 业 电气工程及其自动化 班 级 电气 学 号 姓 名 某某某 指导教师 某某某 教 务 处 制 年 月 日 诚诚 信信 声声 明明 我声明 所呈交的论文是本人在老师指导下进行的研 究工作及取得的研究成果 据我查证 除了文中特别加以 标注和致谢的地方外 论文中不包含其他人已经发表或撰 写过的研究成果 也不包含为获得 或其他教 育机构的学位或证书而使用过的材料 我承诺 论文中的 所有内容均真实 可信 论文作者签名 签名日期 年 月 日 I 授授 权权 声声 明明 学校有权保留送论文交的原件 允许论文被查阅和 借阅 学校可以公布论文的全部或部分内容 可以影印 缩印或其他复制手段保存论文 学校必须严格按照授权 对论文进行处理 不得超越授权对论文进行任意处置 论文作者签名 签名日期 年 月 日 II 基于 PID 的温度控制系统设计 摘摘 要要 温度是工业上最基本的参数 与人们的生活紧密相关 实时测量温度在工 业生产中越来越受到重视 离不开温度测量所带来的好处 因此研究控制和测 量温度具有及其重要的意义 本设计介绍了以 AT89C52 单片机为主控器件 基于 PID 的温度控制系统 的设计方案和设计的基本原理 由 DS18B20 收集温度信号 并以数字信号的方 式送给单片机进行处理 从而达到温度控制的目标 主要包括硬件电路的设计 和系统程序的设计 硬件电路由主控器件 温测电路 温控电路和显示电路等 组成 软件设计部分包括 显示电路 温度信号处理 超温警报 继电器控制 按键处理等程序 关键词 温度检测 温度控制 PID 算法 III Design of Temperature Control System Based on PID Abstract Temperature is the most basic parameters of industrial and closely related with people s lives real time measurement of temperature in industrial production and more attention which is inseparable from the benefits of the temperature measurement temperature control and measurement study therefore has its significance This design introduces the basic principles to AT89C52 microcontroller based controller pieces temperature control system design and design Collected by the DS18B20 temperature signal and digital signal sent by way of the microcontroller for processing so as to achieve the target temperature control Including the design of hardware circuit design and system programs Hardware circuit includes a master device the temperature measuring circuit temperature control circuit and display circuit Software design including display electrical temperature signal processing over temperature alarm relay control key handling procedures Keywords temperature detection temperature control PID algorithm IV 目录 摘 要 III Abstract IV 1 绪论 1 1 1 课题的来源 1 1 2 课题的意义 1 1 3 课题研究的主要内容 1 2 硬件设计 3 2 1 单片机控制模块的设计 3 2 1 1 AT89C52 单片机简介 3 2 1 2 单片机的引脚功能 4 2 1 3 单片机控制模块的电路设计 5 2 1 4 电源设计 6 2 2 温度采集模块的设计 7 2 2 1 DS18B20 芯片的简介 7 2 2 2 DS18B20 的内部结构 8 2 2 3 DS18B20 的供电方式 10 2 2 4 DS18B20 的引脚功能 10 2 3 温度控制模块的设计 11 2 4 按键及显示模块的设计 12 2 4 1 LCD1602 的参数和引脚功能 12 2 4 2 LCD1602 的特点 13 2 4 3 按键电路的设计 13 2 5 报警模块的设计 14 3 软件设计 16 3 1 主程序的设计 16 3 2DS18B20 读温度程序的设计 16 3 3 键盘扫描程序的设计 17 3 4 报警处理程序的设计 18 3 5PID 控制算法 18 4 系统仿真 22 参考文献 27 致谢 28 附录 29 嘉兴学院本科生毕业设计 0 1 绪论 1 1 课题的来源 在食品加工 化工 冶炼等工业控制和生产中 在工业生产和日常生活中 经常要用到温度检测和控制 以及各种各样的加热炉 热处理器等 都对温度 有着严格的要求 传统的测温元件有热电偶和热电阻 而热电偶和热电阻测出 的通常是电压 再转换成相应的温度值 在硬件方面是个难点 而且从设计和 调试的角度来讲都是很复杂的 以及高昂的制作成本 但采用 DS18B20 作为温 测元件 然后用单片机对温度进行控制 可以大幅度提高温度控制的技术指标 而且还具有控制方便 简单 灵活等特点 单片机已经渗透到我们生活的各领 域 仪表仪器 家用电器 航空航天 计算机通讯网络和数据的传输 包括工 业自动化的实时控制和数据处理等 这些都离不开单片机 用单片机可构成丰 富多样的数据采集系统和控制系统 像工厂流水线智能化的管理 电梯智能化 的控制 多种报警系统 都可以与计算机联网构成二级控制系统等 1 2 课题的意义 温度传感器是测量温度的关键 现在温度传感器正由模拟式向数字式 集 成化向智能化 网络化的方向发展 在测量温度的电路中 使用热敏电阻之类 的器件利用其感温效应 将随被测温度变化的电压或电流采集过来 先进行 A D 转换 然后用单片机进行数据的处理 再在显示电路上 将被测温度显示 出来 这种设计需要用到 A D 转换电路 因此电路的设计比较复杂 继而想到可以采用智能温度传感器来设计数字温度计 本数字温度计的设 计采用美国半导体公司 DALLAS 推出的一种改进型智能温度传感器 DS18B20 作为检测元件 其温度值可以直接被读出来 通过单片机 AT89C52 的读写和显 示 然后用 LCD1602 来进行显示 它的测温范围为 55 125 最大分 辨率可达 0 0625 而且采用 3 线制与单片机相连 减少了外部的硬件电路 具有低成本和易使用的特点 1 3 课题研究的主要内容 1 总体设计的内容 总体设计的主要内容有 利用单片机作为系统的主控制器 利用 DS18B20 作为温度传感器 将信号送入单片机进行处理 经过 PID 算法后 单片机的输 出用来控制加热棒的输出功率 从而实现对温度的控制 基于 PID 的温度控制系统设计 1 2 总体设计的基本要求 总体布置的基本要求主要有 1 温度控制系统的总体设计和思路 2 各部分原理说明 3 温度控制系统硬件设计 有理论依据 有分析计算过程 主要元件有 原理和说明 所有元件必须要有型号和参数 4 温度控制系统软件设计 可以使用汇编语言或 C 语言编程 主要软 件必须能在设计好的硬件电路上正确运行 嘉兴学院本科生毕业设计 2 2 硬件设计 硬件设计方框图如图 2 1 所示 它主要由五个模块组成 1 单片机控制模块 2 温度采集模块 3 温度控制模块 4 按键及显示模块 5 报警模块 图 2 1 硬件设计方框图 2 1 单片机控制模块的设计 方案一 采用 8031 芯片 其内部没有程序存储器 需要进行外部扩展 这给电路增 加了复杂度 方案二 采用 2051 芯片 其内部有 2KB 单元的程序存储器 不需外部扩展程序存 储器 但由于系统用到较多的 I O 口 因此此芯片资源不够用 方案三 采用 AT89C52 单片机 其内部有 4KB 单元的程序存储器 不需外部扩展 程序存储器 而且它的 I O 口也足够本次设计的要求 方案评价 比较这三种方案 综合考虑单片机的各部分资源 本次设计选用方案三 2 1 1 AT89C52 单片机简介 AT89C52 是 ATMEL 公司生产的 51 系列单片机 片内含 8k bytes 的可反复 擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器 RAM 器 件采用 ATMEL 公司的高密度 兼容 51 指令系统 Flash 存储单元和 8 位中央 基于 PID 的温度控制系统设计 3 处理器置于片内 AT89C52 单片机功能强大 在许多复杂的应用场合都可以用 到 单片机是微型机的一个分支 单片机的最大特点就是在超大规模的集成电 路芯片上集成了定时器 存储器 CPU 和多种输入 输出接口电路 由于单片 机的这种结构 相应的它具有很多的特点 它的特点包括 1 可靠性高 2 抗干扰能力强 3 控制能力强 4 性价比高 5 低电压 6 能扩展了多种串行口 2 1 2 单片机的引脚功能 AT89C52 单片机的引脚图如图 2 2 所示 图 2 2 AT89C52 引脚图 1 电源引脚 VCC 和 VSS VCC 40 引脚 电源端 5V VSS 20 引脚 接地端 2 外接晶体引脚 XTAL 2 和 XTAL 1 XTAL 2 18 引脚 接微调电容和外部晶体的端口 作为振荡电路的输 出端 XTAL 1 19 引脚 接微调电容和外部晶体的端口 作为振荡电路的输 入端 嘉兴学院本科生毕业设计 4 3 控制信号引脚 RST ALE PSEN EA RST 9 引脚 复位信号输入端 高电平有效 完成复位操作 输入端必 须为两机器周期 即为 24 个时钟振荡周期 的高电平 ALE PROG 30 引脚 地址锁存允许信号端 当单片机上电正常工作后 ALE 引脚不断向外输出正脉冲信号 此频率为振荡器平率的 1 6 输出信号作 为锁存低 8 位地址的控制信号 如果想确认单片机芯片的好坏 可用示波器查 看 ALE 端是否有脉冲信号输出 若有脉冲信号输出 则单片机基本上是好的 PSEN 29 引脚 程序存储允许输出信号端 EA 31 引脚 外部程序存储器地址允许输入端 固化编程电压输入端 4 输入 输出端口 P0 P1 P2 和 P3 P0 端口 P0 0 P0 7 39 32 引脚 P1 端口 P1 0 P1 7 P2 端口 P2 0 P2 7 P3 端口 P3 0 P3 7 P3 端口还用于一些复用功能 如表 2 1 所示 表 2 1 P3 各口线与第 2 功能表 口线替代的第 2 功能 P3 0 RXD 串行口输入 P3 1 TXD 串行口输出 P3 2 INT0 外部中断 0 输入 P3 3 INT1 外部中断 1 输入 P3 4 T0 定时器 0 的外部输入 P3 5 T1 定时器 1 的外部输入 P3 6 WR 片外数据存储器 写选通控制 输出 P3 7 RD 片外数据存储器 读选通控制 输出 2 1 3 单片机控制模块的电路设计 单片机的最小系统如图 2 3 所示 由单片机芯片 电源 时钟振荡电路与 复位电路组成 时钟振荡电路的设计 单片机 XIAL1 和 XIAL2 分别接 30pF 的电容 中间再并个 12MHz 的晶振 形成单片机的晶振电路 电容器 C1 和 C2 可稳定频率并对振荡频率有微调作用 复位电路的设计 基于 PID 的温度控制系统设计 5 复位操作有按键手动复位和上电自动复位两种 本设计采用的是上电自动 复位 RST 引脚是复位信号的输入端 复位信号是高电平有效 其有效时间应 持续 24 个振荡周期 即二个机器周期 以上 电容端瞬间通电 电容 C 通过 电阻 R 充电 RST 端为正脉冲 用以复位 只要电源 VCC的上升时间不超过 1ms 就可以实现自动上电复位 即接通电源就完成了系统的复位初始化 关 于参数的选定 在振荡稳定后应保证复位高电平持续时间 即正脉冲宽度 大 于 2 个机器周期 当采用的晶体频率为 6MHz 时 可取 C 22 F R 1k 当 采用的晶体频率为 12MHz 时 可取 C 10 F R 8 2k 图 2 3 单片机的最小系统图 2 1 4 电源设计 220V 交流电转 5V 直流电的电源设计如图 2 4 所示是由 3 个部分组成 变 压器 桥式整流电路和三端稳压器 图 2 4 5V 直流电电源设计图 1 变压器 将 220V 交流电变成 9V 左右 由此可知变压器变比为 嘉兴学院本科生毕业设计 6 220 9 25 1 2 桥式整流电路 经过滤波整流后 电压有效值增大为 10V 如图 2 5 所示为桥式整流电路电压波形图 3 三端稳压器 一般用于直流电路的保护电路 起到降压 稳压的作用 图 2 5 桥式整流电路电压波形图 2 2 温度采集模块的设计 方案一 传统的测温元件有热电偶和热电阻 一般来说热电偶和热电阻测出的电压 再转换成相应的温度 要比较多外部硬件的支持 其缺点有 硬件电路较复杂 软件调试较复杂 制作成本较高 方案二 结合单片机电路的设计 决定使用温度传感器 DS18B20 它是最新推出的 一种智能型温度传感器 它的优点是可以直接读出被测的温度 主要是对温度 信号进行采集和转换工作 电路由 DS18B20 温度传感器和单片机部分组成 温 度传感器 DS18B20 把收集到的温度送到单片机的 P2 6 口 单片机接受温度 然后存储下来 因为电路部分只用到了温度传感器和单片机 所以硬件方面比 较简单 方案评价 方案一这种设计需要用到 A D 转换电路 感温电路比较麻烦 但方案二电 路比较简单 软件设计容易实现 故实际设计中拟采用方案二 2 2 1 DS18B20 芯片的简介 DS18B20 是美国著名半导体公司推出的一种可以直接读出被测温度值的温 度传感器 而且采用寄生供电方式与单片机相连 具有成本低和易使用的特点 基于 PID 的温度控制系统设计 7 输出信号为数字信号 方便单片机控制和处理 很多外围电路因此可以减掉 且该芯片的线形较好 物理 化学性也相对稳定 在工业生产中可以用来做测 量温度的元件 由于 AT89C52 能够带多个 DSB1820 因此容易实现多点测量 的目的 轻松的构建传感器网络 并且单片机可以同时进行数码显示与键盘控 制 也可以通过 RS232 串口与上位机进行数据通讯 达到全方位立体监控的效 果 采用温度芯片 DS18B20 测量温度 可以更方便的实现多点测温 也体现了 数据数字化的好处 便于测温数据集成显示 也方便了后期对数据的处理及其 记录 2 2 2 DS18B20 的内部结构 DS18B20 芯片的内部结构如图 2 6 所示 DS18B20 主要包括上下限触发器 储存器与控制逻辑 CRC 发生器电源 温度传感器 64 位 ROM 单线借口暂存器 图 2 6 DS18B20 芯片的内部结构图 DS18B20 温度数字对应关系表如表 2 2 所示 表 2 2 DS18B20 温度数字对应关系表 温度 二进制表示十六进制表示 1250000 0111 1101 000007D0H 850000 0101 0101 00000550H 25 06250000 0001 1001 00000191H 10 1250000 0000 1010 000100A2H 0 50000 0000 0000 00100008H 00000 0000 0000 10000000H 0 51111 1111 1111 0000FFF8H 嘉兴学院本科生毕业设计 8 DS18B20 温度值格式表如表 2 3 所示 表 2 3 DS18B20 温度值格式表 15141312111098 SSSSS2 62 52 4 高字节 1 01 01 01 01 0643216 76543210 2 32 22 12 02 12 22 32 4 低字节 84210 50 250 1250 0625 DS18B20 的工作过程 1 发复位 DS18B20 的负脉冲 2 收 DS18B20 的回应脉冲 3 发 ROM 命令 33H 4 发储存和控制命令 DS18B20 储存控制命令共有 6 种 如表 2 4 所示 表 2 4 DS18B20 存储器控制指令 指令约定代码 复制 48H 读数据 BEH 读电源供电方式 B4H 温度转换 44H 读 EERAM B8H 写数据 4EH 主机操作 ROM 的命令有 5 种 如表 2 5 所示 表 2 5 DS18B20 的 ROM 指令 指令约定代码 读 ROM 33H 匹配 ROM 55H 跳过 ROM CCH 搜索 ROM 0F0H 报警搜索 ECH DS18B20 的执行序列 1 初始化 2 执行 ROM 命令 用于定位 3 执行 DS18B20 的储存控制命令 用于转换和读数据 基于 PID 的温度控制系统设计 9 4 DS18B20 的 I O 信号有回应脉冲 复位脉冲 写 0 读 0 写 1 读 1 等几种 2 2 3 DS18B20 的供电方式 在硬件上 DS18B20 与单片机的连接有两种方法 一种是用寄生电源供电 此时 VCC GND 接地 I O 接单片机 I O 另外一种是 VCC 接外部电源 GND 接地 I O 与单片机的 I O 线相连 无论是内部寄生电源还是外部供电 I O 口线要接 5k 左右的上拉电阻 如图 2 7 所示 本设计采用的是外部电源 供电的方式 且选用的上拉电阻为 4 7k 图 2 7 DS18B20 外部电源供电方式图 2 2 4 DS18B20 的引脚功能 引脚功能说明 1 GND 为地 2 I O 是数据输入 输出脚 单线接口 可作寄生供电 3 UDD 为外接供电电源输入端 在寄生电源接线方式时接地 DS28B20 的引脚如图 2 8 所示 图 2 8 DS18B20 引脚图 DS18B20 的特点说明 1 采用单总线技术 与单片机通信只需要一根 I O 线 在一根线上可以 嘉兴学院本科生毕业设计 10 挂接多个 DS18B20 2 每只 DS18B20 具有一个独有的 不可修改的 64 位序列号 根据序列 号访问相应的器件 3 低压供电 电源范围从 3 0 5 5V 可以本地供电 也可以直接从数 据线窃取电源 寄生电源方式 4 测温范围为 55 125 在 10 85 范围内误差为 0 5 5 可编辑数据为 9 12 位 转换 12 位温度时间为 750ms 最大 6 用户可自设定报警上下限温度 7 报警搜索命令可识别和寻址超过程序限定温度 温度报警条件 的器 件 8 DS18B20 的分辨率由用户通过 EEPROM 设置为 9 12 位 9 DS18B20 可将检测到温度值直接转化为数字量 并通过串行通信的 方式与主控制器进行数据通信 10 负电压特性 电源极性接反时 温度计不会因为发热而烧毁 只是 不能正常工作 2 3 温度控制模块的设计 方案一 继电器由于是机械动作 响应速度慢 不能满足本设计的需要 而用可控 硅可以在电路中能够实现以小电流控制大电流 交流电的无触点控制的目的 而且它的寿命长 可靠性高 动作快 方案二 利用单片机控制双向可控硅的导通角 在不同时刻利用单片机给双向可控 硅的控制端发出触发信号 使其导通或关断 实现负载电压有效值的不同 以 达到调压控制的目的 具体如下 1 由硬件完成过零触发环节 即在工频电压下 每 10ms 进行一次过零 触发信号 由此信号来达到与单片机的同步 2 过零检测信号接至单片机输入口 由单片机对此口进行循环检测 然 后进行延时触发 通过单片机控制双向可控硅的导通 从而可以控制加热丝的加热功率 双 向可控硅接通 则加热丝加热 双向可控硅断开 则加热丝停止加热 方案评价 综合考虑 选择方案二 由于是弱电控制强电 因而弱电很容易被强电干扰 影响系统的实时性和 效率 因此必须需要有抗干扰的措施 将强电与弱电隔离 光耦合器切断了各 基于 PID 的温度控制系统设计 11 部件之间的联系 对强电和弱电实施隔离 有效地抑制了干扰信号对电路的干 扰 光耦合器很容易得到触发脉冲 且有可靠 体积小的特点 所以可以用带 过零检测的光电隔离器 MOC3061 来驱动双向可控硅并隔离控制回路和主回路 MOC3061 参数 输出端的额定电压是 400V 最大重复浪涌电流为 1 2A 最大电压上升率 dv dt 为 1000v us 输入输出隔离电压为 7500V 输入控制电流为 15mA MOC3061 引脚排列及内部电路图如图 2 9 所示 图 2 9 MOC3061 引脚排列及内部电路图 当单片机的输出口发出高电平 经过三极管放大后驱动光耦合器的放光二 极管 MOC3061 的输入端导通 输入电流约为 15mA 当 MOC306 的输出端 6 脚和 4 脚尖电压稍稍过零时 光耦内部双向可控硅即可导通 它可以给外部晶 闸管一个触发信号 并使其导通 当单片机输出口发出低电平 MOC3061 截止 双向可控硅处于截止状态 MOC3061 的优点 1 控制简单 2 MOC3061 由于采用了过零触发电路大大简化了双向可控硅的触发电 路 3 MOC3061 与双向可控硅实际组成了一个固态继电器 实现了无触电 控制 4 输出通道实现了光电隔离 防止了射电干扰 5 单片机输出口直接控制双向可控硅 省去了的 D A 转换电路 简化 了接口电路 双向可控硅介绍 双向可控硅具有双向导通功能 在交流电的正负半周都可以导通 双向可控硅的通断情况由栅极决定 当栅极无信号时 MT1 和 MT2 成高阻 嘉兴学院本科生毕业设计 12 态 管截止 当在 MT1 与 MT2 之间加一个阈值电压时 就可以利用控制极栅 极电压来使可控硅导通 但需要注意的是 当双向可控硅接感性负载时 电流 和电压之间有一定的相位差 在电流为零时 反向电压可能不为零 且超过转 换电压 使管子反向导通 故要管子能承受这种反向电压 并在回路中加入 RC 网络加以吸收 双向可控硅的触发方式 控制双向可控硅从高阻态转换到导通区可以用不同的方式实现 相应的分 为四种方式 MT1 相对于 MT2 为正 控制脉冲电压 Ug 相对于 MT1 为正 MT1 相对于 MT2 为负 控制脉冲电压 Ug 相对于 MT1 为负 MT1 相对于 MT2 为正 控制脉冲电压 Ug 相对于 MT1 为负 MT1 相对于 MT2 为负 控制脉冲电压 Ug 相对于 MT1 为正 双向可控硅的控制极在触发后便失去了作用 双向可控硅长期维持低阻态 直到低于维持电流 I H 然后在转换到高阻态 在控制交流电压时 每次电源电 压过零双向可控硅都会自动截止 所以双向可控硅每半个周期都需要重新触发 如图 2 10 所示为温度控制模块原理图 图 2 10 温度控制模块原理图 2 4 按键及显示模块的设计 方案一 八段数码管显示 数码管是由八个发光管组成一个八字形 这些段分别由 a b c d e f g dp 来表示 方案二 LCD1602 液晶显示器显示 基于 PID 的温度控制系统设计 13 方案评价 本设计采用 LCD1602 液晶显示器显示 因为它有功耗较低 显示质量较高 重量轻 体积小的特点 LCD1602 的电路图如图 2 11 所示 图 2 11 LCD1602 电路图 2 4 1 LCD1602 的参数和引脚功能 LCD1602 的参数 字符尺寸 2 95 4 35 W H mm 显示总容量 16 2 个字符 最佳工作电压 5 0V 芯片工作电压区间 4 5V 5 5V 工作电流 2 0mA 5 0V LCD1602 的引脚功能如表 2 6 所示 表 2 6 LCD1602 引脚功能表 编号符号引脚说明编号符号引脚说明 1VSS 电源地 9D2 数据 2VDD 电源正极 10D3 数据 3VL 显示偏压 11D4 数据 4RS 数据 命令选择 12D5 数据 5R W 读 写选择 13D6 数据 嘉兴学院本科生毕业设计 14 6E 使能信号 14D7 数据 7D0 数据 15BLA 正极背光源 8D1 数据 16BLK 负极背光源 2 4 2 LCD1602 的特点 在单片机系统中应用晶液显示器作为输出器件有以下几个特点 1 功耗较低 LCD1602 的功耗主要在驱动 IC 和内部的电极上 因此功耗较低 2 显示质量较高 LCD1602 显示器在收到信号后 不需要不断刷新新的亮点 它的显示器上 的每一个点可以一直保持同样的亮度和色彩 发光持续稳定 因此 显示器不 会闪烁 且质量较高 3 重量轻 体积小 因为控制原理不同 LCD1602 显示器通过电极来控制液晶分子状态来达到 控制的目的 相较于其他的显示器来说 同等面积的显示器 LCD1602 要轻许 多 4 数字式接口 液晶显示器都是数字式的 和单片机系统的接口更加简单可靠 操作更加 方便 2 4 3 按键电路的设计 方案一 独立连接式 独立式按键是指各按键相互独立地接通一条输入数据线 方案二 行列式 矩阵式 为了减少键盘与单片机借口时所占用 I O 线的数目 在 键数较多时 通常都将键盘排列成行列矩阵形式 判断键盘中哪一个键被按下 是通过将行线逐行置低电平后 检查列输入状态实现的 方案评价 对比两种方案可知 方案一虽然也能很好的实现电路的要求 但考虑到电 路设计的成本和电路整体的性能 我们采用方案一 如图 2 12 所示为独立式按键电路图 基于 PID 的温度控制系统设计 15 图 2 12 独立式按键电路图 独立式按键是指各按键相互独立地接通一条输入数据线 本设计采用 2 个独立式按键分别连接单片机 I O 来实现按键的功能 从而 解决了单片机 I O 口被占用的问题和减少了硬件的复杂程度 通过软件来配合 2 个按键实现功能 系统程序中通过扫描 P1 2 P1 3 这 2 个端口是否为低电平 0 来判断按键是否被按下 2 5 报警模块的设计 方案一 使用 7406 作驱动的单音频报警电路 方案二 使用三极管作驱动的单音频报警电路 方案评价 使用方案二 蜂鸣器电路图如图 2 13 所示 图 2 13 蜂鸣器电路图 蜂鸣器以直流电压作为电源 被广泛地应用于电话机 电子玩具 报警器 定时器等电子产品中 被用来当作电子发声器 蜂鸣器主要有压电式和电磁式 两种 本设计的报警模块主要采用蜂鸣器及发光二级管的蜂鸣和发光来实现超 嘉兴学院本科生毕业设计 16 出温度上限时的报警 压电式蜂鸣器约需 10mA 的驱动电流 单片机的 P2 5 接晶体管基极输入端 当 P2 5 输出高电平 1 时 三极管导通 压电蜂鸣器两端获得约 5V 电压而鸣叫 当 P2 5 口输出低电平 0 时 三极管截止 蜂鸣器停止发声 要使三极管有放大作用 必须保证发射结正偏 集电极反偏 电流放大系数 IC IB 9013 三极管介绍 9013 结构 NPN 集电极 发射极电压 25V 集电极 基电压 45V 射极 基极电压 5V 集电极电流 0 5A 耗散功率 0 625W 结温 150 特征频率最小 150MHz 放大倍数 91 基于 PID 的温度控制系统设计 17 3 软件设计 按照系统设计功能的要求 来确定本系统程序包括 DS18B20 读温度程序 LCD1602 的显示程序 键盘扫描程序 报警处理程序以及继电器加热程序 3 1 主程序的设计 如图 3 1 所示为主程序流程图 图 3 1 主程序流程图 3 2DS18B20 读温度程序的设计 1 DS18B20读时序 1 读时序包括读0和读1的时序 2 读时序是在拉低单总线之后 在15us之内释放单总线 让DS18B20把数 据传送到单总线上 读时序的过程至少需要60us 2 DS18B20写时序 1 写时序包括写0和写1的时序 2 写 0 和写 1 时序略有不同 当写 0 时序时 单总线至少要被拉低 60us 保证 DS18B20 能够采到数据线上的 0 电平 在 15us 到 45us 之间 当写 1 时序时 拉低单总线 并在 15us 之内释放单总线 如图 3 2 所示为 DS18B20 读温度程序流程图 嘉兴学院本科生毕业设计 18 图 3 2 DS18B20 读温度程序流程图 3 3 键盘扫描程序的设计 该电路为查询方式电路 当任何一个键按下时 与之相连的输入数据线即 被清 0 而平时该线为 1 因此可以通过检测各数据线的状态 0 或 1 来判断按 键是否闭合 以及哪个按键已闭合 如图 3 3 所示为键盘扫描程序流程图 图 3 3 键盘扫描程序流程图 基于 PID 的温度控制系统设计 19 3 4 报警处理程序的设计 设定目标温度上限 当实际温度大于目标温度上限的时候 执行声光报警 程序 如图 3 4 所示为声光报警程序流程图 图 3 4 声光报警程序流程图 3 5PID 控制算法 本设计采用了 PID 控制技术 在工程实际运用中 PID 控制器以其稳定性 好 工作可靠 调整方便 结构简单而成为主要的工业控制技术之一 当被控 对象的参数和结构不能被很好的掌握 或得不到精确的数学模型时 控制理论 的技术很难被采用 所以当系统控制器的结构和参数必须依靠经验来确定时 PID 控制技术最为实用和方便 PID 调节器是一种线性调节器 它将给定值 r t 与实际输出值 c t 的偏差的 比例 P 积分 I 微分 D 的组合组成控制量 从而达到对控制对象的控制目的 控制偏差 3 1 tctrte 1 连续控制系统 PID 调节器的微分方程为 3 2 e 1 p t dt tde Tddtt Ti teKu 式中 Kp 比例常数 Ti 积分时间常数 嘉兴学院本科生毕业设计 20 Td 微分时间常数 e t 系统偏差信号 u t 控制器的输出信号 2 PID 调节器的函数形式方程为 3 3 ST ST K SE SU SD D I P 1 1 3 数字 PID 控制器 如表 3 1 所示为模拟 PID 控制规律的离散化表 表 3 1 模拟 PID 控制规律的离散化 模拟形式离散化形式 tctrte ncnrne dT tde T nene 1 t dtte 0 n i n i ieTTie 00 数字 PID 控制器的差分方程 3 4 0 0 0 1 unununu unene T T ie T T neKnu DIP n i D I P 为积分系数 iT KpT Ki 为微分系数 T KpT K d d 式中 称为比例项 neKnu PP 称为积分项 n i I PI ie T T Knu 0 称为微分项 1 nene T T Knu D PD 常用的控制方式 1 P 控制 0 ununu P 2 PI 控制 0 unununu IP 基于 PID 的温度控制系统设计 21 3 PD 控制 0 unununu DP 4 PID 控制 0 ununununu DIP 模拟 PID 控制系统原理如图 3 5 所示 图 3 5 模拟 PID 控制系统原理框图 4 PID 调节器比例 积分 微分的环节 1 比例环节 把调节器的输入偏差乘以一个系数 作为调节器的输出 比 例环节的作用是放大误差的幅值 当仅有比例控制环节时系统输出存在稳态误 差 2 积分环节 调节器加入积分环节后达到消除稳态误差的目的 积分项随 着时间的增加而增大 积分项对稳态误差的消除取决于时间的积分 PI 调节器 可以使系统在进入稳态后无稳态误差 3 微分环节 调节器的输入 输出误差信号的微分成正比关系 微分环节 能反应偏差信号的变化趋势 从而可以实现超前调节 控制器中仅有比例环节 是不行的 还需要增加微分项 因为它能预测误差变化的趋势 5 PID 控制算法的两种类型 1 位置型控制 3 5 0 0 1 unene T T ie T T neKnu n i D I P 2 增量型控制 3 6 2 1 2 1 1 nenene T T Kne T T KneneK nununu D P I PP PID 参数整定方法 1 理论计算法 依赖被控对象准确的数学模型 2 工程整定法 不依赖被控对象准确的数学模型 直接在控制系统中进 行现场整定 下面对 PID 运算加以说明 所有的数都变成定点纯小数进行处理 算式中的各项有正有负 以最高位作为符号位 最高位为 0 表示为正数 嘉兴学院本科生毕业设计 22 为 1 表示负数 正负数都是补码表示 最后的计算以原码输出 节 16 位进行计算 最后将运算结果取成高 8 位有效值输出 输出控制量 u n 的限幅处理 为了便于实现对晶闸管的通断处理 PID 的输出在 0 250 之 间 大于 250 或小于 0 的控制量 u n 都是没有意义的 因在算法上对 u n 进行 限幅 即 3 7 n u maxmax maxmin minmin uuu uuuu uuu n nn n 增量式 PID 控制算法如图 3 6 所示 图 3 6 增量式 PID 控制算法程序框图 基于 PID 的温度控制系统设计 23 4 系统仿真 单片机程序编写可以有多种 汇编语言 C 语言等 本设计采用 C 语言来 编写 1 汇编语言 用汇编语言助记符来表示的程序就是汇编语言 这种语言比机器语言更容 易 使用方便 容易记忆 但是由于不同的机器对应着不同的汇编语言 这种 语言具有一定限制 2 C 语言 1 对微控制器的指令系统不需要了解 只是有一个初步的了解单片机的存 储结构 2 具有规范的程序 通过不同的函数 是程序变得结构化 3 寄存器分配 不同的内存地址和数据类型和其他细节可以由编译器管理 4 大大缩短了编程和调试的时间 提高了编程的效率 对于 AT89C52 的控制设计 编程用 Keil 软件 仿真用 proteus 软件 Keil 支持 C 语言 汇编及二者的混合编程 编程软件 Keil 介绍 KeiluVision2 是美国软件公司的 C 语言软件开发系统 它兼容单片机系统 与汇编相比 C 语言有易学易用的特点 不仅提高了工作效率 而且在关键的 位置嵌入汇编 可以使程序的工作效率接近汇编 标准 C 编译器在保留汇编代 码搞笑 快速特点的同时 还未控制器的软件开发提供了 C 环境 uVision2 的 集成开发环境已经完全包括了 C52 它包括 项目管理器 编译器 汇编器 实时操作系统和调试器 Keil 软件界面如图 4 1 所示 仿真软件 Protues 介绍 Protues 软件是英国公司出版的工具软件 它不仅具有仿真功能 还能仿真 单片机及外围器件 它是目前最好的仿真单片机及外围器件的工具 在国内它 已受到学单片机的爱好者和参加单片机开发应用工作者的好感 Proteus 是世界 上最著名的仿真软件之一 从代码调试到原理图布图等仿真 从概念到产品的 整个流程都是它的功劳 目前它是世界上唯一可以将 PCB 设计软件 电路仿真 软件和虚拟模型仿真软件合为一的软件之一 它的处理器模型支持 MSP430 AVR 8051 HC11 ARM 和 8086PIC10 12 16 18 24 30 DsPIC33 等 在编译方面 它也支持 Keil IAR 和 MPLAB 等多种编译器 Proteus ISIS 的运行界面是标准的 Windows 界面 如图 4 3 所示 Proteus ISIS 软件有 标题栏 主菜单 状态栏 标准工具栏 绘图工具栏 对象选择 嘉兴学院本科生毕业设计 24 按钮 仿真进程控制按钮 预览窗口 图形编辑窗口 对象选择器等窗口 图 4 1 Keil 软件界面 生成 Hex 文件 如图 4 2 所示 图 4 2 生成 Hex 文件图 基于 PID 的温度控制系统设计 25 图 4 3 Proteus 软件界面 当温度还未达到设置温度上限默认的 50 时 如图 4 4 所示单片机 P2 5 口 输出低电平 蜂鸣器不响 单片机 P2 7 口也输出低电平 二极管不亮 继电器 继续加热 图 4 4 温度低于上限时仿真图 嘉兴学院本科生毕业设计 26 当温度达到设置温度上限默认的 50 时 如图 4 5 所示单片机 P2 5 口输 出高电平 蜂鸣器响 单片机 P2 7 口也输出高电平 二极管亮 继电器停止加 热 图 4 5 温度低于上限时仿真图 基于 PID 的温度控制系统设计 27 结论 通过本次设计 加深了我对单片机的认识 对温度传感器 DS18B20 也有了 更深刻的了解 虽然 DS18B20 在测量温度时 出现了灵敏度不高 无法跟随温 度变化快速显示温度等问题 但是易于制作 价格低廉 硬件结构简单 测量 值精确和易于操作等许多优点让 DS18B20 在测温方面有独特的优势 嘉兴学院本科生毕业设计 28 参考文献 1 陈焕生 温度测试技术及仪表 M 北京 水利电力出版社 1987 9 2 秦沿海 数字 PID 控制原理及其应用 J 西南民族学院学报 1997 49 54 3 徐科军 传感器与检测技术 M 北京 电子工业出版社 2004 9 4 张宝芬 自动检测技术及仪表控制系统 M 北京 化学工业出版社 2000 5 先锋工作室 单片机程序设计实例 M 北京 清华大学出版社 2003 6 王孝武 现代控制理论基础 M 北京 机械工业出版社 1998 7 袁希光 传感器技术手册 M 北京 国防工业出版社 1986 8 刘剑 一种数字 PID 控制算法分析 J 承德石油高等专科学校学报 2007 11 22 9 历风满 数字 PID 控制算法的研究 J 辽宁大学学报 2005 367 370 10 丁元杰 单片微机原理及应用 M 北京 机械工业出版社 1996 256 276 11 赵鸿图 基于单片机的温度控制系统的设计与实现 J 微计算机信息 2008 26 12 杨万超 S1 单片机温度控制系统设计 J 黑龙江科技信息 2009 29 13 赖寿宏 微型计算机控制技术 M 北京 机械工业出版社 2003 130 145 14 马淑兰 单片机技术及应用实例分析 M 西安 西安电子科技大学出 版社 2009 20 40 15 Zhang et al Digital PID controller design for multivariable analogue systems with computational J IMA J Math Control Info 2004 21 433 16 L Dubois Temperature control by microwave radiometry with narrow band width J EurPhysJ App lPhys 2000 63 68 17 Shiqian wu Meng Joo Er and Yang Gao A Fast Appoach for Automatic Generation of Fuzzy Rules by Generalized DynamicFuzzy Neural Networks J IEEE Transaction on Fuzzy Systems 2001 4 578 593 基于 PID 的温度控制系统设计 29 致谢 本设计在 老师的严格要求和悉心指导下才完成 从课题选择 总体方案设计 硬件软件设计到系统仿真 无不凝聚着程老师的汗水 和心血 导师无私的关怀和悉心的指导 令我受益匪浅 在此特向程 老师表示深深的感谢和崇高的敬意 嘉兴学院本科生毕业设计 30 附录 附录附录 1 基于 PID 的温度控制系统设计 31 附录附录 2 程序代码 include include include include include include include include LCD1602 h 液晶显示头文件 define uchar unsigned char define uint unsigned int sbit Key1 P1 0 sbit Key2 P1 1 sbit Up P1 2 sbit Down P1 3 uchar t 2 pt 这是用来存放温度值的 测温程序通过这个数组与 主函数通信 uchar TempBuffer1 9 0 x2b 0 x31 0 x32 0 x32 0 x2e 0 x30 0 x30 0 x43 0 显示实时的温度 上电时显示 125 00C uchar TempBuffer0 17 0 x54 0 x48 0 x3a 0 x2b 0 x31 0 x32 0 x35 0 x20 0 x54 0 x4c 0 x3a 0 x2b 0 x31 0 x32 0 x34 0 x43 0 显示温度上下限 上电时显示 TH 125 TL 124C uchar code dotcode 4 0 25 50 75 uchar set 温度初始值 uchar count high time 0 调节占空比的参数 uint rout PID 输出 查表法 将表值分离出的十位和个位送到十分位和百分位 struct PID uint SetPoint 设定目标 Desired Value uint Proportion 比例常数 Proportional Const 嘉兴学院本科生毕业设计 32 uint Integral 积分常数 Integral Const uint Derivative 微分常数 Derivative Const signed int LastError 错误 Error 1 signed int PrevError 错误 Error 2 signed int SumError Sums of Errors struct PID spid PID 控制结构体 void init pid PID 初始化 high time 50 spid Proportion 23 Set PID Coefficients spid Integral 2 spid Derivative 6 spid SetPoint set

温馨提示

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

评论

0/150

提交评论