光傳感器ISL29004在智能照明控制系統(tǒng)中的應用
通過P87LPC768的PWM輸出控制MOC3041的導通與關斷時間比值來調(diào)節(jié)照明設備的功率,從而實現(xiàn)照明設備的打開、關閉以及亮度調(diào)節(jié)。
2.3 工作原理
在程序中通過定時中斷讀取4路ISL29004的ADC輸出,并轉換為照度值;ISL29004內(nèi)部的ADC工作在模式2,分辨率為16,照度檢測范圍一般設為O~1 000 Lux即可滿足一般的照明場所的照度檢測要求。假設讀取ISL29004的ADC的輸出為DATA,則可以通過以下的公式轉換為照度值:
然后根據(jù)計算所得到的照度值進行調(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,照明設備關閉。同時為了避免較小的照度變化導致自動調(diào)光,可以根據(jù)標準照度值確定一個調(diào)光允許的照度差值△ES,如果當前得到的照度值和上次所得到的照度值差的絕對值△E不小于△ES,才進行調(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通道進行相應的自動調(diào)光控制。
4 結 語
對智能照明控制系統(tǒng)中照度檢測的問題,提出一種基于ISL29004多路照度采集方案,并給出硬件結構、工作原理以及軟件流程圖。由于ISL29004內(nèi)部集成了ADC,直接輸出數(shù)字量,具有抗干擾能力強和低功耗的特點;并且可以編程靈活配置,又具備比較靈活的I2C總線接口,從而簡化了照明控制設備的設計;使用準雙向I2C總線緩沖器P82896對I2C總線進行驅動擴展以后,拓展了I2C總線的傳輸距離,實現(xiàn)了照明場所內(nèi)的多路照度檢測,從而可以對多個照明設備實行分區(qū)域控制,并且通過P87LPC768的PWM輸出實現(xiàn)了自動調(diào)光控制,在節(jié)能的同時營造更舒適的照明環(huán)境。
評論