摘要:隨著電冰箱在日常生活中的普及,人們對電冰箱的性能和控制功能的要求越來越高,為了滿足人們實際生活中電冰箱的需要,以AVR單片機(jī)為核心,通過硬件和軟件設(shè)計了電冰箱的控制系統(tǒng),試驗結(jié)果表明,該系統(tǒng)性能指標(biāo)和功能達(dá)到了預(yù)期目的,具有功能齊全、操作簡單、使用方便等優(yōu)點。該系統(tǒng)在同類產(chǎn)品中處于較高水平,具有較高的實用價值。
多年來電冰箱在國內(nèi)市場上一直作為儲物、保鮮的空間,人們對于電冰箱的需求也是最基本的冷凍、凍藏等功能。近年來,隨著家用電冰箱的普及以及80后主流消費群體的迅速崛起,人們對電冰箱的性能要求越來越高,加速了對電冰箱功能和需求的轉(zhuǎn)型和升級,相應(yīng)地對電冰箱的控制功能要求也越來越高。
單片機(jī)自問世以來,性能不斷提高,功能不斷增多和完善,加之具有集成度高、功能強(qiáng)、速度快、體積小、功耗低、使用方便、性能可靠、價格低廉等特點,因此,廣泛應(yīng)用在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集和處理、通信系統(tǒng)、高級計算器、家用電器等領(lǐng)域,基于AVR單片機(jī)的電冰箱控制系統(tǒng)的設(shè)計把單片機(jī)技術(shù)充分利用在電冰箱的控制系統(tǒng)上,為現(xiàn)代電冰箱的發(fā)展提供技術(shù)支撐。
1 系統(tǒng)總體設(shè)計
設(shè)計出的電冰箱控鑭系統(tǒng)以AVR單片機(jī)為核心,包括硬件設(shè)計和軟件設(shè)計2部分。整個系統(tǒng)具有以下功能;
1)定期檢測電冰箱內(nèi)冷凍室和冷藏室的溫度,通過鍵盤人工給定冷凍室及冷藏室溫度,并顯示出設(shè)定值;
2)定期檢測霜厚,當(dāng)霜厚達(dá)到3 mm時自動除霜;
3)定期檢測工作電壓,并進(jìn)行超限報警、禁止壓縮機(jī)工作;
4)定期檢測門開關(guān)狀態(tài),并進(jìn)行開門延時2 min報警;
5)單片機(jī)判斷冷凍室及冷藏室檢測到的溫度是否在設(shè)定的范圍內(nèi),并作出對壓縮機(jī)的啟、停操作,制冷壓縮機(jī)停機(jī)后自動延時3 min后方能再啟動;
6)通過鍵盤人工給定連續(xù)速冷時間值,并顯示出設(shè)定值,單片機(jī)判斷速冷時間是否在設(shè)定的范圍內(nèi),并作出速冷操作處理;
7)利用顯示電路顯示系統(tǒng)中的各種狀態(tài)。
1.1 硬件設(shè)計
基于AVR的電冰箱控制系統(tǒng)的硬件組成框圖如圖1所示,主要包括AVR單片機(jī)、A/D轉(zhuǎn)換器、檢測電路、報警電路、控制電路、時鐘及復(fù)位電路、功能鍵及顯示電路等的部分。
圖1 控制系統(tǒng)的硬件組成框圖
AVR單片機(jī)是高速嵌入式單片機(jī),是整個控制系統(tǒng)的核心部件。由于其具有高速、低耗、保密、費用低廉等優(yōu)點,已廣泛地應(yīng)用于軍事、工業(yè)、家用電器、智能玩具、便攜式智能儀表和機(jī)器人制作等領(lǐng)域,使產(chǎn)品功能、精度和質(zhì)量大幅度提升,故障率低,可靠性高,成本低廉。
A/D轉(zhuǎn)換器即模數(shù)轉(zhuǎn)換器,是指一個將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號的電子元件。該設(shè)計采用的是ADC0809,是M美國國家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進(jìn)行A/D轉(zhuǎn)換,是目前國內(nèi)應(yīng)用最廣泛的8位通用A/D芯片。
檢測電路主要完成電冰箱內(nèi)冷凍室和冷藏室的溫度檢測、霜厚檢測、工作電壓檢測、門開關(guān)狀態(tài)檢測等工作,并把相應(yīng)的信息傳遞給單片執(zhí)進(jìn)行處理。檢測電路的設(shè)計包括冷凍室及冷藏室溫度檢測、霜厚檢測、電源電壓檢測和開門狀態(tài)檢測等電路的設(shè)計。
溫度檢測電路主要是完成冷凍室溫度檢測與及冷藏室溫度檢測,霜厚檢測電路主要是檢測霜的厚度,以便當(dāng)霜厚達(dá)到3 mm時能夠自動除霜。電源電壓檢測電路主要是檢測工作電壓,并進(jìn)行超限報警、禁止壓縮機(jī)工作。報警電路主要是電源電壓檢測電路檢測到工作電壓超出限度時發(fā)出報警信號。控制電路主要是控制制冷壓縮機(jī)和除霜電熱絲啟、停操作。時鐘及復(fù)位電路時鐘及復(fù)位電路主要是給單片機(jī)提供時鐘和復(fù)位信號,保證單片機(jī)能夠正常地工作。功能鍵及顯示電路主要實現(xiàn)用鍵盤對冷凍室、冷藏室進(jìn)行設(shè)定和速冷控制設(shè)定,同時顯示設(shè)定值和設(shè)定標(biāo)志以及系統(tǒng)的各種狀態(tài)。
1.2 軟件設(shè)計
基于AVR的電冰箱控制系統(tǒng)的軟件設(shè)計主要包括主程序、子程序和中斷程序的設(shè)計。
1)主程序
主程序是整個電冰箱的總控制程序,比如控制單元的初始化、控制中斷、定時、顯示、鍵盤程序的啟動與重復(fù)等。主程序流程框圖如圖2所示。
圖2 主程序流程框圖
2)子程序
子程序包括顯示子程序、鍵盤掃描子程序、依標(biāo)志位調(diào)相應(yīng)的顯示子程序、加一及減一處理子程序、讀ADC0809通道轉(zhuǎn)換數(shù)子程序、速冷處理子程序、溫度比較并處理子程序和除霜控制子程序等8個子程序。
顯示子程序就是將顯示緩沖區(qū)的數(shù)據(jù)一位一位地從RXD端輸出給顯示器,顯示出數(shù)據(jù)和狀態(tài)。鍵盤掃描子程序具有判斷鍵盤上是否有鍵按下和判斷閉合的鍵號兩個方面的功能。
依標(biāo)志位調(diào)相應(yīng)的顯示子程序就是根據(jù)標(biāo)志位的內(nèi)容把相應(yīng)的設(shè)置數(shù)通過7段字型碼轉(zhuǎn)換后送入到顯示緩沖區(qū)去。
加一與減一處理子程序都是當(dāng)主程序判斷到是加一或減一操作時就是依標(biāo)志位將相應(yīng)的設(shè)置數(shù)加一或是減一處理。
讀ADC0809通道轉(zhuǎn)換數(shù)子程序就是啟動ADC0809并且將轉(zhuǎn)換后的數(shù)讀入相應(yīng)的緩沖區(qū)中。
速冷控制子程序就是人工設(shè)定一個連續(xù)速冷時間,單片機(jī)再進(jìn)行控制,讓壓縮機(jī)連續(xù)工作時間為設(shè)定的連續(xù)速冷時間。
溫度比較并處理就是將冷凍室溫度與冷藏室溫度實際溫度的平均值與設(shè)置溫度進(jìn)行比較,若超出范圍就進(jìn)行處理,否則就返回。
除霜控制子程序就是將ADC0809轉(zhuǎn)換后的值與霜厚為3 mm時的對應(yīng)值進(jìn)行比較,若小于3 mm時就不需要除霜,否則就啟動除霜加熱絲進(jìn)行除霜。
3)中斷程序
當(dāng)中央處理器正在處理內(nèi)部數(shù)據(jù)時,外界發(fā)生了緊急情況,要求CPU暫停當(dāng)前的工作轉(zhuǎn)去處理這個緊急事件。處理完畢后,再回到原來被中斷的地址,繼續(xù)原來的工作,這樣的過程稱為中斷。實現(xiàn)這一功能的部件稱為中斷系統(tǒng),申請CPU中斷的請求源稱為中斷源,處理"急件"的程序被稱為中斷服務(wù)程序,是事先編好的某個特定的程序。本系統(tǒng)中涉及到了T0和T1中斷服務(wù)程序。
T0中斷服務(wù)程序主要完成讀ADC0809通道的轉(zhuǎn)換數(shù)、電源電壓欠壓、過壓處理、并門狀態(tài)檢測及處理等。
T1中斷服務(wù)程序主要完成3 min定時及根據(jù)檢測結(jié)果,比較、分析、控制執(zhí)行各元件的工作。即進(jìn)行速冷處理、溫度比較并處理、霜厚控制并處理等。
2 結(jié)束語
該系統(tǒng)在設(shè)計出之后進(jìn)行了多次試驗,試驗數(shù)據(jù)表明該系統(tǒng)的各項性能指標(biāo)和功能達(dá)到了預(yù)期的設(shè)計目的,具有功能齊全、操作簡單、使用方便等優(yōu)點,在國內(nèi)同類產(chǎn)品中處于較高水平,具有較高的實用和推廣價值。