历史上的今天
今天是:2024年10月09日(星期三)
2021年10月09日 | 基于51单片机智能热水器控制系统设计
2021-10-09 来源:eefocus
一.硬件方案
本设计主要实现的功能是可以对水位进行设置并加水,先设置好需要加水的水位段数,单片机会根据这个数判断是否需要加水,同时还可以测量并显示水温、设置水温范围,若水温超过或低于所设置的水温范围,则会报警。
主要由51单片机+LCD1602显示屏+按键+继电器+DS18B20温度传感器+蜂鸣器+指示灯+遥控电路灯等组成;如图:

二.设计功能
(1)采用LCD1602液晶显示、DS18B20防水型温度传感器测温,液晶显示当前的温度、温度上下限值和预约时间(单片机内部定时器)。
(2)产品自带单片机上电复位电路、手动复位电路(复位按键)、晶振电路(给单片机提供时钟周期)。数红外遥控和手动按键双输入设置参数,更加方便快捷实用。
(3)可以显示和设置预约时间(min),可以随意设置预约多少分钟后开启热水器系统控制,这样更加智能和节能。
(4)当温度低于下限的时候继电器吸合,待温度高于上限的时候继电器断开,继电器可以接负载;(默认没有负载,可以接加热管。)
(5)采用两个水位传感器和LM393电压比较器检测上、下水位功能,水少不加热并启动水位控制继电器(上)吸合模拟加水,当水加至水位上限时,继电器断开停止加水 。
(6)热水器工作加热和加水时有相应的指示灯(红灯代表缺水,黄灯代表加水,绿灯代表加热),整个系统有蜂鸣器提示音,实现声光提示;
(7)按键可以设置水温的控制范围,五个按键功能:设置、加、减、确定、单独的是复位按键;
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:

(2)Protues仿真图如下:

四.软件设计
(1)程序流程图

(2)主程序源码
void main()
{
Init1602();
EA=1;//打开中断总开关
IT1=1;//下降沿有效
EX1=1;//外部中断1开
ET1=1;//打开允许开关
TMOD=0x01;//设置工作方式
TL1=0x3c;
TH1=0xb0;//赋初值
TH0=0;//T0赋初值
TL0=0;
TR0=0;//t0开始计时
check_wendu();
delay(1000);
bjd=99;
bjx=0; //这两个变量的作用就是,防止温度大范围跳动造成加热设备误动作
while(1)
{
check_wendu();
if(Mode==0)
{
Display_1602(c,ds,sx,xx);
if((xia==1)&&(shang==1)) //低于下限
{
que=1;
shui=0;
jdq=1;
}
else
{
que=0;
}
if((shang==0)&&(xia==0)) //高于上限
{
shui=1;
if(flag_BJ==0)
flag_BJ=1;
}
if((shang==0)&&(xia==1)) //错误
{
shui=1;
jdq=1;
Feng=0;
que=1;
}
if(flag==0)
{
if((w { if(w>=sx) { jdq=1; if(flag_BJ==0) flag_BJ=1; } else if((w { jdq=0; if(flag_BJ==0) flag_BJ=1; } else { flag_BJ=0; flag_off=1; } bjd=w+5; bjx=w-5; } } } Key(); Alam(); } }
史海拾趣
|
想做一个九画面VGA分割器,就是能把9台电脑的画面接在一台VGA显示器上显示。 好像AM-209M可以实现,可是网上找不到更详细的资料。真是无重下手。 希望大家能给点宝贵意见。… 查看全部问答> |
|
各位大侠,我现在在调CAN总线,我的CAN总线,控制器是用AT89S52+SJA1000+TJA1050,波特率是250K,总线上有加匹配电阻120,当我的节点少于13个时很正常,可是当大于13个以上的时候,每增加一个节点,我用总线监视器看到的错误就增加了不少,不知道这是什么原 ...… 查看全部问答> |
|
在Windows Mobile下,默认IE是使用Internet 设置来拨号上网的,如果我新建了WAP等连接方式,如何能修改为IE的默认连接方式。很多软件都自己做了拨号连接方式设置,是怎么做的?… 查看全部问答> |
|
用EVC3.0访问ACCESS数据库时,是否可以使用UPDATE语句对记录进行更新,我好像一直都没有用起,后来自己做了一个函数,先把要更新的数据查询出来后保存起来,然后删除记录,再用新的数据添加到数据库中去,但是对于查询\\删除\\添加几个功能在单独使用时是 ...… 查看全部问答> |
|
fpga 扩展异步串行口,通过max485芯片输出的差分信号送给外部设备,没有响应(如果直接通过PC机串口转485后发送信号,外围设备有响应);如果我把max485输出的信号经过RS485转232送回给PC机,通过串口调试助手可以读到相应的信号 咨询一下 ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 13:31 编辑 5V/5V模拟隔离,注意前端的R1,R2和运放品种,系统是5V供电,能达到满幅输入输出 … 查看全部问答> |




