电热水器水温水位控制系统设计
第12页
第4章 单元模块设计
4.1 水位检测模块
把储水箱大致分为四个等份,水位由潜入太阳能热水器的储水箱不同深度的水位电极和潜入储水箱底部的公共电极(导线)进行检测;由单片机依次使各水位电极呈现高电平,由公共电极所接的三极管进行电 位转换,水位到达的电极,转换电位为低(0);水位没有到达的电极,转换电位为高(1);每检测一位便得到一位数据,5个电极检测一遍以后便得到了5个串行数据,然后把这5个数据转化为字节一路送发光二极管;在这里我们可以用发光二极管亮的盏数来显示水位的高低。(若没有发光二极管亮则表示箱内没有水或者只有少量的水,若有一个发光二极管灯亮则表示箱内有四分之一箱的水,以此类推,若有四个发光二极管亮,则表示水箱水是满的。)
图3.3水位检测电路
4.2 温度检测模块
电热水器水温水位控制系统设计
第13页
本设计温度传感器选用AD590。AD590属于半导体集成电路温度传感器,测温范围-55℃- +150℃,在其二端加上一定的工作电压,其输出电流与温度变化成线性关系,1uA/°K,误差有几种等级:±1、±0.5、±0.3℃,本设计中选取±0.5℃品种。OP07为高精度运算放大器,AD590电流流经R1、RP1转换为电压信号,R2、RP2为运算负反馈电阻,成反相比例放大器,将温度信号转换成0-5V的电压信号,ADC0832再将其转换为数字信号,输入CPU。图3.5为温度检测和A/D转换电路图。
图3.4温度检测电路
4.3 键盘模块
P1.0- P1.7口作为按键的信号输入端,键按下,就执行该键的功能。其电路如图3.5所示。(为了编程简单、方便,采用独立式键盘电路)。
电热水器水温水位控制系统设计
第14页
图3.5键盘电路
4.4 显示模块
本设计采用共阳型数码管,8个LED灯如图3.6中接法,灯的负极依次接到数码管的a-f段,采用动态扫描电路,并把显示程序作为主程序。数码管的段用P0口控制,P2.0口、P2.3口作为数码管的位控制,P2.4作为指示灯的控制。
图3.6显示电路
电热水器水温水位控制系统设计
第15页
第5章 软件设计
5.1 软件设计原理及设计所用工具
本次设计主要利用C语言编写程序,根据功能的需要进行编程,其中软件设计所用的软件主要是Keil uVision3软件,PROTEUS ISIS软件。
电热水器在任何时间都能够在设定的时间向用户提供设定温度的热水,从而给用户带来便利。当控制器在设定的时间使水温达到设定温度时,将通过声光报警提醒用户。
根据这一要求,控制器软件设计采用模块化结构,包括主程序、键盘中断子程序、DS12887更新周期结束中断子程序、LED显示子程序和提前加热时间计算子程序等。系统主程序主要完成温度和水位的检测以及进行辅助加热时间预算和一些初始化功能。在主程序中采用了查表方法进行辅助加热提前量预算。系统主程序流程图如图4.1所示。
电热水器水温水位控制系统设计
第16页
图4.1系统程序流程图
5.2 显示子程序
5.2.1 系统正常工作子程序
当K2处于第一状态时,单片机执行正常工作子程序,正常工作时K3,K4无效。系统正常工作子程序主要功能是交替显示实际的热水器水位,判断是否超过设定和水温水位,其子程序流程图如图4.2.1所示。
若热水器未加满水,水温又偏高时,单片机控制进水阀加水,至合适水温50℃左右,单片机响应中断,停止加水;当水位低于预置水位时,调用延迟子程序,15分钟自动上水至预置水位;当实际水温低于设定温度时,系统响应中断,控制启动加热器,直至水温升到所设定温度;当缺水时(位于缺水档)系统响应中断,蜂鸣器报警,延迟15分钟自动进入自动上水。水温水位在正常时由8位LED数码

