潘銀松,覃海洋
(重慶大學,重慶400044)
市場上的風扇,檔位固定,無法根據(jù)周圍環(huán)境溫度的變化自動調(diào)節(jié)風速,不僅浪費能源,而且不利于身體健康。同時,傳統(tǒng)電扇往往采用交流電機,不便于調(diào)速,且功耗較高。本設(shè)計可通過溫度傳感器DS18B20 實時監(jiān)測周圍溫度的變化,自動調(diào)整風速,給人更加舒適、健康的體驗,尤其適用于夜間睡眠,即能保證一個涼爽的睡眠,又可以避免因為溫度驟降風速卻沒有得到相應(yīng)調(diào)節(jié)而導致感冒的問題。風扇采用直流電機,其功耗相對更低,更加經(jīng)濟環(huán)保。
圖1 系統(tǒng)整體框圖
圖1 是系統(tǒng)的整體框圖。溫度傳感器用于檢測環(huán)境溫度;功能按鍵用于讀取用戶所選擇的工作模式;蜂鳴器用于提示按鍵成功;數(shù)碼管負責顯示當前溫度和用戶所選擇的工作模式;電機驅(qū)動用于驅(qū)動24 V 直流電機;直流電源電路用于給FPGA 和電機驅(qū)動提供電源。
圖2 為直流電源設(shè)計電路。其原理是將220 V交流電通過兩路整流橋進行整流,并利用LM2576T-ADJ 芯片分別輸出3.3 V 和24 V 直流電壓,分別為FPGA 和直流電機提供驅(qū)動電源。其中,電阻值的選取是根據(jù)所需要的電壓值而定,電容C1,C2 分別為100 μF 和330 μF 電容用以濾除直流電源中的紋波成分,電感用于儲能并與二極管一起構(gòu)成續(xù)流回路,目的是將芯片輸出的脈沖電流轉(zhuǎn)換成連續(xù)的電流,從而給負載提供穩(wěn)定的電壓輸出。
圖2 直流電源電路
本設(shè)計的轉(zhuǎn)速調(diào)節(jié)算法基于DS18B20 溫度傳感器,其具有體積小、硬件開銷低、抗干擾能力強、精度高、轉(zhuǎn)換速度快等特點。它獨特的單線接口設(shè)計僅需一個端口引腳進行通訊;可通過數(shù)據(jù)線直接供電,供電電壓范圍為3.0 ~5.5 V;測溫范圍為-55℃~+125 ℃,在-10 ℃~+85 ℃范圍內(nèi)精確度最高可為±0.062 5 ℃,可利用精度±0.1 ℃;最多在750 ms 內(nèi)將溫度信號A/D 轉(zhuǎn)換為16 位數(shù)字信號。
為了提高控制精確度,減小誤差,在溫度調(diào)節(jié)轉(zhuǎn)速前,對采集到的溫度信號進行數(shù)字濾波。本設(shè)計中采用了防脈沖干擾平均值濾波算法,選取的溫度點數(shù)為5,這樣既可以保證濾波的精準度,又可以保證較快的數(shù)據(jù)處理速度。防脈沖干擾平均值濾波法的算法具體原理如下:對5 個溫度數(shù)據(jù)進行排序,去掉其中最大值和最小值,將剩下3 個溫度數(shù)據(jù)進行滑動平均,其運算結(jié)果作為當前時刻真實溫度。若5 個溫度數(shù)據(jù)分別為T1,T2,T3,T4,T5,其中T1,T2為前兩個時刻的真實溫度值,T3,T4,T5為當前時刻采集的三個溫度值,其中最大的溫度值若為TMAX,最小的溫度值為TMIN,那么當前濾波后的溫度T 應(yīng)為:
下一次濾波計算時,用此時濾波后的溫度T 去代替公式中的溫度數(shù)據(jù)T2,用前一時刻的溫度數(shù)據(jù)T2去代替公式中的溫度數(shù)據(jù)T1,以此類推。T1,T2的初始溫度值都為0。由此可見,這種算法可以很好地消除由于脈沖干擾所引起的采樣值偏差。
設(shè)計中將溫度的控制范圍設(shè)定在22. 0 ℃~32.0 ℃,小于22.0 ℃時風扇進入休眠狀態(tài),大于32.0 ℃時風扇滿速運行,可調(diào)轉(zhuǎn)速溫度差為10.0個單位,為了進一步細化溫度變化與風扇轉(zhuǎn)速的關(guān)系,在算法中對溫度差乘以10,即溫度差變?yōu)?00個單位,這樣可以將轉(zhuǎn)速與溫度變化進行一個線性擬合,若當前每分鐘轉(zhuǎn)速為v,PWM 計數(shù)器位數(shù)為8,風扇滿轉(zhuǎn)速為V,當前溫度為T,那么其對應(yīng)關(guān)系:
如果采用精度達到±0.01℃的溫度傳感器,那么在此線性算法下可達到1 000 級調(diào)速的要求。
本系統(tǒng)工作流程如圖3 所示。打開電源系統(tǒng)開始工作后,首先檢測當前環(huán)境溫度并顯示,并進入待機狀態(tài)。若按鍵被按下,顯示所選擇的檔位,檔位一顯示數(shù)字1,檔位二顯示數(shù)字2,檔位三顯示檔位3,自動模式顯示為英文字母A。手動模式根據(jù)所選擇的檔位,控制風扇的轉(zhuǎn)速;自動模式根據(jù)當前環(huán)境溫度,通過內(nèi)部處理算法,實現(xiàn)轉(zhuǎn)速的實時控制。若檢測到的環(huán)境溫度低于22.0℃,風扇自動進入休眠狀態(tài);當大于22℃時,風扇被喚醒;若溫度大于32.0℃,風扇全速運行。最后,返回到循環(huán)的起點,不停掃描系統(tǒng)當前狀態(tài),做出相應(yīng)的響應(yīng),按下停止鍵,風扇進入待機狀態(tài)。轉(zhuǎn)速控制采用PWM 脈沖調(diào)寬的方法,將對應(yīng)的脈沖信號送給L298N 驅(qū)動芯片,以驅(qū)動直流電機工作。
圖3 系統(tǒng)工作流程圖
在modesim 中對系統(tǒng)進行時序仿真,設(shè)定仿真溫度分別16.5℃,18.5℃,21.5℃,并設(shè)定為自動模式。
如圖4 所示,sys_clk 和sys_rstn 分別為系統(tǒng)時鐘和系統(tǒng)復位信號;indwd 表示所選擇的檔位,其值為a 即表示自動模式按鍵被按下;temperature 表示當前溫度變化;out_bit 與out_seg 分別表示數(shù)碼管的位選和段選,當溫度16.5℃時,其位選值為fe,fd,fb,bf,同時段選為f9,88,92,02,因為數(shù)碼管采用的是共陽動態(tài)掃描顯示,即顯示結(jié)果為a 16.5;out_contr 控制電機轉(zhuǎn)向,其值為1,即電機一直順時針轉(zhuǎn)動;led 控制LED 燈,且其為共陽電路,按下一檔亮一顆,二檔亮兩顆,三檔亮三顆,自動擋亮四顆,此時led 值為0,即表示自動擋被選中;Enable 即為輸出的PWM 信號,可見其隨著溫度的不同,其輸出波形的占空比明顯不同,并用它控制電機的轉(zhuǎn)速。此仿真的時鐘頻率為50 MHz,系統(tǒng)穩(wěn)定性很好,滿足設(shè)計要求。
圖4 modesim 仿真時序圖
在傳統(tǒng)風扇設(shè)計的基礎(chǔ)上,本設(shè)計通過采用FPGA 對溫度信號進行處理,實現(xiàn)了環(huán)境溫度對轉(zhuǎn)速的精準控制,轉(zhuǎn)速調(diào)節(jié)平滑,讓人感到更加舒適。采用直流電機,降低了功耗,更加經(jīng)濟環(huán)保。 本設(shè)計不僅僅局限于在風扇上的應(yīng)用,通過相應(yīng)的修改,其可以移植到其它需要溫度控制的應(yīng)用中,且其可擴展性能強,未來可以在此基礎(chǔ)上添加其它功能模塊。
[1] 王金明.數(shù)字系統(tǒng)設(shè)計與Verilog HDL[M].4 版.北京:電子工業(yè)出版社,2011:121-214.
[2] 張文兵. 智能溫控無級調(diào)速電風扇[J]. 微特電機,2007,35(12):023.
[3] 杜鵬英,任國海,江浩. 無刷直流電動機PWM 調(diào)速實驗系統(tǒng)[J].微特電機,2007,35(6):48-50.
[4] 明德剛.DS18B20 在單片機溫控系統(tǒng)的應(yīng)用[J]. 貴州大學學報,2006,23(1):106-110.
[5] 黃繼昌.電源專用集成電路及其應(yīng)用[M]. 北京:人民郵電出版社,2006:55-79.
[6] 童詩白,華成英等.模擬電子技術(shù)基礎(chǔ)[M].4 版.北京:高等教育出版社,2006:513-562.