基于STC12C5A08PWM的恒温水龙头设计

发布者:心灵之舞最新更新时间:2009-11-20 关键字:STC12C5A08PWM  单片机  恒温水龙头 手机看文章 扫描二维码
随时随地手机看文章

  水龙头是水的“指挥家”,是人们生活中必不可少的用水设备。现有的双联式水龙头可同时接冷热两根管道,其水温调节的方法是手动调整阀门的机械位置,控制冷热水管道的出水比例,其调节复杂,且调节过程中浪费的水量多。即使调好的水温也会受到水压变化的影响,降低了使用的舒适性。甚至出现水温突变,烫伤身体的极端情况。单片机作为一种智能化的控制器已经广泛应用于各种家用电器中,为用户提供更优质的服务。本文主要介绍了采用单片机控制的方法,实现水龙头的出水温度的精确调节,避免用水浪费,是基于单片机的水龙头智能化改造。

  1 设计方案及工作原理

  系统设计方案及工作原理如图1所示。热水和冷水分别流入后在0中混合,实现温度中和。当混水温度达到设定值后,开启3供水。当水温未达设定值时,开启4将混水腔0中的水排出至加热装置(如燃气热水器)的入水口,以循环利用,减少不必要的浪费。

系统设计方案及工作原理

  1,2进水口由电动调节碟阀控制,3,4出水口由电动快速切断蝶阀控制。在热水进入口1、冷水进入口2和混水腔0中设置DS18820温度监测点,根据采集到的现场温度由单片机驱动电动执行机构控制电动调节阀的开度,从而控制1,2的进水量,以及快速开启或切断3,4的出水。

  2 硬件电路设计

  水龙头控制是以宏晶科技的STC12C5A08PWM单片机为核心,检测DS18820采集的现场温度信号,分析后做出相应控制处理。用水温度的设定和显示分别由键盘输入和数码管显示。冷、热水进入口水量的调节由单片机输出通过继电器驱动调节阀实现,采用脉宽调制(PWM)变频技术智能调控水流大小,实现精确配比。系统设计框图如图2所示。

系统设计框图

  2.1 单片机控制模块

  采用STC12C5A08PWM单片机实现,它是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8~12倍。内部集成MAX810专用复位电路,看门狗,两路PWM,片内有8 KB FLASH ROM,1 280 B RAM,支持ISP。

  2.2 温度传感器模块

  采用DALLAS公司生产的单总线式数字温度传感器DS18820测量水温,可直接输出9~12位(二进制)温度读数,便于单片机处理。DS18820测量温度范围为-55~+125℃,在-10~+85℃范围内,精度为±0.5℃。可在750 ms(最小值)内把温度转换成12位二进制数字值,温度采集具有准确性和及时性。DS18820采用单总线的数据传输方式,多个DS18820可挂接在一条总线上,实现多点温度测量,轻松组建传感网络。该系统中分别检测热水进入口温度T1,冷水进入口温度T2和水龙头出水口温度T3。

  2.3 显示模块

  该系统设计了两位八段数码管,由单片机I/O口直接驱动,采用动态显示方法,显示用户设定的温度值。

  2.4 键盘模块

  本系统需要三个按键,采用三键独立式键盘,直接接单片机I/O口,采用软件去抖。三个按键分别实现的功能如表1所示。

三个按键分别实现的功能

  2.5 水流控制模块

  如图1所示,热水和冷水进入口1,2采用电动调节蝶阀,单片机通过控制调节蝶阀的开度来控制进水量的大小。使用单片机内部2路PWM逻辑产生高频PWM信号,通过电动执行机构驱动电动调节蝶阀,从而减轻了软件的工作,提高了软件的效率。水龙头出水口3和循环水出水口4采用电动快速切断蝶阀,在单片机的控制下实现快速开关水。

  3 软件设计

  本控制系统是以单片机为中心的控制系统,单片机结合一定的外围电路完成系统数据输入、温度采集、输出控制信号以及实时显示等功能,它是一个完整的智能控制系统。图3为系统程序流程图,表明亍整个过程的控制思想。

系统程序流程图

  根据温度对电动蝶阀的控制算法为:首先将系统设定温度T与冷水温度T2和热水温度T1比较,分为以下三种情况:

  第一种:若T-T2>T1-T,将冷水进入口蝶阀全开,热水进入口蝶阀开一半;

  第二种:若T-T2

  第三种:若T-T2=T1-T,将热水进入口蝶阀全开,冷水进入口蝶阀也全开;

  系统水龙头出水口温度T3随系统工作时间逐渐升高,当T3

  4 结 语

  该系统提出了一种利用单片机、温度传感器、蝶阀以及其他控制电路实现水龙头出水恒温控制的方法,解决了传统手动调温的不便,避免了在调温过程中的用水浪费。方便用户使用,实现用水温度的精确设定以及恒温用水。具有较高的实用价值。

关键字:STC12C5A08PWM  单片机  恒温水龙头 引用地址:基于STC12C5A08PWM的恒温水龙头设计

上一篇:基于单片机SPMC75的模拟全自动洗衣机的设计
下一篇:飞思卡尔8位MCU为便携式设备市场注入活力

推荐阅读最新更新时间:2024-03-16 12:27

89C51单片机的P0~P3端口进行输入时为什么要设置为1?
89C51 单片机 的P0~P3口不是标准意义的双向口 ,他只是准双向口, 你可以对照着P0口的 结构图 看这段话,向端口写1,就是向锁存器写1, 也就是让其口输出FF,为什么,是这样的,给锁存器写1,那么锁存器 的反向端就输出0,那么和它相接的MOS管也就在截止状态,也就是呈高 阻态,这样P0口上数据就会从读引脚的三态 缓冲器 上正确的输入,如果 不写1,那么锁存器上次锁存的可能为0,那么反向端有可能出现1,这样 和反向端相接的MOS管就倒通,也就是直接拉到地,那么不管你P0口上输 入什么信号都会拉成低 电平 ,输入就错了 双向口与准双向口的区别主要是:准双向口I/O口操作时做数据输入时需 要对其置1,否则若前一位为低电平,后
[单片机]
89C51<font color='red'>单片机</font>的P0~P3端口进行输入时为什么要设置为1?
晶振在单片机中起着什么作用
  晶体振荡器是指从一块石英晶体上按一定方位角切下薄片,石英晶体谐振器,简称为石英晶体,简称晶振;在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。      晶振在应用具体起到什么作用微控制器的时钟源可以分为两类:基于机械谐振器件的时钟源,如晶振、陶瓷谐振槽路;RC(电阻、电容)振荡器。一种是皮尔斯振荡器配置,适用于晶振和陶瓷谐振槽路。另一种为简单的分立RC振荡器。基于晶振与陶瓷谐振槽路的振荡器通常能提供非常高的初始精度和较低的温度系数。RC振荡器能够快速启动,成本也比较低,但通常在整个温度和
[单片机]
晶振在<font color='red'>单片机</font>中起着什么作用
8031单片机控制线简介
l ALE//PROG:ALE-地址锁存有效信号输出,在访问片外程序存储器期间,每机器周期该信号出现两次(频率=fosc/6),其下降沿用于控制锁存器锁存P0口输出的低8位地址信号。即使不在访问片外程序存储器期间,该信号也以上述频率出现。但在访问片外数据存储器期间,ALE脉冲会跳空一个(在DPH或P2输出与数据输入或输出期间)。 /PROG-对于片内含EPROM的机型,在编程期间,此引脚用作编程脉冲的输入端。 l /PSEN:片外程序存储器读选通信号输出端,在向片外程序存储器取指令或常数期间,每个机器周期该信号两次有效。在访问片外数据存储器期间,/PSEN信号不出现。 l RST/Vpp:RST-复位端,在单片机振荡器工作时
[单片机]
PIC16F8X单片机简介
Microchip公司生产的PIC 8位单片机16F8X系列产品是PIC单片机中级型产品之一。该系列产品的主要型号是16F83单片机和16F84单片机。其引脚功能如附图所示。该系列产品的最大特点是有8k×14的Flash(闪速E2PROM)程序存储器和带8位的Flash(闪速E2PROM)数据存储器,其擦写次数上万次,数据保存时间大于40年。所以该系列产品极适合那些可能会经常改动程序编程的应用,例如用户可以随时改动出厂产品中的单片机程序以增加或调整产品的功能。此外,对那些学习、开发PIC单片机的个人或单位,都是一种很好的可重复多次的实验芯片。还有它内部的Flash数据存储器不仅具有掉电保护数据的功能,加之它是由单片机内部进行控制操作
[单片机]
PIC16F8X<font color='red'>单片机</font>简介
利用USBUART桥接器实现单片机在线编程
引 言:   通用串行总线(USB)是一种支持即插即用的新型串行接口,使外设到计算机的连接更加高效便利。这种接口适合于多种设备,不仅具有快速、即插即用、支持热插拔的特点,还能同时连接多达127个设备,解决了如资源冲突、中断请求和直接数据通道等问题。因此,越来越多的开发者欲在自己的产品中使用这种标准接口。RS232是单个设备接入计算机时常采用的一种接入方式,其硬件和软件协议比较简单,有很多传统设备采用了这种通信方式。将USB转UART技术应用于单片机与PC机之间的数据通信,在计算机上产生一个虚拟的COM口,用户只需按照通用串行口一样使用USB口即可。这样不仅能使单片机具备USB通信的诸多优点,简化了USB编程,同时还可以利用USB对单
[单片机]
单片机项目中使用新IC芯片调试方法
前言: 我们在单片机的项目开发过程中经常会遇到使用新IC芯片的情况,某宝卖家有个时候也提供不了对应开发程序,到网上找资料也找不到;很多初学者面对这样的问题往往束手无策,这里我给大家介绍我经常用的其中一种新IC调试的方法。 因为这个芯片比较简单我这里采用下面步骤进行: 第一步:先用arduino+面包板快速搭建电路验证芯片功能 第二步:使用STM32CubeIDE快速搭建工程验证在STM32上工作是否正常 Tips:由于我手头没有万用表,这里我使用arduino的模拟电压采集功能通过串口打印出来作为电位计的电压监控用。 首先,我们先快速浏览芯片数据手册,获取重要信息 IC型号:TPL0501 电压范围:2.7~5.5V 温度范
[单片机]
<font color='red'>单片机</font>项目中使用新IC芯片调试方法
单片机心率测量仪源代码
将你的食指轻轻地放在传感器上,就能看到LED 指示灯 随着你的心跳而闪动,人体指尖的动脉比较发达,当动脉血管随心脏周期性收缩与舒张时,血管中的血液容积也会发生变化。 上面这个是采集部分的 原理图 全套的 制作 资料请到 http://www.51hei.com/bbs/dpj-22525-1.html 去下载,下面是心率 测量仪 的 单片机 部分源代码 /* Project: Measuring heart rate through fingertip Copyright @ Rajendra Bhatt January 18, 2011 PIC16F628A at 4.0 MHz external clock
[单片机]
<font color='red'>单片机</font>心率测量仪源代码
STM32单片机半主机模式的应用
在keil中编程时常会遇到__use_no_semihosting_swi的警告,这时你就是进入了半主机模式。 在嵌入式的编程中你是避免不了使用printf、fopen、fclose等函数的但是因为嵌入式的程序中并没有对这些函数的底层实现,使得设备运行时会进入软件中断BAEB处,这时就需要__use_no_semihosting_swi这 个声明,使程序遇到这些文件操作函数时不停在此中断处,具体操作如下,将下列程序加入你的工程中: #pragmaimport(__use_no_semihosting_swi)#pragmaimport(_main_redirection)constchar__stdin_name[150]
[单片机]
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved