太阳热水器水位控制的EDA实现
扫描二维码
随时随地手机看文章
[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;
代码中,水位设为0~7八个级别,综合后,水位以三位二进制码表示,即最小可分辩的水位为满水箱的八分之一。条件补水水位设定在“level= 3”,即半箱水;强制补水水位设定在“level= 1”,即满水箱的八分之一。
4 仿真结果
为了验证设计的正确性,在Altera公司的MAX+PLUSⅡ集成开发环境下对以上代码描述进行综合、仿真,以下是该设计的仿真结果。
由图2可以看出,forbid(用水禁止)具有强制性,不论水位在何位置,该位都可随时停止补水;当该位被撤销时,是否继续补水则与当前水位有关:若低于补水水位则继续补水(约1.0us、8.0us处),否则不予补水(约3.4us处)。forbid无效时,补水按预先设定正常进行:水箱水位低于强制补水水位时强制补水(约1.0us处),水位介于强制补水水位与条件补水水位之间时进行有条件补水(约5.25us~5.75us间),水满则停止补水(约9.7us处)。补水指示灯fil_l与补水value一致。Music及时提供音乐提示。Alm在水位低于强制补水水位而又被禁止补水时发出报警(约0.2us~1.0us间)。可见,电路满足了设计要求。
5 结语
该设计采用了用于电子产品设计中比较先进的EDA技术,该技术具有设计灵活、修改快捷、调试方便、研制周期短等优点[4],且设计出的电子产品具有高可靠性和较高的性能价格比,极具市场竞争力。如本设计中的设定水位的改变、水位级别的增多、报警方式的调整等均可以不需要硬件电路的支持而方便地直接从VHDL源程序中进行修改。本设计实现的智能型水位控制器,既可以单独用以实现水位控制,也可以与其他太阳热水器控制环节(如水温控制)有机地结合为一个整体,构成真正意义上的“全自动控制”太阳能热水器,全天候为用户提供热水,克服了因补水带来的使用上的不方便,让使用太阳能热水器成为一种享受,从而提高人们的生活质量。