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