基于单片机的太阳能热水器智能控制系统-张景文
下载后可任意编辑 第 27卷第 5 期 Vol.27, No.5 西华 大 学 学 报 (自 然 科 学 版 ) JournalofXihuaUniversity· NaturalScience 2024年 9月 Sep.2024 下载后可任意编辑 文章编号:1673-159X(2024)05-0025-03 基于单片机的太阳能热水器智能控制系统 张景文1 , 王震宏2 , 高为浪3 ,李桂花1 (1.兰州理工大学流体动力与控制学院, 甘肃 兰州 730050;2.兰州航空机电有限责任公司技术中心, 甘肃 兰州 730070; 3.安徽工业大学机械工程学院, 安徽 马鞍山 243002) 摘 要:针对目前家用太阳能热水器功能单一、操作复杂、控制不方便等特点, 本文提出了一种新型的太阳能热水器控制系统设计方案。 根据太阳能热水器对控制系统的要求, 以 MCS-51 单片机为中心控制单元, 采纳DS12C887实时时钟, 设计了一种太阳能热水器智能控制系统, 给出了系统硬件设计及软件实现方法。 该系统具有时间、温度、水位设定与控制功能 , 且具有良好的抗干扰性能。 关键词:太阳能热水器;单片机;自动控制;实时时钟 中图分类号:TP273文献标识码:A 下载后可任意编辑 目前市场上太阳能热水器的控制系统大多存在功能单一、操作复杂、控制不方便等问题 , 很多控制器只具有温度和水位显示功能, 不具有温度控制功能 .即使热水器具有辅助加热功能, 也可能由于加热时间不能控制而产生过烧, 从而浪费电能。本文设计的太阳能热水器控制系统以 MCS-51单片机为检测控制中心单元, 采纳 DS12887实时时钟, 不仅 图 1 系统硬件结构图 下载后可任意编辑 实现了时间、温度和水位三种参数实时显示功能,而且具有时间设定、温度设定与控制功能。控制系统可以根据天气情况利用辅助加热装置 (电加热器 ) 使蓄水箱内的水温达到预先设定的温度 , 从而达到 24 小时供应热水的目的。实际应用结果表明, 该控制器和以往显示仪相比具有性价比高、温度控制与显示精度高、使用方便和性能稳定等优点 ,提高了我国太阳能应用领域控制水平 ,具有可观的经济效益和社会效益。 1硬件结构和工作原理 根据系统要求, 智能控制系统采纳 MCS-51单片机为中心控制单元。由于系统运算量不是很大 , 没有太多的中间数据需要处理、保存 ,使用 AT89S52 已完全能够满足要求。系统的硬件接口电路包括 : 控制器实时时钟接口电路、蓄水箱温度和水位检测接口电路、设定键和串行显示接口电路、看门狗和复 位接口电路以及继电器输出接口电路等 , 系统结构框图如图 1所示[ 1 -2] 。 1.1控制器实时时钟接口电路的设计[ 3] 为了实现热水器 24小时供应热水的目的 ,控制系统必须有一个实时时钟来为系统提供准确的基准时间。在软件设计上则要实时地读出当前时间 , 同设定时间比较 ,以决定系统工作状态。本系统采纳美国 DALLAS半导体公司的时钟芯片 DS12C887, 该芯片采纳 CMOS技术, 把时钟芯片所需的晶振和电池以及相关的电路集成到芯片内部 ,同时还具有微功耗、外围接口简单、精度高、工作稳定可靠等优点。它与单片机的接口电路见图 2。 图 2 DS12C887 与单片机接口电路 下载后可任意编辑 收稿日期:2024-03-24 作者简介:张景文(1970-), 男, 甘肃天水人, 讲师, 工学硕士, 主要从事测控技术与智能仪器的讨论。 下载后可任意编辑 26 西华大学学报· 自然科学版 2024年 模式选择脚 MOT接地, 选择 INTEL时序。 程为计数器工作模式 ), 通过测量输出脉冲频率的 DS12C887的高位地址用 AT89S52的 P2.4选择, 则 大小来换算成水温高低信号。 时钟芯片的高 8位地址为 EFH, 而其低 8位地址则 1.3 控制键和串行显示接口电路的设计 由芯片内部各单元的地址来决定 (00H~ 80H), 键盘和显示电路是人机交互的重要手段。控制 DS12C887的中断输出端 接上拉电阻 , 同 8031 键是用户干预系统运行的唯一接口, 也是用户比较 IRQ 中断线 INTO相连, 为单片机提供中断信号[ 7] 。 关怀的问题。为了实现控制系统对时间与温度的设 SQW端口编程为 2Hz方波输出, 经二分频后 , 驱动 定及显示功能, 采纳 74LS08 与 74LS244实现 8 键 两个 LED发光二极管作为时钟的秒闪耀显示。 中断输入。串行显示电路采纳串入并出芯片 1.2 蓄水箱水位和温度检测接口电路的设计 74LS164驱动 6位数码管实现时间与温度的静态显 蓄水箱水位和温度检测部分是实现温度智能控 示。 制的重要环节, 只有准确地检测出水位和温度, 才 1.4 继电器输出电路 能通过软件计算提前开始辅助加热的预加热时间。 在太阳能热水器控制系统的设计中, 继电器输 要实现辅助加热提前时间的精确计算 , 最好是采纳 出是实现蓄水箱辅助加热的手段。对继电器控制的 连续液位传感器 , 但考虑系统成本, 本设计仍采纳 安全有效是能安全地对蓄水箱进行辅助加热的保 分段式液位传感器(通过软件来提高精度 ), 在水位 证。该系统中部分电气连接图如图 4所示。 显示上也仍采纳分段显示。水位检测部分的硬件连 接如图 3所示。 下载后可任意编辑 图 3 水位检测与显示电路 检测原理如下 :当水箱中无水时, 8个非门均由 1MΨ电阻上拉成高电平 , 所以图中各 “非 ”门(CD4069)输出均为低电平 , LED1 ~ LED8 均不亮。当水位高于 “非 ”门 1的输入探针时, 由于水的导电作用, 使 “非 ”门 1的输入变为低电平 , 所以其输出变为高电平 , LED点亮 , 依此类推。随着水位的上升 , 各 “非 ”门输出相继为高电平 , LED 依次点亮。这里要注意的是上拉电阻不能选择太小 , 因为水的电阻在 100 kΨ左右 , 所以上拉电阻选择太小的话 , 将在水位升高时, 无法把 “非 ”门输入端拉成低电平。实验表明 , 上拉电阻选择在 500 kΨ~ 1 MΨ左右能很好地满足电路的工作要 求 。为了使单片机随时能够读出当前的水位情况 , 这里选用 74LS244作为状态输入缓冲器。蓄水箱温度检测电路采纳热敏电阻 , 经 555 压控谐 振电路转换成脉冲信号, 送到单片机的 T1口 (编 图 4 继电器输出电路 该系统利用继