胡菁蕓,劉 月,鮑震杰,靳亞東
(西藏民族大學(xué) 信息工程學(xué)院,陜西 咸陽 712082)
城市現(xiàn)代信息文明不斷取得進(jìn)步的同時,照明設(shè)施建設(shè)已“脫胎換骨”有了進(jìn)一步的發(fā)展。與此同時,能源供需矛盾也愈發(fā)突出,節(jié)約能源的要求越來越高,因此利用現(xiàn)代科技手段來解決這些矛盾非常重要。本文設(shè)計采用的智能化管理系統(tǒng)既有節(jié)約電能,減少資源浪費(fèi)的特點(diǎn),又可以科學(xué)地解決現(xiàn)代化都市的一些問題。
現(xiàn)今,智能路燈控制系統(tǒng)[1]的設(shè)計已經(jīng)較為成熟,市面上現(xiàn)存的路燈控制系統(tǒng)大致可分為以下兩種類型:一種是使用時鐘控制,一種是使用光敏電阻的感光特性并搭上各類傳感器的信號檢測所產(chǎn)生的電信號來控制。兩者特點(diǎn)各不相同,其用途也不盡相同,本文計劃通過簡單的合成使得智能路燈系統(tǒng)同時擁有以上兩種特點(diǎn),可通過人為選擇來決定當(dāng)前路燈所處的模式。目前市面上已存在很多種類的路燈設(shè)計,諸如多模式LED路燈、基于ZigBee技術(shù)的智能路燈[2]、基于WSN技術(shù)的智能路燈[3]等智能設(shè)計。本次設(shè)計所使用的89系列單片機(jī)以其功能較為強(qiáng)大、體積小、易擴(kuò)展等優(yōu)點(diǎn)被廣泛使用于智能控制領(lǐng)域。用單片機(jī)來設(shè)計智能路燈既可提升智能路燈控制系統(tǒng)的整體性能,也可以在很大程度上減少電能損耗,同時順應(yīng)了如今提倡節(jié)能環(huán)保的生活主題。
單片機(jī)在作為本文智能路燈系統(tǒng)主控芯電路部分的同時,還有時鐘電路、光照采集和人體紅外電路、斷路檢測電路、液晶顯示以及由獨(dú)立按鍵組成的電路。該智能路燈系統(tǒng)所需要實(shí)現(xiàn)的功能為:1)具有定時開閉和自動開閉兩種工作模式。2)當(dāng)處于定時模式時,可通過按鍵設(shè)置路燈的開、關(guān)燈時間;當(dāng)處于自動模式時,可通過當(dāng)前環(huán)境光照強(qiáng)度及是否有人經(jīng)過自動開、關(guān)路燈。3)系統(tǒng)中的故障檢測模塊能夠判斷照明電路是否斷路,當(dāng)路燈電路出現(xiàn)斷路現(xiàn)象時通過RS485總線向后臺管理計算機(jī)發(fā)送報警信息,如圖1所示。
圖1 系統(tǒng)的結(jié)構(gòu)框圖Fig.1 Structure block diagram of the system
AT89C51外部接了一個石英振蕩晶體,這是因?yàn)閮?nèi)部的振蕩器并不穩(wěn)定,需要外接一個振蕩源來促使其穩(wěn)定[4]。單片機(jī)提供時鐘信號的晶振電路由兩個30 pF的電容和一個石英振蕩器構(gòu)成,它的兩頭連接著單片機(jī)的XTAL1和XTAL2引腳。同時,單片機(jī)的RST引腳連接到復(fù)位電路,使用獨(dú)立按鍵來仿真點(diǎn)觸開關(guān)可進(jìn)行手動復(fù)位,當(dāng)象征著復(fù)位的獨(dú)立按鍵被按下時,其上連接的電解電容(CAP-elec)開始放電,對單片機(jī)的RST引腳輸出高電平,使得單片機(jī)復(fù)位,此時單片機(jī)的程序計數(shù)器清零,該電路在單片機(jī)出現(xiàn)程序死機(jī)時很有用。
1.3.1 光敏二極管控制模塊
光敏二極管對光強(qiáng)度的變化較為敏感,會根據(jù)光強(qiáng)差異而改變電壓特性,且具有單向?qū)щ娦缘忍攸c(diǎn),因此這一器件十分適合本系統(tǒng)。如圖2,把光敏二極管的兩極加上電壓,此時就會有電流流過光敏二極管,當(dāng)二極管上有光照射到時,其上的電壓就會隨著光照強(qiáng)度的變化而變化,當(dāng)光照強(qiáng)度弱時,光敏二極管的分壓高,此時相應(yīng)地輸出高電位;當(dāng)光照強(qiáng)度強(qiáng)時輸出低電位,即可將光的變化轉(zhuǎn)換為電的變化,從而實(shí)現(xiàn)路燈在不同光線下的自動控制[5]。光敏二極管收集到的信號需要通過ADC0809模數(shù)轉(zhuǎn)換芯片進(jìn)行采集,并連接到單片機(jī)的P2.3—P2.6引腳。
圖2 光敏二極管控制系統(tǒng)Fig.2 Photodiode control system
1.3.2 人體紅外檢測模塊
人體紅外檢測模塊完成的功能是完成從光信號到電信號的轉(zhuǎn)換,即當(dāng)它的感應(yīng)范圍內(nèi)有人進(jìn)入時,可相應(yīng)輸出高電平;當(dāng)在它的感應(yīng)范圍內(nèi)沒有感應(yīng)到人體的時候,可相應(yīng)輸出低電平[6]。此處的仿真即用一個獨(dú)立按鍵表示,當(dāng)按鍵按下,表示路燈附近有人體經(jīng)過,輸出高電平;反之,表示附近無人,輸出低電平。
采用LCD1602液晶屏,該液晶屏顯示具有質(zhì)量高、體積小、接口為數(shù)字式且功耗低等特點(diǎn),操作方便,可用性高。當(dāng)前所處的模式、當(dāng)前時間以及確定的時間通過單片機(jī)的P0端口傳遞給LCD1602,再由LCD1602顯示出來,LCD1602與單片機(jī)的連接如圖3所示。
圖3 1602液晶顯示電路Fig.3 1602 LCD circuit
時鐘模塊使用的是美國DALLS公司推出的DS1302芯片,可使用該芯片為本系統(tǒng)提供定時、計數(shù)功能,利用其特點(diǎn)設(shè)計智能路燈的手動模式。當(dāng)處于定時模式時可向單片機(jī)提供實(shí)時時間和日期信息。DS1302的兩個電源引腳分別為VCC1和VCC2,其中前者為后備電源,后者為主電源。使用兩個電源是為了當(dāng)主電源即VCC2被關(guān)閉時,時鐘仍然可以繼續(xù)正常運(yùn)行,可防止斷電使時間和日期數(shù)據(jù)丟失。DS1302芯片上電工作后,在傳送的過程中給RST復(fù)位引腳置高電平,此時可對該芯片進(jìn)行讀或?qū)懖僮?當(dāng)它置為低電平時,數(shù)據(jù)傳送將會停止[7]。如圖4所示,DS1302的SCLK、RWD引腳連接單片機(jī)相關(guān)引腳。如在6:00—18:00這一時間段內(nèi),會通過相關(guān)引腳向單片機(jī)發(fā)送信號使其做出相應(yīng)的操作來控制路燈的開啟和關(guān)閉。
圖4 時鐘計數(shù)電路Fig.4 Clock counting circuit
由四個獨(dú)立按鍵組成的按鍵電路有以下四個功能:即設(shè)置當(dāng)前所處的模式為手動或者自動、設(shè)置當(dāng)處于手動模式下路燈所處狀態(tài)的時間、時間數(shù)字加一以及時間數(shù)字減一,按鍵電路如圖5所示。使單片機(jī)的P3.0,P3.2,P3.3,P3.4四個引腳分別與各個獨(dú)立按鍵相連,當(dāng)按下第一個按鍵時,1602顯示進(jìn)入模式選擇,可設(shè)置當(dāng)前所處模式。處于手動模式時,可通過第二個按鍵進(jìn)行設(shè)置路燈開啟或者關(guān)閉的時間,此時第三個和第四個按鍵則分別對應(yīng)著時間數(shù)字的加一或者減一,當(dāng)時間調(diào)到需要設(shè)置的正確值時,再次按下第二個按鍵,即可設(shè)置成功。當(dāng)處于自動模式下,則后面三個按鍵無需使用。
圖5 按鍵電路Fig.5 Key circuit
路燈組控制電路是整個設(shè)計中較為重要的部分,主要是通過連接單片機(jī)的P2.2引腳來實(shí)現(xiàn)具體的控制指令,此時,由單片機(jī)、發(fā)光二極管以及驅(qū)動電路組成的LED路燈組電路即可通過單片機(jī)的P2.2引腳來控制實(shí)現(xiàn)路燈狀態(tài)的改變。如圖6所示,路燈組電路由1 kΩ電阻連接到的三極管放大電路和繼電器組成,當(dāng)連接三極管基極一端的電位為低電平時三極管導(dǎo)通,其集電極連接的繼電器觸點(diǎn)打開,接通發(fā)光二極管所在的電路,此時路燈點(diǎn)亮。
圖6 路燈組控制電路Fig.6 Control circuit of street lamp group
當(dāng)處于手動模式時,通過設(shè)置時鐘電路將路燈點(diǎn)亮的時間設(shè)置為18:00—6:00;當(dāng)處于自動模式時,通過光電檢測和人體紅外檢測可設(shè)置路燈的點(diǎn)亮或關(guān)閉,即當(dāng)光照強(qiáng)度弱且路燈可檢測范圍內(nèi)有人體經(jīng)過時,檢測信號通過P2.2引腳輸入單片機(jī)使路燈點(diǎn)亮,在延遲一定的時間后路燈自動關(guān)閉。
本文系統(tǒng)的仿真使用單刀雙擲開關(guān)來模擬電路的通路或斷路,當(dāng)開關(guān)置于電源一端時表明電路正常,向ADC0809模數(shù)轉(zhuǎn)換器的IN1輸出高電平,當(dāng)開關(guān)接地時則表明電路出現(xiàn)斷路,向IN1輸出低電平。此時單片機(jī)接收模數(shù)轉(zhuǎn)換來的信息,再經(jīng)過分析處理后通過串口輸出字符串“Circurit Open”.
ADC0809芯片的控制地址鎖存允許信號ALE、數(shù)據(jù)輸出允許信號OE分別與單片機(jī)的P2.3和P2.4引腳相連,單片機(jī)的P1端口可接到該芯片的8位數(shù)字輸出端。當(dāng)ALE=1時,地址輸入為001,此時將斷路檢測電路的模擬輸入到比較器,模數(shù)轉(zhuǎn)換完成的標(biāo)志為EOC變?yōu)楦唠娖?。?shù)據(jù)總線接收來自ADC0809的輸出轉(zhuǎn)換結(jié)果的數(shù)字量,此時OE的輸入為高電平。
圖7 串口輸出Fig.7 Serial port output
采用電平轉(zhuǎn)換電路將計算機(jī)的信號電平轉(zhuǎn)換成RS-485標(biāo)準(zhǔn)電平,因?yàn)閱纹瑱C(jī)中只有一個采用TTL電平的可編程串口,與PC機(jī)中的兩個RS-232串行通信標(biāo)準(zhǔn)接口COM1、COM2無法對接。通過TXD實(shí)現(xiàn)串行長距離可靠通信,使得串口輸出如圖的特定字符。其中,用于485協(xié)議與TTL協(xié)議轉(zhuǎn)換的小功率收發(fā)器,是一種符合RS-485標(biāo)準(zhǔn)的MAX487差分平衡型收發(fā)器芯片[8],其特點(diǎn)為所含的驅(qū)動器具有過載保護(hù)功能。如圖7所示,本次設(shè)計將兩個MAX487相連,左邊的MAX487接收器為U5,右邊的為U4,此時將U5輸出使RE置低,U4的RE置高,使得U5的接收器輸出RO有效,U4的RO為高阻狀態(tài)。相關(guān)引腳連接完畢后使左端接收器輸出接虛擬串口的RXD,使得串口輸出指定字符。
程序流程如圖8所示,首先,初始化相關(guān)的器件和程序后進(jìn)行模式選擇,若處于手動模式時,則向DS1302發(fā)送請求,更新時間數(shù)據(jù)后設(shè)定時間;若處于自動模式時,依據(jù)傳感器的反饋給與相應(yīng)的燈光處理。
圖8 系統(tǒng)軟件流程圖Fig.8 System software flow chart
然后檢測電路是否故障,當(dāng)電路出現(xiàn)故障時,通過串口輸出相應(yīng)字符。本系統(tǒng)的軟件設(shè)計部分有一個主函數(shù)和兩個中斷,其中一個中斷為外部中斷,主要用于處理手動、自動模式的切換,另一個中斷為定時器中斷。
本文設(shè)計所用到的Proteus軟件具有非常強(qiáng)大的原理圖繪制功能,可將原理布圖和代碼調(diào)試完美融合且可實(shí)現(xiàn)單片機(jī)和外圍電路的協(xié)同仿真,是一個從概念到產(chǎn)品功能,設(shè)計完整的軟件。同時它也支持主流單片機(jī)系統(tǒng),可提供豐富大量的元器件庫,這是普通實(shí)驗(yàn)室無法與之相比的,這一特點(diǎn)為設(shè)計實(shí)驗(yàn)提供了大量的虛擬儀表儀。因此Proteus仿真軟件的使用為本設(shè)計提供了很大的幫助。
通過按鍵選擇使路燈處于定時模式,如圖9所示。
圖9 手動模式下路燈仿真Fig.9 Street lamp simulation in manual mode
通過按鍵選擇使路燈處于自動模式,在該模式下可以根據(jù)光照強(qiáng)度和有無人體經(jīng)過自動改變路燈的亮滅狀態(tài)。首先調(diào)節(jié)光敏二極管所接收的光照強(qiáng)度,使其接收亮光,同時,按下模擬人體紅外傳感器的獨(dú)立按鍵,即表示當(dāng)處于白天時,有路人經(jīng)過路燈,此時LED路燈組均處于熄滅狀態(tài)。調(diào)節(jié)光敏二極管所處光照強(qiáng)度采集電路,使其所接受的光照強(qiáng)度較弱,同時按下代表熱釋電人體紅外的獨(dú)立按鍵,即表示當(dāng)處于黑夜時,有人經(jīng)過路燈,此時路燈處于點(diǎn)亮狀態(tài),如圖10.
圖10 自動模式下有人經(jīng)過Fig.10 Someone passing by in automatic mode
用于仿真斷路檢測電路的單刀雙擲開關(guān)接高電平時表示電路正常,此時虛擬串口無輸出;當(dāng)單刀雙擲開關(guān)接地時,則表示電路出現(xiàn)斷路,此時虛擬串口輸出如圖11所示的字符串“Circuit Open”.
圖11 電路斷路狀態(tài)的串口Fig.11 Serial port with circuit open
隨著時代的進(jìn)步和現(xiàn)代化科學(xué)技術(shù)的發(fā)展,傳統(tǒng)意義上路燈的控制和維護(hù)方法已經(jīng)無法滿足和適應(yīng)現(xiàn)代化都市的要求,同時伴隨著單片機(jī)、IC芯片等技術(shù)的發(fā)展,智能路燈控制系統(tǒng)的發(fā)展也有了前提和基礎(chǔ)。本文設(shè)計利用keil編譯環(huán)境與Proteus仿真軟件對路燈控制系統(tǒng)進(jìn)行程序編寫和硬件仿真,可實(shí)現(xiàn)兩種模式的功能[9],當(dāng)處于手動模式下,該路燈系統(tǒng)所具有的時鐘功能能夠設(shè)定定時模式的時間,并通過1602顯示出來;當(dāng)處于自動模式時,可通過光電檢測電路中的光敏二極管來感知外部光照強(qiáng)度,再根據(jù)光信號的強(qiáng)弱以及人體熱釋電感應(yīng)傳送的信號,單片機(jī)發(fā)出信號智能地打開和關(guān)閉路燈,同時可檢測電路是否斷路。本系統(tǒng)雖設(shè)計簡單,但應(yīng)用的范圍卻很廣,可通過簡單的控制實(shí)現(xiàn)節(jié)約人力、節(jié)能減排的目的,可獲得較好的經(jīng)濟(jì)效益。本系統(tǒng)也存有需要改進(jìn)的地方,如本文所涉及的人體檢測及斷路檢測等涉及傳感器的電路均使用簡單模型代替,若運(yùn)用于實(shí)際中需要進(jìn)行進(jìn)一步的設(shè)計,且其中使用的人體紅外傳感器在實(shí)際應(yīng)用中應(yīng)該做好相關(guān)的維護(hù)工作[10],因?yàn)槠浞浅H菀诪橥饨绲沫h(huán)境因素所影響。