鄧集威,賀沅瑋
(1.武岡市技工學校,湖南邵陽,422400;2.湖南交通工程學院 機電工程學院,湖南衡陽,421001)
“在各行各業領域當中,特別是工業和民用上,電風扇是一種很重要且應廣泛地散熱裝置[1~3]”。主要用于工作環境相對密閉空間,為了加強空氣流動,從而達到改善空氣質量的目的,如商場、超市、車站等[4~5]。
隨著人工智能市場需求與日俱增,傳動電風扇結合單片機設計主動調節風速的控制系統;自動控制風扇控制系統需要三部分:單片機最小系統的軟硬件設計、單片機與電扇接口的電路設計、電風扇與液晶屏的外圍電路設計。在本設計中采用了高性價比的STC89C52 單片機,對傳統的風扇加入了更多的人性化功能,使得傳統的電風扇更具有智能化,實現“溫度高,轉速快,風力大”的功能[9~11]。使用者可一個擋位鍵設置所需要的定時時間,每當溫度上升2℃的時候,風力風速主動上升擋位,同樣的,每當溫度減少2℃,風力風速主動降低一個檔位,系統默認6 個階級的風力風速檔位,還可以讓使用者自己設置多個階級檔位,也可以設置最低溫度,當周圍氣溫下降到臨界溫度時,風扇自動關閉,非常人性,能滿足,種用戶的使用要求[12~13]。
自動控制系統主要由STC89S52單片機為控制核心;溫度傳感器DS18B20,高度集成化,大大降低A/D轉換引起的誤差,同時達到簡化程序設計的效果;液晶顯示屏LCD 采用型號為12864,可以實現人性化的顯示,應用廣泛;最終風扇啟停、風力變化都是依靠電機驅動實現,控制電機方式就尤為重要,本設計采用H 型橋式PWM 電路,是由三極管組成的,此種電路飽和模式工作具較高的效率,并且可以簡便的控制電機的啟動、停止、正反轉,電子開關的穩定性較好,靈敏度高,PWM 是調速技術的一種普遍方法,PWM 速度控制具有良好的特性,靈活的控制,寬范圍速度控制和高過載能力的特性[4~6]。

圖1 系統結構框圖
本文采用的單片機型號是STC89S52,控制電路如圖2 所示。

圖2 控制電路

圖3 溫度傳感器DS18B20 硬件設計原理圖

圖4 按鍵的原理設計圖

圖5 LCD12864 液晶硬件原理圖設計

圖6 電機調速模塊流程圖

圖7 主程序流程圖

圖8 最低溫度鍵盤模塊程序流程圖

圖9 風速檔位選擇鍵盤模塊程序流程圖
溫度傳感器采用溫度傳感器DS18B20,是因為DS18B20 溫度傳感器特有精度更高、體積更小、適用于更寬電壓等特點,在實踐運用中獲得了優秀的測溫成效。DS18B20 溫度傳感器能夠收集溫度和改變數字輸出的溫度,然后經過2.8 端口數據將它傳遞給單片機。單片機把溫度接收并實行存儲,DS18B20 有2種封裝格式,分別是SOSI 和PR-35。本次采用的是作用主要實現檢查在環境的溫度一下降/上升2℃以后風扇轉速檔位自動下降/上升1 個檔位的作用。
鍵盤與顯示是單片機接口中的重要部分,本系統中用了6 個按鍵(K1~K6)中的三個按鍵,其中一個鍵是用戶可用于設定電風扇檔位選擇設置,可供選擇自動和手動兩個檔位;其次二個鍵是用戶鍵盤手動設定風速的9 個檔位。
因為本地按鍵數量較少,因此需要使用STC89C52 單片機的I/O 口相連和獨立鍵盤接法,分別與P0.0、P0.1、P0.2、P0.3、P0.4、P0.5 相連,它的另外一端和低電平相接。
本次設計顯示模塊采用12864 液晶顯示屏和發光二極管顯示組成,這個系統當中用到了兩個發光二極管和一個12864 液晶顯示屏。12864 液晶顯示屏與51 單片機的P1 I/O 相連,目的是顯示環境溫度、風扇的轉速和檔位。兩個發光二極管分別作為電源指示燈和風扇、單片機工作開啟模式指示燈。
PWM 方式(脈沖寬度調制)用于調節時控制電動機提供功率不總是流動到發動機的發動機轉速,這是一個方波信號,其占空比也不同。因此,脈沖輸入信號均勻地分布到了作用時間,由于波輸入到初始能量終端PD5 和PE2 正方形的占空比的變化,改變通過電機施加的電壓的大小,最終請適當地改變到所述電動機的速度。PWM 高性能單芯片微機51主要使用一個計時器T1 控制占空比,T0 的計時器來控制頻率,所以在編程的思維上是:這個T1 是IO 口輸出的低電平,故而改變初始值。T0 定時器中止是讓I0 端口輸出高電平,定時器T0 中止運行定時器T1,使用計時器T0 可以改變頻率,而改變固定頻率和改變占空比可以由時間裝置T1 的初始值改變。達林頓陣列系列產品ULN2003 優點是能承受較高的電壓和大電流,因此采用ULN2003 驅動直流電機正反轉。
系統軟件部分主要包括系統初始化模塊、鍵盤識別模塊、溫度傳感器和電機調速模塊的設計。本系統編程部分工作采用C 語言完成,采用模塊化的設計方法,與各子程序作為實現各部分功能和過程的入口,完成鍵盤輸入、按鍵識別和功能、PWM脈寬控制和數碼管顯示等部分的設計。系統初始化模塊在主程序入口處開始運行,主要完成對系統振蕩頻率初始化、系統全局變量初始化、LED 顯示和指示燈I/O 口初始化、TMR0 定時1ms 初始化和INT0 中斷等。
PWM 脈寬控制:本設計中采用軟件延時方式對脈沖寬度進行控制,延時程序函數如下:
鍵盤中斷處理子程序:采用中斷方式,按下鍵,完成延時去抖動、鍵碼識別、按鍵功能執行。要實現按住加/減速鍵不放時恒加或恒減速直到放開停止,就需在判斷是否松開該按鍵時,每進行一次增加/減少一定的占空比。顯示子程序:利用數組方式定義顯示緩存區,緩存區有8 位,分別存放各個數碼管要顯示的值。
定時中斷處理程序:采用定時方式1,因為單片機使用12MHz 晶振,可產生最高約為65.5ms 的延時。對定時器置初值B1E0H 可定時20ms,即系統時鐘精度可達0.02s。當20ms 定時時間到,定時器溢出則響應該定時中斷處理程序,完成對定時器的再次賦值,并對全局變量time 加1,這樣,通過變量time 可計算出系統的運行時間。
對于電機的啟停,在PWM 控制上使用漸變的脈寬調整,即開啟后由停止勻加速到默認速度,停止則由于當前速度逐漸降至零。這樣有利于保護電機。鍵盤處理上采用中斷方式,不必使程序對鍵盤反復掃描,提高了程序的效率。
電風扇的轉速通過設定檔位最低溫度來控制,設置25℃為最低初始溫度。本設計系統溫度的測量是通過DS18B20 溫度傳感器來獲得,通過程序控制在LCD12864上顯示。通過獲得的即時溫度來判斷設定的初始檔位,檔位的加減可以使用鍵盤上的P0.0 和P0.1 來控制,其中P0.0是增加溫度檔位的,P0.1 是減小檔位,可以從LCD 上顯示出來,通過顯示的溫度和檔位來設定初始值。風速檔位的可以通過芯片的P0.4 和0.5 來控制,其中前者是來增加風速,后者是降低的。風速檔位是來控制電風扇轉速的快慢,對于不同溫度下要求的風速快慢不同,也可以反過來溫度過高通過風速來改變溫度。風速的主要作用在DS18B20 溫度傳感器,通過其感應周圍溫度的變化來顯示即時情況。溫度每升高2℃,電風扇加速。
風速檔位的可以通過P0.4 和P0.5 來控制,其中前者是來增加風速,后者是降低的。
本文以傳統風扇為研究對象,采用單片機STC89S52為控制芯片,結合溫度測量模塊,電機控制模塊,鍵盤與顯示模塊,實現風扇風力風速隨溫度變化而變化功能,為人們的生活帶來便捷。