基于模糊PID的恒温控制系统设计_第1页
基于模糊PID的恒温控制系统设计_第2页
基于模糊PID的恒温控制系统设计_第3页
基于模糊PID的恒温控制系统设计_第4页
基于模糊PID的恒温控制系统设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

毕 业 设 计 毕业设计题目 基于模糊毕业设计题目 基于模糊 PIDPID 算法的恒温控制系统设计算法的恒温控制系统设计 学生姓名 学生姓名 学学 号 号 系 院 物理与机电工程学院自动化系系 院 物理与机电工程学院自动化系 专专 业 自动化业 自动化 班班 级 级 级级 指导教师姓名及职称 指导教师姓名及职称 讲师讲师 起止时间 起止时间 2010 年 10 月 2011 年 5 月 教务处制表 教务处制表 基于模糊基于模糊PIDPID算法的恒温控制系统设计算法的恒温控制系统设计 摘要 摘要 在工业生产中 温度控制通常具有单向性 滞后性 大惯性和时变性的特点 所以实 现温度控制的快速性和准确性 对于提高产品质量和生产效率有很重要的现实意义 本系统设计以 恒温水箱为被控对象 以单片机为控制器设计一恒温控制系统 恒温范围为 40 90 中的某一温 度值 温度误差在 0 5 以内 在控制算法上 由于传统的 PID 算法其参数设定后 系统的运行 控 制环境的变化 执行机构的参数发生变化而导致系统的数学模型发生改变时 这些参数不能进行适 应性地改变 而模糊控制其优点是不需要被控对象的数学模型 而根据人工控制规律控制决策表 然后由该表决定控制量的大小 将模糊控制和 PID 控制结合起来 即可得到模糊控制灵活而适应性 强 又可得到 PID 控制精度高 静态性能好的优点 关键词 关键词 恒温箱温度控制 PID 控制 模糊控制 单片机 Based on fuzzy PID control temperature control system design Abstract In industrial production temperature control usually has one way hysteresis large inertia and time varying characteristic the realization of temperature control of the rapidity and the accuracy to improve the quality of our products and production efficiency has very important practical significance This system design with the thermostatic water tank as controlled object by microcomputer as the controller design a temperature control system constant temperature range for 40 90 temperature the temperature of a certain error within 0 5 In the control algorithm due to the traditional PID algorithm its parameters Settings the operation of the system control environment changes actuator parameters change and cause mathematic model of the system change these parameters are not fit to change And fuzzy control its advantage is not need to be controlled object and the mathematical model according to artificially control laws governing decision table and then by the quantity of decision control table fuzzy control and PID control combined you will get more flexible and adaptable fuzzy control and can get PID control precision and static performance good points Key words Constant temperature box temperature control PID control Fuzzy control SCM 目录目录 1 绪论 1 1 1 设计背景及意义 1 1 2 设计要求及内容 1 2 系统总体设计方案 2 2 1 恒温控制系统的组成 2 2 2 系统工作原理 3 3 系统硬件设计 4 3 1 单片机 AT89S52 介绍 4 3 1 1 AT89S52 主要性能参数 4 3 1 2 AT89S52 引脚图 5 3 1 3 AT89S52 存储器配置 7 3 2 温度传感器 9 3 2 1 DS18B20 的简介 9 3 2 2 DS18B20 的测温流程 12 3 3 温度显示模块 12 3 4 温度控制模块 13 3 4 1 温度控制原理 13 3 4 2 光电耦合器功能 13 3 5 报警和按键电路 14 3 6 直流稳压电源 15 4 系统软件设计 16 4 1 主程序流程 16 4 2 模糊 PID 控制模块 17 4 2 1 模糊 PID 控制器的结构设计 17 4 2 2 输入量的模糊化 17 4 2 3 模糊 PID 控制规则的设计 18 4 2 4 模糊量的清晰化 20 4 3 键盘管理模块 21 4 4 显示模块 22 4 5 温度控制模块 23 4 6 温度越限报警模块 24 5 恒温控制箱控制算法研究与仿真 25 5 1 恒温系统的数学模型 25 5 2 模糊 PID 控制算法与仿真 26 5 3 本章小结 29 6 设计总结 29 致 谢 30 参考文献 31 0 基于模糊基于模糊 PIDPID 算法的恒温控制系统设计算法的恒温控制系统设计 2007 级 自动化专业 赖海清 指导教师 何莹 讲师 1 1 绪论绪论 1 1 设计背景及意义 温控技术无论是在工业生产 还是日常生活中都起着非常重要的作用 在冶 金 石油 化工 电力和现代农业等行业 温度是极为重要而又普遍的热工参 数之一 在普通家庭里热水器 电饭煲 电烤箱等依赖于温控技术的家电设备 也是必不可少 可以说温度控制技术无处不在 常规的温度控制方法以设定温度为临界点 超出设定允许范围即进行温度 调控 低于设定值就加热 反之就停止或降温 这种方法实现简单 成本低 但控制效果不理想 控制温度精度不高 容易引起震荡 达到稳定点的时间也 长 而采用模糊 PID 算法进行温度控制 它具有控制精度高 能够克服容量滞 后的特点 特别适用于负荷变化大 容量滞后较大 控制品质要求又很高的并 且能够自适应的控制系统 单片机作为控制系统中必不可少的部分 在各个领域得到了广泛的应用 用单片机进行实时系统数据处理和控制 保证系统工作在最佳状态 提高系统 的控制精度 有利于提高系统的工作效率 本系统采用单片机编程实现模糊 PID 算法进行温度控制 1 2 设计内容及要求 本课题要求以恒温水箱为被控对象 以单片机为控制器设计一恒温控制系统 恒温水箱的设定温度通过系统的键盘输入 温度设定值与箱体内的实际温度可 实时显示 要求恒温范围为 40 90 中的某一温度值 温度误差在 0 5 以内 要求采用合适的控制算法 本系统的主电路以单片机为核心 用来存储数据和程序 并进行一系列的运 算和处理 过程输入输出通道由测量电路和输出电路等构成 其中测量电路功 能为将测量到的信号经过处理变成数字信号送入单片机中进行处理 组成测量 1 电路的元器件类型的选择和被控温度及精度等级有关 输出电路用来输出数字 信号 利用键盘可以实现人与系统之间的联系 单片机系统可用数码管显示温 度的实际值和预设值 可用键盘输入设定值 2 系统总体设计方案 2 1 恒温控制系统的组成 本系统设计成一个温度闭环控制系统 主回路由单片机 放大电路 驱动 电路和电加热丝组成 反馈回路由 DS18B20 电路组成 其原理框图如下 图 2 1 图 2 1 系统原理框图 另外 系统还带有输入输出设备 通过键盘输入设备 可随意输入 40 90 之间的设定温度 输出设备可显示温度的设定值与实际温度值 使用简单 其总体硬件框图如图 2 2 单片机 产生控制号 信号放大功率驱动电路电热丝 DS18B20 测温电路 单 片 机 驱动电路 可控硅 电 炉 炉 温 DS18B20 测温电路 输入输出设备 2 图 2 2 功能硬件框图 2 22 2 系统工作原理 本设计是对温度进行实时监测与控制 设计的温度控制系统实现了基本的 温度控制功能 当温度低于设定下限温度时 系统自动启动可控硅加温 使温 度上升 当温度上升到下限温度以上时 停止加温 电热炉的供电电压是经可控硅整流电源提供的 它的电压连续可调 当调整 可控硅触发线路中的偏置电压 即改变了可控硅导通角 于是可控硅整流电 源的电压可根据需要连续可调 而只要改变可控硅管的导通时间便可改变加热 线功率 以达到调节温度的目的 系统在信号放大模块中采用模糊 PID 控制 其工作原理框图如图 2 3 所示 在信号放大模块中采用模糊 PID 具体工作原 理见 4 2 其将自适应的控制可控硅触发线路中的偏置电压 从而实现自动控 制温度 模糊控制器 微处理器 给定值 图 2 3 模糊控制原理框图 3 3 系统硬件设计系统硬件设计 本系统的设计是根据闭环控制原理设计的 在由单片机 驱动电路 可控 硅组成的开环系统基础上加上了 DS18B20 温度检测电路 从而组成闭环控制系 统 在进行系统实现时 从精度高 使用安全 系统硬件简单 使用操作方便 A D 计算控 制变量 非模糊 化处理 模糊推 理决策 模糊控 制规则 模糊量 化处理 D A 传感器 执行机构 被控对象 3 的角度出发 选择高可靠性的器件和电路方案 本设计采用 AT89S52 为主控芯片 前向通道采用可控硅做执行元件 反馈通道则是采用了 DS18B20 作测温元件 在系统设计工程实践上 前向通道的主控芯片和执行元件之间需加一个隔离放 大电路 采用 PID 对主控芯片产生的控制信号进行放大 经过模糊 PID 对可控 硅进行控制 反馈通道采用的 DS18B20 做测温传感器 3 1 单片机 AT89S52 介绍 3 1 1 AT89S52 主要性能参数 与MCS 51单片机产品兼容 8K字节在系统可编程Flash存储器 1000次擦写周期 全静态操作 0Hz 33Hz 三级加密程序存储器 32个可编程I O口线 三个16位定时器 计数器 八个中断源 全双工UART串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 AT89S52 可提供以下标准功能 8K 字节 Flash 闪存器 256 字节内部 RAM 32 个 I O 口线 看门狗定时器 2 个数据指针 3 个 16 位定时 计数器 一个 6 向量 2 级中断结构 全双工串行通信口 片内振荡器及时钟电路 同时 AT89S52 可降至 0HZ 的静态逻辑操作 并支持两种软件可选的节电工作模式 空闲方式停止 CPU 的工作 但允许 RAM 定时 计数器 串性通信口及中断系统 继续工作 掉电方式保存 RAM 中的内容 但振荡器停止工作并禁止其它所有部 件工作直到下一个中断或硬件复位为止 3 1 2 AT89S52 引脚图 4 图 3 1 AT89S52 引脚结构 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电流 当 P1 口的管脚第一次写 1 时 被定义为高阻输入 P0 能够用于外部程序数据存储 器 它可以被定义为数据 地址的低八位 在 FIASH 编程时 P0 口作为原码输 入口 当 FIASH 进行校验时 P0 输出原码 此时 P0 外部必须被拉高 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能接 收输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口被外部下拉为低电平时 将输出电流 这是由于内部上拉的缘故 在 FLASH 编程和校验时 P1 口作为低八位地址接收 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可接收 输出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻拉高 且 作为输入 并因此作为输入时 P2 口的管脚被外部拉低 将输出电流 这是由 于内部上拉的缘故 P2 口当用于外部程序存储器或 16 位地址外部数据存储器 进行存取时 P2 口输出地址的高八位 在给出地址 1 时 它利用内部上拉 优势 当对外部八位地址数据存储器进行读写时 P2 口输出其特殊功能寄存器 的内容 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入 由于外部下拉为低电平 P3 口将输出电流 这是由于上拉的缘故 5 P3 口也可作为一些特殊功能口 如下表所示 表 3 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 外部数据存储器读选通信号输出端 低电平有效 RST 复位输入 当振荡器复位器件时 要保持 RST 脚两个机器周期的高电 平时间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址的 低 8 位字节 在 FLASH 编程期间 此引脚用于输入编程脉冲 在平时 ALE 端 以不变的频率周期输出正脉冲信号 此频率为振荡器频率的 1 6 因此它可用 作对外部输出的脉冲或用于定时目的 然而要注意的是 每当用作外部数据存 储器时 将跳过一个 ALE 脉冲 在地址为 8EH 的 SFR 的第 0 位置 1 ALE 操 作将无效 此时 ALE 只有在执行 MOVX MOVC 指令时 ALE 才起作用 否则 ALE 将被略微拉高 PSEN 外部程序存储器的选通信号 在由外部程序存储器取指期间 每个机 器周期两次 PSEN 有效 但在访问外部数据存储器时 这两次有效的 PSEN 信号 将不出现 EA VPP 当 EA 保持低电平时 则在此期间外部程序存储器 0000H FFFFH 不管是否有内部程序存储器 注意加密方式 1 时 EA 将内部锁定为 RESET 当 EA 端保持高电平时 此间内部程序存储器 在 FLASH 编程期间 此 引脚也用于施加 12V 编程电源 VPP XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入 XTAL2 来自反向振荡器的输出 6 3 1 3 AT89S52 存储器配置 1 存储器结构 程序存储器 如果EA引脚接地 程序读取只从外部存储器开始 对于 89S52 如果EA 接VCC 程序读写先从内部存储器 地址为0000H 1FFFH 开始 接着从外部寻址 寻址地址为 2000H FFFFH 数据存储器 AT89S52 有256 字节片内数据存储器 高128 字节与特殊功 能寄存器重叠 也就是说高128字节与特殊功能寄存器有相同的地址 而物理上 是分开的 当一条指令访问高于7FH 的地址时 寻址方式决定CPU 访问高128 字RAM 还是特殊功能寄存器空间 直接寻址方式访问特殊功能寄存器 SFR 2 定时器 定时器 0 和定时器 1 定时器 0 和定时器 1 与 AT89C21 和 AT89C52 一样 定时器 2 定时器 2 是一个 16 位定时 计数器 它既可以做定时器 又可 以做事件计数器 其工作方式由特殊寄存器 T2CON 中的 C T2 位选择 如表 2 2 所示 定时器 2 有三种工作模式 捕捉方式 自动重载 向下或向上计数 和 波特率发生器 如表 2 3 所示 工作模式由 T2CON 中的相关位选择 定时器 2 有 2 个 8 位寄存器 TH2 和 TL2 在定时工作方式中 每个机器周期 TL2 寄 存器都会加 1 由于一个机器周期由 12 个晶振周期构成 因此 计数频率就是 晶振频率的 1 12 表2 2 T2CON 定时器 计数器2控制寄存器 表2 3 定时器2的工作模式 3 TF2EXF2RCLKTCLKEXEN2TR2C T2CP RL2 76543210 RCLK TCLKCP RL2TR2MODE 001 16 位自动重载 011 16 位捕捉 1X1 波特率发生器 XX0 不用 7 在计数工作方式下 寄存器在相关外部输入角 T2 发生 1 至 0 的下降沿时 增加 1 在这种方式下 每个机器周期的 S5P2 期间采样外部输入 一个机器周 期采样到高电平 而下一个周期采样到低电平 计数器将加 1 在检测到跳变 的这个周期的 S3P1 期间 新的计数值出现在寄存器中 因为识别 1 0 的跳变 需要 2 个机器周期 24 个晶振周期 所以 最大的计数频率不高于晶振频率 的 1 24 为了确保给定的电平在改变前采样到一次 电平应该至少在一个完整 的机器周期内保持不变 3 中断 AT89S52 有 6 个中断源 两个外部中断 INT0 和 INT1 三个定时中断 定时器 0 1 2 和一个串行中断 每个中断源都可以通过置位或清除特殊 寄存器 IE 中的相关中断允许控制位分别使得中断源有效或无效 IE 还包括一 个中断允许总控制位 EA 它能一次禁止所有中断 如表 2 4 所示 IE 6 位是不 可用的 对于 AT89S52 IE 5 位也是不能用的 用户软件不应给这些位写 1 它们为 AT89 系列新产品预留 定时器 2 可以被寄存器 T2CON 中的 TF2 和 EXF2 的或逻辑触发 程序进入中断服务后 这些标志位都可以由硬件清 0 实际上 中断服务程序必须判定是否是 TF2 或 EXF2 激活中断 标志位也必须由软件清 0 定时器 0 和定时器 1 标志位 TF0 和 TF1 在计数溢出的那个周期的 S5P2 被置 位 它们的值一直到下一个周期被电路捕捉下来 然而 定时器 2 的标志位 TF2 在计数溢出的那个周期的 S2P2 被置位 在同一个周期被电路捕捉下来 表 2 4 寄存器 IE 中断允许控制位 1 允许中断 中断允许控制位 0 禁止中断 表2 5 中断允许控制寄存器 符号地址 位功能 EAIE 7 中断允许总控制位 EA 0 中断总禁止 EA 1 各中断由各 EA ET2ESET1EX1ET0EX0 8 自的控制位设定 IE 6 预留 ET2IE 5 定时器 2 中断允许控制位 ESIE 4 串行口中断允许控制位 ET1IE 3 定时器 1 中断允许控制位 EX1IE 2 外部中断 1 允许控制位 ET0IE 1 定时器 0 中断允许控制位 EX0IE 0 外部中断 1 允许控制位 3 2 温度传感器 现代传感器在原理与结构上千差万别 如何根据具体的测量目的 测量对 象以及测量环境合理地选用传感器 是在进行某个量的测量时首先要解决的问 题 本系统采用智能温度传感器 DS18B20 智能温度传感器DS18B20 它的最高分辨率为12位 可识别0 0625摄氏度的 温度 它具有直接输出数字信号和数据处理功能 并且它和单片机接口只需要 一位I O口 因此由它构成的系统简单实用 由于DS18B20按照工业设计要求设 计 温度测量范围从 55 125 且具有高精度 稳定性好 抗干扰能力 强等 温度采集电路模块如图 3 2 所示 该模块采用外接电源供电的方式 图 3 2 温度采集电路模块 3 2 1 DS18B20 的简介 DS18B20 数字温度计是 DALLAS 公司生产的 1 Wire 即单总线器件 具有线 路简单 体积小的特点 因此用它来组成一个测温系统 具有线路简单 在一 根通信线 可以挂很多这样的数字温度计 十分方便 9 1 DS18B20 产品的特点 A 只要求一个端口即可实现通信 B 在 DS18B20 中的每个器件上都有独一无二的序列号 C 实际应用中不需要外部任何元器件即可实现测温 E 数字温度计的分辨率用户可以从 9 位到 12 位选择 F 内部有温度上 下限告警设置 2 DS18B20 的引脚介绍 TO 92 封装的 DS18B20 的引脚排列见图 3 3 图 3 3 DS18B20 封装图 GND 为地信号 DQ 数据输入 输出引脚 开漏单总线接口引脚 当被用着在 寄生电源下 也可以向器件提供电源 VDD 可选择的 VDD 引脚 当工作于寄生 电源时 此引脚必须接地 3 DS18B20 的结构及原理 DS18B20 内部结构主要由四部分组成 64 位光刻 ROM 温度传感器 非易失 性温度报警触发器 TH 和 TL 配置寄存器 其结构框图如图 3 4 10 图 3 4 DS18B20 内部结构框图 DS18B20 中的温度传感器可完成对温度的测量 以 12 位转化为例 用 16 位符号扩展的二进制补码读书形式提供 如表 3 1 以 0 0625 LSB 形式表达 其中是 S 为符号位 表 3 1 这是 12 位转化后得到的 12 位数据 存储在 18B20 的两个 8 位的 RAM 中 二 进制中的前面 5 位是符号位 如果测得的温度大于 0 这 5 位为 0 只要将测到 的数值乘以 0 0625 即可得到实际温度 11 减法计数器 斜坡累加器 减到 0 减法计数器 预 置 低温度系数 振 荡 器 高温度系数 振 荡 器 计数比较器 预 置 温度寄存器 减到 0 图 3 5 测温原理内部装置 3 2 2 DS18B20 的测温流程 初始化 DS18B20 跳过 ROM 匹配 温度变换延时 1S 跳过 ROM 匹配 读暂存器转换成显示码数码管显示 图 3 6 DS18B20 测温流程 3 3 温度显示模块 温度显示电路 利用单片机串行口外接移位寄存器 74LS164 采用 3 位静 态 LED 数码显示器 停止加热时显示设定温度 启动加热时显示当前烤箱温度 电路接线原理如图 3 7 P13 所示 12 A 1 B 2 Q0 3 Q1 4 Q2 5 Q3 6 Q4 10 Q5 11 Q6 12 Q7 13 CLK 8 MR 9 U2 74LS164 A 1 B 2 Q0 3 Q1 4 Q2 5 Q3 6 Q4 10 Q5 11 Q6 12 Q7 13 CLK 8 MR 9 U3 74LS164 a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp DS2 丝丝丝丝丝 a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp DS3 丝丝丝丝丝 5V R1 300 a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp DS1 丝丝丝丝丝 P3 0 A 1 B 2 Q0 3 Q1 4 Q2 5 Q3 6 Q4 10 Q5 11 Q6 12 Q7 13 CLK 8 MR 9 U1 74LS164 P3 1 5V 图 3 7 3 5 温度控制模块 电炉控制采用可控硅来实现 水箱加热丝串接在交流 220 V 市电回路中 单片机的 P1 7 口通过光电隔离器和驱动电路送到可控硅的控制端 由 P1 7 口 的高低电平来控制可控硅的导通与断开 从而控制电阻丝的通电加热时间 IN 1 IN 2 B 6 C 5 E 4 UT1 4N39 R2 10K RT1 680R Q2 9013 D1 IN4001 J1 5V丝丝丝 P1 7 AC220V 5V 5V 丝丝丝 图 3 8 温度控制电路 3 5 1 光电耦合器功能 1 光电耦合器简介 光电耦合器是一种把红外光发射器件和红外光接受器件以及信号处理电路 等封装在同一管座内的器件 当输入电信号加到输入端发光器件 LED 上 LED 发光 光接受器件接受光信号并转换成电信号 然后将电信号直接输出 或者 13 将电信号放大处理成标准数字电平输出 这样就实现了 电 光 电 的转换 及传输 光是传输的媒介 因而输入端与输出端在电气上是绝缘的 也称为电 隔离 2 电耦合隔离器接口电路 光电耦合隔离器在单片机控制系统中常用的有三极管型 单向可控硅型 双向可控硅型等几种 如图 3 9 所示 图 3 9 光电耦合隔离器类型 3 6 报警和按键电路 键盘设置 4 个功能键 分别是启动 百位 十位 和 个位 键 由 P1 口低 4 位作为键盘接口 利用 1 按键可以分别对预置温度的百位 十位 和个位进行加 1 设置 并在 LED 上显示当前设置值 连续按动相应位的加 1 键 即可实现 40 90 的温度设置 报警功能由蜂鸣器实现 当由于意外因素导致水箱温度高于设置温度时 P1 6 口送出的低电平经反向器驱动蜂鸣器鸣叫报警 S2 SW PB Q1 9013 S3 SW PB S4 SW PB S5 SW PB LS1 丝丝丝丝丝 P1 0 P1 1 P1 2 5V P1 3 P1 612 U4A 74LS04 图 3 10 按键和报警电路 14 3 7 直流稳压电源 电路中要把市电转换成 5V 的直流稳压电源 要用到 AC DC 电路 该电路一 般由电源变压器 整流滤波电路及稳压电路组成 如图所示 丝丝丝 AC220 DC12 丝丝 IN4001 C42200UF Vin 1 GND 2 Vout 3 LM7805 C5 220UF 5V Port R5 300 D2 丝丝LE D C6 0 01U F 图 3 11 直流稳压电源电路 直流稳压交流电经过整流和滤波可以变成直流电 但是它的电压是不稳定 的 供电电压的变化或用电电流的变化 都能引起电源电压的波动 要获得稳 定不变的直流电源 还必须再增加由 7805 稳压块组成的直流稳压电路 图中 C4 和 C5 分别为输入端和输出端滤波电容 电路中的 7805 是三端集成稳压器 输出正 5V 直流电压 输入电压至少大 于 7V 使输入 输出之间有 2 3V 及以上的压差 图 3 12 7805 引脚图 15 4 4 系统软件设计系统软件设计 主程序采用中断嵌套方式设计 各功能模块可直接调用 主程序完成系统 的初始化 温度预置及其合法性检测 预置温度的显示及定时器 0 设置 定时 器 0 中断服务子程序是温度控制体系的主体 用于温度检测 控制和报警 包 括启动驱动电路 读入采样数据 数字滤波 越限温度报警和越限处理 输出 可控硅的控制脉冲等 中断由定时器 0 产生 根据需要每隔 15 s 中断一次 即每 15 s 采样控制一次 但系统采用 6 MHz 晶振 最大定时为 130 ms 为实 现 15 s 定时 这里另行设了一个软件计数器 4 1 主程序流程 软件程序是本控制系统的核心 它包括从温度采样到信号输出的整个流程 控制 其示意图如图 4 1 所示 开始 滤波采样温度 计算实际温度 从单片机获取给定温度 计算实际温度与给定温 度的偏差 模糊 PID 计算并输 出 PID 输出送输出控制信号 返回 16 图 4 1 模糊 PID 控制程序结构图 4 2 模糊 PID 控制模块 4 2 1 模糊 PID 控制器的结构设计 模糊 PID 控制器的结构设计主要工作是确定模糊控制器的输入模块和输出 模块 在设计输入模块时 通常按模糊 PID 控制器的输入变量个数区分模糊 PID 控制器的维数 按模糊 PID 控制系统维数可将常见的模糊 PID 控制器划分 三种形式 如图 4 2 所示 理论上说 模糊 PID 控制器的维数越高 反应的反 馈信息越丰富 因此 控制效果也应该越好 但是高维数的模糊控制器在工程 实现时 不仅增加了系统的复杂性 同时也对控制器的计算速度有了更高的要 求 因此 目前广泛实用的是二维模糊控制器 由于本文中控制系统采用二维 模糊 PID 控制器 以下以二维模糊 PID 控制器设计为例进行介绍 图 4 2 模糊 PID 控制器的结构 4 2 2 输入量的模糊化 在确定了模糊 PID 控制器的结构之后 要对采样进入控制器的两个输入量 进行模糊化 以便实现模糊算法 模糊化过程就是将数字表示形式的输入量转 化为通常语言值表示的某一限定码的序数 每一个限定码表示论域内的一个模 糊子集 并由其隶属度函数来定义 应该注意到 对于某一个输入值 它必定 能与某一个特定模糊子集的隶属度相对应 图 4 3 给出了常见的三种模糊化函 数 17 图 4 3 模糊化函数 图 4 3 a 中的模糊函数在输入变量 X0糊子集 A 中有最大隶属程度 其 他输入的隶属度呈线性递减 图 4 3 b 中的模糊函数只在 x0 点处的隶属度 为 1 其他输入值对应的隶属度均为 0 在图 4 3 c 所表示的隶属度函数曲线 为类高斯曲线 它是一条连续函数 因为模糊化函数对控制系统的性能有较大的影响 所以在选定时要根据实 际情况 反复试验 在选定模糊化函数之后 还要确定输入量的各个模糊子集 的模糊函数的定义域 使模糊子集的数目和范围应遍及整个输入量论域 从而 对所有输入量都有对应的模糊函数 4 2 3 模糊 PID 控制规则的设计 控制规则是模糊 PID 控制器的核心部分 它包括三个部分 选择描述输入 和输出变量的词集 定义模糊变量的模糊子集 建立模糊控制器的控制规则 1 选择描述输入和输出变量的词集 因为模糊 PID 控制器的控制规则表现形式是一组模糊条件语句 在条件语 句中描述输入输出变量状态的一些词汇 如 正大 负大 等 的集合 称为这 些变量的词集 也称为变量的模糊状态 所以 通常采用人们日常生活中的语 言描述有关 一般用 大 中 小 三个词汇来描述模糊 PID 控制器的输入输出 变量的状态 将大 中 小再加上正 负两个方向并考虑变量的零状态 共有 七个词汇 即 负大 负中 负小 零 正小 正中 正大 为便于编程实现 用英文字母字头缩写表示为 NB NM NS ZE PS PM PB 2 定义模糊变量的模糊子集 定义一个模糊子集 实际上就是要确定模糊子集隶属度函数曲线的形状 将 确定的隶属度函数曲线离散化 就得到了有限个点上的隶属度 便构成了一个 相应的隶属变量的模糊子集 如图 4 4 所示 图中所示表示论域 X 中的元素 x 对模糊变量 A 隶属程度 设定 X 6 5 4 5 3 2 1 0 1 2 3 4 5 6 则有 18 1 图 4 4 模糊子集的确定 不难看出 确定了隶属函数曲线后 很容易定义一个模糊变量的模糊子集 3 建立模糊 PID 控制器的控制规则 模糊 PID 控制规则是模糊控制的核心 因此如何建立模糊规则就成为一个十 分关键的问题 建立模糊规则的方法有 基于专家的经验和控制工程知识 基 于操作人员的实际操作过程 基于过程的模糊模型 基于学习 选定了模糊 PID 控制中的规则后 要对其进行模糊表示 对于多输入多输出 MIMO 系统 其规则具有如下形式 4 1 其中 4 2 的前提条件构成了在直积空间 Xx xY 上的模糊集合结论是 q 个空间作用的并 他们之间是相互独立的 因此 第 i 条规则可以表示为如下 的模糊蕴含关系 4 3 于是规则 R 可以表示为 19 4 4 可见 规则库 R 可看成由 q 个子规则库所组成 每一个规则库由 n 个多输 入单输出 MISO 的规则组成 各个子规则是相互独立的 根据本文的需要 考 虑如下的两个输入三输出的模糊关系 1 if e is NB and ec is NB then kp is PB and ki is NB and kd is PS 2 if e is NB and ec is NM then kp is PB and ki is NB and kd is NS 3 if e is NB and ec is NS then kp is PM and ki is NM and kd is NB 在上面这个规则中 我们根据输入量 e 和 ec 的模糊化之后的模糊量 通过 规 则 可以得到其输出 kp ki kd 对应的模糊量 4 2 4 模糊量的清晰化 在通过模糊推理得到模糊量之后 因为对于实际的控制参数必须为清晰量 因此需要将 kp ki kd 对应的模糊量转化成清晰量 这个过程就称为去模糊化 Defuzzification 或者称为模糊判决 常用的清晰化计算通常有以下几种 1 最大隶属度函数法 若输出量模糊集合 C 的隶属度函数只有一个峰值 则取隶属度函数的最大值 20 为清晰值 即 其中 Z0 表示清晰值 若 输出量的隶属度函数有多个极值 则取这些极值的平均值为清晰值 2 中位数法 所谓中位数法就是取 Uc z 的中位数作为 z 的清晰量 即 的中位数 它满足也就是说以 Z0 为分界 分界线两边的 Uc z 与横轴围成的面积两边相等 3 加权平均法 这种方法取的加权平均值为 z 的清晰值 即 8 5 因为这种方法类似于物理中的物体重心的计算 所以也称重心法 对于论 域为离散的情况 我们可以类似处理 同理则有 8 6 在得到清晰化之后的 kp ki kd 后 我们就可以通过 PID 算法计算出整个 模糊 PID 控制器的控制输出了 整个控制系统结构入下图 4 5 21 图 4 5 模糊 PID 控制系统结构 4 3 键盘管理模块 上电或复位后系统处于键盘管理状态 其功能是监测键盘输入 接收温 度预置和启动键 程序设有预置温度合法检测报警 当预置温度不在 40 90 时会报警并将温度设定在 40 90 键盘管理子程序流程如图 4 6 所示 图 4 6 键盘管理子程序 A P1 1 0 P1 2 0 P1 3 0 P1 0 0 100 A 10 A 1 A A A Y N Y N N Y Y Y N N N Y N Y 22 4 4 显示模块 显示子程序的功能是将显示缓冲区 57H 和 58H 的二进制数据先转换成三个 BCD 码 分别存入百位 十位和个位显示缓冲区 54H 55H 和 56H 单元 然后 通过串口送出显示 为提高数据采样的可靠性 对采样温度进行数字滤波 数字滤波的算法很 多 这里采用 4 次采样取平均值的方法 本系统 DS10B20 输出结果乘 2 正好是 温度值 因此 4 次采样的数字量之和除以 2 就是检测的当前温度 检测结果 高位存入 50H 低位存入 51H 温度检测子程序流程图如图 4 7 所示 图 4 7 温度检测流程图 4 R2 A D 8 51H 8 50H A R2 1 0 A 4 2 Y N N Y 23 4 5 温度控制模块 将当前温度与预置温度比较 当前温度小于预置温度时 可控硅不导通 接通电阻丝加热 当前温度大于预置温度时 继电器断开 停止加热 当二者 相等时电炉保持原来状态 当前温度降低到比预置温度低 0 5 时 再重新启 动加热 当前温度超出报警上下限时将启动报警 并停止加热 由于电炉开始 加热时 当前温度可能低于报警下限 为了防止误报 在未达到预置温度时 不允许报警 为此设置了报警允许标志 F0 模块流程见图 4 8 N Y N Y N Y 图 4 8 温度控制流程图 当前温度与预置温度比较 当前温度 预置温度 比较 达到过预置温度 当前温度0 5 25 图 4 9 温度报警程序 5 5 恒温控制箱控制算法研究与仿真恒温控制箱控制算法研究与仿真 5 1 恒温系统的数学模型 通过对恒温控制系统的分析 可以看出恒温控制系统的特性 非线性 强 耦合 大惯性等特点 本章针对恒温控制箱的模型特性 对其进行仿真研究 为了对其进行精确得建模 因此通常根据的恒温系统末端各个环节的传递函数 及实验测试数据 利用带延迟的二阶系统模拟恒温系统的数学模 型 控制系统的目标温度设定值为 50 系统惯性时间常数为 T1 4 05 T2 1 取 k0 13 7 系统的滞后时间常数 50s 因此 得到恒温系统模型为 本章的主要内容是通过使用常规数字 PID 算法对恒温系统进行控制 分析常 规 PID 的控制效果以及局限性 同时使用模糊 PID 控制算法对该系统进行控制 分析系统响应曲线 将两种控制方式进行对比 分析各自的特点与不足 5 2 模糊 PID 控制算法与仿真 为达到满意的控制效果 使系统的响应速度及温度稳定 在对模糊规则进行 设计时 将误差信号 e 及误差的变化量 ec 分别划分为七个范围 因此其模糊 规则的数目为 7 7 49 条 kp ki kd 也划分为 NB NM NS ZE PS PM PB 七个范围 这样 整个模糊系统构成了一个 2 输入 3 输出的系统 其系统的结 构图如图 5 1 所示 图 5 1 模糊 PID 控制系统结构图 26 根据以上划分 以及在第 4 章中的理论论述 可以将模糊控制器的输入和 输出的隶属度函数用下图表示 图 5 2 a 输入 e 的隶属度函数 图 5 2 b 输入 ec 的隶属度函数 图 5 2 输出的隶属度函数 同样可以设计出三个输出的隶属度函数 如下图所示 图 5 3 a 输出 kp 的隶属度函数 图 5 3 b 输出 ki 的隶属度函数 27 图 5 3 c 输出 kd 的隶属度函数 图 5 3 输出的隶属度函数 在模

温馨提示

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

评论

0/150

提交评论