空调温度控制系统的设计与实现毕业设计论文(编辑修改稿)内容摘要:

线遥控接口电路 系统中无线遥控接收模块的输出引脚如表 32 所示。 表 32 无线遥控接收模块引脚图 脚位 名称 功能说明 1 VT 输出状态指示 2 D3 数据输出 3 D2 数据输出 4 D1 数据输出 空调温度控制系统的设计与实现 6 5 D0 数据输出 6 5V 电源正极 7 GND 电源负极 8 ANT 接天线端 温度传感器简介及接口电路 温度传感器简介 DS18B20 数字温度传感器可以提供 912 位数字量的温度测量,它的测温范围为55~+ 125℃。 在硬件上, DS18B20 通过一个单总线接口与处理器交互信息,而且DS18B20 能直接从数据线上吸取能量,这种寄生电源的方式可以使它的应用更方便、更灵活 [5]。 DS18B20 的主要特征: (1)先进的单总线数据通信。 (2)最高 12 位分辨率,精度可达土 摄氏度。 (3)12 位分辨率时的最大工作周期为 750 毫秒。 (4)可选择寄生工作方式。 (5)检测温度范围为 – 55176。 C ~+1 25176。 C 系统 中 温度传感器接口电路 系统中 DS18B20 与单片机的接口电路如图 39 所示,从图中可以看到 DS18B20的只需要一个数据线就能完成数据通信工作。 DS18B20 的数据通信端口接的是单片机的 端口,这样的单总线方式硬件连接非常方便,甚至利用它的寄生电源的功能连电源线也可以省去。 简单的硬件结构也需要付出代价, DS18B20 需要精准的时序控制和复杂的编程才能准确采集到温度数据。 P 2 .32 7 .0DQ2V C C3G ND1U1 DS 1 8 B 2 0 R11 0 k 空调温度控制系统的设计与实现 7 图 39 DS18B20 模块电路 输出驱动电路 半导体制冷片简介 半导体制冷片没 有滑动部件, 这是区别于常规制冷器件的很大优点。 半导体制冷片省去了机械部件,就可以使它的体积减小,这样它就可以 应用在一些空间受到限制的场合。 而且,这种制冷器件 可靠性要求高,无 污染。 其缺点是没有常规制冷器件那样制冷效果强大,这也让它的应用受到了限制。 加热丝简介 加热丝实际上就是一个电阻,它把电能尽可能的转化为热能。 电热丝的材料通常都是耐高温的材料,例如 铁铬铝、镍铬 材料等。 本设计用的是 镍铬 材料,阻值约 5欧的电热丝, 12V 时功率约为 28 瓦 [8]。 继电器驱动电路 继电器及其驱动电路简介 继电器是一种常规的电子开关,用小电流去控制大电流运作的电控制器件,故在电路中起着安全保护、转换电路等作用。 它的工作原理是是当输入量(激励量)的变化达到规定要求时,就会使输入端线圈达到一定的磁场强度从而使输出回路的柱头上的接头切换,最终在电气输出电路中使被控量发生预定的阶跃变化 [9]。 本系统中选用的是汇科( HUI KE)继电器 HK3FFDC5VSHG,它的输入端驱动电压是 5V,线圈电阻 70 ,功率 ,它的输 出回路直流 30V 时允许通过电流为 10A。 系统中继电器驱动电路 继电器驱动电路图如图 310 所示。 其中三个控制端分别接的是单片机的 、 和。 由于单片机驱动能力有限,有考虑到单片机的灌电流相较更大些,所以选用 PNP 型的三极管。 继电器驱动电路的工作原理是这样的:当单片机管脚输出高电平时, PNP 三极管就处于截止状态,继电器输入端口几乎不导通,继电器处于断开状态;当单片机输出低电平时, PNP 三极管就处于饱和状态,继电器输入端就可以获得几乎 5V 的电压而使继电器导通。 之所以在继电器的输 入端加上一个反向的二极管,这是由于当继电器由导通变为断开的过程中,输入端线圈会因为自感作用引起自感效应对继电器造成 破坏,当加上一个反向二极管后就可以给这个线圈一个放电 回路而消空调温度控制系统的设计与实现 8 除自感的不良影响 [10]。 大功率电路模块介绍 设计用到的制冷片以及散热系统实物图与 加热丝实物图如图 311 所示。 图 311 半导体制冷片与加热丝实物图 制冷片工作电压1 2 伏时功率约5 6 瓦,加热丝1 2 伏工作时功率约2 8 瓦,本设计选用电压1 2 伏,最大输出电流6安的开关电源。 系统整体原理图 系统整体原理图见 附录 1。 空调温度控制系统的设计与实现 9 4 系统软件设计 系统程序设计构思 系统主程序主要是用来不断更在显示器上更新出设定模式、设定温度和实际温度。 中断 0 的服务程序是用来实现键盘功能的程序,这些功能包括状态切换、模式切换、温度值调整,也包含了状态切换时的部分初始化程序。 外部中断 1 的服务程序是无线遥控功能实现程序,与键盘功能程序类似。 定时器 0 的中断服务程序实现输出控制功能,即启动或者停止加热制冷操作 [12]。 主程序设计 主程序流程图 主程序流程图如图 41 所示。 主程序介绍 主程序开始后,先进行系统初始化,包括 LCD1602 的初始化和单片机中断系统的初始化。 初始化工作包括 LCD1602 设置成两行显示模式,单片机的两个外部中断都使能,定时器 0 中断也使能。 初始化结束后,就进入了死循环。 这个循环程序不断判断系统的状态,如果是待机状态就进行待机初始化,最后让单片机进入掉电模式。 如果是正常工作状态,还需要判断 en_display_normal 标志位分成不同的两支程序。 按键程序设计 按键程序流程图 按键程序流程图如图 42 所示。 空调温度控制系统的设计与实现 10 中 断 入 口关 闭 外 部 中 断 及 延 时判 断 是 否 有 按 键 按 下读 取 按 键 值是 否 为 待 机 状 态中 断 结 束中 断 标 志 位 清 0中 断 打 开NY是 否 是 o n _ o f f 按 下开 机 初 始 化YYNN是 否 为 o n _ o f f 键 按 下设 置 状 态 为 待 机 模 式 切 换 设 定 温 度 加 一是 否 为 m o d e 键 按 下是 否 为 p l u s 键 按 下是 否 为 m i n u s 键 按 下NNNN设 定 温 度 减 一YYYY 图 42 按键程序流程图 按键程序简介 按键程序是安排在外部中断 0 的服务程序中。 当任意的一个按键按下,都会触发外部中断 0。 当进入外部中断 0 程序后,首先执行延时程序,然后再次判断是否有按键按下,以达到按键消抖的目的。 如果确实有按键按下,就通过读取 P1 端口的低四位获取按键值。 根据不同的工作状态又将程序分为两支。 当处于待机状态时,判断是否是开 /关机键( ON_OFF 键)按下,如果是就开机初始化,如果不是就继续待机 [14]。 当处于正常工作状态,然后根据不同的按键值 选择不同的操作程序。 如果是 ON_OFF键按下就关机,如果是 MODE 键按下就切换状态,如果是 PLUS 键按下就增加设定温度值,如果是 MINUS 键按下就减小设定温度值。 需要说明的是中断服务程序的结尾部分,有一句语句是中断标志位清 0,这是为了避免因为案件抖动出现按一次进入两次中断。 空调温度控制系统的设计与实现 11 温度采集与显示程序设计 温度采集与显示程序流程图 温度采集与显示程序流程图如图 43 所示。 d i s p l a y _ t e m p ( )开 始调 用 函 数R e a d T e m p ( )获 取 当 前 实 际 温 度设 置 显 示 位 置显 示 温 度 值计 算 十 进 制 温 度十 位 和 个 位函 数 结 束显 示 温 度 符 号R e a d T e m p ( )开 始初 始 化 D S 1 8 B 2 0读 取 温 度 的 高 八位 和 低 八 位启 动 温 度 转 化判 断 温 度 的 正 负负 标 志 取 一整 合 高 八 位 与 低 八 位求 取 负 温 度 的 原 码求 十 进 制 的 实 际 温 度函 数 结 束负正 标 志 取 一整 合 高 八 位 与 低 八 位求 十 进 制 的 实 际 温 度正 图 43 温度采集与显示程序流程图 温度采集与显示程 序简介 温度采集是通过调用函数 ReadTemp()实现的,温度显示是通过调用函数disply_temp()实现的。 ReadTemp()函数首先初始化 DS18B20,然后启动温度转化,接下来读取温度,得到两个字节的记录温度的二进制数。 紧接着,判断温度的正负。 如果温度为负,还需要求取温度的原码并去掉最高位的符号位,转化为十进制的实际温度。 倘若温度为正,可以直接去转化为十进制的温度数据。 利用 sign_flag 记录实际温度的符号值 [15]。 控制执行程序设计 控制执行程序流程图 空调温度控制系统的设计与实现 12 控制执行程序流程 图如图 44 所示。 中 断 入 口中 断 次 数 清 0判 断 时 间 是 否 到 ( 6 5 5 3 6 * 2 ) u s判 断 模 式 是 否 为 加 热判 断 是 否 正 在 加 热 判 断 是 否 正 在 制 冷YYN实 际 温 度 是 否 高 于 等 于 设 定 温 度Y关 闭 加 热中 断 结 束YN实 际 温 度 是 否 小 于 ( 设 定温 度 — 2 )N开 启 加 热YN关 闭 制 冷 关 闭 加 热实 际 温 度 是 否 高 于 ( 设 定温 度 + 2 )实 际 温 度 是 否 小 于 等 于 设 定温 度关 闭 制 冷开 启 制 冷NYYY NN中 断 次 数 加 一N 图 44 控制 执行 程序流程图 控制 执行 程序简介 控制 执行 程序是放在定时器 0 的中断服务程序中。 在初始化程序中,将定时 /计数器 0 设置成定时模式 1,也就是 16 位定时器。 系统选用的是 12M 的晶振,这样定时器从 0 计数到溢出,中断一次的定时时间就是 65536us。 输出控制是这样设想的,每隔一定的时间就来执行一遍,这个时间就是执行周期。 本设计把这个执行周期设置成( 65536*2) us,即大概 ,实践中可以满足设计要求。 系统设计程序 系统设计程序包含 5 个源程序文件,分别是 、 、 ;还包括 7个头文件,分别是 、 、 、 、 和。 是系统的主要工作文件, 包含了系统调用的功能函数, 是 LCD1602 有关的程序, 是 DS18B20 有关 的程 序 , 包 含了 两 个常 用的 延 时函 数。 包含了工程中用到的部分全局变量,还有一些常数, 、空调温度控制系统的设计与实现 13 、 、 分别是对应 C 语言文件的头文件, 、 是系统头文件。 由于文件比较多,所以只列 一个文件的程序,程序见附录 2。 空调温度控制系统的设计与实现 14 5 系统制作与调试 系统的焊接与制作 根据设计的要求,对所需的元器件的型号和数量进行了确定,得出了如下的元器件清单如表 51 所示。 表 51 元器件清单表 AT89S52 1 片 继电器 3 个。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。