智能家居系統(tǒng)中自動窗簾控制系統(tǒng)的設(shè)計實現(xiàn)
隨著高新技術(shù)及電子器件的發(fā)展,光控、溫控及遙控窗簾應(yīng)運而生,給人們的生活帶來了很多方便。同時,也為人們的生活環(huán)境以及智能家居的實現(xiàn)提供了依據(jù),為此,研究與設(shè)計智能窗簾控制系統(tǒng)具有深遠(yuǎn)的現(xiàn)實意義。
1 系統(tǒng)總體設(shè)計與工作原理
本系統(tǒng)由單片機、紅外接收、光敏測光、電機驅(qū)動、數(shù)碼管顯示以及鳴響提示模塊組成。主要應(yīng)用模塊的選擇包括電動機驅(qū)動模塊的、PWM調(diào)速方式、PWM調(diào)脈寬方式、PWM軟件實現(xiàn)方式的選擇。其中,電機驅(qū)動模塊的選擇采用由達(dá)林頓管組成的H型PWM電路;PWM調(diào)速工作方式采用單極性工作制;PWM調(diào)脈寬方式選擇采用定頻調(diào)寬方式;PWM軟件實現(xiàn)方式采用軟件延時方式。智能窗簾設(shè)計所需的關(guān)鍵芯片及器件有:單片機AT89S52、直流電動機、三相穩(wěn)壓器78L05、儲存芯片CAT24WC02以及光耦4N25。系統(tǒng)總體框圖如圖1所示。
該窗簾控制系統(tǒng)采用AT89S52單片機的最小系統(tǒng)設(shè)計,可以實現(xiàn)使用紅外遙控器進(jìn)行遠(yuǎn)程手動開、手動關(guān)和手動??刂疲瑪?shù)碼管顯示窗簾的開、關(guān),可以通過自行設(shè)定相應(yīng)的數(shù)字表示;也可以按事先輸入的開啟時間和關(guān)閉時間進(jìn)行時間控制,數(shù)碼管顯示當(dāng)時的小時和分鐘時間,但只能順序顯示,顯示一遍后,略等片刻,再顯示下一遍時間;還可以根據(jù)室外環(huán)境亮度實現(xiàn)光控,即窗簾的自動控制,由驅(qū)動數(shù)碼管顯示出當(dāng)時的狀態(tài)。紅外窗簾遙控控制器通電默認(rèn)當(dāng)時時間是8點鐘。在3種工作方式下,數(shù)碼管均按時分法顯示時間、工作方式和工作狀態(tài)。每一組數(shù)據(jù)由5個數(shù)字組成,前4個數(shù)字順序顯示時十位、時個位、分十位、分個位,第5個數(shù)字包含工作方式和工作狀態(tài):顯示“一”(1橫)表示手動方式;“二”(2橫)表示半手動方式;“三”(3橫)表示光控方式;不顯示橫則表示時控方式。左上角的“豎”點亮表示電機工作時發(fā)出鳴響提示,不點亮表示電機工作無提示;右上角的“豎”點亮表示整點報時開啟,不點亮表示無整點報時。左下角“豎”點亮表示窗簾正在打開,右下角“豎”點亮表示窗簾正在關(guān)閉。
2 硬件電路設(shè)計
該窗簾控制系統(tǒng)電路分為8個部分:電源、顯示、光控電路測光、電機控制執(zhí)行、紅外接收、鳴響提示、數(shù)據(jù)存儲、單片機主控器件。其中,電源部分通過外接插座輸入交流12 V或者直流13 V~14 V電壓供電,經(jīng)過三端集成穩(wěn)壓器穩(wěn)壓后輸出5 V電壓,為鳴響電路、紅外接收電路、顯示電路提供電源。使用2節(jié)5號普通電池提供直流電源。
2.1 光采集電路設(shè)計
測光電路如圖2所示,由GM1、C3、V3組成。GM1采用光敏二極管[1],C3和GM1組成RC充放電回路。當(dāng)P3.4處于高電平時,P3.4的高電壓通過GM1的正向電阻向C3充電;當(dāng)P3.4被單片機拉低為低電平時,C3通過光敏元件放電。光敏二極管工作在反向電壓狀態(tài)下,此時環(huán)境亮度決定了光敏二極管的光阻值,光阻值大,C3放電速度慢,反之放電速度快。適當(dāng)控制P3.4的拉低脈沖寬度,使得C3放電工作在線性比較好的工作段上。P3.5用來檢測C3在P3.4拉成低電平期間的放電電壓狀態(tài),當(dāng)C3電壓降到小于1/2VCC后,P3.5測得數(shù)據(jù)“0”,反之測得數(shù)據(jù)“1”。為了減小P3.5對C3充放電的影響,C3充放電電壓通過三極管V3組成的射極輸出器連接到P3.5上,射極輸出器的高輸入阻抗減小了P3.5對RC充放電電路的影響。
2.2 紅外接收電路及數(shù)據(jù)存儲部分設(shè)計
紅外接收電路使用型號為HS3008的集成型紅外接收器,靜態(tài)時輸出端輸出高電平,當(dāng)接收到紅外信號后,按紅外信號的數(shù)據(jù)波形輸出負(fù)脈沖數(shù)據(jù)信號,紅外信號輸出到單片機的P3.2口,該口對應(yīng)的第二功能是外部中斷0(INT0),利用該功能,一旦紅外信號到來,P3.2被拉成低電平,使單片機中止當(dāng)前的工作并轉(zhuǎn)到接收及處理紅外信號。開啟中斷功能的目的是:既減輕了單片機的工作負(fù)擔(dān),又保證接收到的紅外信號的完整性,同時在手動工作狀態(tài)下,單片機進(jìn)入睡眠后,利用外部中斷功能完成對單片機的喚醒。單片機的P3.3和P3.7口作為I2C存儲器的總線,本電路中使用AT24C02完成對設(shè)置狀態(tài)和設(shè)置數(shù)據(jù)的儲存。紅外接收電路和數(shù)據(jù)存儲電路[2]如圖3所示。
2.3 窗簾框架構(gòu)造設(shè)計
窗簾框架構(gòu)造設(shè)計包括窗簾微動開關(guān)連接電路設(shè)計和窗簾架的制作與設(shè)計。本設(shè)計中的微動開關(guān)通過電容、電阻組成的復(fù)位電路與單片機的復(fù)位引腳相連,微動開關(guān)安裝在窗簾滑桿上,當(dāng)窗簾移動到預(yù)定位置時,觸動微動開關(guān),使單片機復(fù)位,此時電機停轉(zhuǎn),窗簾停到指定位置。窗簾架的制作方法如下:先加工兩只滑輪作為主動輪和從動輪,輪子類似皮帶輪,底徑約為25 mm,槽寬和槽深約為4 mm;1根曬衣繩,直徑約為4 mm;在主動輪的槽底用膠水粘一圈薄膠皮以增加摩擦力;將主動輪固定在電動機軸上,而將電動機固定在窗簾盒的一端,將從動輪固定在窗簾盒的另一端,固定時最好調(diào)節(jié)裝置,用以繃緊拉繩。窗簾桿選用19 mm的不銹鋼管,采用2根桿其目的在于左右窗簾能重合。拉繩的接頭處與左右窗簾的第一環(huán)連接,并固定一鐵片用來觸動微動開關(guān)[3]。窗簾架的構(gòu)成及窗簾的布置如圖4所示。
3 系統(tǒng)軟件設(shè)計
本系統(tǒng)中單片機微處理器的主要任務(wù)是完成對HS3008接收到的紅外信號的控制與處理,從而完成對相應(yīng)控制單元的控制。主程序首先完成初始化,然后啟動HS3008等待接收控制指令,進(jìn)行相應(yīng)的輸出操作[4]。系統(tǒng)流程圖如圖5所示。
單片機對接收到的紅外信號控制指令通過P3.2口來完成,其對應(yīng)第二功能時為外部中斷0(INT0),通過接收到不同的紅外信號脈沖實現(xiàn)相應(yīng)的操作。程序中重要的子程序有:串口初始化、串口接收中斷以及紅外信號處理子程序等。當(dāng)串口設(shè)置完畢、程序初始化后,程序?qū)3.2口進(jìn)行實時檢測,一旦檢測到有低脈沖到來,則進(jìn)行解碼后,提取相應(yīng)的子程序以實現(xiàn)對電機的控制。當(dāng)接收到手動控制信號時,則直接對電機進(jìn)行控制,實現(xiàn)窗簾的拉開、關(guān)閉或停止;當(dāng)接收到半自動控制信號時,操作者只需按下拉開或關(guān)閉按鈕來程序執(zhí)行,從而實現(xiàn)窗簾拉開或關(guān)閉。對于電機如何停止的問題,本設(shè)計在窗簾滑桿上安裝了微動開關(guān),一旦窗簾拉動到指定位置就會觸碰微動開關(guān),從而送給單片機一個低脈沖,單片機在接收到低脈沖后,則認(rèn)為窗簾已完全拉開或關(guān)閉,調(diào)用程序?qū)崿F(xiàn)電機的停止轉(zhuǎn)動;當(dāng)接收到光控信號時,單片機調(diào)用相應(yīng)的程序,驅(qū)動光敏二極管檢測環(huán)境亮度,根據(jù)檢測結(jié)果,實現(xiàn)窗簾的拉開或關(guān)閉。電機的停止也如同半自動控制,如此實現(xiàn)窗簾的自動控制。
電機的工作狀態(tài)還可通過數(shù)碼管顯示出來,程序的編寫很簡單,通過不同的數(shù)字表示相應(yīng)工作狀態(tài)。與此同時,還可以通過鳴響提示電路提示電機正在工作,以避免多次按下按鈕使單片機進(jìn)行誤操作,造成死機。
基于單片機的智能遙控窗簾的設(shè)計,在實時性要求較低的測控與采集系統(tǒng)的應(yīng)用中具有很好的發(fā)展前景和應(yīng)用價值。在國內(nèi)外,自動調(diào)光窗簾成為人們家居生活的首選布置。本文介紹的自動調(diào)光窗簾利用紅外遙控實現(xiàn)了其控制功能,在設(shè)計過程中遇到了一些典型的問題,但采取了相應(yīng)的措施:
(1)電機驅(qū)動問題。電機的驅(qū)動電壓為5 V,但是經(jīng)過三極管的降壓后,電機驅(qū)動能力明顯下降,為了增大電機驅(qū)動能力,在控制部分與電機執(zhí)行部分加了4N25光耦隔離,將兩部分隔離開來,外接12 V電壓,以增大電機的驅(qū)動能力。(2)電機停機問題。單獨靠程序來實現(xiàn)電機的停機,對時間控制的要求非常高,且不易實現(xiàn)。如果通過繼電器來實現(xiàn)停機也可以,但由于繼電器響應(yīng)時間慢、機械結(jié)構(gòu)易損壞、壽命較短、可靠性不高,故采用了微動開關(guān),通過送單片機低脈沖來實現(xiàn)電機停機,實時性也很好[5]。
評論