基于單片機的紅外遙控智能調光調速器的設計
摘要:設計了一種可以對普通電燈(風扇)進行無級調光(調速)的系統(tǒng)。常用的電視機萬能紅外遙控器進行操作。通過搖控器上的兩個按鍵進行控制,一個控制設備負載的開與關,一個控制調光(調速)。系統(tǒng)還有自動記憶功能。同時,系統(tǒng)還設有手動按鍵調節(jié)與觸摸調節(jié)功能。
關鍵詞:無級調光(調速);紅外搖控;記憶
0 引言
電子遙控技術已經(jīng)十分成熟了,它能為我們的生活帶來方便。在我們日常生活中,處處都可以見到它的影子。比如:在小汽車上,有遙控電子鎖。遙控玩具、空調與電視機也用到了遙控。常見的遙控,一是無線遙控,二是紅外遙控。紅外是一種不可見光,它介于可見光和微波之間,既有可見光的性質,如:直線傳播、反射、折射等,又具有微波的一些特性,如穿透力強。紅外線遙控是目前使用最廣泛的一種遙控手段。由于紅外線遙控裝置具有體積小、功耗低、功能強、成本低等特點,因而,繼彩電、錄像機之后,在錄音機、音響設備、空調機以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。工業(yè)設備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅安全可靠而且能有效地隔離電氣干擾。
借助于紅外線具有的上述特性。利用紅外傳感器具有靈敏度高、響應速度快和光譜范圍窄的特點,同時利用單片機結構緊湊、可靠性高、數(shù)據(jù)處理能力強、速度快、功耗小、成本低的特點、可以制作靈敏度高、抗干擾能力強、性能優(yōu)良的紅外遙控裝置。
1 紅外遙控原理
通用的紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成。應用編/解碼專用集成電路芯片來進行控制操作,如圖1所示。發(fā)射部分包括鍵盤矩陣、編碼調制、LED紅外發(fā)送器:接收部分包括光、電轉換放大器、解調、解碼電路。發(fā)射電路采用普通電視機上所使用的萬能遙控器,在其上選擇兩個電視機不用的按鍵即可。
由電視機萬能遙控器發(fā)射紅外編碼,利用一體化紅外接收頭接收到紅外編碼經(jīng)放大、解調后,再經(jīng)過單片機軟件解碼后,驅動相應的I/O口工作,即可完成相應的控制功能。
2 單元模塊設計
本系統(tǒng)主要部件包括一體化紅外接收傳感器、STC89C52單片機系統(tǒng)、調光調速系統(tǒng),電源電路。
2.1 一體化紅外接收傳感器電路設計
HS0038是一種應用于遙控接收或其它方面的小型一體化接收頭,中心頻率為38.0kHz,可改善自然光的反射干擾,獨立的PIN二極管前置放大器集成在同一封裝上,內部原理見圖2。
HS0038環(huán)氧樹脂封裝提供一個特殊的紅外濾光器,可防止自然光的干擾,HS0038有著極好的抗自然光的性能,可防止無用脈沖的輸出。
將HS0038一體化接收頭輸出端接在單片機的P3.2口上。一體化紅外接收頭接收到紅外編碼經(jīng)放大、解調后,再經(jīng)過單片機外部中斷0 P3.2口,利用軟件對P3.2口上的電平信號進行分析解碼即可。
2.2 STC89C52單片機系統(tǒng)
單片機系統(tǒng)為最小應用系統(tǒng),包括電源電路、晶振電路、復位電路。這里不再作詳細介紹。
2.3 調光調速系統(tǒng)
電路由輸入緩沖器、鎖相環(huán)、控制邏輯、亮度記憶、相角指針、數(shù)字比較器和輸出驅動器組成,見圖3。電路的基本工作原理為(以調光為例):人體帶電與市電同頻,當人體接觸觸摸片時,經(jīng)輸入緩沖級的削波、放大、整形,成為標準的MOS電平。觸摸持續(xù)時間大于32ms小于332ms時,控制邏輯部分控制電路呈開關工作狀態(tài)。當觸摸持續(xù)時間大于332ms時,控制邏輯部分控制電路呈調光工作狀態(tài),輸出觸發(fā)脈沖相位角在41°至159°之間連續(xù)周期變化,并根據(jù)人眼的感受力,分為快、慢和暫歇三個過程。當觸摸結束時,亮度記憶對該時相位角進行記憶,若再施與大于32ms,小于332ms的觸摸,電路呈關狀態(tài)時,相位角仍由該部分記憶,保證電路在下一次開狀態(tài)時,保持原選定相位角,光源保持原亮度。觸發(fā)脈沖與市電的同步,由鎖相環(huán)保證,電路的工作時鐘,也均由其產(chǎn)生。同時,電路還具有遙控(即遠端觸發(fā))功能,和漸睡(即由亮至暗,最后關閉)功能,其延續(xù)時間由外電路設置。
利用單片機可對上述電路進行遙控。以調光為例:將上述電路中的開關AN1并聯(lián)在一個繼電器K1常閉觸頭的兩端。利用紅外遙控器中的一個按鍵控制單片機對該繼電器進行操作,每按一次該按鍵,繼電器K1接通與關斷(時間30ms左右)一次,即可實現(xiàn)對燈的開與關。將AN1兩端再并聯(lián)在另一個繼電器K常閉的兩端,利用紅外遙控器中另一個按鍵控制單片機對該繼電器進行操作,按一下該按鍵,繼電器K2接通(調光中)。再按一下該按鍵,控制繼電器K2關斷(調光結束)。這樣,就實現(xiàn)了紅外遙控調光功能。調速原理與此一致,這里不作贅述。
2.4 電源電路
電源可采用阻容降壓法,電路如圖4所示,注意電容C5要選擇高壓電容,電阻R4也需要一定的功率,可選0.5W的碳膜電阻。
3 程序設置
軟件設計主要分為主程序、遙控接收解碼子程序、繼電器驅動程序。利用單片機對紅外信號進行快速解碼的時候,采用外部中斷的方式,中斷的觸發(fā)方式為低電平觸發(fā)方式,具體的算法為:在外部中斷服務程序中,如果起始碼和結果碼正確,進行解碼,否則退出。在解碼的時候,等待第一個高電平的到來,即紅外遙控引導信號(一個9ms的低電平和一個4.5ms的高電平),然后收集用戶碼高8位和8位鍵值反碼數(shù)據(jù),并存入一個數(shù)組中。解碼的關鍵是如何識別“0”和“1”。程序中設計一個0.14ms的延時函數(shù),作為單位時間,對脈沖維持高電平的時間進行計數(shù),并把此計數(shù)值存入一個變量中??锤唠娖奖3值臅r間是幾個0.14ms。高電平保持時間必須比0.56ms長些,但又不能超過1.12 ms,否則如果該位為“0”,讀到的已是下一位的高電平,因此,在程序中,取0.14×6=0.84ms左右比較合理。
“0”和“1”的具體要求判斷由程序中的以下語句判斷:
IRCOM[j]=IRCOM[j]>>1;∥計數(shù)小于6,收到的是0,數(shù)據(jù)最高位補0。
if(N>=8){IRCOM[j]=IRCOM[j]|0x80;}∥計數(shù)大于等于6,收到的是1,數(shù)據(jù)最高位補1。
另外當高電平計數(shù)為30時(0.14×30=4.2ms),說明有錯誤,程序退出。
評論