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