太陽能工程熱水器控制器的設計與實現
R2,R3,R4和Pt100組成傳感器測量電橋,為了保證電橋輸出電壓信號的穩定性,電橋的輸入電壓通過TL431穩至2.5 V。從電橋獲取的差分信號通過兩級運放放大后輸入單片機。電橋的一個橋臂采用可調電阻R3,通過調節R3可以調整輸入到運放的差分電壓信號大小,通常用于調整零點。放大電路采用LM358集成運算放大器,為了防止單級放大倍數過高帶來的非線性誤差,放大電路采用兩級放大,如圖3所示,前一級放大倍數約為10倍,后一級約為3倍。溫度在0~100℃變化,當溫度上升時,Pt100阻值變大,輸入放大電路的差分信號變大,放大電路的輸出電壓AV對應升高。
一般在使用Pt100的溫度采集方案中,都會對放大器LM358采集來的模擬信號AV進行溫度采樣,即進行A/D轉換。
在對數值進行濾波操作之后,還要將A/D值轉換為溫度,只需要確定比例系數K和基準偏差B即可。
溫度轉換的C語言實現過程為:
temperature=(adc_data*K)-B; //換算成溫度值
1.2.3 實時時鐘
采用DALLAS公司推出的涓流式充電時鐘芯片,它內部集成了實時時鐘/日歷和31 B靜態RAM,可以通過串行接口與單片機進行通信。實時時鐘、日歷電路電路提供秒、分、時、星期、月、年的信息,每個月的天數和閏年天數可自動調整,時鐘操作可通過AM/PM標志位決定采用24小時或12小時時間格式。DS1302與單片機之間能簡單地采用同步串行的方式通信,僅需3根線:復位(RST)、I/O數據線、串行時鐘(SC-LK)。DS1302工作功耗很低,保持數據和時鐘信息時,功耗小于1mW。利用它很容易實現自動上水、自動加熱的控制和時間顯示。假設這里單片機設置報警為凌晨3點整,啟動電加熱,當CPU讀出DS1302時間為3點即可使對應的I/O管腳輸出高電平,打開繼電器啟動加熱器,定時上水功能同理。同時在不顯示溫度和水位時,它還可作為精確的電子鐘進行時間顯示。
1.2.4 數據顯示
該系統采用靜態顯示的方式,用3個數碼管交替顯示水溫、時間、報警的信息,在按鍵時,也將用數碼管顯示。水位級別顯示則用LED顯示。顯示電路由3個移位寄存器74HC164和3個數碼組成。每個數碼管接有8個1 kΩ電阻,保護數碼管,防止電流過大燒壞數碼管。具體的電路如圖3所示。
1.2.5 其他部分
本系統除復位鍵、手動上水和手動加熱允許鍵外,其余的按鍵為選擇設定項目(溫度顯示或定時顯示),每按一下choose鍵,設定功能變換1次。按1次“+”鍵,設定值對應加1。按1次“-”鍵,設定值對應減1。為了防止設定的參數在掉電后丟失,利用了E2PROM存儲各設定參數。
2 結語
本文設計的太陽能工程熱水器控制器,硬件設計簡單,功能強大。經試驗證明系統穩定,操作方便,值得推廣。本文給出的電路是一種最基本最簡單的電路,其目的是給出一種單片機的控制模式,亦可以根據用戶需求,添加更多附加功能。
評論