本文以AFS600為核心,實現了太陽能熱水器的控制器系統。與目前采用微處理器、PLC或FPGA芯片設計的系統相比,該系統具有結構簡單、外圍元件少、穩定性高等優點。
1?系統結構
太陽能熱水器的控制結構是根據熱水器的上水通道與熱水通道設計的,包括閥門控制、傳感器的配置等。
1.1?系統控制結構
太陽能熱水器的控制系統分為主控制器和水箱控制兩部分。主控制器完成水溫水位的顯示、控制操作,以及熱/冷水的溫度、壓力參數的采集、處理與控制;水箱控制部分完成水箱水位、水溫的檢測,以及電加熱控制器的控制。水箱控制部分通過數據線與主控制器的串口連接,實現主控制器對相關功能的控制與管理。完整的水循環結構及其閥門、傳感器的配置如圖1所示。
通常,系統中的3個電磁閥為關閉狀態;當接受上水指令后,上水電磁閥打開,自來水經過三通由上水電磁閥流向水箱,此時電動節流閥和熱水電磁閥仍處于關閉狀態;當接受淋浴指令后,熱水電磁閥打開,熱水流出,電動節流閥根據設定的淋浴溫度自動開啟合適的角度。
太陽能熱水器一般來說配有輔助控制裝置,例如水箱內增加一個電加熱器來輔助加熱,水位、水溫探測器安裝在水箱中以檢測水箱中的水位高度和水溫,并通過纜線接入控制器顯示。水流量的大小控制是通過步進電機精確控制節流閥實現的,同時保證用戶設定的淋浴溫度要求。當水位過低時,一方面報警,另一方面可根據實際需要自啟動上水操作。
1.2 控制器的配置
整個控制系統采用Fusion StartKit開發平臺,嵌入的8051內核為核心控制單元。由于8051內核以網表的形式提供,而且只有其控制部分(CPU)及簡單的外設(定時器、UART等),所以只需將8051內核移植到FPGA內部就能搭建一個完整的8051單片機。內核包括8051內核網表、內部RAM、單片機ROM和PLL四個子模塊。8051內核和Flash之間的通信由接口模塊控制,接口模塊由HDL語言在Libero集成開發環境下描述得到。系統硬件接口電路包括:水箱溫度和水位檢測接口電路、設定鍵和并行顯示接口電路、節流閥的控制接口電路、光電隔離與輔助加熱電路,以及繼電器輸出接口電路等。這些模塊的I/O口分配如圖2所示。水箱溫度、水位檢測、水溫控制、上水控制、輔助加熱等模塊的I/O口分配到Mini接口上。
8051內核的P0口為液晶的數據口,P2.0~P2.2為液晶的使能控制端,P2.3~P2.5分別為3個電磁閥的控制端。對淋浴水溫進行智能檢測和顯示,經單片機內部運算與設定溫度進行比較,通過控制節流閥的角度來調節水流量,從而來保證淋浴水溫與用戶設定水溫相一致。P1.0為數字溫度傳感器DS18B20的專用端,用于檢測水箱溫度并顯示在液晶上;P1.1也是溫度傳感器專用端,用于檢測淋浴水溫。如果水箱溫度不足(達到設置水溫下限),則控制繼電器啟動輔助加熱裝置;當水溫達到加熱溫度上限時,則關閉輔助加熱裝置。水位用5段LED燈顯示。若水位不足,則報警蜂鳴器響;若沒使用,則上水繼電器動作,電磁閥開通,自動上水至水位上限后關閉。
1.3? 液位傳感器的設計
由于目前常用的垂子式液位傳感器易受水垢的影響,本文利用浸入水中的兩個極板組成電容,電容值大小反映了水位的高低。其結構如圖3(a)所示。
圖3(a)中,H為鋁板總高度,h為液位高度。設板間距為l,鋁板的寬度為b。上下兩部分的介質分別為空氣和水,等效電容為C1和C2分別為:
式中:空氣的介電常數ε空氣為1,水的介電常數ε水為80。總電容C總為:
顯然,電容的大小與水位的高度成正比。實際制作的電容傳感器,測試電容值C為0.1~2.2μF。
本傳感器采用定時器NE555設計了一款方波發生器,甩于實現水位—電容值—頻率的轉換,輸出的頻率可反映水位的變化,取中心工作頻率為1 kHz。具體電路如圖3(b)所示。
輸出頻率f為:
這里,R1、R2均取為1.43 kΩ。
當水位發生變化引起電容的變化,經多諧振蕩器輸出的方波頻率f也隨之發生變化,根據單片機的計數器T0捕捉到的時鐘的個數,再經數據處理判斷水位。
1.4?節流閥的控制
為了控制淋浴水溫、調節流量,需要控制節流閥。本文采用節流閥和步進電機組成流量控制方案,通過控制步進電機的旋轉來控制節流閥的開啟角,從而控制流量。選用步進電機驅動器BY-2HB03M,控制二相四拍步進電機的步進及正反轉。其驅動器接線如圖4所示。
2 系統軟件設計
根據系統要求,除了需要實時檢測和顯示水箱溫度和水位外,還需要控制淋浴溫度、上水閥、節流閥、輔助加熱控制裝置等,所有這些功能由AFS600內部嵌入8051內核完成。控制器軟件設計采用模塊化結構,除主程序外,還包括鍵盤與顯示子程序、溫度與液位采集子程序、以及淋浴水溫控制子程序和上水控制子程序等。系統的主程序接收控制指令,調用子程序完成溫度、水位檢測等。下面重點介紹淋浴溫度控制和上水控制子程序流程。
2.1?上水控制
熱水器控制器具有智能化上水控制功能,可以起到保護熱水器的作用。例如,水位較低時,淋浴時或高溫日照下禁止自動上水;居家長時間無人時,需要考慮自動上水問題;水位傳感器失靈時,防止上水溢出等。對此,系統預置最低水位和最高水位,并根據時間系統預置自動上水時段。程序中設有計時器,檢測上水時的水位變化與上水時間關系,以此檢測水位傳感器失效問題,并可防止上水溢出問題。具體流程如圖5所示。
2.2? 淋浴溫度控制
淋浴溫度控制是熱水器控制器的關鍵,是舒適度的重要指標。本系統將傳統的手動控制改為自動控制,并引入了適合步進電機控制的增量式PID控制算法。其差分方程式如下:
式中:u(k)是控制量;e(k)是系統的控制偏差;Kp是比例增益;Ti是積分時間;Td是微分時間;T為采樣周期。PID運算的輸出增量為相鄰兩次采樣時刻所計算的位置值之差,即:
綜合式(5)、(6)有:
根據預置的溫度和采集的淋浴溫度進行參數正定,確定PID參數q0、q1、q2,其調節方法可參考相關文獻[9-10]。具體流程如圖6所示,實際的淋浴水溫可控制在設置溫度的上下2℃范圍內。
結? 語
采用Actel公司Fusion系列的AFS600芯片,通過嵌入8051內核來實現太陽能熱水器控制器功能。該太陽能熱水器具有集成度高、成本低和操作方便的優點,特別是淋浴溫度的自動調節,以及上水過程的智能化、人性化控制等功能,較好地彌補了目前相關產品的不足,有一定的推廣和經濟價值。本設計得到了Actel公司、廣州致遠電子有限公司及其武漢辦事處的資助和技術指導,在此特表感謝。
1?系統結構
太陽能熱水器的控制結構是根據熱水器的上水通道與熱水通道設計的,包括閥門控制、傳感器的配置等。
1.1?系統控制結構
太陽能熱水器的控制系統分為主控制器和水箱控制兩部分。主控制器完成水溫水位的顯示、控制操作,以及熱/冷水的溫度、壓力參數的采集、處理與控制;水箱控制部分完成水箱水位、水溫的檢測,以及電加熱控制器的控制。水箱控制部分通過數據線與主控制器的串口連接,實現主控制器對相關功能的控制與管理。完整的水循環結構及其閥門、傳感器的配置如圖1所示。
通常,系統中的3個電磁閥為關閉狀態;當接受上水指令后,上水電磁閥打開,自來水經過三通由上水電磁閥流向水箱,此時電動節流閥和熱水電磁閥仍處于關閉狀態;當接受淋浴指令后,熱水電磁閥打開,熱水流出,電動節流閥根據設定的淋浴溫度自動開啟合適的角度。
太陽能熱水器一般來說配有輔助控制裝置,例如水箱內增加一個電加熱器來輔助加熱,水位、水溫探測器安裝在水箱中以檢測水箱中的水位高度和水溫,并通過纜線接入控制器顯示。水流量的大小控制是通過步進電機精確控制節流閥實現的,同時保證用戶設定的淋浴溫度要求。當水位過低時,一方面報警,另一方面可根據實際需要自啟動上水操作。
1.2 控制器的配置
整個控制系統采用Fusion StartKit開發平臺,嵌入的8051內核為核心控制單元。由于8051內核以網表的形式提供,而且只有其控制部分(CPU)及簡單的外設(定時器、UART等),所以只需將8051內核移植到FPGA內部就能搭建一個完整的8051單片機。內核包括8051內核網表、內部RAM、單片機ROM和PLL四個子模塊。8051內核和Flash之間的通信由接口模塊控制,接口模塊由HDL語言在Libero集成開發環境下描述得到。系統硬件接口電路包括:水箱溫度和水位檢測接口電路、設定鍵和并行顯示接口電路、節流閥的控制接口電路、光電隔離與輔助加熱電路,以及繼電器輸出接口電路等。這些模塊的I/O口分配如圖2所示。水箱溫度、水位檢測、水溫控制、上水控制、輔助加熱等模塊的I/O口分配到Mini接口上。
8051內核的P0口為液晶的數據口,P2.0~P2.2為液晶的使能控制端,P2.3~P2.5分別為3個電磁閥的控制端。對淋浴水溫進行智能檢測和顯示,經單片機內部運算與設定溫度進行比較,通過控制節流閥的角度來調節水流量,從而來保證淋浴水溫與用戶設定水溫相一致。P1.0為數字溫度傳感器DS18B20的專用端,用于檢測水箱溫度并顯示在液晶上;P1.1也是溫度傳感器專用端,用于檢測淋浴水溫。如果水箱溫度不足(達到設置水溫下限),則控制繼電器啟動輔助加熱裝置;當水溫達到加熱溫度上限時,則關閉輔助加熱裝置。水位用5段LED燈顯示。若水位不足,則報警蜂鳴器響;若沒使用,則上水繼電器動作,電磁閥開通,自動上水至水位上限后關閉。
1.3? 液位傳感器的設計
由于目前常用的垂子式液位傳感器易受水垢的影響,本文利用浸入水中的兩個極板組成電容,電容值大小反映了水位的高低。其結構如圖3(a)所示。
圖3(a)中,H為鋁板總高度,h為液位高度。設板間距為l,鋁板的寬度為b。上下兩部分的介質分別為空氣和水,等效電容為C1和C2分別為:
式中:空氣的介電常數ε空氣為1,水的介電常數ε水為80。總電容C總為:
顯然,電容的大小與水位的高度成正比。實際制作的電容傳感器,測試電容值C為0.1~2.2μF。
本傳感器采用定時器NE555設計了一款方波發生器,甩于實現水位—電容值—頻率的轉換,輸出的頻率可反映水位的變化,取中心工作頻率為1 kHz。具體電路如圖3(b)所示。
輸出頻率f為:
這里,R1、R2均取為1.43 kΩ。
當水位發生變化引起電容的變化,經多諧振蕩器輸出的方波頻率f也隨之發生變化,根據單片機的計數器T0捕捉到的時鐘的個數,再經數據處理判斷水位。
1.4?節流閥的控制
為了控制淋浴水溫、調節流量,需要控制節流閥。本文采用節流閥和步進電機組成流量控制方案,通過控制步進電機的旋轉來控制節流閥的開啟角,從而控制流量。選用步進電機驅動器BY-2HB03M,控制二相四拍步進電機的步進及正反轉。其驅動器接線如圖4所示。
2 系統軟件設計
根據系統要求,除了需要實時檢測和顯示水箱溫度和水位外,還需要控制淋浴溫度、上水閥、節流閥、輔助加熱控制裝置等,所有這些功能由AFS600內部嵌入8051內核完成。控制器軟件設計采用模塊化結構,除主程序外,還包括鍵盤與顯示子程序、溫度與液位采集子程序、以及淋浴水溫控制子程序和上水控制子程序等。系統的主程序接收控制指令,調用子程序完成溫度、水位檢測等。下面重點介紹淋浴溫度控制和上水控制子程序流程。
2.1?上水控制
熱水器控制器具有智能化上水控制功能,可以起到保護熱水器的作用。例如,水位較低時,淋浴時或高溫日照下禁止自動上水;居家長時間無人時,需要考慮自動上水問題;水位傳感器失靈時,防止上水溢出等。對此,系統預置最低水位和最高水位,并根據時間系統預置自動上水時段。程序中設有計時器,檢測上水時的水位變化與上水時間關系,以此檢測水位傳感器失效問題,并可防止上水溢出問題。具體流程如圖5所示。
2.2? 淋浴溫度控制
淋浴溫度控制是熱水器控制器的關鍵,是舒適度的重要指標。本系統將傳統的手動控制改為自動控制,并引入了適合步進電機控制的增量式PID控制算法。其差分方程式如下:
式中:u(k)是控制量;e(k)是系統的控制偏差;Kp是比例增益;Ti是積分時間;Td是微分時間;T為采樣周期。PID運算的輸出增量為相鄰兩次采樣時刻所計算的位置值之差,即:
綜合式(5)、(6)有:
根據預置的溫度和采集的淋浴溫度進行參數正定,確定PID參數q0、q1、q2,其調節方法可參考相關文獻[9-10]。具體流程如圖6所示,實際的淋浴水溫可控制在設置溫度的上下2℃范圍內。
結? 語
采用Actel公司Fusion系列的AFS600芯片,通過嵌入8051內核來實現太陽能熱水器控制器功能。該太陽能熱水器具有集成度高、成本低和操作方便的優點,特別是淋浴溫度的自動調節,以及上水過程的智能化、人性化控制等功能,較好地彌補了目前相關產品的不足,有一定的推廣和經濟價值。本設計得到了Actel公司、廣州致遠電子有限公司及其武漢辦事處的資助和技術指導,在此特表感謝。
?
評論
查看更多