[1]目前,我国太阳能热水器的产量和使用量均居世界首位[1][2]。随着人们生活水平的提高,对太阳能热水器的品质要求越来越高。智能控制型太阳能热水器越来越受到人们的欢迎。水位控制是智能控制型太阳能热水器的基本功能之一,是实现“全自动控制”不可或缺的环节。所谓水位控制,是通过设定来实现太阳能热水器水箱里缺水时自动补水、水满时自动停水的功能。现有的控制方案多由水位
本文设计了一种新型的水位控制器,并采用了电子设计自动化(EDA)技术[4][5],用目前广泛应用的VHDL硬件电路描述语言,在Altera公司的MAX+PLUSⅡ集成开发环境下进行综合、仿真,并下载到可编程逻辑器件EPF10K10TC144-3中,以实现控制功能。
2 水位控制的主要功能
智能型水位控制要求补水及时且不影响正常使用。此处设计的智能化水位控制器可以实现水满后自动停水、条件补水和强制补水及显示、报警等功能。如图1所示。
图1 水位控制示意图
其中“水位”由水箱中的水位传感器提供。分三个档位:满水水位、条件补水水位和强制补水水位。满水水位用于实现水满后自动停水功能;条件补水水位可设置在一定水位如半箱水,当水箱水位低于此设置(高于强制补水水位)时实现有条件补水:当用水指示位有效(正在用水)时禁止补水,否则予以补水;强制补水水位可设置为水箱无水(或设置在较低水位),此时实现强制补水功能。为使用方便,控制器提供报警、指示功能:补水时补水指示灯亮,用户此时不能用水;水箱水位低于条件水位时发出提示音乐,此时用户若想继续间断用水,可通过键盘设置“补水禁止”,这样,即便不用水也不会补水,以便短时间内仍有热水可用,因此时有音乐提示,用户可在用水完毕及时撤销“补水禁止”位,为水箱补水;水箱水位到达强制补水水位而又被禁止补水时,发出报警信号,以便撤销补水禁止位及时补水,防止水箱长时间缺水。
3 水位控制器的VHDL代码
VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)是IEEE工业标准硬件描述语言,是随着可编程逻辑器件(PLD)的发展而发展起来的。这种用语言描述硬件电路的方式,容易修改和保存,且具有很强的行为描述能力,所以在电路设计中得到了广泛应用。以下是描述水位控制的VHDL代码。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY bushui IS
PORT (ply,forbid : IN STD_LOGIC; --用水标示,用水禁止
level : IN INTEGER RANGE 0 TO 7; --水位
valve,alm,music : OUT STD_LOGIC; --补水电磁阀,报警,提示音乐
fil_l : BUFFER STD_LOGIC); --补水指示灯
END bushui;
ARCHITECTURE behav OF bushui IS
BEGIN
PROCESS(ply,forbid,level)
BEGIN
CASE forbid IS
WHEN '1' => valve <= '0';fil_l <= '0'; --禁止补水
IF level <= 3 AND level > 1 THEN
music <= '1';alm <= '0'; --音乐提示水位低于条件补水水位
ELSIF level <= 1 THEN
alm <= '1';music <= '0'; --水位低于强制补水水位报警
ELSE music <= '0'; alm <= '0';
END IF;
WHEN '0' => alm <= '0';
IF level = 7 THEN
valve <= '0';fil_l <= '0';music <= '0'; 水满时停止补水
ELSIF level<= 3 AND level > 1 THEN
alm <= '0';music <= '1'; --音乐提示水位低于条件补水水位
valve <= not ply; fil_l <= not ply; --不用水时予以补水
ELSIF level <= 1 THEN
valve <= '1';fil_l <= '1';music <= '0'; --强制补水
ELSE music <= '0'; valve <= fil_l;fil_l <= fil_l;
END IF;
WHEN OTHERS => null;
END CASE;
END PROCESS;
END behav;