国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的紅外遙控溫度檢測器設計

2020-04-07 15:25王曉利寶雞文理學院馬毓伯電子科技大學
數(shù)碼世界 2020年3期
關鍵詞:框圖溫度傳感器熱水器

王曉利 寶雞文理學院 馬毓伯 電子科技大學

隨著生活節(jié)奏的加快,人們對生活的品質追求也朝著快捷、高效方向發(fā)展,各類家用電器,與日常生活關系密切。在南方,熱水器與居民的日常生活更是密不可分。通常從性價比考慮:燃氣熱水器、太陽能熱水器和電熱水器使用較多,其中燃氣熱水器的安全隱患較電熱水器高,使用中有一氧化碳泄漏、中途熄火等隱患問題;太陽能熱水器,多由天氣來決定使用情況,時間和空間上都具有一定的局限性。電熱水器可有效避免上述問題,其使用方便,且相對環(huán)保,熱水供應實時性較好。為了使電熱水器溫度控制更加便利、安全,考慮到FPGA具有豐富的邏輯單元,容易實現(xiàn)電路設計且可以實時完成計算,故提出基于FPGA的紅外遙控熱水器控制系統(tǒng)的設計。

1 基于FPGA的系統(tǒng)硬件設計

系統(tǒng)FPGA主控控制模塊采用Altera公司的芯片EPF10K10LC84-4?;贔PGA的硬件設計原理框圖如圖1所示:硬件系統(tǒng)主要由前端溫度傳感器、A/D轉換電路、溫度LCD顯示電路、過溫控制報警電路以及FPGA控制主單元組成。其中,F(xiàn)PGA是控制核心。水溫的設定是通過操作紅外遙控器裝置進行設置的。當通電工作時,系統(tǒng)自動讀取上一次設定的溫度數(shù)據(jù)并顯示在LCD1602上,若需更新溫度數(shù)據(jù),可通過紅外遙控器進行升溫或者降溫的調節(jié),設置完畢,F(xiàn)PGA控制部分可根據(jù)用戶的設定或遙控操作,經過實時運算,假如溫度傳感器感應到溫度低于設定值時,系統(tǒng)進入到加熱工作狀態(tài);當溫度高于設定值時,F(xiàn)PGA經過邏輯運算,判定是否繼續(xù)加熱,同時系統(tǒng)控制過溫報警電路發(fā)聲,此時停止加熱。

圖1 系統(tǒng)電路原理框圖

2 主要部件

2.1 溫度傳感器DS18B20

DS18B20溫度傳感器體積小,主要應用于狹小空間,安裝方便,其作用是感應當前熱水器中的水溫變化,具有較高的靈敏度。溫度傳感器的工作原理圖如圖2所示,其自身帶有對溫度的寄存裝置,便于前段數(shù)據(jù)采集,信號經由A/D轉換電路與FPGA之間進行傳輸。

圖2 溫度傳感器的工作原理框圖

2.2 ADC和DAC控制電路

FPGA模塊控制ADC0809的工作狀態(tài),并接收來自ADC0809的數(shù)字信息,與按鍵輸入電路的預設信號進行比較后,將控制信息傳送給DAC0832轉換后輸送給后向控制電路;設計預設溫度為38℃,38℃對應的ADC0809輸出值為97,36℃對應的ADC0809輸出值為92,則VHDL程序中設定為ADC0809輸入值大于或等于97時,F(xiàn)PGA輸出到DAC0832的控制信號為0,即停止加熱;當ADC0809輸入值小于92時,F(xiàn)PGA輸出到DAC0832的控制信號為255,即以最大功率加熱;數(shù)值在92-96之間,輸出將細分為5個階段,即當數(shù)值為92時,對應輸出為5,當數(shù)值為96時,對應輸出為1,以逐次遞減的功率進行加熱。

圖3 ADC和DAC控制電路原理框圖

2.3 紅外遙控器的編碼和解碼

紅外遙控器因設計簡單,可靠性高,且能夠遠距離對電子設備參數(shù)進行設置,故得到廣泛應用。其主要由發(fā)射器和接收器兩部分構成。紅外線發(fā)射模塊選用IR Transmitter,紅外線接收模塊選用TSOP4838。在系統(tǒng)設計中使用紅外遙控器能夠靈活調整熱水器的預設溫度。紅外遙控系統(tǒng)的原理框圖如圖3所示。

如圖4所示:紅外遙控器也是以FPGA控制器為核心部件,紅外接收器接收紅外信號,其模塊對信號進行放大、檢波、整形并解調出基帶信號。FPGA控制器實時存儲解調出的信號的高、低電平的時間寬度,當發(fā)射器按鍵按下發(fā)出紅外信號時,從FPGA存儲區(qū)還原出相應的紅外遙控編碼,即按鍵不同,發(fā)射出的遙控碼亦不同。該設計采用脈寬調制串行碼進行發(fā)送,即在相同脈沖寬度,不同間隔、周期的基礎上,設置代碼“0”或者“1”,發(fā)送相應的信息。

紅外遙控接收器主要任務是完成信號的接收,完成光電信號的轉換,調制出的控制信號驅動紅外發(fā)光二極管發(fā)射紅外信號,從而可實現(xiàn)對系統(tǒng)溫度的控制。

圖4 紅外遙控設計框圖

2.4 過溫保護控制電路

當正常加熱,溫度未達到上限時,繼電器不工作;當檢測到溫度過高時,繼電器產生動作,使系統(tǒng)電路進入警告狀態(tài),并切斷電源,實現(xiàn)溫度過熱時對用戶的保護。過溫保護控制電路如圖5所示。

圖5 過溫保護控制電路圖

3 系統(tǒng)軟件設計

3.1 系統(tǒng)主程序流程圖

系統(tǒng)開始工作時,初始化進入到等待接收控制信息的狀態(tài),若沒有通過紅外遙控器更新溫度數(shù)據(jù),則系統(tǒng)讀取上一次設定的溫度數(shù)據(jù)進行顯示,若需要更新溫度數(shù)據(jù),則系統(tǒng)等待溫度遞增或遞減的指令,若加1遞增則設置溫度上升,若減1遞減則設置溫度下降,設置完畢,系統(tǒng)顯示更新的溫度數(shù)據(jù),并進入加熱或降溫工作狀態(tài),這時系統(tǒng)準備接收判斷指令,當溫度低于設定值時則繼續(xù)加熱,當溫度高于設定值,系統(tǒng)控制繼電器斷開,停止加熱。主程序流程圖如圖6所示。

圖6 主程序的流程圖

3.2 紅外通信程序設計

3.2.1 紅外發(fā)射主要程序

library ieee;

use ieee.std_logic_1164.all;

entity hw_OUTPUT is

port(CLK:in std_logic;--50MHz

kin:in std_logic;

DATA:in std_logic_vector(31 downto 0);

IROUT:out std_logic);

end entity hw_OUTPUT;

architecture one of hw_OUTPUT is

type state is(s0,s1,s2,s3,s4);

signal sta:state;

signal clk_1m:std_logic; --1MHz

signal clk_38k:std_logic; --38kHz

begin

process(CLK)

variable clk_counter:integer range 0 to 25;

begin

if(CLK'event and CLK='1')then

clk_counter:=clk_counter+1;

if(clk_counter=25)then

clk_counter:=0;

clk_1m<=not clk_1m;

end if;

end if;

end process;

process(CLK)

variable clk_counter:integer range 0 to 658;

begin

if(CLK'event and CLK='1')then

clk_counter:=clk_counter+1;

if(clk_counter=658)then

clk_counter:=0;

clk_38k<=not clk_38k;

end if;

end if;

end process;

......

3.2.2 紅外接收主要程序

library ieee;

use ieee.std_logic_1164.all;

entity hw_InfraredPort is

port(CLK:in std_logic;--50MHz

RST:in std_logic;IRIN:in std_logic;

RD:in std_logic;

CS:in std_logic;

led:out std_logic;DATA:out std_logic_vector(31 downto 0));

end entity hw_InfraredPort;

architecture one of hw_InfraredPort is

type state is(s0,s1,s2,s3,s4);

signal sta:state;

signal vData:std_logic_vector(31 downto 0);

signal clk_1m:std_logic; --1MHz

begin

process(CLK)

variable clk_counter:integer range 0 to 25;

begin

if(CLK'event and CLK='1')then

clk_counter:=clk_counter+1;

if(clk_counter=25)then

clk_counter:=0;

clk_1m<=not clk_1m;

end if;

end if;

end process;

......

4 設計結果

系統(tǒng)設計利用硬件描述語言VHDL進行程序編寫,在QuarterII設計平臺進行原理圖繪制和仿真等工作。并能根據(jù)仿真結果分析設計存在的問題和缺陷,從而進行程序的調試和完善。結果驗證時以38℃作為預設溫度,觀察FPGAin與FPGAout兩端口。當預設溫度為38℃時,ADC模塊輸入數(shù)值為97時,對應DAC模塊輸出為0。同理,當數(shù)值為92時,對應輸出為5,當數(shù)值為96時,對應輸出為1,當輸入不在92-97之間,輸入大于等于97時,輸出為0,輸入小于92時,輸出為255。如圖7所示的系統(tǒng)仿真總圖和如圖8所示的溫度變化時的控制波形,經驗證符合設計要求。

圖7 系統(tǒng)仿真總圖

圖8 溫度增加仿真圖

通過設計,驗證了基于FPGA制作的可行性,達到了實時控制目的。系統(tǒng)性能穩(wěn)定,運行可靠,能夠滿足日常生活的基本要求。該溫度檢測器與傳統(tǒng)設計相比,具有測溫準確,讀數(shù)方便的特點,適用于對測溫要求準確的場所。

5 結語

通過對熱水器裝置的研究,設計出了基于FPGA控制核心的溫控系統(tǒng)和紅外遙控控制裝置,實現(xiàn)了預期控制功能,該設計不僅使用便捷,而且能夠對熱水進行實時供應,在日常生活中,該系統(tǒng)可在醫(yī)院、賓館、寫字樓等場所投入運行,有著較好的實用價值。

猜你喜歡
框圖溫度傳感器熱水器
基于HSIC的日光溫室溫度傳感器優(yōu)化配置策略
微機電系統(tǒng)溫度傳感器研究進展及產業(yè)現(xiàn)狀綜述
捷豹I-PACE純電動汽車高壓蓄電池充電系統(tǒng)(三)
誰應該為毀損的熱水器負責?
淺談溫度傳感器原理及其應用
電路圖2017年凱迪拉克XT5
算法框圖的補全
太陽能熱水器
自制一個太陽能熱水器
身邊的太陽能