本設計為智能溫控風扇系統,該系統可以實現風扇隨實時環境溫度而智能變速功能。
系統主要選用STC89C52單片機作為控制中心,DS18B20數字溫度傳感器采集實時溫度,再經單片機處理后通過三極管放大信號后驅動直流風扇的電機。用戶可以預設上限、下限溫度值,當測得環境溫度值在預設上下限值區間中時,此時風扇以半速轉動;當溫度升高并大于預設上限溫度值時,風扇會自動調速,以全速轉動;當溫度降低并低于預設的下限溫度值時,這時風扇電機自動停止轉動。全程實現風扇轉速隨外界溫度而智能自變。
1、系統整體設計框圖
溫度傳感器的選用
溫度傳感器主要有以下兩種方案可供選用:方案一:選用熱敏電阻作為溫度傳感器的核心元件。由于熱敏電阻的電阻會跟著溫度的變化而變化,如此就會產生模擬信號,隨后再將模擬信號轉換成數字信號,最終發送給單片機IN-0口進行處理。具體熱敏溫度采集電路如圖2-2所示:
熱敏溫度采集電路
方案二:選用溫度傳感器DS18B20作為溫度傳感器的核心元件。通過其傳感溫度,然后直接輸出數字溫度信號并傳給單片機處理。具體DS18B20采集電路如圖2-3所示:
圖2-3DS18B20溫度采集電路
對于方案一,熱敏電阻的最大特點就是它的價廉而且很多市場上都有這種元件,但熱敏電阻對溫度并不敏感,在溫度采集時很容易產生誤差。雖然這種誤差可以通過減小,但并不會避免。故本方案不適合本系統。
對于方案二,因為DS18B20是單總線,且其集成度極高,所以該傳感器可以大幅度降低外部誤差。其次由于其感測溫度與熱敏電阻的方法并不一樣,使其具有較強的溫度識別能力。所測到的溫度直接就可以轉換成具體數字值并發送給單片機。因此,本方案比較適合該系統。
2、主控機的選用
方案一:選用凌陽系列單片機來控制系統,這類單片機可以實現不同的復雜邏輯功能,它將所有元器件都集成在一塊芯片上,集成度十分高,提高了穩定性。凌陽單片機的系統處理速度很快,適合用于大規模實時系統的控制。
方案二:采用ST89C52單片機控制整個系統的運行。主要通過編程的方式對測得的溫度進行判斷,然后輸出對應的控制信號。進而實現對系統實時控制。
由于ST89C52單片機要比凌陽系列單片機的價格低得多,且本設計不需要很高的處理速度,從經濟和方便使用角度考慮,本設計更傾向于選擇了方案二。其次,通過單片機可以直接將測得溫度在顯示器上顯示出來。綜合來看,本系統更適合采用方案二。
2.2.3 顯示電路的選用
方案一:采用數碼管作為系統的顯示器。盡管數碼管顯示的內容有限,但是對于本設計,只要顯示一些基本的數字和字母就已經足夠了。并且價格低廉。
方案二:采用液晶字符式顯示屏作為系統的顯示器。能夠用軟件達到很好的控制,元件器簡單。
對于方案一,該方案具有成本低,功耗低的特點,顯示驅動程序編寫是比較簡單的,唯一不足之處是其采用的是動態掃描顯示方式,因此在這過程中會有短暫的閃爍,但我們可以通過增加掃描頻率來避免閃爍。
對于方案二,液晶顯示屏不僅可以顯示字符,甚至還能夠顯示圖形,這是LED數碼管遠遠做不到的。但也正是因為它強大的顯示功能,使得液晶顯示屏的驅動程序復雜,價格相對而言比較昂貴。從實用以及價格多角度來看,方案一更適合該系統。
2.2.4 調速方式的選用
方案一:采用變壓器調節方式,運用電磁感應原理進行變壓,當風扇電機接到不同電壓值的線圈上,電機的轉速也會轉變,如此就可控制風扇風力大小。
方案二:采用三極管驅動PWM控制。
對于方案一,變壓器主要是調節電壓,那么在變壓過程中就會不可避免的存在損耗,效率不高。還有可能會發熱過度起火,帶來一些不必要的麻煩。
對于方案二,三極管PWM的最大長處便是無需數模轉換,從處理器到被控系統信號一概都是數字形式的。而數字信號正可以在極大程度上降低噪聲影響。PWM的第二大特點是它相對于模擬控制有更高的抗干擾能力,正因為如此,在特定情況下亦可以將其用于通信。當模擬信號轉向PWM時會延長通訊的距離。故本系統采用方案二。
3、系統硬件原理圖
本系統主要由溫度傳感器DS18B20、STC89C52單片機、LED共陰數碼管、三極管驅動電路及一些其他外圍器件電阻、電容、晶振、電源、按鍵、開關和風扇組成。系統硬件原理圖如下圖3-1所示:
主控芯片介紹
3.2.1 STC89C52簡介
STC89C52單片機是美國STC公司生產的高性能COMOS 8位單片機。STC89C52使用經典的MCS-51內核片,但做了大量的改進,加入了51系列不具備的諸多功能。正因為如此,兩種單片機的指令集和輸出管腳都相兼容。STC89C52單片機引腳圖如下圖3-2所示
STC89C52主要性能參數:參考下表
STC89C52單片機引腳說明:如下表所示
STC89C52單片機結構主要包含4個組成部分,即晶振電路、復位電路、電源電路和/EA腳電路。
DS18B20溫度采集電路
DS18B20是美國DALLAS公司生產的一線式高精度數字式溫度傳感器。其采用單根信號線,可以傳輸時鐘也能夠傳輸數據,并且數據傳輸是雙向的,其優點是結構簡單、廉價、便于總線的擴展和維護等。
DS18B20引腳功能介紹
DS18B20主要性能參數:如下表所示
DS18B20的工作原理及時序
64位ROM的結構如圖3-7所示,開始一部分的8位是工廠代碼;中間一部分的是每個器件唯一的48位序列號;最后一部分的是8位CRC檢驗碼,這也是多個DS18B20為什么可采用單線進行通信的原故。
在64位ROM的最高有效字節中存儲有循環冗余檢驗碼(CRC)。主機根據ROM的前56位來計算CRC值,并與存入DS18B20的CRC值作比較,以判斷主機收到的ROM數據是否準確。
DS18B20的工作電路
數碼管顯示電路
本系統的顯示模塊主要由一個4位一體的7段LED數碼管構成。可以顯示感測到的溫度和當前風扇的檔位。它是一個共陰極的數碼管,每一位數碼管的a,b,c,d,e,f,g和dp端都各自連接在一起,用于接收單片機的P0口產生的顯示段碼。S1,S2,S3,S4引腳端為其位選端,用于接收單片機的P2口產生的位選碼。具體原理圖如圖3-9所示
風扇驅動電路
風扇的驅動采用的是兩個三極管直接與風扇連接,因為三極管具有放大性,所以可以通過三級管來放大信號,然后直接傳輸到風扇,下圖3-10就是該模塊電路:
三極管是一個電流放大器,具有三個電極,如圖3-11所示,分別叫做集電極C,基極B,發射極E。
4、主程序流程圖
對于本設計溫控風扇,如果要實現它的理想功能:根據實時環境溫度來控制風扇的轉速,就必須在運作時進行不斷地進行程序判斷,當超過設定溫度值的上下限時,相應的子程序會及時控制風扇,實時的切換關閉、弱風、大風三個狀態。
顯示驅動程序以查七段碼取得各數碼管應顯數字,逐位掃描顯示。主程序流程圖如圖4-1所示:
DS18B20子程序流程圖
DS18B20的每一步操作都要按照它的工作時序執行。即首先要對元件復位,再進行ROM命令,最后才能對存儲器和數據操作。如主機控制DS18B20完成溫度轉換這一過程就必須遵循這一規則,具體流程圖如下圖4-2所示:
評論