??? 摘 要: 介紹了太陽能熱水器中輔助電熱水裝置控制器的開發(fā),給出了其硬件結構和軟件框圖。硬件電路主要由單片機AT89C51、時鐘芯片DS12887、數(shù)/模轉換器ADC0809、并行接口82C55、溫度傳感器、水位傳感器和繼電器等組成。該控制器具有時間顯示、水溫顯示和水位顯示以及三段保溫時間設定和溫度設定功能,還具有加熱器短路保護" title="短路保護">短路保護、漏電流保護和防干燒等功能。該控制器簡單可靠,成本較低,已在實際中應用。
??? 關鍵詞: 控制器? AT89C51? DS12887? ADC0809? 82C55
?
??? 太陽能因其具有綠色環(huán)保、無污染、廉價等特點,越來越受到人們的喜歡,許多家庭和公共場所都在使用太陽能熱水器。但是,太陽能受天氣影響很大,當夜晚或者陰天陽光不足時,水箱中的水可能達不到設定溫度。這時需要采用輔助加熱的方法把水箱中的水加熱到足夠的溫度,以滿足用戶全天候使用的要求。在輔助加熱方法中,電加熱是一種常用的方式。本文將介紹采用電加熱作為輔助加熱方式的太陽能熱水器控制器的開發(fā)過程。所設計的控制器具有時間顯示、水位顯示和溫度顯示,同時具有三段保溫起止時間設定和溫度設定功能,可以對一天的三個時間段進行水箱溫度控制,達到節(jié)電和滿足不同用戶使用習慣的要求;此外,還具有短路保護、漏電保護、防干燒、掉電保護、故障報警和手動控制等功能。
1 控制器的硬件電路設計
??? 對輔助電加熱控制器所要完成的功能進行分析后,采用如圖1所示的設計方案。該方案以AT89C51單片機為核心,單片機在地址鎖存器74LS373的配合下,通過P1、P2口擴展外圍接口電路。接口電路有A/D" title="A/D">A/D轉換器ADC0809、時鐘芯片DS12887以及并行擴展接口82C55。ADC0809把熱水器水箱中的水面溫度傳感器(安裝在熱水出水口附近,作實時顯示之用)、防干燒溫度傳感器(安裝在加熱電阻絲附近,作防干燒保護之用)、水位傳感器、電流傳感器、漏電電流傳感器的模擬信號變成數(shù)字信號,以便單片機進行實時顯示、保護和控制。DS12887內有鋰電池,并有114字節(jié)的RAM,可以在控制器斷電時進行準確計時,并保存RAM中的數(shù)據。82C55用于對8個LED數(shù)碼管和具有8個按鍵的鍵盤進行擴展。
?
1.1 單片機與82C55的鍵盤和顯示接口
??? 鍵盤和顯示電路如圖2所示。8個數(shù)碼管采用共陰極連接,82C55的PA口輸出顯示字符的段碼,PB口選擇要顯示的位,它們分別通過兩片DS75491和兩片DS2003實現(xiàn)8個LED數(shù)碼管的段驅動和位驅動。數(shù)碼管的字符顯示采用軟件譯碼和軟件動態(tài)掃描的方式,在同一時間只有一位數(shù)碼管被點亮。8個數(shù)碼管分別顯示時間(4位,小時和分鐘各占兩位)、水溫(兩位)、水位(1位)和設定標識或者故障標識(1位)。當為故障狀態(tài)時,設定/故障標識位顯示故障代碼(漏電、短路、干燒等故障分別采用特殊的代碼來表示);當為設定狀態(tài)時,顯示目前設定內容的代碼(如“1”表示進行溫度設定)?鴉在正常工作狀態(tài)時(不是設定狀態(tài)和故障狀態(tài)時),該位滅。由于對水位的顯示精度要求不高,故水位采用一個數(shù)碼管顯示,一般情況顯示4段就足以滿足要求。
?
??? 82C55的PC口用于連接8個按鍵,采用軟件方式去除抖動。8個按鍵分別為用于選擇設定參數(shù)類型的“設定增加”和“設定減少”鍵、用于設定參數(shù)值的“參數(shù)增加”和“參數(shù)減少”鍵、用于設定完成后的“確認”鍵、用于人工清除故障的“故障清除”鍵、用于手動控制的“電加熱開”和“電加熱關”鍵。當控制器檢測到故障時,如漏電和短路等,控制器關閉電加熱器" title="電加熱器">電加熱器,并進行故障指示和報警。此時,如果實際故障消失(如發(fā)生短路故障時,控制器因保護作用而關閉電加熱器電源,此時短路現(xiàn)象消失),控制器仍然需要保持該故障狀態(tài),則等待用戶檢查維修完畢后,用戶按“故障清除”鍵后就能清除保存在控制器中的故障狀態(tài),使控制器繼續(xù)正常工作。這樣可以避免在維修人員沒有排除故障時,控制器自動開啟電熱器" title="電熱器">電熱器而引起不必要的事故?!半娂訜衢_”和“電加熱關”的設置是為了方便用戶更加自由地使用熱水器,通過這兩個鍵,用戶可以在任何時間開關電加熱器(不要求在三段保溫時間之內),而且此時控制器同樣對溫度進行控制和保護,如在手動加熱時,如果水溫超過設定溫度,控制器自動關閉電加熱。這樣可以避免用戶手動開啟電加熱后,忘記關閉電加熱而浪費電能。
1.2 單片機與ADC0809的接口
??? A/D轉換器ADC0809與單片機的連接如圖3所示。 ADC0809的8個模擬量輸入采用了其中的5個通道,分別連接水溫、電流、漏電、干燒和水位的測量和變換電路的輸出。ADC0809的時鐘由AT89C51的ALE信號提供,根據ACD0809對工作時鐘的要求和控制器對漏電和短路信號的反應速度的要求,ADC0809時鐘頻率取為667kHz,則AT89C51的時鐘頻率選為4MHz,這樣?熏若A/D轉換的時間為0.1ms,則控制器循環(huán)采樣完5個模擬輸入信號需要0.5ms時間。這樣的采樣速度足夠滿足漏電和短路的保護要求。
?
1.3 單片機與時鐘芯片DS12887的接口和控制輸出電路
??? AT89C51與DS12887的接口和控制輸出電路如圖4所示。單片機的P1口為電熱水器和報警器的控制輸出,對電熱水器的控制是通過三極管進行功率放大后驅動大功率繼電器然后再驅動電加熱絲來實現(xiàn)的,對報警器的控制是通過三極管驅動直流蜂鳴器來實現(xiàn)的,通過控制蜂鳴器的接通和斷開時間可以發(fā)出不同長短的斷續(xù)報警聲。
?
??? DS12887是內部帶有不易失性RAM的實時時鐘電路,在控制器中用于進行實時計時并在掉電時保存用戶設置參數(shù)和故障狀態(tài)參數(shù)等重要參數(shù)。圖4中DS12887的MOT腳接地。由于DS12887與AT89C51的復位信號剛好相反,所以要通過一個反相器進行連接。DS12887內部有地址鎖存器,不需要像82C55那樣通過74LS373把地址和數(shù)據分開,可以按照圖4的方式進行直接連接,通過連接AT89C51的ALE腳和DS12887的AS腳來進行地址和數(shù)據的識別。
2 控制器的軟件設計
??? 從控制器的功能和硬件設計可以看出,控制器的軟件部分可以自然地分成初始化模塊、模擬輸入和計時模塊、故障判斷和控制邏輯處理模塊、鍵盤處理" title="鍵盤處理">鍵盤處理和LED顯示模塊等,這些模塊通過單片機的RAM和DS12887的非易失RAM交換數(shù)據。圖5為控制器的主程序框圖。
??? 初始化模塊對單片機的堆棧指針、中斷寄存器、全局變量和初始化定時器0等進行初始化。定時器0作為動態(tài)顯示和鍵盤掃描定時之用。輸出控制子程序把控制邏輯模塊的運算結果輸出到單片機的P1口,執(zhí)行電熱器的控制和報警功能。
??? 鍵盤處理和LED顯示模塊包括鍵盤處理和LED數(shù)碼管顯示兩部分,其程序框圖如圖6所示。單片機通過82C55的PC口讀取按鍵狀態(tài),去除抖動后得到按鍵狀態(tài),根據按鍵狀態(tài)得到用戶輸入的鍵值,然后根據不同的鍵值進行散轉處理,包括設定參數(shù)類型、設置電熱器手動開關、參數(shù)設置和故障清除等處理。在參數(shù)設置部分還根據目前設置參數(shù)的種類對參數(shù)進行修改和保存(保存在DS12887的RAM中),按“確認”鍵后,當前的設定值代替原來的設定值;若不按“確認”鍵,原來的設定值不改變。當超過20s無鍵按下,則控制器自動退出設定狀態(tài)。顯示部分根據控制器的工作狀態(tài)和用戶的操作情況進行實時顯示,當同時有多個內容需要顯示時,故障指示狀態(tài)優(yōu)先。
?
??? 單片機通過模擬輸入和計時模塊得到溫度、電流和時間數(shù)據,以便進行顯示和保護。圖7為模擬輸入和計時模塊程序流程圖。單片機周期地讀取A/D轉換的值并進行數(shù)字濾波,然后根據每個物理量的相應的測量計算公式將其轉換成水面溫度(用于顯示和加熱控制)、干燒溫度(用于干燒保護)、電熱器電流(用于短路保護)、漏電電流(用于漏電保護)和水位(用于顯示、報警和低水位加熱保護)的具體數(shù)值。該模塊還通過與DS12887通信得到實時時間,用于顯示和三段時間段內的溫度自動控制。
?
??? 圖8為故障判斷和控制邏輯處理程序流程圖,包括故障判斷和控制邏輯處理兩部分。當故障判斷程序檢測到漏電、短路、干燒、低水位等故障,則關閉加熱器電源、在故障指示位顯示故障代碼、發(fā)出相應的聲音報警、保存故障狀態(tài);如果溫度低于低溫報警溫度設定值,并且在三段保溫設定時間段內,則顯示低溫報警,但不進行聲音報警,以免過多打擾用戶。當不在三段保溫時間內時,不進行溫度控制。當沒有漏電、短路、干燒、低水位故障發(fā)生時,控制器根據用戶設置的三段保溫時間、三段保溫時間內的設定溫度和當前溫度測量值進行溫度控制。由于對控制水溫的精度要求不高,采用簡單的開關控制。其控制算法如下:當水溫低于設定溫度2℃時啟動電熱器;當水溫高于設定溫度2℃時停止電熱器加熱;當水溫在設定溫度±2℃時保持加熱器原來狀態(tài)。需要注意的是,該模塊的控制輸出結果是寫入到單片機的RAM中的,在控制輸出模塊中再把這些結果輸出到單片機的P1口,實現(xiàn)真正的輸出,這與許多PLC的模塊化軟件設計是一樣的。
?
??? 本文介紹了一種太陽能熱水器中輔助電熱水裝置控制器的開發(fā),給出了硬件設計和軟件框圖。從控制器的功能和硬件設計來看,該控制器功能全面、技術成熟可靠、經濟實用,它的成功開發(fā)使用戶能全天候地使用太陽能熱水器。
參考文獻
1 余永權.ATMEL89系列Flash單片機原理及應用.北京:電子工業(yè)出版社,1997
2 李 華.MCS-51系列單片機實用接口技術.北京:北京航空航天大學出版社,1993
3 王福瑞.單片微機測控系統(tǒng)設計大全.北京:北京航空航天大學出版社,1999
4 屠立德.操作系統(tǒng)基礎.北京:清華大學出版社,1997