




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 一 课程设计内容 运用所学单片机 模拟和数字电路 以及测控系统原理与设计等方面的知 识 设计出一台以 AT89C52 为核心的恒温箱控制器 对恒温箱的温度进行控制 完成恒温箱温度的检测 控制信号的输出 显示及键盘接口电路等部分的软 硬件设计 A D 和 D A 转换器件可自行确定 利用按键 自行定义 进行温度 的设定 同时将当前温度的测量值显示在 LED 上 恒温箱控制器要求如下 1 目标稳定温度范围为 100 摄氏度 50 摄氏度 2 控制精度为 1 度 3 温度传感器输入量程 30 摄氏度 120 摄氏度 电流 4 20mA 加热器为交流 220V 1000W 电炉 二 课程设计应完成的工作 1 硬件部分包括微处理器 MCU D A 转换 输出通道单元 键盘 显 示等 2 软件部分包括键盘扫描 D A 转换 输出控制 显示等 3 用 PROTEUS 软件仿真实现 4 画出系统的硬件电路结构图和软件程序框图 5 撰写设计说明书一份 不少于 2000 字 阐述系统的工作原理和软 硬件 设计方法 重点阐述系统组成框图 硬件原理设计和软件程序流程图 说明 书应包括封面 任务书 目录 摘要 正文 参考文献 资料 等内容 以及 硬件电路结构图和软件程序框图等材料 注 设计说明书题目字体用小三 黑体 正文字体用五号字 宋体 小标题用四号及 小四 宋体 并用 A4 纸打印 三 课程设计进程安排 序号课程设计各阶段名称日期 周次 1总体设计 硬件设计2012 年 12 月 24 日 25 日 17 周 2 2绘制软件程序流程图 编写软件2012 年 12 月 26 日 28 日 17 周 3软 硬件仿真调试2012 年 12 月 27 日 18 周 4软 硬件仿真调试2013 年 1 月 2 日 3 日 18 周 5撰写设计说明书2013 年 1 月 4 日 18 周 四 设计资料及参考文献 1 王福瑞等 单片微机测控系统设计大全 北京航空航天大学出版社 1999 2 现代测控技术与系统 韩九强 清华大学出版社 2007 9 3 智能仪器 程德福 林君主编 机械工业出版社 2005 年 2 月 4 测控仪器设计 浦昭邦 王宝光主编 机械工业出版社 2001 5 Keil C51 帮助文档 五 成绩评定综合以下因素 1 说明书及设计图纸的质量 占 60 2 独立工作能力及设计过程的表现 占 20 3 回答问题的情况 占 20 说明书和图纸部分评分分值分布如下 1 需求分析与设计思路 10 分 要求说明设计任务的具体技术指标打算如何实现 根据实现各技术指标的 解决方法 提出总体设计的思路和解决方案 说明其中关键问题及其解决办法 2 总体方案设计 10 分 根据设计思路 完成 1 软件与硬件分工说明 2 硬件总体框图 3 软 件结构图 3 详细设计 35 分 根据总体设计 1 用 Proteus 画出电路原理图 10 分 2 列出元件清单并说明元件选择及参数选择的依据 5 分 3 画出单片机片内资源分配图 或表 5 分 4 画出软件流程图 10 分 5 提交程序清单 5 分 3 4 使用说明 5 分 第 3 项为 2 分 其余每项 1 分 1 性能和功能介绍 2 各操作开关 按钮 指示灯 显示器等的作用介 绍 3 使用操作步骤 4 故障处理 目目 录录 一 摘一 摘 要要 6 6 二 主要任务与目标二 主要任务与目标 7 7 三 主要内容与基本要求三 主要内容与基本要求 7 7 四 恒温箱控制系统的硬件设计四 恒温箱控制系统的硬件设计 7 7 1 1 系统设计系统设计 7 7 2 2 方案设计方案设计 8 8 五 恒温箱控制系统框图五 恒温箱控制系统框图 8 8 六 功能模块六 功能模块 8 8 七七 硬件设计及工作原理硬件设计及工作原理 9 9 1 1 系统功能及工作流程介绍系统功能及工作流程介绍 9 9 2 2 微处理器微处理器 AT89C52 9AT89C52 9 3 3 温度传感器温度传感器 10 10 4 4 显示部分显示部分 11 11 5 5 键盘输入电路键盘输入电路 13 13 6 6 输出控制输出控制 13 13 7 7 温度越线报警电路温度越线报警电路 14 14 8 8 恒温箱控制器硬件系统图恒温箱控制器硬件系统图 15 15 9 PID9 PID 控制算法控制算法 16 16 八八 系统的软件设计系统的软件设计 1818 1 1 温度传感器温度传感器 DS18B20DS18B20 模块软件设计模块软件设计 18 18 2 2 键盘管理模块键盘管理模块 20 20 3 3 显示模块显示模块 2121 4 4 控制模块控制模块 2121 5 5 温度报警模块温度报警模块 2121 6 PID6 PID 控制程序设计控制程序设计 2323 4 7 7 主程序模块主程序模块 2424 九九 硬件调试硬件调试 25 25 十 仿真调试十 仿真调试 2525 十一 设计总结十一 设计总结 25 25 参考文献参考文献 26 26 附录附录 1 1 元件清单元件清单 27 27 附录附录 2 2 程序清单程序清单 27 27 绪论绪论 随着社会发展的需求 人们对恒温箱的应用和需求越来越广泛 在工业生产和日常生 活或科学实验中 我们随处都可以看到恒温箱的应用 如 可以根据动物生活习性的需要 控制饲养棚合适的温度来进行孵卵或动物培养 在农业上 可用于种子的发芽 在科学实 验上 可产生恒温环境用于各种细菌培养等 在医学上 可用于做细菌培养 放射免疫分 析 血清溶化 石腊熔化 试管消毒等 常用的恒温箱主要分为三类 高温恒温箱 高于 60 中温恒温箱 10 60 低温恒温箱 低于 1O 恒温箱的温度控制系统可分为人工调节和自动调节两种方式 人工调节是通过温度计 进行测量后手动调节变压器 从而控制产生热量的大小 而自动调节往往通过热电偶传感 器进行测温 输出电压值 经放大后加到电机上驱动电机来调节变压器 其优点是可以连 续 实时 准确的来控制温度 基于单片机技术的温控器和可编程温度传感器相结合使用 是目前恒温箱温度控制较为先进的一种方式 单片机是一种集 CPU RAM ROM I O 接口和中断系统等部分于一体的器件 只需要外加电 源和晶振就可实现对数字信息的处理和控制 因此 单片机广泛用于现代工业控制中 控 制具有体积小 重量轻 价格低 可靠性高 耗电少和灵活机动等许多优点 因此如果能 利用单片机进行温度的测量和控制 将会大大提高温度测量和控制的可靠性和灵活性 单 片机对温度测量控制过程是借助于传感器 A D 转换器以及扩展接口和执行机构来进行的 在闭环型过程控制中 过程的实时参数由传感器和 A D 转换器来实时采集 并由单片机自 动记录 处理并控制执行机构动作来进行调节和控制 因此需要对单片机进行扩展和开发 来形成整个单片机温度控制系统 5 一 主要任务与目标 一 主要任务与目标 恒温控制在工业生产过程中举足轻重 温度的控制直接影响着工业生产的产量和质量 本课题基于单片机设计一个恒温箱控制系统 系统包括硬件和软件两部分 其中硬件包括 数据采集 显示 控制 报警及温度传感器的设计 软件包括键盘管理程序设计 显示程 序设计 控制程序设计和温度报警程序设计 能够实现设置和调节初始温度值 进行数码显示 当加热到设定值后立刻报警 设计 过程中设计的控制方案能够保证精度 考虑系统的安全性 可靠性和稳定性 二 主要内容与基本要求 二 主要内容与基本要求 1 1 主要内容 主要内容 1 了解温度传感器特点及其适用范围 针对恒温箱进行合理的选型 2 掌握控制器单片机的有关知识 并熟悉其编程 3 对单片机测控程序及其接口技术作重点的掌握 4 在以上几个内容的基础上 进行课题的总体设计 绘制系统的总体电路 选择合适的 相关硬件 最终完成本课题的设计 2 2 基本要求 基本要求 运用所学单片机 模拟和数字电路 以及测控系统原理与设计等方面的知识 设计 出一台以 AT89C52 为核心的恒温箱控制器 对恒温箱的温度进行控制 完成恒温箱温度的 检测 控制信号的输出 显示及键盘接口电路等部分的软 硬件设计 A D 和 D A 转换器 件可自行确定 利用按键 自行定义 进行温度的设定 同时将当前温度的测量值显示在 LED 上 三 恒温箱控制系统的硬件设计三 恒温箱控制系统的硬件设计 6 1 1 系统设计要求系统设计要求 1 目标稳定温度范围为100摄氏度 50摄氏度 控制精度为 1度 2 温度传感器输入量程 30 摄氏度 120 摄氏度 电流 4 20mA 加热器为交流 220V 1000W 电炉 3 键盘按键输入 具有设定 加温 减温 复位等 4 显示功能 数码管显示设定值与当前所测温度值 5 具有超温报警功能 6 具有掉电保护功能 2 2 方案设计方案设计 1 以应用广泛 性能可靠的M CS 51 系列单片机组成控制系统 2 温度采样选择数字温度传感器DS18B20 3 利用P P 40 微型打印机进行温度记录打印 4 单片机与上位机通信采用MA X 489 构成标准RS 422A 通信接口 5 键盘为8 键式 完成设定 增温 降温 清除 模式切换 复位 3位数码管循环显示 设定与检测的温度 四 恒温箱控制系统框图四 恒温箱控制系统框图 五 功能模块五 功能模块 根据上面对工作流程的分析 系统软件可以分为以下几个功能模块 1 键盘管理 监测键盘输入 接收温度预置 启动系统工作 2 显示 显示设置温度及当前温度 3 温度检测及温度值变换 7 4 温度控制 根据检测到的温度控制电炉工作 5 报警 当预置温度或当前炉温越限时报警 六六 硬件设计及工作原理硬件设计及工作原理 1 1 系统功能及工作流程介绍系统功能及工作流程介绍 根据恒温箱控制器的功能要求 并结合对 51 系列单片机的资源分析 即单片机软件编 程自由度大 可用编程实现各种控制算法和逻辑控制 所以采用 AT89C52 作为电路系统的 控制核心 按键将设置好的温度值传给单片机 通过温度显示模块显示出来 初始温度设 置好后 单片机开启输出控制模块 使电热器开始加热 同时将从数字温度传感器 DS18B20 测量到的温度值实时的显示出来 当加热到设定温度值时 单片机控制声光报警 模块 发出声光报警 同时关闭加热器 当自然冷却到设定温度 50 摄氏度以下时 单片机 再次启动加热器 如此循环反复 以达到恒温控制的目的 系统结构框图如图 1 所示 系 统基本硬件电路图如图所示 在本系统中 DP1 DP3 用于七段数码显示 P1 0 用于接收 DS18B20 采集到的数字温度信号 P1 6 控制光电开关 决定电加热器是否工作 KEY1 KEY3 即 P1 1 P1 2 P1 3 用于按键控制 P1 7 和 P1 5 用于控制扬声器和发光二极 管 进行声光报警 串行口用于输出显示段码 P2 0 P2 1 用于对数码管进行动态扫描 2 2 微处理器微处理器 AT89C52AT89C52 AT89C52 单片机是最新的一种低功耗 高性能内含 SK 字节闪电存储器的 8 位 CMOS 微 控制器 与工业标准 MCS 51 指令系列和引脚完全兼容有超强的加密功能 其片内闪电存 储器的编程与擦除完全用电实现 数据不易挥发 编程 擦除速度快 它的主要特点有 1 内部程序存储器为电擦除可编程只读存储器 EEPROM 容量 SKB 内部数据存储器容 量 256B 不包括专用寄存器 外部数据存储器寻址空间 64KB 外部程序存储器寻址空间 64KB 2 有三个 16 位的定时器 计数器 3 可利用两根 I O 口线作为全双工的串行口 有四种工作方式 可通过编程选定 4 内部 ROM 中开辟了四个通用工作寄存器区 共 32 个通用寄存器 以适应多种中断 或子程序嵌套的情况 5 内部有 6 个中断源 分为二个优先级 每个中断源优先级是可编程的 6 堆栈位置是可编程的 堆栈深度可达 128 字节 7 内部有一个由直接可寻址位组成的布尔处理机 在指令系统中包含了一个指令子集 专 8 用于对布尔处理机的各位进行各种布尔 处理 特别适用于控制目的和解决逻辑 问题 AT89C52 其引脚结构 3 3 温度传感器温度传感器 采用数字温度传感器 DS18B20 DS18B20 提供九位温度读数 测量范围 55 125 采用独特 1 WIRE 总线协议 只需一根口线即实现与 MCU 的双向通讯 具有连接简单 高 精度 高可靠性等特点 并且 DS18B20 支持一主多从 若想实现多点测温 可方便扩展 DS18B20 采用的是 1 Wire 总线协议方式 即在一根数据线实现数据的双向传输 而对 AT89C52 单片机来说 硬件上并不支持单总线协议 因此 我们必须采用软件的方法来模 拟单总线的协议时序来完成对 DS18B20 芯片的访问 DS18B20 的特点 1 独特的单线接口方式 与单片机通信只需一个引脚 DS18B20 与微处理器连接时 仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯 2 在使用中不需要任何外围元件 3 可用数据线供电 电压范围 3 0 5 5 V 4 测温范围为 55 125 在 10 85 范围内误差为 0 5 5 通过编程可实现 9 12 位的数字读数方式 6 用户可自设定非易失性的报警上下限值 7 支持多点组网功能 通过识别芯片各自唯一的产品序列号从而实现单线多挂接 多 EA VPP 31 XTAL1 19 XTAL2 18 RST 9 P3 7 RD 17 P3 6 WR 16 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 AD0 P0 0 39 AD1 P0 1 38 AD2 P0 2 37 AD3 P0 3 36 AD4 P0 4 35 AD5 P0 5 34 AD6 P0 6 33 AD7 P0 7 32 A8 P2 0 21 A9 P2 1 22 A10 P2 2 23 A11 P2 3 24 A12 P2 4 25 A13 P2 5 26 A14 P2 6 27 A15 P2 7 28 PSEN 29 ALE PROG 30 TXD P3 1 11 RXD P3 0 10 GND 20 VCC 40 9 个 DS18B20 可以并联在唯一的线上 简化了分布式温度检测的应用 实现多点测温 8 负压特性 电源极性接反时 温度计不会因发热而烧毁 但不能正常工作 9 告警寻找命令可以识别和寻址那些温度超出预设告警界限的器件 3 DS18B20 在电路中的连接 见图 2 1 wire 总线支持一主多从式结构 硬件上需外接上拉电阻 当一方完成数据通信需 要释放总线时 只需将总线置高点平即可 若需要获得总线进行通信时则要监视总线是否 空闲 若空闲 则置低电平获得总线控制权 DS18B20 测温电路 10 4 4 显示部分显示部分 显示采用 3 位共阳LED 动态显示方式 显示内容有温度值的十位 个位及小数点后 一位 用P2 口作为段控码输出 并用74ls164 作驱动 P0 0 P0 2作为位控码输出 用 PNP 型三极管做驱动 11 5 5 键盘输入电路键盘输入电路 键盘设定 用于温度设定 共三个按键 KEY1 P1 1 状态切换 温度设置确认 温度重新设置 KEY2 P1 2 设置温度 KEY3 P1 3 设置温度 6 6 输出控制输出控制 采用光电藕合器 控制信号与输出信号可以很好的隔离 增强了系统的安全性和抗干 扰能力 输出控制电路 MOC3021 内部带有过零控制电路 MOC3021 输出端额定电压为 400V 加 热电路中采用 MOC3021 的目的有两个 其一是实现强电与弱电的隔离 其二是实现双向可控 12 硅的过零触发 从而使流过双向可控硅的电流波形为正弦波 减少谐波 电路连接如图所示 其在电路中的工作原理是单片机根据传感器和设定开关输入的控制指令 控制电器的电源 通断 SW1 为双向开关 其最大通态电流为 1A 当电源控制电路的输出管脚 P1 6 送出的开 关控制指令为高电平 MOC3021 截止 Q2 截止 电器被关闭 当电源控制电路的输出管脚 P1 6 送出的开关控制指令为低电平 MOC3041 导通 Q2 导通 电器被打开 通过 MOC3021 内部的过零触发电路 保证 Q2 在电压过零时导通和截止 对供电系统干扰极小 R6 和 C6 是 Q2 的保护电路 光耦控制输出电路 7 7 温度越线报警电路温度越线报警电路 报警电路如图所示 该电路采用一个小功率三极管 Q2 驱动蜂鸣器 当单片机接收到超 额温度信号或危险信号时 输出脚 P1 7 输出高点平 Q2 导通 致使蜂鸣器得电工作 发出 报警声 同时 电路中的发光二极管指示出电路的工作状态 13 报警电路 8 恒温箱控制器硬件系统图恒温箱控制器硬件系统图 14 9 PID9 PID 控制算法控制算法 1 1 PIDPID 的数学模型的数学模型 PID 控制是一种比较成熟的控制理论 它通过比例 积分 微分三部分的合理组合可以 用比较简单的方法获得令人满意的控制效果 PID 的数学模型如图表示 比例 微分 被控对象积分 E t R t U t Y t PID 数学模型 给定值R t 与实际值Y t 构成控制误差 E t R t Y t 式2 1 PID控制器根据E t 将误差的比例 P 积分 I 和微分 D 通过线性组合构成控制量 对受控对象进行控制 其控制规律如式2所示 U t KP e t 式2 2 0 1 t d i T de t E t dt Tdt U t 控制器输出函数 E t 控制器误差函数 KP 比例系数 Ti 积分时间常数 Td 微分时间常数 一个最简单的控制器可以只有比例部分 它能够产生与输入信号成比例的输出信号 所以误差一旦产生 控制器立即就有控制作用 使被控制量朝着减小误差的方向变化 控 制作用的强弱取决于比例系数KP 比例控制的缺点是不能在设置点和反馈点之间产生零误 差 静差 为了产生有限的输出信号 必须保持这种静差 加大KP可以减小静差 但是KP 过大会导致动态性能变坏 甚至会使闭环系统不稳定 15 为了消除这种静差 可以引入积分控制环节 积分环节能对误差进行记忆并积分 即 使只存在很小的偏差 也可以将其积分后作用于操作部分 有利于消除静差 但是积分作 用具有滞后特性 它总是滞后于偏差的存在 这样会使系统易于振荡 结果往往超调 使 被控变量波动很大 积分控制常用于补偿高精度的控制系统 微分控制能对误差进行微分 敏感出误差的变化趋势 将预期的动作作用于操作部分 增大微分控制作用可以加快系统的响应 使超调量减小 增加系统的稳定性 缺点是微分 控制对干扰同样敏感 使系统抑制干扰的能力降低 微分控制可用于补偿快速变化的控制 系统 2 2 PIDPID控制规律的离散化控制规律的离散化 为了用计算机实现PID控制 必须将式表示PID控制规律的连续形式变成离散形式 才 能通过编程实现 若设温度采样周期为T 第n次采样得到的输入偏差为en 输出为Un 微分用差分代替 式2 3 1 nn eede t dtT 积分用求和代替 式2 4 0 0 n t k k e t dte T A 这样PID控制器控制算法的离散形式改写为 式2 5 1 0 1 n nn nPnkd k i ee UKee TT TT A 这种算法的缺点是 由于是全量输出 所以每次输出均与过去的状态有关 计算时要 对E n 进行累加 所以计算机工作量大 而且 因为计算机输出的U n 对应的是执行机构 的实际位置 如果计算机出现故障 u n 的大幅度变化会引起执行机构位置的大幅度变化 这种情况往往是生产实践中不允许的 在某些场合 可能造成重大的生产事故 因此产生 了增量式PID控制的控制算法 所谓增量式PID控制算法是指数字控制器的输出只是控制量的增量U n 当执行机构 需要的是控制量的增量时 可由式导出提供增量的PID控制算法 根据递推规律得 式2 6 1 0 1 1 1 2 n Pid j U nK e nKe jK e ne n 用式2 5减去式2 6可得 式2 7 112 1 2 d nnPnnnn i TT UUKe ne neeee TT 16 改写成 1 1 2 1 2 nnPID UUKE nE nK E nKE nE nE n 式2 8 1 PID U nPPP 事实证明 对于PID这样简单的控制器 能够适用于广泛的工业和民用对象 并以其 很高的性价比在市场中占主导地分反映了PID控制 但在工业控制过程中经常会碰到大滞位 充后 时变的 非线性的复杂系统 其中有的是非线性系统 有的带有延时和随机干扰 有 的无法获得较准确的数学模型或者模型非常粗燥 对于以上这些系统 如果采用常规的PID 控制器 则难以整定PID参数 因此比较难以达到预期的控制效果 同时 在实际生产现场 由于受到参数整定方法繁杂的困扰 常规PID控制器参数往往整定不良 性能欠佳 对运行 工矿的适用性很差 七七 系统的软件设计系统的软件设计 软件描述 软件描述 在软件设计时 必须先弄清恒温控制系统的操作过程和工作过程 加热器开始时处于 停止状态 首先设定温度 显示器显示温度 温度设定后则可以启动加热 温度检测系统 不断检测并显示系统中的实时温度 当达到设定值后停止加热 当温度下降到下限 小于设 定值 1 时再自动启动加热 这样不断的循环 使温度保持在设定范围之内 启动加热以 后就不能再设定温度 因为温度的设定可以根据实验要求改变 若要改变设定的温度 可 以先按复位 停止键再重复上述过程 根据以上对操作和工作过程的分析 程序应分为两个阶段 一是通电或复位后到启动 加热 程序主要是按键设定 显示器显示设定温度 二是检测并显示系统的实时温度 并 根据检测的结果控制电热器 这时系统不接收键盘的输入 因此 程序可以分为以下几个 功能模块 温度设定和启动 显示 温度检测 温度控制以及报警 1 1 温度传感器 温度传感器 DS18B20DS18B20 模块软件设计模块软件设计 DS18B20上电后处于空闲状态 需要控制器发能完成温度转换 DS18B20的单线通讯 功能是分时完成的 具有严格的时序要求 而AT89C2052单片机并不支持单线传输 必须采 用软件的方法来模拟单线的协议时序 DS18B20的操作必须严格按照协议进行 工作协议流 程为 主机发复位脉冲初始化DS18B20 DS18B20发响应脉冲 主机发ROM操作指令 主机发 17 存储器操作指令 数据传输 对DS18B20操作时 首先要将它复位 复位时 DQ线被拉为低电平 时间为 480 960us 接着将数据线拉为高电平 时间为15 60us 最后DS18B20发出60 240us的 低电平作为应答信号 这时主机才能进行读写操作 进行写操作时 将数据线从高电平拉至低电平 产生写起始信号 从DQ线的下降沿起 计时 在15us到60us这段时间内对数据线进行检测 如数据线为高电平则写1 若为低电平 则写0 完成了一个写周期 在开始另一个写周期前 必须有1us以上的高电平恢复期 每 个写周期必须要进行写操作时 将数据线从高电平拉至低电平 产生写起始信号 从DQ线 的下降沿起计时 在15us到60us这段时间内对数据线进行检测 如数据线为高电平则写1 若为低电平 则写0 完成了一个写周期 在开始另一个写周期前 必须有1us以上的高电 平恢复期 每个写周期必须要有60us以上的持续期 读操作时 主机将数据线从高电平拉至低电平1us以上 再使数据线升为高电平 从而 产生读起始信号 从主机将数据线从高电平拉至低电平起15us至60us 主机读取数据 每 个读周期最短的持续期为60us 周期之间必须有1us以上的高电平恢复期 温度转换读取 温度数值程序流程如图所示 18 开始 发起 Convert T命令 延时1s 等待温 度转换完成 读取第1 2字节即 为温度数据 发起 Skip ROM命令 初始化DS18B20 初始化DS18B20 发起 Read Scratchpad命令 应答脉冲 应答脉冲 No No Yes Yes 温度转换读取 温度数值程序流程 2 2 键盘管理模键盘管理模 块块 键盘管理子程序 流程如图所示 19 当通电或复位以后 系统进入键盘管理状态 单片机只接收设定温度和启动 当检测 到有键闭合时先去除抖动 这里采用软件延时的方法 延时一段时间后 再确定是否有键 闭合 然后将设定好的值送入预置温度数据区 并调用温度合法检测报警程序 当设定温 度超过最大值如 100 时就会报警 最后当启动键闭合时启动加热 键盘设定 用于温度设定 共三个按键 KEY1 P1 1 状态切换 温度设置确认 温度重新设置 KEY2 P1 2 设置温度 KEY3 P1 3 设置温度 系统上电后 数码管全部显示为零 根据按 KEY1 次数 决定显示的状态 根据相应的 状态 利用 KEY2 KEY3 进行加减 当温度设定好之后 再按 KEY1 确定 系统开始测温 启加热器 3 3 显示模块显示模块 显示子程序的功能是将缓冲区的二进制数据先转换成 3 个 BCD 码 再将其分别存入百 位 十位 个位 3 个显示缓冲区 送往串行口 利用单片机的 P0 口进行扫描 让数据动态 的显示出来 可显示设置温度和测量温度 4 4 控制模块控制模块 温度控制子程序流程如图所示 将当前温度与设定好的温度比较 当当前温度小于设 20 定温度时 开启电热器 当当前温度大于设定温度时 关闭电热器 当二者相等时 电热 器保持这一状态 5 5 温度报警模块 温度报警模块 报警子程序流程如图所示 根据设计要求 当检测到当前温度值高于设定温度值 1 时报警 报警的同时关闭电热器 为了防止误报 设置了报警允许标志 只有在允许报警 的情况下 温度值高于设定温度值时才报警 21 6 6 PIDPID 控制程序设计控制程序设计 由式2 8可以改写成 P K P K 1 KP E K E K 1 KI E K KD E K 2E K 1 E K 2 P K 1 PP PI PD 式6 1 根据式 6 1 编程 相应的程序框图如图所示 22 开始 计算KP E K E K 1 KIE K 调用加减法子程序计算 E K E K 1 调用乘法子程序计算 KI E K 计算KP E K E K 1 返回 计算P K 计算KP E K E K 1 KIE K KD E K 2E K 1 E K 2 调用加减发子程序计 E K UR UI K 7 7 主程序模块 主程序模块 主程序主要完成加热控制系统各部件的初始化和实现各功能子程序的调用 以及实 际测量中各个功能模块的协调在无外部中断申请时 单片机通过循环对外部温度进行实 时显示 把设置键作为外部中断 0 以便能对数字按键进行相应处理 主程序流程图如 23 八 硬件调试八 硬件调试 根据设计的原理电路做好实验样机 便进入硬件调试阶段 调试工作的主要任务是 排除样机故障 其中包括设计错误和工艺性故障 九 仿真调试九 仿真调试 在硬件调试通过后 根据硬件电路 在 keil 上编写出单片机的主程序和相应的子程序 24 调试编译后生成 hex 文件 加载到 52 单片机中 开始调试 根据 led 的显示判断程序的对 错 直到调试结果与设计的要求为止 在这个过程中要不断的修改编写的程序 有时候还 要适当的修改硬件电路 十 设计总结十 设计总结 我们的温度控制系统是基于AT89S52 单片机的设计方案 她能实时显示当前温度 并能根据用户的要求作出相应的控制 此系统为闭环系统 工作稳定稳定性高 控制精 度高 利用模糊控制算法使超调量大大降低 软件采用模块化结构 提高了通用性 本设 计的目的不仅仅是温度控制本身 主要提供了单片机外围电路及软件包括控制算法设计 的思想 应该说 这种思想比控制系统本身更为重要 设计所达到的性能指标设计所达到的性能指标 1 11 1 温控系统的标度误差温控系统的标度误差 我们将标准温度计和温控系统探头放人同一容器中 选定若干不同的温度点 记 录下标准温度计显示的温度和温控系统显示的温度进行比较 测量数据如下表2 所示 表 2 标准温度计测量的温度和温控系统显示的温度 标准温度计和温控系统显示的温度 标准温度计 57 8 63 0 72 8 85 1 90 9 温控系统 58 3 62 9 73 0 85 5 90 5 差值比较 0 5 0 1 0 2 0 4 0 4 标度误差 1 5 1 21 2 温控系统的静态误差温控系统的静态误差 通过测量在不同的温度点同标准温度的温度差来确定温控系统的静态误差 其测量 数据如下表3 表3 标准温度和温控系统显示的温度 标准温度和温控系统显示的温度 标准温度 60 0 70 0 83 0 90 2 系统显示值 59 6 70 0 83 3 90 5 差值 0 4 0 0 3 0 3 静态误差0 18 1 31 3 温控系统的控制精度温控系统的控制精度 25 通过设定不同的温度值 使加热器加热 待温度稳定时记录各温度点的温度计数据 和温控系统的显示值 其记录数据如下表4 温度计读数和温控系统显示的温度 设定温度值 55 0 65 0 75 0 87 0 91 0 系统显示值 54 1 64 6 74 9 86 1 91 2 差值 0 1 0 9 0 1 0 9 0 2 控制精度0 45 超调量 0 83 结果分析论述 我们的系统完全满足设计要求 静态误差方面可以达到0 18 的误差 在读数正确方 面与标准温度计的读数误差为1 5 对一般的工业生产完全可以采用我们的设计 该系统 具有较小的超调值 超调值大约为0 83 左右 虽然超调为不利结果 但另一方面却减小了 系统的调节时间 从其数据表可以看出该系统为稳定系统 而且满足系统的误差要求 参考文献 参考文献 1 单片微机测控系统设计大全 王福瑞等 北京航空航天大学出版社 1999 2 现代测控技术与系统 韩九强 清华大学出版社 2007 9 3 智能仪器 程德福 林君主编 机械工业出版社 2005 年 2 月 4 测控仪器设计 浦昭邦 王宝光主编 机械工业出版社 2001 5 测控系统原理与设计 孙传友 孙晓斌著 北京航空航天大学出版社 2007 附录附录 1 1 元件清单 类型名型号阻值数量 电阻MINRES100R1K3 电阻MINRES10K10K3 电阻MINRES100R27R1 电阻MINRES100R3R1 26 电阻MINRES100R100R1 电阻MINRES10K0 3K10 电容HTC0060330PF3 电容HTC0060310UF1 电容HTC006031 0PF1 按钮4 三极管2N37 72 三极管PN42503 传感器DS18B201 光的耦合器MOC30211 加热器1 芯片74LS1641 单片机AT89C521 数码管7seg mpx1 cc3 附录附录 2 2 程序清单 主程序 主程序 TEMPER L EQU 29H 用于保存读出温度的低 8 位 TEMPER H EQU 28H 用于保存读出温度的高 8 位 FLAG EQU 38H 是否检测到 DS18B20 标志位 DAYU EQU 44H 设温 实温 XIYU EQU 45H 设温 实温 DEYU EQU 46H 设温 实温 GAOLE EQU 47H 温度高于最高温度 DILE EQU 48H 温度低于最低温度 Abit EQU 79H 数码管个位数存放内存位置 Bbit EQU 7AH 数码管十位数存放内存位置 Cbit EQU 78H 数码管小数存放内存位置 ORG 0000H AJMP START START SETB P1 1 SETB P1 2 SETB P1 3 SETB P1 4 SETB P1 5 CLR P1 7 MOV R4 00H MOV SP 60H 确立堆栈区 MOV PSW 00H MOV R0 20H RAM 区首地址 27 MOV R7 60H RAM 区单元个数 ML MOV R0 00H INC R0 DJNZ R7 ML MAIN LCALL GET TEMPER 调用读温度子程序进行温度显示 这里我们考 虑用网站提供的两位数码管来显示温度 显示范围 00 到 99 度 显示精度为 1 度 因为 12 位转化时每一位的精度为 0 0625 度 我们不要求显示小数所以可以抛弃 29H 的低 4 位将 28H 中的低 4 位移入 29H 中的高 4 位 这 样获得一个新字节 这个字节就是实际测量获 得的温度 LCALL DISPLAY 调用数码管显示子程序 JNB 00H MAIN CLR 00H MOV A 38H CJNE A 00H SS AJMP MAIN SS LCALL GET TEMPER LCALL DISPLAY 调用数码管显示子程序 LCALL BIJIAO LCALL JIXIAN JNB DEYU LOOP SETB P1 6 关加热器 CLR DEYU LCALL GET TEMPER LCALL DISPLAY AJMP TT2 LOOP JNB DAYU TT CLR DAYU SETB P1 6 LCALL GET TEMPER LCALL DISPLAY AJMP TT2 TT JNB XIYU TT2 CLR XIYU CLR P1 6 LCALL GET TEMPER LCALL DISPLAY TT2 MOV A 29H CLR C CJNE A 50H JX MOV A 30H 28 CLR C CJNE A 51H JIA1 AJMP YS2 JIA1 JC JX MOV A 51H MOV 52H A ADD A 2 MOV 52H A CLR C MOV A 30H CJNE A 52H JIA2 JIA2 JNC JX YS2 SETB P1 6 MOV R5 20H YS LCALL GET TEMPER LCALL DISPLAY DJNZ R5 YS CLR P1 6 MOV R5 20H YS1 LCALL GET TEMPER LCALL DISPLAY DJNZ R5 YS1 YS3 SETB P1 6 MOV R5 20H YS0 LCALL GET TEMPER LCALL DISPLAY DJNZ R5 YS0 CLR P1 6 MOV R5 20H YS01 LCALL GET TEMPER LCALL DISPLAY DJNZ R5 YS01 YS4 SETB P1 6 MOV R5 20H YS02 LCALL GET TEMPER LCALL DISPLAY DJNZ R5 YS02 CLR P1 6 MOV R5 20H YS03 LCALL GET TEMPER LCALL DISPLAY DJNZ R5 YS03 JX MOV A 29H 29 CJNE A 31H JX00 JX01 SETB P1 6 CLR C AJMP LAST JX00 JC JX01 CLR P1 6 CJNE A 32H JX03 JX02 SETB P1 6 CLR C AJMP LAST JX03 JNC JX02 CLR P1 7 LAST LCALL GET TEMPER LCALL DISPLAY AJMP SS 常数表格区 TAB DB 0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 0 8 DB 90H 88H 83H 0C6H 0A1H 86H 8EH 0FFH 0CH 9 A B C D E F 灭 p TAB1 DB 40H 79H 24H 30H 19H 12H 02H 78H 00H 10H 0 9 TAB2 DB 0 0 1 2 3 3 4 4 5 5 6 7 8 8 9 9 小数点 1ms 延时程序 MAIN1 MOV R7 03H 显示位数为 2 位 MOV R0 7AH MOV 78H 00H MOV 79H 00H MOV 7AH 00H KK LCALL DIR LCALL KEY1 LOOP1 CJNE A 11 LOOP2 AJMP LAST0 LOOP2 CJNE A 12 LOOP3 LJMP LAST3 LOOP3 CJNE A 10 L4 MOV A 00H L4 MOV R0 A LCALL DIR DEC R0 DJNZ R7 KK SETB 01H LAST0 JNB 01H KK LOOP4 LCALL KEY1 CJNE A 12 LOOP5 30 AJMP LAST3 LOOP5 CJNE A 11 LOOP4 LAST1 LCALL DIR LCALL MUN LCALL JD LCALL BIJIAO LAST3 POP PS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纸浆纳米纤维素制备新方法-洞察及研究
- 部队地雷使用课件
- 部队作风纪律课件
- 湖北省黄冈市团风县2024-2025学年八年级下学期期末测试物理试题(含解析)
- 安徽省黄山市2024-2025学年高二上学期期末质量检测地理试卷(含答案)
- 20xx广州市劳动合同样本
- 部门安全培训课件强化
- 遨游汉字王国猜字谜课件
- 2025年广东省广州市中考物理三轮冲刺《物态变化》
- 基于差分隐私的前端数据扰动梯度传播优化研究
- 粘膜免疫 2课件
- 电子课件-《可编程序控制器及其应用(三菱-第三版)》-A04-1724-课题一-可编程序控制器基础知识
- 统计业务知识(统计法规)课件
- 实验计划样表
- 三阶魔方入门教程课件
- 艾滋病个案流行病学调查表
- 广告策划与创意课件-2
- 地质勘察任务书模板
- 全国中心血站上岗证考试题库
- 环境社会学整本书课件完整版电子教案全套课件最全教学教程ppt(最新)
- 计算机组装与维护完整版课件(全)
评论
0/150
提交评论