摘要:設(shè)計(jì)了一種基于PIC16C71" title="PIC16C71">PIC16C71單片機(jī)的數(shù)字水溫配制閥" title="數(shù)字水溫配制閥">數(shù)字水溫配制閥。該配制閥采用NTC熱敏電阻作溫度傳感器,,與固定電阻組成簡單分壓電路作為水溫測量電路,,利用PIC16C71單片機(jī)內(nèi)置的8位A/D轉(zhuǎn)換器把熱敏電阻上的模擬電壓轉(zhuǎn)換為數(shù)字量,PIC16C71單片機(jī)控制直流電機(jī)驅(qū)動混水閥調(diào)節(jié)冷熱水的混合比例實(shí)現(xiàn)水溫調(diào)節(jié),。給出了控制電路圖,,對水溫測量電路的參數(shù)選擇和測溫精度作了詳細(xì)討論。實(shí)驗(yàn)和分析表明,,選用阻值較大的NTC熱敏電阻和分壓電阻可較好地解決熱敏電阻因功耗較大造成的熱擊穿問題,。
關(guān)鍵詞:PIC16C71;NTC熱敏電阻,;水溫;控制閥
隨著社會的發(fā)展,,各種熱水器及管道熱水進(jìn)入千家萬戶,,人們在不同場合對水溫的要求是多種多樣的,經(jīng)常需要把熱水和冷水混合到需要的溫度??梢钥刂聘鞣N熱水器及管道熱水的出水溫度,,能快速準(zhǔn)確地調(diào)制出所需溫度的熱水,可用于淋浴,、洗漱及其他需要恒溫?zé)崴畧鏊乃疁刂悄芘渲崎y,,是一個有應(yīng)用價(jià)值的技術(shù)。本設(shè)計(jì)正是順應(yīng)這種需要,,以PIC16C71芯片為核心,,控制機(jī)械部分自動調(diào)整冷水和熱水的混合比例,實(shí)現(xiàn)出水水溫的自動控制,,解決了由于水壓波動,、水溫變化或出水量改變引起的水溫忽冷忽燙的難題,比手動調(diào)節(jié)用水溫度方式有明顯的節(jié)水效果,。
1 系統(tǒng)結(jié)構(gòu)和工作原理
熱水和自來水作為控制閥的2個輸入,,利用混水閥控制冷、熱水輸入量和比例,,混合后的水經(jīng)出水口流出,,供用戶使用。安裝在出水口的溫度傳感器感測出水口處的溫度并通過測溫電路傳送給單片機(jī),。該調(diào)溫水閥的組成如圖1所示,。當(dāng)出水開關(guān)打開時,單片機(jī)把溫度傳感器測量的出水口處的溫度與設(shè)定溫度進(jìn)行比較,,需要時由PIC16C71來控制直流電機(jī)帶動混水閥,,來調(diào)整進(jìn)入水閥的冷、熱水的比例,,從而控制出水的溫度,,當(dāng)電機(jī)轉(zhuǎn)到頭時,單片機(jī)得到相應(yīng)的信號,,終止電機(jī)繼續(xù)同向轉(zhuǎn)動,。通過溫升或溫降按鍵在25~50℃范圍內(nèi)對用水溫度進(jìn)行設(shè)置,LED數(shù)碼管顯示設(shè)定的用水溫度值,。若設(shè)定溫度與傳感器檢測的溫度不符,,根據(jù)二者溫差的大小,單片機(jī)輸出不同寬度的脈沖電壓信號控制直流電動機(jī)按不同的速度轉(zhuǎn)動,,通過傳動機(jī)構(gòu)驅(qū)動冷熱水混合閥,,改變冷水和熱水的流入比例。當(dāng)外界條件再次發(fā)生變化時,,如水壓減小或增大等,,出水管水溫與設(shè)定溫度出現(xiàn)溫差,此時單片機(jī)再一次控制電機(jī)轉(zhuǎn)動,對水溫進(jìn)行自動調(diào)節(jié),,使出水口水溫自動與設(shè)定用水溫度保持一致,。
2 控制面板和電路
設(shè)計(jì)控制面板按鈕應(yīng)最少化,并且使用方便,,功能合理,,控制操作簡便,儀表能顯示出設(shè)置的溫度,??刂泼姘迦鐖D2所示,面板左側(cè)的2位LED數(shù)碼管用來顯示預(yù)置的用水溫度,。面板右上方的溫升按鍵,、溫降按鍵分別用來增加和減少預(yù)置出來水溫的溫度。面板右下方為手動開關(guān),,決定水閥的開關(guān)和出水量大小,,當(dāng)其置于“關(guān)”時,為關(guān)閉出水非工作狀態(tài),。
圖3是控制閥的電路圖,。系統(tǒng)使用低壓直流電源,用PIC16C71單片機(jī)做控制,,通過程序控制實(shí)現(xiàn)各項(xiàng)功能,。
2.1 測溫原理和參數(shù)選擇
在圖3中,熱敏電阻RT為測溫元件,,用于測量出水口處的水溫,。一個固定電阻R16與熱敏RT相串聯(lián)組成分壓電路,RT上的壓降接到引腳通過電阻R17接AN0輸入到PIC16C71的內(nèi)置的8位A/D轉(zhuǎn)換器,,把模擬電壓信號轉(zhuǎn)換成數(shù)字信號,,由程序讀取實(shí)現(xiàn)測溫。測溫的關(guān)鍵是要選擇合適的測溫元件和合理的電路參數(shù),。這里選用的是一種負(fù)溫度系數(shù)熱敏電阻器(NTC),,它采用玻殼封裝、體積小,、價(jià)格低,,安裝方便。NTC測溫?zé)崦綦娮璧闹饕獌?yōu)點(diǎn)是電阻溫度系數(shù)大,、靈敏度高,、響應(yīng)速度快,能進(jìn)行精密溫度測量,,主要缺點(diǎn)是熱電特性非線性現(xiàn)象嚴(yán)重,。如使用C408503(25℃時,,阻值50 kΩ,B值4 050 K,,玻璃封裝)NTC熱敏電阻,在0~99℃范圍內(nèi),,電阻的靈敏度約為8 500~100 Ω/℃,,非線性嚴(yán)重,使用時一般要進(jìn)行線性補(bǔ)償,。這里通過計(jì)算,,選擇合理的測溫電路參數(shù),在有效的測溫范圍內(nèi),,沒有進(jìn)行線性補(bǔ)償,,僅使用溫度查表的方式就有效地解決了NTC測溫電阻的非線性問題。下面討論測溫精度和電路參數(shù)的選擇問題,。
電阻R16與熱敏電阻RT串聯(lián)組成分壓電路,,對電源電壓5 V分壓,RT上的壓降Vi=5 V·RT/(RT+R16)隨溫度變化而變化,。該電壓通過A/D的輸入引腳AN0送入PIC16C71內(nèi)部的A/D轉(zhuǎn)換器,,轉(zhuǎn)換為數(shù)字信號,由程序讀取使用,。在RT上并接一個0.1 μF的電容C3實(shí)現(xiàn)濾波,,用于消除干擾和噪聲。在試用中發(fā)現(xiàn),,當(dāng)選用的NTC熱敏電阻(如標(biāo)稱值為10 kΩ)和分壓電阻(如5.1 kΩ)的阻值較小時,,熱敏電阻在工作一段時間后易被擊穿,而在選用阻值較大的NTC熱敏電阻和分壓電阻后,,問題就較好地解決了,。分析原因,應(yīng)該是NTC熱敏電阻中的工作電流和功耗較大造成的熱擊穿,。因此應(yīng)盡量選用阻值較大的NTC熱敏電阻和分壓電阻,,盡量減小流過熱敏電阻的電流。另一方面,,考慮到PIC單片機(jī)的A/D輸入信號引腳的輸入漏電流最大為±500 nA,,要保證A/D轉(zhuǎn)換結(jié)果的正確,就要求損耗在信號源內(nèi)阻上的電壓不能超過10 mV(A/D基準(zhǔn)電壓為5 V時的1/2個LSB),,這要求信號源內(nèi)阻最大不要超過20 kΩ,。當(dāng)選用標(biāo)稱為50 kΩ,B25/50為4 050 K的NTC熱敏電阻,,其在溫區(qū)(0~99℃)的阻值變化在168.3~3.217 kΩ之間,。當(dāng)選擇固定分壓電阻為20 kΩ時,,A/D輸入信號源的等效內(nèi)阻是熱敏電阻和分壓電阻并聯(lián)后的阻值,阻
值范圍是17.9~2.77 kΩ,,這可以滿足A/D轉(zhuǎn)換時,,對信號源內(nèi)阻最大不能超過20 kΩ的要求,對應(yīng)的輸入給A/D的信號電壓Vi的范圍在4.469~0.693 V之間,,覆蓋了有效的A/D輸入電壓值區(qū)間(0~5 V)的大部分,,經(jīng)8位A/D轉(zhuǎn)換后對應(yīng)的數(shù)字量在0xE5~0x23之間。在0~97℃溫區(qū),,當(dāng)溫度變化1℃時,,對應(yīng)輸入電壓變化量在55.5~19.7 mV之間。均大于1 LSB對應(yīng)的模擬電壓值19.6 mV,,因此8位A/D轉(zhuǎn)換后測溫的精度達(dá)到±1℃是有保證的,;在97~99℃間。當(dāng)溫度變化1℃時對應(yīng)的模擬輸入電壓變化量在18.8~18.5 mV之間,,8位A/D轉(zhuǎn)換測溫精度達(dá)不到±l℃,,但正常測溫一般不會高于95℃。并且出水口溫度控制在25~50℃也比較低,。
以上分析說明不用加入輸入信號的調(diào)理電路,,也能滿足測溫精度±1℃的要求。A/D模擬輸入引腳AN0串接R17用于限流保護(hù),,防止過壓輸入造成芯片損壞或出現(xiàn)硬件死鎖的問題,,因?yàn)樗鼘⒅苯佑绊懙紸/D模擬輸入信號源的內(nèi)阻和采樣時間,R17的阻值不能太大,,阻值選為1k-Ω,。RT選用NTC熱敏電阻的精度為50 kΩ±0.5%,其B25/50為4 050 K±1%,,分壓電阻R16選用熱穩(wěn)定性好的金屬膜電阻,,精度為20kΩ± 0.5%。
2.2 鍵盤輸入和輸出顯示電路
設(shè)計(jì)輸入電路時利用了PIC16C71的PORTB口具有軟件控制弱上拉電路的特點(diǎn),。鍵盤查詢電路由電阻R6,、R7、R8,,按鍵S1,、S2、S3及電阻R12組成,,通過引腳RB6,、RB5、RB4查詢按鍵的狀態(tài),。RB4~RB6腳作為輸入端時分別與按鍵S1,、S2和S3相連,,S1為溫增設(shè)置按鈕,S2為溫降設(shè)置按鈕,,S3為手柄開關(guān)關(guān)聯(lián)鍵,。RB6、開關(guān)S3和R12組成用水狀態(tài)查詢輸入電路,,由RB6引腳輸入用水狀態(tài),。設(shè)定的用水溫度由RB1~RB8通過限流電阻R5~R11后由二位LED數(shù)碼管輸出,RA1和RA2輸出控制VQ1和VQ2作為LED數(shù)碼管的位控,。
2.3 直流電機(jī)驅(qū)動電路
三極管VQ3~VQ6的導(dǎo)通和截止由引腳RA3和RB0的輸出電平控制,用于控制直流電機(jī)M的電源極性翻轉(zhuǎn),。取樣直流電機(jī)M的壓降值送給PIC-16C71芯片的A/D轉(zhuǎn)換器的另一輸入通道,,電機(jī)兩端的電壓降由R14、R15分壓取樣后由RA4引腳輸入A/D轉(zhuǎn)換器轉(zhuǎn)換后由程序讀取,,用于判斷電機(jī)位置和控制,。
3 A/D數(shù)據(jù)的處理
測試中發(fā)現(xiàn),若把PIC16C71的A/D轉(zhuǎn)換后的溫度數(shù)據(jù)不作處理就直接用于溫度控制,,會使電機(jī)不時出現(xiàn)誤動作,。即使在測溫電路中加入了各種濾波電路,仍不見改善,。因此推斷該干擾可能來自A/D轉(zhuǎn)換模塊內(nèi)部,。考慮到該系統(tǒng)中現(xiàn)場溫度的變化較緩慢,,適合采用滑動窗口平均法進(jìn)行數(shù)字濾波,。在采用數(shù)字濾波方法對A/D轉(zhuǎn)換后得到的連續(xù)16個溫度數(shù)據(jù)進(jìn)行平均后,有效消除了對A/D轉(zhuǎn)換后的噪聲,。
4 結(jié)束語
該數(shù)字水溫配制閥選用低壓直流電源供電,,以確保安全。出水開關(guān)和流量的大小用單手柄控制,,用按鍵預(yù)置用水溫度并由數(shù)碼管顯示,,操作簡單,可以在25~50℃之間對出水溫度進(jìn)行設(shè)置,,分辨率是1℃,。如果出水口水溫和設(shè)定的水溫不一致,則LED數(shù)碼管閃爍顯示以提醒注意,,同時單片機(jī)根據(jù)兩者之間的高低和差值的大小,,產(chǎn)生脈沖控制電機(jī)的轉(zhuǎn)速和正反轉(zhuǎn),通過傳動機(jī)構(gòu)帶動混水閥,,調(diào)整冷熱水的進(jìn)水比例,。該水閥與家庭熱水器配套使用,,可自動快速調(diào)節(jié)出需要的水溫,可以防止冷熱水刺激,,洗浴舒適,,節(jié)水效果明顯。