引言
隨著人們生活水平的提高,人們對照明控制的要求越來越高,如營造舒適的照明環(huán)境、節(jié)約電能、提高光源壽命等。為了提高工作環(huán)境的舒適性,照明控制系統(tǒng)采取光傳感器,根據(jù)當前環(huán)境的照度自動控制照明設備,從而使照度控制在舒適的范圍內(nèi)。
在傳統(tǒng)的照明控制系統(tǒng)中,往往采用普通光傳感器結(jié)合A/D轉(zhuǎn)換器(ADC)的方案。一方面由于光傳感器檢測到的光信號既包含可見光成分又有紅外光成分,在設計中要考慮濾除紅外光對光傳感器檢測結(jié)果的影響,并且由于采用了分離的器件,因此導致設計比較復雜;另一方面,對照度的檢測范圍比較局限,不利于實現(xiàn)多路照度檢測從而對同一場所內(nèi)多個照明設備實施分區(qū)域控制。在此提出了基于ISL29004的多路照度檢測方案,以簡化系統(tǒng)設計,并采用單片機P87LPC768作為智能照明控制設備的控制核心,以實現(xiàn)對多個照明設備執(zhí)行分區(qū)域控制,在節(jié)能的同時營造更舒適的照明環(huán)境。
1 I2C器件ISL29004
1.1 I2C總線概述
I2C總線是PhiIips公司推出的芯片間串行傳輸總線,以二線傳輸,其總線上所有的節(jié)點,如主器件(單片機、微處理器)、外圍器件、接口模塊等都連接到同名端的SDA和SCL上,實現(xiàn)了完備的半雙工同步數(shù)據(jù)傳送,可以方便地構(gòu)成多機系統(tǒng)和外圍器件擴展系統(tǒng)。I2C總線采用器件地址的硬件配置要領(lǐng),通過軟件尋址完全防止了器件的片選線尋址要領(lǐng),從而使硬件系統(tǒng)具有基本靈活的擴展要領(lǐng)。
I2C總線傳輸數(shù)據(jù)必須遵循規(guī)定的數(shù)據(jù)傳輸格式,數(shù)據(jù)傳輸由主控器控制,主控器啟動數(shù)據(jù)的傳輸、發(fā)送起始信號、尋址信息以及傳送結(jié)束時發(fā)出停止信號,被控器執(zhí)行必要的應答。
1.2 光傳感器ISL29004
ISL29004是新一代光一數(shù)字傳感器,集成了電流放大器、用于消除人為光閃爍的50 Hz/60 Hz抑制濾波器和16位adc,能將光照度轉(zhuǎn)化成簡便易用的16位、I2C標準數(shù)字輸出信號,為用戶提供了單芯片處理方案。ISL29004內(nèi)部有2個光敏二極管,二極管1檢測環(huán)境中可見光和紅外光總的照度,二極管2只檢測環(huán)境中紅外光照度,兩個二極管的光譜響應是互不依賴的。用戶可以通過編程控制adc的工作模式,既可以僅輸出光敏二極管1或2的檢測結(jié)果,在模式2下還可以輸出經(jīng)內(nèi)部減函數(shù)計算的濾除紅外光影響的結(jié)果。ISL29004內(nèi)有8個8位的寄存器,1個命令寄存器,1個控制寄存器,2個中斷閾值寄存器,4個只讀數(shù)據(jù)寄存器。命令寄存器可以設定ADC的工作模式以及分辨率;控制寄存器可以調(diào)整增益從而選擇照度檢測范圍;只讀數(shù)據(jù)寄存器LSB_Sensor和MSB_Sensor可以讀取ADC最近的數(shù)字輸出;只讀數(shù)據(jù)寄存器LSB_timer和MSB_timer可以讀取ADC最近一次積分的周期數(shù)。8個寄存器的地址依次為00H~07H。
ISL29004有2個I2C接口地址選擇引腳A0,A1,可以在1條I2C總線線路上安裝4個ISL29004,并且可以和其他I2C外圍節(jié)點共存。
2 硬件結(jié)構(gòu)以及工作原理
2.1 總體結(jié)構(gòu)
系統(tǒng)構(gòu)成框圖如圖1所示。單片機P87LPC768作為I2C總線的主控器,ISL29004作為被控器,4個ISL29004的設備地址依次為:44H~47H,通過ISL29004的地址引腳A1,A0執(zhí)行配置。在系統(tǒng)中,運用了準雙向I2C總線緩沖器P82896對I2C總線執(zhí)行驅(qū)動擴展,實現(xiàn)I2C總線的遠距離傳輸,拓展了照度采集距離;P87LPC768的I2C總線經(jīng)P82896緩沖器擴展后通過雙絞線和遠端的P82896以及ISL29004連接。與4組照度采集電路相對應,調(diào)光控制電路也有4組,與P87LPC768的4個PWM引腳相連。
2.2 調(diào)光控制電路
調(diào)光控制電路如圖2所示,用光電耦合器MOC3041作為晶閘管的驅(qū)動器,同時能實現(xiàn)強、弱電的隔離。MOC3041內(nèi)部有過零檢測電路,當P0.O為低電平時,輸出端6引腳、4引腳之間的電壓稍過零時,MOC304.1內(nèi)部雙向晶閘管導通,觸發(fā)外部晶閘管T1導通。當PO.0為高電平時,MOC304l內(nèi)部雙向晶閘管關(guān)斷,從而外部晶閘管T1也關(guān)斷。
通過P87LPC768的PWM輸出控制MOC3041的導通與關(guān)斷時間比值來調(diào)節(jié)照明設備的功率,從而實現(xiàn)照明設備的打開、關(guān)上以及亮度調(diào)節(jié)。
2.3 工作原理
在程序中通過定時中斷讀取4路ISL29004的ADC輸出,并轉(zhuǎn)換為照度值;ISL29004內(nèi)部的ADC工作在模式2,分辨率為16,照度檢測范圍一般設為O~1 000Lux即可滿足一般的照明場所的照度檢測要求。假設讀取ISL29004的ADC的輸出為DATA,則可以通過以下的公式轉(zhuǎn)換為照度值:
然后根據(jù)計算所得到的照度值執(zhí)行調(diào)光控制;由于P87LPC768的PWM輸出的占空比是根據(jù)計數(shù)映像寄存器CNSW的值和比較映像寄存器CPSWn的值確定,PWM輸出保持高電平期間的MCU時鐘脈沖數(shù)為(CNSW-CPSWn+1)。由此可見,CPSWn越大,則高電平維持的時間越短,則調(diào)光控制電路的T1導通時間也就越長,照明設備的亮度就越高;反之照明設備的亮度就越低。
在程序中通過比較得到的照度值E和標準照度值ES來調(diào)整CPSW的值,實現(xiàn)自動調(diào)光控制。CPSW的初值設為0,并在O~CNSW之間分為若干檔,比如10檔,得到每次CPSW的調(diào)整值△P=(CNSW-1)/10,以實現(xiàn)較為平滑的調(diào)整。計算出照度值后和標準照度值ES比較,如果小于標準照度值ES,則在當前CPSW的基礎之上添加 △P,直到達到CPSW的最大值(CNSW-1);如果大于標準照度值ES,則在當前CPSW值的基礎上減少△P,直到CPSW的值為0,照明設備關(guān)上。同時為了防止較小的照度變化導致自動調(diào)光,可以根據(jù)標準照度值確定一個調(diào)光允許的照度差值△ES,如果當前得到的照度值和上次所得到的照度值差的絕對值△E不小于△ES,才執(zhí)行調(diào)光控制。
3 軟件設計
主要包括主程序、定時器0中斷服務子程序以及I2C總線數(shù)據(jù)傳輸程序模塊。主程序完成P87LPC768以及ISL29004的原始化,照度采集以及調(diào)光控制在定時器0中斷服務子程中完成。I2C總線數(shù)據(jù)傳輸程序模塊詳見參考文獻,這里給出定時器0中斷服務子程序的流程圖,如圖3所示。
圖3中只給出一組ISL29004的照度采集以及調(diào)光控制電路的控制程序,由于系統(tǒng)中有4組,因此在定時器0中斷服務子程序中,應該是按順序依次通過I2C總線讀取4組ISL29004的采集值并通過4個PWM通道執(zhí)行相應的自動調(diào)光控制。
4 結(jié)語
對智能照明控制系統(tǒng)中照度檢測的疑問,提出一種基于ISL29004多路照度采集方案,并給出硬件結(jié)構(gòu)、工作原理以及軟件流程圖。由于ISL29004內(nèi)部集成了ADC,直接輸出數(shù)字量,具有抗干擾能力強和低功耗的特點;并且可以編程靈活配置,又具備比較靈活的I2C總線接口,從而簡化了照明控制設備的設計;運用準雙向I2C總線緩沖器P82896對I2C總線執(zhí)行驅(qū)動擴展以后,拓展了I2C總線的傳輸距離,實現(xiàn)了照明場所內(nèi)的多路照度檢測,從而可以對多個照明設備執(zhí)行分區(qū)域控制,并且通過P87LPC768的PWM輸出實現(xiàn)了自動調(diào)光控制,在節(jié)能的同時營造更舒適的照明環(huán)境。