摘要:為滿足落水式太陽能熱水器自動控制的要求,設計了一個基于PIC16C72單片機的水溫水位控制器。以NTC熱敏電阻作為測溫傳感器,用PIC16C72內(nèi)置的多路8位A/D轉(zhuǎn)換器把NTC熱敏電阻上的壓降轉(zhuǎn)換為數(shù)字量實現(xiàn)測溫。通過非對稱多諧振蕩器電路把水位傳感器的等效電阻轉(zhuǎn)換為振蕩信號的頻率,然后用PIC16C72內(nèi)置的計數(shù)器測量頻率的高低,實現(xiàn)對水位的測量。介紹了控制器的工作原理、完整的硬件電路和功能。該設計省去了溫度測量信號調(diào)理電路、專用A/D轉(zhuǎn)換和輸出譯碼驅(qū)動芯片,具有硬件系統(tǒng)組成簡單、可靠性好的特點。
關(guān)鍵詞:PIC16C72;溫度;水位;控制器;太陽能熱水器
太陽能熱水器因具有節(jié)能環(huán)保、使用費用低廉等優(yōu)點正快速進入千家萬戶,與太陽能熱水器配套的水溫水位控制器十分方便用戶的使用,產(chǎn)品市場前景好,被受到廣泛重視和研究。但當前使用的水溫水位控制器仍存在著許多缺餡,如按鍵功能設計不合理,需要復用按鍵,用戶操作離不開說明書,操作儀表復雜,給用戶帶來了許多麻煩;選用的水溫傳感器參數(shù)和測量電路不合理,容易因熱擊穿損壞;水位傳感
器容易結(jié)水垢或開裂故障多,使用壽命短,維修成本高。迄今為止,國內(nèi)外還沒有質(zhì)量過關(guān)的水溫水位控制儀。針對上述問題,為使控制器的功能更全面實用,操作更簡便、直觀,提高傳感器的可靠性,降低維修成本,筆者結(jié)合PIC單片機和NTC熱敏傳感器技術(shù),設計了一個適用于落水式太陽能熱水器的控制器。
1 系統(tǒng)結(jié)構(gòu)和工作原理
該控制器主要是用于測量、顯示落水式太陽能熱水器水箱中的水位和水溫,上下水管道溫度,控制電磁閥上水、控制輔助電加熱及管道防凍電伴熱帶等。它主要由單片機PIC16C72、水箱溫度和管道溫度傳感器、水位傳感器及測量電路、輸入按健、用水水流開關(guān)、電磁閥控制、電加熱控制和電伴熱帶控制等部分組成??刂破鹘Y(jié)構(gòu)框圖如圖1所示。單片機PIC16C72作為控制的核心,通過執(zhí)行程序?qū)崿F(xiàn)對系統(tǒng)各部分的控制。水位測量模塊實現(xiàn)水箱水位的測量,溫度測量模塊實現(xiàn)儲水箱水溫、上下水管道溫度的溫度測量。三路控制輸出通過繼電器分別控制上水電磁閥、電加熱器和防凍電伴熱帶工作。LED部分顯示水箱水位,水箱水溫及顯示相關(guān)參數(shù),按健部分用于選擇工作模式、設置相關(guān)參數(shù)、手動控制上水或電加熱。水流開關(guān)用于測量用水狀態(tài)。
2 系統(tǒng)硬件設計
設計的控制器以單片機PIC16C72為控制核心,控制器的電路如圖2所示。單片機PIC16C72內(nèi)有2個計數(shù)器,內(nèi)置一個五通道8位A/D轉(zhuǎn)換模塊,帶有2K的OTP程序存儲器。這里測量水位的方法是用非對稱式多諧振蕩器電路把水位傳感器的等效電阻大小轉(zhuǎn)換為振蕩信號頻率的高低,由單片機內(nèi)置的計數(shù)器對頻率計數(shù),實現(xiàn)水位的測量。儲水箱水溫、上下水管道溫度的測量方法均是利用熱敏電阻與固定電阻串聯(lián)分壓,把溫度的變化轉(zhuǎn)換為熱敏電阻上壓降的變化,利用單片機內(nèi)的多通道8位A/D轉(zhuǎn)換模塊對這二路溫度電壓信號進行A/D轉(zhuǎn)換后,由程序讀取和處理。程序控制PORTB口分時作鍵盤輸入口和顯示輸出口。
2.1 水位測量
水位傳感器的長期可靠性是水位測量的關(guān)鍵。早期曾采用半導體壓力傳感器來測水位,由于水垢堵塞水壓傳導管,在應用一段時間后因不適用測量水位環(huán)境要求而放棄。這里采用非對稱式多諧振蕩器電路把水位信號轉(zhuǎn)換為頻率信號作為水位測量方法。在圖2中,非對稱式多諧振蕩器由74HC04和電容C5,電阻R3,R19,R22和水位傳感器的等效電阻Rw組成。該電路的振蕩頻率為1/[2.2(R19+R22+Rw)C5]。這里是把若干個電阻相串聯(lián),在電阻間的引線處引出水位探測電極,作為水位測量傳感器。由于水有導電性,水位的變化可引起水位探測電極間的短路,這會改變水位傳感器的等效電阻Rw的大小,從而使振蕩器頻率變化。該信號經(jīng)非門隔離后由74HC04的引腳6輸出到單片機的引腳T1CKI,由PIC16C72片內(nèi)計數(shù)器T1對振蕩信號的頻率計數(shù)。水位傳感器的串聯(lián)電阻參數(shù)的選擇是有效測量水位的關(guān)鍵因素。通過大量的實驗發(fā)現(xiàn),在上述多諧振蕩器電路中,當選用電容C5為0.1μF,水位傳感器由30,10,10,10kΩ的4個電阻相串聯(lián)組成水位傳感器時,測量水位時傳感器的等效電阻值在60~0 kΩ之間變化,多諧振蕩器的振蕩信號的頻率在60~415 Hz之間,測量水位效果較好。水位傳感器的結(jié)構(gòu)形式、電極材料類型是影響水位傳感器使用壽命的重要因素。用導電硅膠材料做水位傳感器的導電電極并采用雙電極備份結(jié)構(gòu),較好地解決了因水位傳感器故障經(jīng)常出現(xiàn)的跑水問題。
2.2 溫度測量
下面以水箱水溫的測量方法為例說明測溫原理。在圖2中,RT1是熱敏電阻,用來感應水箱水溫。電阻R1與RT1組成簡單的串聯(lián)分壓電路對5 V的電源電壓分壓,RT1上的壓降為5V·RT1/(RT1+R1),該壓降隨溫度變化而變化,并通過A/D的輸入引腳AN0送入PIC16C72A內(nèi)部的A/D轉(zhuǎn)換器,轉(zhuǎn)換為數(shù)字信號,由程序讀取。熱敏電阻RT1用于測量室外管道的溫度,原理與上述完全相同,由引腳AN1把相應的熱敏電阻上的壓降送入A/D轉(zhuǎn)換器。這里選用負溫度系數(shù)熱敏電阻器(NTC)作測溫傳感器,NTC測溫熱敏電阻的主要優(yōu)點是電阻溫度系數(shù)大,靈敏度高,響應速度快,能進行精密溫度測量,主要缺點是熱電特性非線性現(xiàn)象嚴重。實驗發(fā)現(xiàn),在測量溫度較高時NTC熱敏電阻功耗較大,易造成熱擊穿,因此應盡量選用阻值較大的NTC熱敏電阻和分壓電阻。另外,考慮到PIC單片機的A/D輸入信號引腳的輸入漏電流最大為±500 nA,要保證A/D轉(zhuǎn)換結(jié)果的正確,就要求損耗在信號源內(nèi)阻上的電壓不能超過10 mV,這樣就要求信號源內(nèi)阻最大不要超過20 kΩ。經(jīng)分析和研究表明,在選用玻璃封裝的NTC熱敏電阻,精度為50kΩ+±0.5%,其B25/50為4050 k±1%,分壓電阻選用熱穩(wěn)定性好的精度為20 kΩ±0.5%的金屬膜電阻,不需線性補償,僅使用查表的方法就能滿足測溫精度±1℃的要求,并較好地解決了熱敏電阻的熱擊穿問題。
2. 3 鍵盤輸入和顯示輸出
利用PIC16C72的PORTB口的每個I/O引腳可提供量大20 mA的拉電流直接點亮LED工作,并具有軟件控制弱上拉的特點,可簡化按健輸入和顯示輸出接口電路設計。PORTB口除作按健狀態(tài)的輸入口外,還用于水位、溫度顯示及工作狀態(tài)的輸出端口,這通過程序設置PORTB口分時作輸入口或輸出口的方式實現(xiàn)。鍵盤查詢電路由電阻R4~R10及6個按鍵S1~S6組成,S1~S6分別定義為“升溫”、“降溫”、“定量”、“定時”、“上水”、“電熱”鍵。通過讀入引腳RB0~RB5上的電平可輸入按鍵S1~S6的開關(guān)狀態(tài)。兩位數(shù)碼管SM42052、水位指示燈L1~L7、狀態(tài)指示燈L8~L14以共陰、動態(tài)掃描方式輸出顯示,由PIC16C72的引腳RC4~RC7輸出的4個共陰顯示位控電平,控制4個8050三極管Q1~Q4作為兩位數(shù)碼管和兩組LED(L1~L7,L8~L14)的位控。由軟件譯碼后的顯示碼由引腳RB0~RB6上輸出直接驅(qū)動LED數(shù)碼管和指示燈L1~L14。按健S1~S6通過1kΩ的限流電阻R16接到PORTC口的引腳RC3,目的在于消除當PORTB作輸出口時,按鍵操作可能對數(shù)碼管和指示燈L1~L14顯示的影響。在查詢輸入按健S1~S6的狀態(tài)前,程序先使引腳RC3輸出低電平,然后讀入PORTB口的電平,輸入按健S1~S6的狀態(tài)。而在PORTB作輸出前,程序先設置RC3為輸入引腳,然后再從PORTB口的引腳RB0~RB6上輸出顯示碼,由于這時RC3引腳呈輸入高阻,按健S1~S6浮空,即使此時有健被按下,也不會把引腳RB0~RB6上輸出的高電平拉低而影響顯示。L1~L7燈顯示水箱水位,兩位數(shù)碼管一般情況顯示水箱水溫,當按升溫或降溫鍵時,閃爍顯示設定的水溫值;當按定時健時,閃爍顯示設定的用水時間值;當出現(xiàn)故障時,則顯示故障編碼;燈L8~L10分別為定溫工作模式、定量工作模式、定時工作模式指示燈;燈L11~L14分別為上水、電熱、故障、自來水水壓狀態(tài)指示燈。S1、S2分別為升溫鍵和降溫鍵,用于選擇定溫模式,并用于改變水溫設定值;S3鍵為定量鍵用于選擇定量模式,并用于預置水量值,定時鍵S4用于選擇定時模式并改變時間設定值,S5為上水鍵用于開啟/關(guān)閉自動上水,S6為電熱鍵用于開啟/關(guān)閉電加熱,S7為水流開關(guān),用于測量用戶用水狀態(tài)。
2.4 控制輸出電路
系統(tǒng)有三路控制輸出,分別是由單片機的RA5、RC1和RC2輸出控制三極管Q6、Q7和Q8,分別控制繼電器RL1和RL2、RL3和上水電磁閥。繼電器RL1和RL2用于控制電加熱管對水箱中的儲水輔助電加熱,繼電器RL3控制電伴熱帶用于上下水管路防凍堵,Q8控制上水閥上水。例如,按“上水”鍵將RC2置高電平開啟上水電磁閥,啟動上水。再次按“上水”鍵,程序使RC2輸出低電平,關(guān)閉上水電磁閥。低溫電伴熱帶防凍的條件是,室外管道溫度等于或低于4℃,程序就將RC1口置高電平,使電伴熱帶通電工作發(fā)熱,當管道溫度等于或高于10℃時,使引腳RC1輸出低電平,以關(guān)閉電伴熱帶電源。
3 功能介紹和軟件編程
本系統(tǒng)采用單片機程序控制,功能有水溫水量顯示、定量上水、定溫上水、定時用水、自動上水、輔助電加熱、管道自動防凍、溢水自停、用水自動停止上水和停止電加熱,低水壓判斷等功能。主要功能介紹如下:定量上水功能:按“水量”鍵,定量摸式燈亮,系統(tǒng)進入定量模式,水位燈開始閃爍,此時繼續(xù)按“水量”鍵,水位燈開始循環(huán)變化,在希望的水量值處停下,水量設定完成。按“上水”鍵,上水燈亮,開始上水,當水箱中的水量達到設定值時,自動停止上水。定溫上水功能:接“升溫”或“降溫”鍵,此時定溫模式燈亮,表示系統(tǒng)進入定溫模式,數(shù)碼管閃爍顯示設定的水溫值。繼續(xù)按“升溫”或“降溫”鍵,直到期望值為止。按“上水”鍵,上水燈亮,啟動定溫上水功能,在上水過程中,再按一下“上水”鍵,將關(guān)閉上水。定時用水功能:首先按“水量”健,水位燈閃爍顯示設定的水量值,繼續(xù)接水量鍵直到欲設定的水量值;再按“升溫”或“降溫”鍵,數(shù)碼管閃爍顯示設定的水溫值,繼續(xù)按“升溫”或“降溫”鍵,直到欲設定的值;最后再按“定時”鍵,此時數(shù)碼管閃爍,此時定時模式燈亮,指示當前為定時工作模式,繼續(xù)按“定時”鍵,直到顯示的數(shù)值為欲設定的用水時間(1~24 h)。在定時模式下,當日照較好,太陽能已使水溫達到設定溫度時,不啟動電輔助加熱;當日照不足時,控制器會計算出合適的啟動電輔助加熱的時機,真正做到光與電自動互補,既節(jié)電又保證全天候使用。如要取消定時功能,按一下“水量”鍵或“升溫”“降溫”鍵就離開定時模式,進入定量模式或定溫模式。定溫電輔助加熱功能:當水溫低于設定值時,按“電熱”鍵可在開啟/關(guān)閉電加熱間切換。防干燒功能:當水溫低于設定值,水箱中水位不足1/4時,即使按電熱鍵也不能啟動電加熱。溢水自停功能:上水15min后,水位無變化,將自動關(guān)閉上水。另外還設計有用戶用水自動推遲上水、停止電加熱等功能,水箱無水15 min后自動啟動上水功能。系統(tǒng)程序由主程序、多個功能子程序及一個中斷服務程序組成,程序流程如圖3和圖4所示。程序用PIC匯編語言編寫完成,程序代碼近2kB。
4 結(jié)束語
本設計通過在測溫電路中采用較大阻值的分壓電阻和NTC熱敏電阻,有效地降低了NIC熱敏電阻的工作電流,較好地解決了NTC熱敏電阻的熱擊穿問題。采用自制的備份電極的水位傳感器,成倍地延長了水位傳感器的使用壽命。選用PIC16C72為控制芯片,外圍電路簡單、成本低、抗干擾性好。設計的定量、定溫、定時3種工作模式,功能全面實用,能滿足家庭太陽能熱水器多樣化控制的要求。按鍵操作簡明,無按鍵復用,一目了然,用戶容易掌握和使用,該水位水溫控制器特別適用于家庭落水式太陽能熱水囂的自動控制。