傳統電風扇多采用機械方式進行控制,功能少,噪音大,各檔的風速變化大。隨著科技的發展和人們生活水平的提高,家用電器產品趨向于自動化、智能化、環保化和人性化,使得由微機控制的智能電風扇得以出現。隨著電子制造業的不斷發展,社會對生產率的要求越來越高,各行業都需要精良高效、高可靠性的設備來滿足要求。作為一種老式家電,電風扇具有價格便宜、擺放方便、體積輕巧等特點。由于大部分家庭消費水平的限制,電風扇作為一個成熟的家電行業的一員,在中小城市以及鄉村將來一段時間內仍然會占有市場的大部分份額,但電風扇功能簡單,不能滿足智能化的要求。本文利用了單片機的紅外控制功能,對電扇的控制結構進行了重新的設計,使得人在距離電扇10 m范圍內就可以短程控制電扇,使得人不用走近電扇即可對電扇的風速進行調控,方便,實用,具有廣闊的市場前景。
1 系統功能簡介
傳統的電扇都是由機械按鍵來控制電扇的啟停,本設計采用紅外遙控進行控制,由一單片機作為發射電路的主控部分,根據傳統的機械按鍵也設計了4個按鍵控制,分別是關閉,小風速,中檔風速,高風速。用戶可以在夏天的時候,坐在沙發上,就可以完成電扇的打開,關閉,高速,低速的調節。
2 系統結構
該設計的系統的框圖如圖1所示。
由圖1我們可以看到該設計一共由6大模塊構成,其中2個單片機AT89C52模塊是相同的,他們分別是單片機的最小系統,具有單片機的最基本的啟動和復位功能,其中按鍵部分完成按鍵功能,將0或者1的電平送給單片機進行處理,至于紅外發送模塊,功能就是把單片機編制好的紅外編碼發送出去,紅外接收模塊僅僅完成接收工作。后面的單片機模塊完成對紅外脈沖的解碼,由不同的編碼完成對電機的控制,也就相當于對電扇進行控制了。
3 系統硬件設計
3.1 遙控發射電路設計
如圖2所示,該圖為紅外遙控發射電路圖。
在圖2中,單片機采用AT89C52,這是遙控電路的主芯片。ATMEL公司生產的AT89C52單片機采用高性能的靜態80C51設計,并采用先進工藝制造,還帶有非易失性的Flash程序存儲器,它是一種高性能、低功耗的8位CMOS微處理芯片,市場應用最多。其主要性能特點如下:
*8 kB FLASH ROM,可以擦除1 000次以上,數據保存10年。
*256字節內部RAM。
*電源控制模式:1)時鐘可停止恢復2)空閑模式3)掉電模式。
*6個中斷源。
*4個中斷優先級。
*4個8位I/O口。
*全雙工增強型UART。
*3個16位定時/計數器:T0,T1(標準80C51)和增加的T2(捕獲和比較)。
*全靜態工作方式:0~24 MHz。
在單片機的右半部分,接有4個按鍵分別是S2,S3,S4,S5與單片機的P0口的0到3號端口相連。P0口在用作輸入的時候,必須接有上拉電阻。在單片機的左半部分是最小系統模塊和紅外發射部分,遙控器的信息碼由AT89C52單片機的定時器1中斷產生40 kHz紅外線方波信號,由P3.5口輸出,經過三極管9013放大,由紅外線發射管發送。改變電阻R3的大小可以改變發射距離。
3.2 紅外遙控接收電路設計
如圖3所示,該圖為紅外遙控接收電路圖。
如圖3所示,單片機的左半部分是萬能紅外接收頭IR1838,其管腳1為輸出,管腳2,3分別是接地和電源的輸入,電源電壓仍然為5 V,左半部分的單片機的最小系統完成的是單片機的復位功能和啟停,右半部分電路是由一個DAC0808芯片構成,該芯片輸出與一個放大器相連,通過放大后將電壓加在直流電機的兩端,從而驅動了電機的工作。關于DAC0808它的主要參數為,誤差最大,快速建立時間為150 ns,高速輸入乘以轉換率為:8 mA/μs,電源電壓為±4.5~±18 V到,該芯片為低功耗的,最大功耗為33 mW。該DAC是8位的,也就意味著輸入的范圍為0到255,輸出的電壓從0~10 V變化的,這樣最小精度為10/255 V,但是經過一個集成放大器后,也就能驅動一個小小的電動機了。
4 系統軟件設計
4.1 紅外發射和接收原理
先講一講什么是紅外線。我們知道,人的眼睛能看到的可見光按波長從長到短排列,依次為紅、橙、黃、綠、青、藍、紫。其中紅光的波長范圍為0.62~0.76μm;紫光的波長范圍為0.38~O.46μm。比紫光波長還短的光叫紫外線,比紅光波長還長的光叫紅外線。紅外線遙控就是利用波長為0.76~1.5μm之間的近紅外線來傳送控制信號的。
常用的紅外遙控系統一般分發射和接收2個部分。發射部分的主要元件為紅外發光二極管。它實際上是一只特殊的發光二極管,由于其內部材料不同于普通發光二極管,因而在其兩端施加一定電壓時,它便發出的是紅外線而不是可見光。目前大量使用的紅外發光二極管發出的紅外線波長為940 nm左右,外形與普通發光二極管相同,只是顏色不同。紅外發光二極管一般有黑色、深藍、透明3種顏色。判斷紅外發光二極管好壞的辦法與判斷普通二極管一樣:用萬用表電阻擋量一下紅外發光二極管的正、反向電阻即可。紅外發光二極管的發光效率要用專門的儀器才能精確測定,而業余條件下只能用拉距法來粗略判定。
接收部分的紅外接收管是一種光敏二極管。在實際應用中要給紅外接收二極管加反向偏壓,它才能正常工作,亦即紅外接收二極管在電路中應用時是反向運用,這樣才能獲得較高的靈敏度。紅外接收二極管一般有圓形和方形兩種。
由于紅外發光二極管的發射功率一般都較小(100 mW左右),所以紅外接收二極管接收到的信號比較微弱,因此就要增加高增益放大電路。前些年常用μPC1373H、CX20106A等紅外接收專用放大電路。最近幾年不論是業余制作還是正式產品,大多都采用成品紅外接收頭。成品紅外接收頭的封裝大致有兩種:一種采用鐵皮屏蔽;一種是塑料封裝。均有3只引腳,即電源正(VDD)、電源(GND)和數據輸出(VO或OUT)。紅外接收頭的引腳排列因型號不同而不盡相同,可參考廠家的使用說明。成品紅外接收頭的優點是不需要復雜的調試和外殼屏蔽,使用起來如同一只三極管。非常方便。但在使用時注意成品紅外接收頭的載波頻率。紅外遙控常用的載波頻率為38 kHz,這是由發射端所使用的455 kHz晶振來決定的。在發射端要對晶振進行整數分頻,分頻系數一般取12,所以455 kHz÷12≈37.9kHz≈38kHz。也有一些遙控系統采用36kHz、40 kHz、56 kHz等,一般由發射端晶振的振蕩頻率來決定。在本系統的中采用的是40 kHz的紅外發射波,接收裝置采用的是萬能紅外接收頭IR1838。
4.2 遙控碼的編碼格式
遙控碼采用脈沖,不同的脈沖個數代表不同的碼,最小為2個脈沖,最大為17個脈沖。
為了使接收可靠,第一位碼寬為3 ms,其余為1 ms,遙控碼數據幀間隔大于10 ms,其編碼波形如圖4所示。
如圖4所示,當某個操作鍵按下時,單片機先讀出鍵值,然后根據鍵值設定遙控碼的脈沖個數,再調制成40 kHz的方波由紅外線發射管發射出去。在上述的發射電路中,一共設置了4個按鍵,其中S2,S3,S4,S5的編碼分別是電器碼2,3,4,5,對于發射電路,每發送一個數據幀最短的時間間隔是10 ms。例如在按下S4時,即先發送3 ms的前導碼,隨后再發送5個1 ms的脈沖,就表示按鍵S4被按下了,單片機紅外接收電路在接收到一串串脈沖之后,通過軟件完成對紅外的解碼,通過設置,每個編碼對應于電動機不同的操作,比如2這個編碼,那么單片機的P0口輸出00000000,再經過DAC0808之后,輸出電壓為0,這樣電動機就可以停止工作了。類似的編碼3,4,5分別對應直流電機的低速,中速和高速的操作。
4.3 單片機紅外發送和接收程序
由于程序較長,所以在本設計中只給出部分的核心的紅外發送和接收程序。關于紅外的發送程序如下:
如上面程序所示發送函數是固定不變的,在發送函數中完成了編碼的功能,在tx函數中,用到了一個swiCCh開關語句,分別對按鍵值的不同進行處理,例如當keyvol=2的時候,就發送3個脈沖信號。
關于單片機的紅外接收解碼過程,其核心程序如下:
由面的解碼程序可以知道,用到了一個中斷接收的程序,其中remotein為臨時變量,解碼時的關鍵在于對脈沖個數的計量,這樣keyvol的值就能很方便的讀出來,再用到一個switch語句就可以分別對風速進行控制了。
5 結束語
紅外遙控的特點是不影響周邊環境,不干擾其它電器設備。由于其無法穿透墻壁,故不同房間的家用電器可使用通用的遙控器而不會產生相互干擾;電路調試簡單,只要按給定電路連接無誤,一般不需任何調試即可投入工作;編解碼容易,可進行多路遙控。由于各生產廠家生產了大量紅外遙控專用集成電路,需要時按圖索驥即可。因此,現在紅外遙控在家用電器、室內近距離(小于10 m)遙控中得到了廣泛的應用。
在本設計中,利用2個單片機就可以實現短距離的控制,實際上其本質就是利用紅外進行通信,并把通信的結果進行處理,反饋到最終的形式就是電扇風速的不同。另外本設計還可以進行改進的,比如我們在考慮單片機的功耗時,因為用于紅外接收的那個單片機在風扇停止工作的時候,單片機如果仍在工作,那么勢必增加了系統的功耗,所以為了降低功耗,在用于紅外接收的那個單片機中,應該添加一個待機模式,這樣就大大降低了功耗,節省了能源,當有外部中斷來的時候,才喚醒單片機,讓它處于工作狀態,這樣就達到低功耗的目的了。此外,若能在接收端加上一個測溫系統,并把實時溫度顯示出來,用戶根據目前環境的溫度來對電扇進行操作,那就更好了。
經Proteus電路仿真驗證后,該系統運行良好,單片機的遙控電扇工作起來可靠性較高,用戶可以在幾米遠的地方,就可以對電扇進行實時控制了。該系統成本低廉,操作簡單,隨時可以根據軟件編寫新的功能。操作按鍵可擴展性強,只要稍加改變,就可以增加幾個按鍵的功能,本系統在當今提倡人性化設計和健康產品的環境下具有非常好的市場前景。
評論