包 健
(廈門華聯電子股份有限公司,福建 廈門 361000)
目前傳統飲水機大部分只有常溫水、熱水2種水溫,隨著生活的提高改善、生活節奏的加快以及人們對健康的追求,大家對各種水溫的需求越來越多,例如泡奶、泡咖啡、泡茶等所需要的水溫都不一樣,這就需要有一種可即時產生各種水溫的飲水機來滿足大家的生活需求。該文針對傳統飲水機的一些主要痛點,研究解決單一出水溫度及“千滾水”問題,使用大功率不銹鋼厚膜加熱管將要取出的水瞬間加熱至沸騰,并且利用過零檢測技術,使用軟件程序控制可控硅導通時間及直流水泵的出水流速,對出水溫度進行精確控制,以及可調的出水溫度[1]。
該系統主要由顯示板和驅動板構成,即熱式加熱相關算法主要由驅動板實現。顯示板和驅動板通過UART通信,用戶通過顯示板上的按鍵選擇出水溫度、出水流量以及控制開始和停止出水,顯示板會將用戶設定的參數和開停指令發送給驅動板。驅動板接收到開始出水指令后,利用過零檢測電路,使用軟件控制可控硅開關時間及直流水泵的出水流速,精確控制出水溫度,并將進水溫度、出水溫度以及實時出水流量等信息回傳給顯示板。
即熱式控溫的控制方案主要是通過過零調功電路控制加熱管功率,通過PWM信號控制直流水泵的出水流速,兩者協同工作從而調節出各種溫度的水。
根據公式(1):

由于大功率加熱管的電阻R可認為是固定的,故其加熱功率主要由加在其兩端的電壓U的大小所決定,在規定時間內電功率的變化將導致加熱功率的改變,因此只要能夠控制交流電的有效電壓Um的大小就可以控制大功率加熱管的加熱功率,從而達到控制出水溫度的第一步。
雙向可控硅過零控制波形見圖1。該方案由MCU控制一定周期內可控硅導通的正弦波市電的半波個數來控制加熱管兩端的有效電壓。因此選用具有過零截至(如圖1中A點)且過零導通(如圖1中B點)特性的過零調功電路來控制。該方法控制可控硅在電壓過零時觸發導通,導通時的波形是正弦波市電完整的正半周波或負半周波,所以不存在斬波調壓方式的缺點,其負載浪涌電流和電流變化率都很小,有利于可控硅的安全工作。

圖1 可控硅過零控制信號波形圖
第二步通過軟件控制MCU輸出PWM信號的占空比來調節直流水泵的出水流速,并控制出水溫度,在相同加熱功率的情況下,占空比越大,出水量就越大,出水溫度就越低;占空比越小,出水量就越小,出水溫度就越高。
過零檢測電路是將電網的交流電壓通過零點的瞬間轉換成MCU可以檢測到的電平翻轉。該方案采用光電耦合器實現過零檢測,其工作原理是:交流電經分壓電阻加到光電二極管上,在交流電的正半周,光耦的源 級導通/截至,光耦次級也隨之導通/截至,在導通期間光耦次級輸出低電平,截至期間光耦次級輸出高電平,在交流電過零的瞬間,光耦次級電平發生翻轉,因此光耦次級得到50Hz的方波信號,由MCU的外部中斷引腳檢測該信號,以檢測到交流電的過零瞬間。
可控硅控制電路中采用了過零雙向可控硅型光耦,集光電隔離、過零檢測、過零觸發等功能于一身,避免了輸入輸出通道同時控制雙向可控硅觸發的缺陷,簡化了輸出通道隔離-驅動電路的結構。該方案的可控硅觸發電路的工作原理是MCU在I/O口輸出一個高電平,經三極管反向后,送出一個低電平,使光電耦合器導通,同時觸發雙向可控硅,使加熱管電路導通工作[2]。
給定時間內,負載得到的功率如公式(2)所示。

式中:P為給定時間負載得到的功率;n為給定時間內可控硅導通的正弦半波個數;N為給定時間內交流正弦半波的總個數;Um為可控硅在一個電源半周期全導通時所對應的電壓有效值;R為加熱管電阻值。由式(2)可知,當Um,R,N為定值時,只要改變n值的大小即可控制功率的輸出,從而達到調節加熱功率的目的。
直流水泵調速電路利用MOS管的通斷,使直流水泵的電流隨著MOS管的通斷而變化,MOS管導通時,直流水泵回路導通,水泵壓降為24V,MOS管斷開時,直流水泵回路斷開,水泵壓降為0V。這樣就把水泵的直流壓降變成了脈沖信號,通過改變MOS管的通斷狀態就可以改變水泵壓降的頻率或者脈沖寬度,即改變了直流壓降的平均值,從而達到直流水泵的調速目的。
利用MCU編程實現PWM信號,在該設計中用MCU的1個I/O口作為PWM信號的控制端。PWM采用定頻調寬的方式調整水泵流速,即PWM脈沖信號的頻率(周期)是固定的,通過調節MOS管G-S間脈沖的寬度(即壓降為24V狀態的時間)來改變PWM脈沖信號的占空比,從而改變直流水泵兩端壓降的平均值,這樣就實現了直流水泵的調速,進而達到了控制出水流速的目的[3]。
如上節所述,出水溫度既可以通過控制加熱功率來調節,也可以通過控制直流水泵的占空比來調節。但是加熱功率的調節精度低,而且根據式(2)不難看出,加熱功率除了受到n的控制外,還與電網電壓有關,該產品的工作電壓為191Vac~253Vac,因此難以通過控制加熱功率來保證高精度的出水溫度。雖然直流水泵的量化精度很高,但是受到結構的限制,水流速不能太高,水流速過低又會導致客戶體驗變差,用戶需要等待較長時間才能接到需要的水流量。另外,在量產時,不同水泵的特性也存在差異,增加了系統復雜度。
考慮到工作電壓范圍寬、水流速范圍窄等問題,該方案采用協同控制加熱功率和水流速的方式調節出水溫度。當設定出水溫度后,根據事先確定的加熱功率和Δt(設定溫度-進水溫度,下同)的關系(詳見章節3.2),取當前Δt對應的n,然后使用PID算法在事先確定的范圍內控制水流速進而實現調節出水溫度功能。即對確定的Δt,采用定功率,變流速的方式調節水溫。
根據熱傳導吸熱公式:

式中:c為水的比熱,為常數4200J(kg·℃);m為質量,單位kg;Tend為水吸收熱量后的溫度,單位℃;Tstart為水吸收熱量前的溫度,單位℃;Q為質量m的水溫度從Tend升高到Tstart需要吸收的熱量,單位J。
在該產品中,Tend=Tout,Tstart=Tin,m=vt·ρ,Q=P·t,其中Tout為出水溫度;Tin為進水溫度;v水流速,單位m3/s;t為時間,單位s;ρ為水的密度,可看作常數1.0×103kg/m3;P為加熱管輸出功率,單位W。將這些表達式帶入式(3)得:

其中,c和ρ為常數;進水溫度Tin在整個加熱過程可認為是不變量;當用戶設定出水溫度后,將式(4)中Tout用出水溫度設定值Tset替代,且如前所述將P設置為固定值。對式(4)化簡和移項得到公式(5)。

當用戶設定出水溫度后,便可通過式(2)和式(5)計算出各工作電壓下水流速的理論值。
為達到精確控制,且在很短時間內將水溫加熱到設定值,所以需要先對各個控制量的理論值進行分析。
出水流速直接影響用戶體驗感,出水流速太低,用戶需要等待較長時間才能接到需要的水流量。通常要求出水流速需要保持在600mL/min左右。但由于加熱功率有限,當Δt(設定溫度-進水溫度,下同)較大時,即使使用最大輸出功率加熱,如果不降低水流速,實際出水溫度依然達不到設定值。所以采用出水流速與Δt的關系曲線。當Δt較小時保持出水流速在600mL/min,此時為了達到相應的Δt,加熱管輸出功率需隨Δt增大而增加;當Δt較大時,由于加熱功率已達最大值,需要降低出水流速來達到相應的Δt,所以出水流速隨Δt的增大而減少。加熱管輸出功率除了與每周期導通的半波數有關外,還與電網電壓有關,該方案支持的工作電壓范圍是191Vac~253Vac。
當收到開始出水信號,首先通過出水溫度設定值Tset和進水溫度Tin計算出Δt,根據Δt和Tset的值選擇加熱方式。
當設定溫度小于40℃,或小于當前進水溫度時,則直接按600ml/min出水并實時反饋出水量給顯示板,當顯示板判斷出本次出水量已達設定值,便會發送停止出水指令給驅動板。這一項主要是因為本產品支持的出水溫度范圍是40℃~95℃,當設定溫度低于40℃時則直接出常溫水。
當設定溫度大于等于40℃,且Δt<40℃時,先根據Δt選擇合適輸出功率半波數,并在不出水的情況下開啟加熱管,直到Tout接近Tset后再開啟水泵,再使用PID溫度控制器通過調節水泵占比,來控制出水溫度。這一點主要是考慮到用戶需要用40℃~45℃的水沖奶粉等應用,用量不大,且出水溫度低,如果前幾秒先出冷水,則會使本次出水的整體溫度可能達不到40℃,導致奶粉沖不開等。
當設定溫度大于等于40℃,且Δt≥40℃時,先根據一定條件判斷本次出水水溫是否和上次一樣,且本次出水是否和上次出水的時間間隔很近,如果滿足上述幾個條件,則按上次停止出水時的流速出水3s;否則,按最大出水流速出水3s。再使用PID溫度控制器通過調節水泵占比,來控制出水溫度。當設定溫度較高時,如用戶需要95℃的水,這個溫度非常接近水的沸點,如果用常規的PID調溫算法,很容易使水溫過高而氣化,進而導致噴水燙傷用戶。因此前3s一邊以最大流速出水一邊加熱,3s后溫度接近設定溫度后再利用PID調節器調節流速來控制出水溫度。
該控制器方案可以根據水泵的PWM占空比采用數學建模的方式估算出當前的水流速,再通過積分運算,計算出水流量,實時反饋給顯示板,當出水流量達到設定值后,停止出水。
根據實際測量,在水溫26℃的條件下,控制PWM占空比從15%~95%,按5%遞增,分別測試出每個占空比對應的出水流速。用一次函數擬合折線,得出出水流速和控制信號占空比的關系如式(5)所示(v為出水流速;duty為控制信號占空比)。

出水流速除了和控制信號占空比直接相關外,還與溫度、吸程、揚程等因素有關,根據實測得出,吸程和揚程對出水流速影響較小,溫度大于15℃時,對流速影響也可忽略不計,而當水溫低于15℃時,出水流速與溫度成一次函數的關系(控制信號占空比固定的情況下)。因此,出水流速(v)與控制信號占比(duty)、溫度(temp)的關系如式(7)所示。

為了測試該溫度控制方案的性能指標,該驅動板利用預留的UART1將進水溫度、出水溫度、控制水泵的PWM導通計數值等發送到電腦上,由上位機數字示波器顯示出波形。通過數字示波器能夠直觀地看出出水溫度的變化曲線,方便調整PID參數等。
使用常規PID算法測試,即在加熱的同時便開啟PID調節器調節溫度,水泵PWM導通時間計數值(控制量)從最小值開始逐漸增加,只要選擇合適的PID參數,經過幾秒的振蕩,出水溫度很快便穩定在設定溫度(80℃),但是這里存在幾個問題:1)當設定溫度為95℃時,前幾秒的振蕩會使出水溫度達到沸點(一般水溫超過97℃便會開始沸騰),導致飲水機噴開水,燙傷用戶;2)剛開始的振蕩持續時間在10s以上,而該產品要求在9s內出水溫度穩定在設定溫度±2℃,調節速度較慢;3)上述2個問題都可以通過調節PID參數來優化波形,使振蕩的幅度降低,以及減少振蕩時間。但是PID參數也是針對出水溫度和設定溫度的運算結果(差值、差值的微分)來計算的,因此相同的PID參數,對不同的出水溫度的初始值對PID調節器的調節效果也有很大影響。
為解決常規PID調節器出現的上述問題,在剛開始加熱時的前3s先以最大流速出水,之后再開啟PID調節器來調節溫度,經過多次實驗證明,這種方式使PID調節器根據不同初始出水溫度來達到相同的控制效果,既沒有出現前幾秒的振蕩,又能夠很快地將出水溫度加熱到設定溫度。
根據測量,本次開始出水距上次停止出水的時間很接近時,加熱管內的水溫仍保持在設定溫度附近時的溫度控制波形,當剛開啟加熱的前3s,先以前一次加熱結束時的出水流速出水,之后再用PID調節器調節水溫,這樣可以在5s內將溫度穩定在設定溫度±2℃。
該文給出了即熱式分段控溫的控制方案,該方案通過過零檢測電路監測交流電的過零點,通過控制每500ms導通一次的電網電壓半波數來調整加熱管的功率,并通過控制MCU輸出PWM信號的占空比控制直流水泵的出水量,只要選擇合適的加熱管功率以及控制水泵使用的PID參數,就能得到穩定的不同的出水溫度。該文還針對開發過程中遇到的幾個實際問題提出了解決方法,最后通過實驗波形闡述了該方案的可行性,實驗證明,該方案能夠十分精確地控制出水溫度,且能夠在短時間內將水溫加熱到設定值。該方案可解決傳統凈水機、飲水機所帶來的單一出水溫度、“千滾水”、高能耗等問題,事實證明該即熱式溫度控制方案是合理、節能、可靠、健康、環保、高效的,有很強的實用價值。