• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 消費電子 > 設計應用 > 太陽熱水器水位控制的EDA實現

    太陽熱水器水位控制的EDA實現

    作者: 時間:2010-02-26 來源:網絡 收藏
     1 引言

      [1]目前,我國的產量和使用量均居世界首位[1][2]。隨著人們生活水平的提高,對的品質要求越來越高。智能越來越受到人們的歡迎。是智能型太陽能熱水器的基本功能之一,是“全自動控制”不可或缺的環節。所謂控制,是通過設定來太陽能熱水器水箱里缺水時自動補水、水滿時自動停水的功能?,F有的控制方案多由傳感器根據缺水或滿水時發出的不同信號控制半導體器件的通斷,從而進一步控制繼電器、電磁閥的開合狀態,來進行補水與否。水滿后自動停水功能一般都能做到。但“缺水”的定義往往會造成用戶的使用不便。如把缺水定義為水箱無水,當晚上仍有少量余水時不能及時補水,會造成第二天用水不便;而若把缺水定義為一特定水位,則會在低于此水位用水時出現混水狀態[3]。

    本文引用地址:http://www.czjhyjcfj.com/article/166767.htm

      本文設計了一種新型的水位控制器,并采用了電子設計自動化()技術[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;


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 镇远县| 龙陵县| 馆陶县| 浮梁县| 山东| 安溪县| 武冈市| 白朗县| 南皮县| 呼图壁县| 建湖县| 九龙县| 津市市| 广昌县| 紫云| 沿河| 彩票| 绥中县| 项城市| 汾阳市| 平阴县| 日土县| 雅江县| 钦州市| 神木县| 新兴县| 萍乡市| 卓尼县| 壶关县| 沐川县| 霍林郭勒市| 青岛市| 玛曲县| 新巴尔虎左旗| 师宗县| 富川| 锡林浩特市| 奉贤区| 贵溪市| 敦化市| 西安市|