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