王洪麗
(福州職業(yè)技術(shù)學院 電子信息工程系,福州 350108)
基于STC12C5A60S2臥室智能控制系統(tǒng)設(shè)計*
王洪麗
(福州職業(yè)技術(shù)學院 電子信息工程系,福州 350108)
系統(tǒng)采用兩塊STC12C5A60S2芯片作為系統(tǒng)控制核心,由主機控制和從機控制兩部分組成.主機對從機發(fā)出信息,可對窗簾開度、燈光進行定時和自動模式選擇控制,同時亦可用遙控控制.遙控器除了發(fā)射主控信號的操作外,還可對燈光的亮度進行調(diào)節(jié),窗簾的開度進行調(diào)節(jié)和關(guān)閉鬧鈴等功能,從而使臥室實現(xiàn)智能化、高效化、便捷化.使我們的生活更加舒適、溫馨,讓人們享受更加先進的現(xiàn)代化生活.
單片機,智能家居,燈光,窗簾,臥室
由于經(jīng)濟迅猛發(fā)展,人們生活水平的提高,一個低成本、高效率的智能家居系統(tǒng),特別是臥室控制系統(tǒng)已成為當今世界的一個討論話題,深受人們青睞.智能家居是以智能為核心,為人類提供一種智能化的,自動化的建筑風格,為人類提供一種安全、舒適、便捷的生活場景.各國出現(xiàn)了不同的智能家居類的智能產(chǎn)品,其中以燈光和窗簾控制類居多.本文設(shè)計一采用兩塊STC12C5A60S2芯片作為系統(tǒng)控制核心的臥室智能控制系統(tǒng),該系統(tǒng)可對窗簾開度、燈光進行定時和自動模式選擇控制,同時亦可用遙控控制.對燈光和窗簾實現(xiàn)自動化控制可以極大的節(jié)省時間,讓人們享受更加先進的現(xiàn)代化生活.
采用STC12C5A60S2芯片作為最小系統(tǒng),其內(nèi)部自帶的A/D轉(zhuǎn)化器實現(xiàn)模數(shù)轉(zhuǎn)化,可判斷光的亮暗程度;采用12864LCD液晶顯示器作為時間、窗簾和燈光的動作顯示;采用24L01無線通信模塊實現(xiàn)主機對從機的控制;采用24C02芯片存儲信息,DS1302時鐘芯片計時, ULN2803達林頓管驅(qū)動步進電機,HC595作為窗簾動作左右停止信號輸入;蜂鳴器作為報警信號提示,熱敏電阻作為光信號采樣;采用遙控接收頭LBST0038A作為遙控信號輸入,遙控器采用通用型遙控器,系統(tǒng)構(gòu)架圖見圖1.
2.1 STC12C5A60S2控制系統(tǒng)設(shè)計
STC12C5A60S2單片機功耗低,內(nèi)部自帶A/D轉(zhuǎn)化器,轉(zhuǎn)化穩(wěn)定,其工作在3.3~5.5 V內(nèi),運行快,擁有0~35 MHz工作頻率范圍,60 K的ROM,1280字節(jié)的ARM,受干擾小,兼容其他單片機,穩(wěn)定性好,不用專門的編程器,內(nèi)部自帶PWM波接口,可以編程產(chǎn)生PWM波.一般的單片機定時器有2個,而STC12系列有4個,全雙工通信.STC12C5A60S2單片機,響應(yīng)速度快,工作穩(wěn)定,I/O口復用功能多.
2.2 LCD12864顯示電路設(shè)計
12864液晶屏具有讀狀態(tài),讀數(shù)據(jù),寫指令,寫數(shù)據(jù),四種并行的基本操作時序,忙標志位為1,表示12864 LCD處于忙狀態(tài),數(shù)據(jù)不允許接收,當忙標志位為0時,可以接收數(shù)據(jù).通過設(shè)置12864液晶的指令使12864按照我們的要求操作.LCD顯示電路見圖2,D0~D7口是數(shù)據(jù)口,VSS電源地,VDD電源正極,RS:數(shù)據(jù)、命令選擇位,WR:讀寫選擇位,LCDE:使能端.
圖1 系統(tǒng)構(gòu)架圖
圖2 LCD顯示電路
2.3 DS1302時鐘電路設(shè)計
DS1302是一款實時時鐘芯片.具有高性能、低功耗的特點, 2.5~5.5 V的正常電壓供電.另外31個字節(jié)靜態(tài)RAM,這種時鐘芯片一次可以傳送好幾個字節(jié)和一些RAM數(shù)據(jù).可采用兩種外部方式對其供電:一個是主電源供電,另一個是備用電源供電,備用電源保證了在主電源斷電情況下DS1302內(nèi)部依然工作,數(shù)據(jù)不會清空.DS1302芯片可以提供年、月、日、星期、小時、分鐘、秒鐘,可以判斷閏年且對其補償,自動的去取調(diào)整每個月份的天數(shù).為了讓振蕩的更加穩(wěn)定,最好在晶振外部并上兩個電容,兩電容間要接地晶振為36.768 kHz,因為有外部直流備用電源,并聯(lián)電容的目的是濾波.編程時,數(shù)據(jù)要轉(zhuǎn)化為BCD碼的形式.
2.4 步進電機驅(qū)動電路設(shè)計
步進電機是純粹的數(shù)字控制電機,只要給一個脈沖就轉(zhuǎn)動一個特定的角度,是一種執(zhí)行機構(gòu),精確的實現(xiàn)角位移和控制脈沖之間的精確轉(zhuǎn)化.要使角位移發(fā)生改變,可以通過改變脈沖的個數(shù),這樣就能精確的確定位置;于此同時用戶如果要使步進電機轉(zhuǎn)動的更快,就要使輸入的脈沖頻率變大,但是它的頻率也不能一直變大,否則會失步,電機不轉(zhuǎn).步進電機驅(qū)動電路見圖3,ULN2803的1~8腳信號輸入,輸出分別控制兩個步進電機.采用了ULN2803達林頓管驅(qū)動芯片驅(qū)動28BYJ-48步進電機,因為它有8個NPN晶體管,可以同時驅(qū)動2個步進電機.讓步進電機工作在四相八拍的方式,也就是說施加脈沖信號,讓其依次通一相然后通兩相,步進電機就會一個角度穩(wěn)定運行下去,不斷的循環(huán)工作,要注意工作電壓在直流5~12 V.
圖3 步進電機驅(qū)動電路
2.5 光電信號輸入電路設(shè)計
選擇隨著光度的增強,內(nèi)部的阻值相應(yīng)減小的光敏電阻.一般的光敏電阻都做成梳狀,其目的是增加它的靈敏度.為了不影響靈敏度,把它封裝在密封的殼體內(nèi),將很薄的光敏電阻和歐姆電極做在絕緣層上,導線引出.如果沒有光線照射在它的表面,內(nèi)部的電子和空穴會被光子所激發(fā),內(nèi)部阻值將會變得很大,反之,阻值會變得很小.如果將光敏電阻一端提高電壓,另一端和一個10 k的電阻相互串聯(lián),電阻一端和光敏電阻相連,另一端接地,在兩者相連處為采樣輸入口.由于光電信號處理用到的了單片機內(nèi)部的A/D轉(zhuǎn)換,所以只需要在外部的光電信號采樣到單片機的A/D口即可.
2.6 燈光控制電路設(shè)計
SR501是一種運用紅外技術(shù)制作而成的能夠自動控制的模塊,SR501的靈敏度很高,工作的時候具有超低的電壓,運行可靠.如果有人從SR501所能感應(yīng)到的位置經(jīng)過時,會輸出高電平,走開的時候,模塊內(nèi)部會先自動的延時一段時間,過后,關(guān)閉高電平,取而代之的是低電平電位,具有光敏控制.如果光線太強就不工作.如果溫度升高到一定的范圍,可以溫度補償.具有不可重復或者可以重復觸發(fā)的兩種工作方式.不可重復觸發(fā)方式就是檢測到了高電位,內(nèi)部進行延時一段時間,然后將高電平變成低電平自動的從輸出端輸出.可重復觸發(fā)方式就是檢測到了輸出的是高電平,等待一段時間延時,在模塊所能識別的范圍,輸出一直都是高電平狀態(tài),直到有物體穿過這個范圍的時候,內(nèi)部會自動的變?yōu)榈碗娖?模塊所能識別的時間大概在2.5 s,理想工作電壓5~15 V直流電.所損耗的功率也較低,可實現(xiàn)各種電路對接.
3.1 主機主程序設(shè)計
主機主要是用來顯示時間,操作和發(fā)送數(shù)據(jù).電路一上電,程序開始執(zhí)行時,首先將LCD 12864、24L01無線模塊行初始化設(shè)置,將24C02存儲器中的數(shù)據(jù)讀取出來,當沒有進行設(shè)置時,能夠保證主頁面顯示年、月、日、星期、時、分、秒,窗簾、燈光的設(shè)置.aa中存放的是頁面碼,比如aa=0時,顯示的是主頁面;當aa=1的時候,顯示的是設(shè)置選擇頁面,包括時間設(shè)置選擇,窗簾燈光設(shè)置選擇,窗簾燈光定時設(shè)置選擇.bb中存放的是選擇項,bb=0,選中時間設(shè)置,可對時間的年、月、日、時、分、秒、星期進行設(shè)置; bb=1,選中窗簾燈光定時設(shè)置選擇,可對窗簾的狀態(tài)(全開,全關(guān),定時,自動)選擇設(shè)置,可對燈光的狀態(tài)(模式一,模式二,模式三,全關(guān),定時)進行選擇設(shè)置;bb=2,選中窗簾燈光定時設(shè)置選擇,可對窗簾及其燈光進行任意一天或者多天的某個時刻進行定時開關(guān).dd是查看的選擇,dd=0時可以顯示時間、窗簾、燈光的狀態(tài),dd=1時可以查看窗簾的定時時間和開關(guān)狀態(tài),dd=2時可以查看燈光定時的時間和開關(guān)的狀態(tài).因為保存和確定是同一個按鍵,所以每個流程對bb,aa的值對應(yīng)每個的操作進行保存.當處在主頁面狀態(tài)時,通過無線模塊發(fā)射窗簾燈光信息給從機,主機主程序流程圖見圖4.
圖4 主機主程序流程圖
3.2 從機主程序設(shè)計
從機也是一個獨立的電路板,受單片機控制,所以開始上電復位時,也要對無線摸塊24L01初始化設(shè)置,中斷初始化設(shè)置,還要把燈光全關(guān),因為從機的LED連接方式是共陽極接法.初始化完后,先對外部的光敏電阻采樣的信號,輸入到單片機的A/D轉(zhuǎn)化輸入口(本機采用P1.7口),內(nèi)部A/D處理后可知道輸入的是高電平還是低電平,為后面的自動提供依據(jù).對主機發(fā)送過來的信號進行接收,然后對窗簾進行控制.緊接著當窗簾的定時信號到來時,可對其進行定時開關(guān).定時開關(guān)默認設(shè)置為開模式一,然后判斷是否是窗簾自動模式,當天亮時,光敏電阻電阻很小,通過A/D采樣處理得出高電平,于是窗簾自動開直達接觸到兩邊的左右開關(guān),停止.因為本系統(tǒng)設(shè)計有夜間模式功能,采用紅外人體模塊SR501,夜晚,當窗簾關(guān)閉,模式燈全關(guān)狀態(tài),表明進入夜間睡眠,當半夜有人經(jīng)過時,燈光自動開,3 s后滅,這樣既方便夜間行走,又能很好節(jié)約電能.燈光的模式和調(diào)光控制設(shè)在定時中斷中,當中斷信號到來,根據(jù)窗簾的選擇,PWM控制不同模式下的燈光的亮度.因為本系統(tǒng)還有遙控控制功能,該功能體現(xiàn)在外部中斷一,紅外接收頭檢測到遙控信號,改變窗簾燈光信號,進行新的窗簾和燈光設(shè)置,從機主程序流程圖見圖5.
圖5 從機主程序流程圖
3.3 步進電機控制程序設(shè)計
由于窗簾的工作狀態(tài)較多,以窗簾的全開、自動和定時三種模式為例說明,從機會接收主機或者遙控發(fā)送過來的窗簾信息,可知道窗簾的工作狀態(tài).程序會在窗簾工作前設(shè)定各個狀態(tài)所要執(zhí)行動作的數(shù)組表.判斷是否是全開模式的話,判斷左窗簾或者右窗簾是碰到開關(guān)0或者開關(guān)3,如果沒有碰到,左窗簾會向左開,直到碰到開關(guān)0;右窗簾向右開,直到碰到開關(guān)3,窗簾停止工作.如果窗簾不是全開模式,接下來判斷是否是其他正常模式(全關(guān),左開,左關(guān),右開,右關(guān)),若是自動模式,判斷光敏電阻的采樣值為高,說明天亮了,窗簾會自動將全開,如果窗簾不在自動模式,判斷是否定時,若是,并且時間定時信號到了,在對窗簾狀態(tài)開還是關(guān)進行判斷,然后執(zhí)行開或者關(guān)的操作,步進電機控制程序流程圖見圖6.
圖6 電機驅(qū)動程序流程圖
3.4 遙控控制程序設(shè)計
本系統(tǒng)的遙控控制程序在外部中斷1中,所以在主程序執(zhí)行前,將定時器初始化.當遙控器發(fā)射信號時,因為接收管接在單片機的P3.2,從機的遙控接收管接收到遙控信號,主程序停止運行,進入到外部中斷.接收管沒接到信號時處于高電平狀態(tài),接收到信號變?yōu)榈碗娖?,進入中斷時候,還要進一步判斷是否有遙控信號,如果沒有退出中斷.然后要等待9 ms左右,信號拉成低電平.變?yōu)楦唠娖剑忠却碗娖?,接收到低電平準備接收?shù)據(jù),因為遙控信號數(shù)據(jù)由四組組成:用戶地址、用戶地址相反、數(shù)據(jù)、數(shù)據(jù)相反這四種數(shù)據(jù)組成,所以要判斷是否接收到了四組的數(shù)據(jù),沒接收一組數(shù)據(jù)需要判斷拉高的時間是否過長,過長說明數(shù)據(jù)丟失,跳出中斷.四組數(shù)據(jù)接收完成,在判斷數(shù)據(jù)位,數(shù)據(jù)相反是否匹配,不匹配數(shù)據(jù)傳輸失敗,跳出中斷.如果接收到正確數(shù)據(jù),就可以對遙控鍵值對應(yīng)的參數(shù)進行設(shè)置,跳出中斷,遙控信號接收程序流程圖見圖7.
圖7 遙控信號接收程序流程圖
3.5 燈光控制程序設(shè)計
燈光控制具有模式選擇、燈光調(diào)控和定時功能.因為調(diào)光采用的是PWM調(diào)光,所以燈光控制設(shè)計在定時器1,主程序要對定時器初始化,如果進入中斷,對timer1進行加1,接著對燈光的工作模式進行選擇,因為本次設(shè)計有三種燈光模式,工作方式相同,現(xiàn)在支隊模式一說明,進入模式一工作狀態(tài),讓燈光亮timer1次,滅100減去timer1次,實現(xiàn)PWM波調(diào)光,退出中斷.如果選擇關(guān)閉時,對燈光進行關(guān)閉,退出中斷.如果工作在定時狀態(tài)時,等待定時信號到來,定時一到,判斷燈光定時狀態(tài)開還是關(guān),如果是開,默認開模式一,否則定時關(guān)閉后直接退出中斷.
本系統(tǒng)系統(tǒng)由主機和從機兩個部分組成,主機通過無線模塊將所要操作的信息傳遞給從機,從機執(zhí)行相應(yīng)的動作.通過LCD12864進行顯示時間信息和相應(yīng)的操作,時間通過DS1302實現(xiàn),帶外部電源,斷電時間信息依然保存.本系統(tǒng)可對燈光和窗簾實現(xiàn)定時功能,將時間信息和相應(yīng)操作信息存儲在24C02芯片中,可通過查看鍵查看相應(yīng)的定時信息.主機可對窗簾進行全開、全關(guān)、定時和自動等控制.可對燈光進行模式一、模式二、模式三、全關(guān)和定時功能選擇.系統(tǒng)可對燈光和窗簾在每周的任何時段進行定時開或關(guān).從機負責系統(tǒng)的執(zhí)行操作,可對主機或者遙控器發(fā)送過來的信息進行操作.從機由燈光電路、步進電機驅(qū)動電路、蜂鳴器驅(qū)動電路、輸入輸出擴展電路和遙控信號采集電路等組成.遙控器除了發(fā)射主控信號的操作外,還具有燈光的亮度進行調(diào)節(jié)、窗簾的開度進行調(diào)節(jié)和關(guān)閉鬧鈴等功能.使臥室實現(xiàn)智能化,高效化,便捷化.
[1] 楊 晶,唐小琦,宋 寶.智能護理床無線控制軟件的設(shè)計與實現(xiàn)[J]. 機械與電子,2015(2):74-77.
[2] 郭天祥.新概念51單片機C語言教程[M].電子工業(yè)出版社,2009.
[3] 胡乾斌,李光斌,李 玲,等.單片微型計算機原理與應(yīng)用[M].(第二版).武漢:華中科技大學出版社,2006.
[4] 樊昌信 曹麗娜.通信原理[M].(第六版).北京:國防工業(yè)出版社,2009.
[5] 徐 鵬,郭燕錦. 智能家居控制系統(tǒng)的設(shè)計與實現(xiàn)[J]. 科技廣場,2015(1):85-89.
[6] 曾小波,曠永紅.基于自適應(yīng)模糊PID控制的整流器設(shè)計與實現(xiàn)[J]. 湖南工程學院學報(自科版),2015,25(3):13-17.
[7] 梁曉梅.智能家居系統(tǒng)設(shè)計與研究[J].科技風,2012(18):150-150.
[8] 康祥喆.淺談我國智能家居的現(xiàn)狀及發(fā)展趨勢 [J].中國科技信息,2014(8):121-122.
Design of Bedroom Intelligent Control System Based on STC12C5A60S2
WANG Hong-li
(Department of Electric and Electrical Engineering, Fuzhou Vocational and Technical College, Fuzhou 350108, China)
The system adopts two STC12C5A60S2 chips as the system control core, consisting of the host control and the machine control. The host gives a message to the machine. Timing, curtains opening and lighting for automatic control mode selection can be done. At the same time, the remote control can also berealized. In addition to launching the operation of the main signal, the remote control can adjust the brightness of the light, the opening of the curtain. It can also close the alarm and operate other functions. The intelligence, efficiency and convenience of the bedroom makes our life more comfortable and enjoyable.
single chip microcomputer; intelligent household; light; curtain
2016-05-09
王洪麗(1977-),女,碩士,副教授,研究方向:電子通信工程.
TN916.42
A
1671-119X(2016)04-0018-05