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