王永濤, 王啟明
(平頂山學(xué)院 ,河南 平頂山 467000)
隨著科學(xué)的不斷發(fā)展進(jìn)步,人們的生活越來(lái)越便利,尤其是智能化產(chǎn)品的出現(xiàn),更提高了人們的生活品質(zhì)[1]。生活中常見(jiàn)的智能產(chǎn)品有智能洗衣機(jī)、智能電飯鍋、智能電磁等,它們都是運(yùn)用單片機(jī)來(lái)控制各種功能以達(dá)到智能化。然而,大部分家庭里現(xiàn)在安裝的都是臺(tái)燈、熒光燈、白熾燈這些普通燈具,有很多缺點(diǎn):第一,使用手動(dòng)開(kāi)關(guān)來(lái)開(kāi)關(guān)燈,會(huì)讓人們?cè)谑褂秒娖鲿r(shí)存在觸電的安全隱患[2];第二,燈具頻繁使用,其頻閃效應(yīng),會(huì)給人們的眼睛帶來(lái)極大的傷害;第三,功率消耗大,比較費(fèi)電;第四,由于是手工操作關(guān)燈,有時(shí)如果忘記關(guān)閉正在工作的燈具,也是一種能源浪費(fèi)。為了解決以上問(wèn)題,智能燈便應(yīng)用而生。采用STC89C51單片機(jī)為主控元件設(shè)計(jì)的智能燈,具有電路結(jié)構(gòu)簡(jiǎn)單,易開(kāi)發(fā)、生產(chǎn)成本低等特點(diǎn),能夠較好地滿足人們?cè)谏钪械男枨蟆?/p>
系統(tǒng)結(jié)構(gòu)圖如圖1所示。整個(gè)系統(tǒng)是在 80C51控制下工作的。其工作過(guò)程為:當(dāng)環(huán)境光比較強(qiáng)時(shí),光敏電阻阻值比較小,信號(hào)處理電路檢測(cè)到低電平信號(hào),禁止熱釋電紅外傳感器工作,省去了 80C51 處理過(guò)程。當(dāng)環(huán)境光比較弱時(shí),光敏電阻阻值變大,信號(hào)處理電路接收到高電平,從而啟動(dòng)熱釋電紅外傳感器工作[3]。熱釋電紅外傳感器能探測(cè)比較遠(yuǎn)的距離,當(dāng)人體進(jìn)入到傳感器的控測(cè)范圍內(nèi)且光強(qiáng)較弱時(shí),信號(hào)檢測(cè)電路處理信號(hào),并向單片機(jī)發(fā)送一個(gè)中斷,80C51 啟動(dòng)燈光控制電路,點(diǎn)亮智能燈[4]。同時(shí)也可以進(jìn)行模式調(diào)節(jié),手動(dòng)模式下,手動(dòng)調(diào)節(jié)燈的亮度,
圖1 系統(tǒng)結(jié)構(gòu)圖
圖2 總體電路電路圖
本智能燈的硬件部分包括燈光模塊、熱釋電、電源模塊、光敏電阻、顯示模塊、ADC模塊和核心MCU七個(gè)部分,這七個(gè)部分相互配合、共同作用,實(shí)現(xiàn)了智能燈的功能。總體電路設(shè)計(jì)如圖2所示。
光敏電阻(photoresistor or light-dependent resistor,后者縮寫(xiě)為ldr)或光導(dǎo)管(photoconductor),光敏電阻是用硫化鎘或硒化鎘等半導(dǎo)體材料制成的特殊電阻器,對(duì)光線十分敏感,具有在特定波長(zhǎng)的光照射下,其阻值迅速減小的特性。光敏電阻在無(wú)光照時(shí),呈高阻狀態(tài),暗電阻一般可達(dá)1.5MΩ;光照愈強(qiáng),阻值就愈低,亮電阻可小至1KΩ以下。本設(shè)計(jì)就是利用光敏電阻的阻值隨著亮度的改變而改變,從而改變光敏電阻上的電壓值[5]。這時(shí),通過(guò)AD轉(zhuǎn)換器采集電壓,傳輸給單片機(jī),從而達(dá)到智能控制燈的亮滅。
AT89C51單片機(jī)屬于MCS-51系列單片機(jī),由Intel公司開(kāi)發(fā),其結(jié)構(gòu)是8048的延伸,改進(jìn)了8048的缺點(diǎn),增加了如乘(MUL)、除(DIV)、減(SUBB)、比較(CMP)、16位數(shù)據(jù)指針、布爾代數(shù)運(yùn)算等指令,以及串行通信能力和5個(gè)中斷源。采用40引腳雙列直插式DIP(Dual In Line Package),內(nèi)有128Byte的RAM單元及4K的ROM。
AT89C51有兩個(gè)16位定時(shí)計(jì)數(shù)器,兩個(gè)外中斷,兩個(gè)定時(shí)計(jì)數(shù)中斷,一個(gè)串行中斷,并有4個(gè)8位并行輸入口。AT89C51內(nèi)部有時(shí)鐘電路,但需要石英晶體和微調(diào)電容外接,本系統(tǒng)中采用12MHz的晶振頻率。由于AT89C51的系統(tǒng)性能滿足系統(tǒng)數(shù)據(jù)采集及時(shí)間精度的要求,而且產(chǎn)品產(chǎn)量豐富來(lái)源廣,應(yīng)用也很成熟,故采用來(lái)作為控制核心。
紅外熱釋電傳感器由傳感探測(cè)元、干涉濾光片和場(chǎng)效應(yīng)管匹配器三部分組成,探測(cè)元件將探測(cè)并接收到的紅外輻射轉(zhuǎn)變成微弱的電壓信號(hào),經(jīng)裝在探頭內(nèi)的場(chǎng)效應(yīng)管放大后向外輸出。為了提高探測(cè)器的探測(cè)靈敏度以增大探測(cè)距離,一般在探測(cè)器的前方裝設(shè)一個(gè)菲涅爾透鏡,利用透鏡的特殊光學(xué)原理,在探測(cè)器前方產(chǎn)生一個(gè)交替變化的“盲區(qū)”和“高靈敏區(qū)”,以提高它的探測(cè)接收靈敏度。當(dāng)有人從透鏡前走過(guò)時(shí),人體發(fā)出的紅外線就不斷地交替從“盲區(qū)”進(jìn)入“高靈敏區(qū)”,這樣就使接收到的紅外信號(hào)以忽強(qiáng)忽弱的脈沖形式輸入,從而強(qiáng)化其能量幅度.同時(shí)人體輻射的紅外線中心波長(zhǎng)為9~10um,而探測(cè)元件的波長(zhǎng)靈敏度在0.2~20um范圍內(nèi)幾乎穩(wěn)定不變。在傳感器頂端開(kāi)設(shè)了一個(gè)裝有濾光鏡片的窗口,這個(gè)濾光片可通過(guò)光的波長(zhǎng)范圍為7~10um,正好適合于人體紅外輻射的探測(cè),而對(duì)其它波長(zhǎng)的紅外線由濾光片予以吸收,這樣便形成了一種專門(mén)用作探測(cè)人體輻射的紅外線傳感器,所以說(shuō)有人的時(shí)候,才會(huì)亮,動(dòng)物也不會(huì)亮,這樣大大的節(jié)省啦資源。當(dāng)人體進(jìn)入其感應(yīng)范圍時(shí),傳感器就會(huì)產(chǎn)生幾 mV信號(hào),然后通過(guò)以 BISS0001為中心的人體紅外模塊, 對(duì)信號(hào)進(jìn)行二次放大, 并濾波以防止外界的信號(hào)產(chǎn)生干擾。信號(hào)經(jīng)過(guò) BISS0001 后從而轉(zhuǎn)化為數(shù)字信號(hào)輸出,便于用單片機(jī)進(jìn)處理。
ADC0808 是含 8 位 A/D 轉(zhuǎn)換器、8 路多路開(kāi)關(guān),以及與微型計(jì)算機(jī)兼容的控制邏輯的CMOS組件,其轉(zhuǎn)換方法為逐次逼近型。ADC0808的精度為1/2LSB。在AD 轉(zhuǎn)換器內(nèi)部有一個(gè)高阻抗斬波穩(wěn)定比較器,一個(gè)帶模擬開(kāi)關(guān)樹(shù)組的256 電阻分壓器,以及一個(gè)逐次通近型寄存器。8 路的模擬開(kāi)關(guān)的通斷由地址鎖存器和譯碼器控制,可以在8 個(gè)通道中任意訪問(wèn)一個(gè)單邊的模擬信號(hào)。
采用四位一體數(shù)碼管顯示數(shù)字。進(jìn)行位選和段選(位選是指選擇要使用的數(shù)碼管,段選是指讓某個(gè)數(shù)碼管顯示數(shù)字)。首先要將每個(gè)位選置0,再將要使用的數(shù)碼管位選置1;然后進(jìn)行段選(要注意所用數(shù)碼管為共陰極還是共陽(yáng)極);最后通過(guò)除和取余運(yùn)算將所要顯示的數(shù)字顯示到數(shù)碼管上。
本系統(tǒng)的紅外熱釋電使用開(kāi)關(guān)進(jìn)行模擬,系統(tǒng)運(yùn)行時(shí),通過(guò)開(kāi)關(guān)的斷開(kāi)與閉合,反應(yīng)是否有人,進(jìn)而控制燈的亮滅(低電平代表有人)。
系統(tǒng)運(yùn)行時(shí),首先是對(duì)ADC進(jìn)行初始化,主要功能是選擇轉(zhuǎn)換通道、配置通道、鎖存轉(zhuǎn)換通道、打開(kāi)輸出使能;然后進(jìn)行ADC轉(zhuǎn)換(START開(kāi)始轉(zhuǎn)換引腳,觸發(fā)條件拉高最少100ns,拉低);最后通過(guò)數(shù)碼管顯示信息。
本系統(tǒng)定時(shí)和中斷主要用于定時(shí)、延時(shí)和方波占空比的控制。系統(tǒng)運(yùn)行時(shí),首先對(duì)定時(shí)器進(jìn)行初始化,主要包括寄存器TMOD的設(shè)置、設(shè)置定時(shí)初始值、中斷總允許、打開(kāi)定時(shí)器中斷、打開(kāi)定時(shí)器開(kāi)始計(jì)數(shù);然后進(jìn)入中斷服務(wù)函數(shù),進(jìn)行相應(yīng)的時(shí)間設(shè)置。
本系統(tǒng)主要使用PWM方波控制燈的亮度。在系統(tǒng)運(yùn)行時(shí),首先判斷是否有人,如果有人,則讓燈亮,否則,燈滅;然后通過(guò)中斷來(lái)設(shè)置PWM方波的占空比,達(dá)到控制燈亮度的目的。
主程序運(yùn)行時(shí),首先進(jìn)行初始化,包含定時(shí)器0和1的初始化、ADC的初始化;接著,確定ADC的轉(zhuǎn)換時(shí)間(每500ms轉(zhuǎn)換一次,用定時(shí)器和中斷實(shí)現(xiàn));然后,根據(jù)光照強(qiáng)度的強(qiáng)弱設(shè)置PWM方波的占空比(當(dāng)光線最暗時(shí),燈最亮,占空比為100%);最后,將數(shù)據(jù)顯示到數(shù)碼管上,程序結(jié)束。
設(shè)計(jì)了一種以單片機(jī)AT89C81為控制核心的智能燈系統(tǒng),結(jié)構(gòu)簡(jiǎn)單,應(yīng)用廣泛,更加適用于未來(lái)的智能化社會(huì),更能跟上時(shí)代的發(fā)展,為進(jìn)入物聯(lián)網(wǎng)領(lǐng)域打開(kāi)了大門(mén)。