本發(fā)明涉及補(bǔ)光技術(shù)領(lǐng)域,尤其涉及一種基于RGBW的自動(dòng)補(bǔ)光方法。
背景技術(shù):
RGBW彩色光源在人們的實(shí)際生活中應(yīng)用的越來越多,如攝影、舞臺(tái)照明、景觀照明、顯示屏等場(chǎng)合。給生活添加了不少色彩,但使用過程中,本來是好好的燈具發(fā)現(xiàn)亮度變暗和色溫偏移,給人帶來很錯(cuò)的視感。尤其在要求很高的攝影場(chǎng)合,這個(gè)現(xiàn)象的燈具已經(jīng)不能滿足人們的需求。但出現(xiàn)這種現(xiàn)象很大一部分原因都是LED在使用過程中的受工作溫度和使用時(shí)間等因素影響光衰,導(dǎo)致亮度變暗和色溫偏移,而且RGBW不同顏色的光衰減率不一樣。因此,通過自動(dòng)補(bǔ)光技術(shù)彌補(bǔ)光衰顯得非常重要,同時(shí)也延長(zhǎng)了產(chǎn)品壽命。
現(xiàn)有的通常做法如下:1.選用國(guó)際品牌光源或增加光源的數(shù)量;2.優(yōu)化燈具結(jié)構(gòu)增加散熱面積設(shè)計(jì);3.選用高精度的驅(qū)動(dòng)模塊;4.軟件手動(dòng)調(diào)節(jié)設(shè)置;以上方法只能延長(zhǎng)光衰的時(shí)間,但沒辦法解決光衰問題、色溫偏移和延長(zhǎng)燈具的壽命。
通過選用品牌光源或增加光源數(shù)量、優(yōu)化燈具結(jié)構(gòu)增加散熱面積設(shè)計(jì)、選用高精度的驅(qū)動(dòng)模塊最終會(huì)增加產(chǎn)品成本,有些燈具對(duì)體積要求嚴(yán)格增加散熱材料面積影響到美觀和安裝。對(duì)于軟件手動(dòng)調(diào)節(jié)設(shè)置操作起來比較麻煩不夠人性化,對(duì)RGBW每種顏色分別調(diào)節(jié)好的參數(shù)還需要用儀器測(cè)試校正微調(diào)。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明的目的是提供一種智能靈活,方便使用的一種基于RGBW的自動(dòng)補(bǔ)光方法。
本發(fā)明所采取的技術(shù)方案是:
一種基于RGBW的自動(dòng)補(bǔ)光方法,包括以下步驟:
A、初始化系統(tǒng),設(shè)置參數(shù),并讀取采樣數(shù)據(jù);
B、根據(jù)采樣數(shù)據(jù),計(jì)算自動(dòng)補(bǔ)光校正PWM值;
C、根據(jù)主程序循環(huán)運(yùn)行變量進(jìn)行循環(huán)判斷并執(zhí)行主程序函數(shù)。
作為所述的一種基于RGBW的自動(dòng)補(bǔ)光方法的進(jìn)一步改進(jìn),所述步驟A包括:
A1、延時(shí)等待系統(tǒng)工作穩(wěn)定;
A2、設(shè)置RGBW的預(yù)設(shè)亮度,并設(shè)置主程序循環(huán)運(yùn)行變量Main=1,初始化PWM亮度對(duì)應(yīng)數(shù)據(jù)表和RGBW參數(shù);
A3、讀取EEPROM數(shù)據(jù)中RGBW的四路PWM[4]。
作為所述的一種基于RGBW的自動(dòng)補(bǔ)光方法的進(jìn)一步改進(jìn),所述步驟B包括:
B1、根據(jù)采樣數(shù)據(jù),調(diào)用濾除采樣壞點(diǎn)算法,得出壞點(diǎn)和干擾點(diǎn)位置BDd[n]和數(shù)量BDdnumber;
B2、調(diào)用計(jì)算n點(diǎn)x次有效平均值算法,輸出得到環(huán)境亮度有效平均值SEM;
B3、循環(huán)分別輸出PWM[i]點(diǎn)亮RGBW值;
B4、調(diào)用計(jì)算n點(diǎn)x次有效平均值算法,輸出得到總亮度有效平均值SELM[i];
B5、計(jì)算計(jì)算RGBW每種顏色的實(shí)際亮度SLM[i]=SELM[i]-SEM;
B6、判斷RGBW的實(shí)際亮度SLM[i]與預(yù)設(shè)亮度SLMp[i]是否相等,若是,則存儲(chǔ)得到的修正PWM[i]值并返回執(zhí)行步驟B3,直到RGBW每種顏色的修正PWM[i]值完成存儲(chǔ)后執(zhí)行步驟C;反之則執(zhí)行步驟B7;
B7、判斷RGBW的實(shí)際亮度SLM[i]是否大于預(yù)設(shè)亮度SLMp[i],若是,則計(jì)算亮度差DLMtemp=SLM[i]-SLMp[i];反之,則計(jì)算亮度差DLMtemp=SLMp[i]- SLM[i];
B8、根據(jù)PWM亮度對(duì)應(yīng)數(shù)據(jù)表計(jì)算自動(dòng)校正PWM[i]點(diǎn)亮RGBW值實(shí)現(xiàn)補(bǔ)光并返回執(zhí)行步驟B4檢測(cè)校正;
其中,i為循環(huán)變量,i為整數(shù),0≤i<4。
作為所述的一種基于RGBW的自動(dòng)補(bǔ)光方法的進(jìn)一步改進(jìn),所述步驟C包括:
C1、通過主程序入口檢測(cè)是否滿足主程序循環(huán)運(yùn)行變量Main=1或Main=2,若是,則執(zhí)行步驟C2進(jìn)入循環(huán)運(yùn)行;
C2、判斷是否滿足主程序循環(huán)運(yùn)行變量Main=1,若是,則對(duì)開始的第一次定時(shí)運(yùn)行,變量和寄存器清零并開啟定時(shí)中斷,開始累計(jì)燈具開電時(shí)間Ttimer;反之,則執(zhí)行步驟C5;
C3、定時(shí)讀取并累加燈具運(yùn)行時(shí)間STrun=STrun+Ttimer;
C4、判斷是否滿足STrun=2H,若是,則設(shè)置Main=2并返回執(zhí)行步驟B1補(bǔ)光校正PWM值;反之,則執(zhí)行步驟C5;
C5、運(yùn)行主程序函數(shù)。
作為所述的一種基于RGBW的自動(dòng)補(bǔ)光方法的進(jìn)一步改進(jìn),所述濾除采樣壞點(diǎn)算法,其具體包括:
輸出RGBW的PWM[4]值,并點(diǎn)亮LED預(yù)設(shè)亮度SVp作為采樣數(shù)據(jù)參考值;
采樣n點(diǎn)x次的數(shù)據(jù)Ds[x][n]≥0,其中x>2,n>2,輸入篩選條件的篩選比例PVb%,然后輸出RGBW的PWM[4]=0關(guān)閉LED;
初始化變量清除壞點(diǎn)和干擾點(diǎn)的位置數(shù)據(jù)BDd[n]=0和數(shù)量BDdnumber=0;
循環(huán)對(duì)n點(diǎn)x次的數(shù)據(jù)進(jìn)行求和Stemp=Stemp+Ds[j][i],并判斷每個(gè)點(diǎn)x次的平均值Stemp/x與預(yù)設(shè)亮度的篩選比例SVp*PVb%進(jìn)行比較,若Stemp/x<SVp*PVb%,則說明是壞點(diǎn)和干擾點(diǎn),記錄該點(diǎn)的位置BDd[n]=1和數(shù)量BDdnumber=BDdnumber+1;反之,則記錄該點(diǎn)的位置BDd[n]=0;直到所有點(diǎn)循環(huán)完畢;其中,i和j均為整數(shù),且0≤i<n,0≤j<x;
輸出壞點(diǎn)和干擾點(diǎn)的位置BDd[n]和數(shù)量BDdnumber。
作為所述的一種基于RGBW的自動(dòng)補(bǔ)光方法的進(jìn)一步改進(jìn),所述n點(diǎn)x次有效平均值算法,其具體包括:
采樣n點(diǎn)x次數(shù)據(jù)Ds[x][n],其中x>2,n>2,輸入預(yù)設(shè)亮度SVp和預(yù)設(shè)亮度值百分比PVm%;
初始化變量輸出平均值SVE,n個(gè)有效點(diǎn)數(shù)組SDsm[n],無效次標(biāo)記數(shù)組Dt[n],記錄最大值SDsmmax和最小值SDsmmin;
根據(jù)預(yù)設(shè)的采樣篩選條件,去除掉無效次的采樣數(shù)據(jù);
記錄k次數(shù)據(jù)并進(jìn)行求和Stemp=Stemp+Ds[i][j],將不滿足|SVp-Stemp/k|<SVp*PVm%的數(shù)據(jù)進(jìn)行濾除,并計(jì)算n個(gè)有效值點(diǎn)k次數(shù)據(jù)的平均值SDsm[n]=Stemp/k;
循環(huán)對(duì)n個(gè)點(diǎn)有效平均值進(jìn)行求和并比較找出最大值和最小值,去除最大值和最小值后計(jì)算平均值SVE=(Stemp-SDsmmax-SDsmmin)/(n-2)并輸出。
本發(fā)明的有益效果是:
本發(fā)明一種基于RGBW的自動(dòng)補(bǔ)光方法能通過采樣數(shù)據(jù)進(jìn)行計(jì)算自動(dòng)補(bǔ)光校的PWM值,并能根據(jù)單色或RGBW不同顏色的光衰減率不一樣產(chǎn)生的亮度或色溫偏移,通過對(duì)每種顏色進(jìn)行單獨(dú)自動(dòng)補(bǔ)光,從而有效延長(zhǎng)燈具的使用壽命。進(jìn)一步,本發(fā)明通過壞點(diǎn)或干擾點(diǎn)的濾除、多點(diǎn)多次采樣計(jì)算有效平均值確保采樣數(shù)據(jù)的有效性,并通過環(huán)境光和總亮度的采樣計(jì)算比較,大大提高了數(shù)據(jù)的準(zhǔn)確性,有效提高了補(bǔ)光的精度。
附圖說明
下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步說明:
圖1是本發(fā)明一種基于RGBW的自動(dòng)補(bǔ)光方法的步驟流程圖;
圖2是本發(fā)明一種基于RGBW的自動(dòng)補(bǔ)光方法步驟A的步驟流程圖;
圖3是本發(fā)明一種基于RGBW的自動(dòng)補(bǔ)光方法步驟B的步驟流程圖;
圖4是本發(fā)明一種基于RGBW的自動(dòng)補(bǔ)光方法步驟C的步驟流程圖。
具體實(shí)施方式
參考圖1,本發(fā)明一種基于RGBW的自動(dòng)補(bǔ)光方法,包括以下步驟:
A、初始化系統(tǒng),設(shè)置參數(shù),并讀取采樣數(shù)據(jù);
B、根據(jù)采樣數(shù)據(jù),計(jì)算自動(dòng)補(bǔ)光校正PWM值;
C、根據(jù)主程序循環(huán)運(yùn)行變量進(jìn)行循環(huán)判斷并執(zhí)行主程序函數(shù)。
參考圖2,進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟A包括:
A1、延時(shí)等待系統(tǒng)工作穩(wěn)定;
A2、設(shè)置RGBW的預(yù)設(shè)亮度,并設(shè)置主程序循環(huán)運(yùn)行變量Main=1,初始化PWM亮度對(duì)應(yīng)數(shù)據(jù)表和RGBW參數(shù);
A3、讀取EEPROM數(shù)據(jù)中RGBW的四路PWM[4]。
參考圖3,進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟B包括:
B1、根據(jù)采樣數(shù)據(jù),調(diào)用濾除采樣壞點(diǎn)算法,得出壞點(diǎn)和干擾點(diǎn)位置BDd[n]和數(shù)量BDdnumber;
B2、調(diào)用計(jì)算n點(diǎn)x次有效平均值算法,輸出得到環(huán)境亮度有效平均值SEM;
B3、循環(huán)分別輸出PWM[i]點(diǎn)亮RGBW值;
B4、調(diào)用計(jì)算n點(diǎn)x次有效平均值算法,輸出得到總亮度有效平均值SELM[i];
B5、計(jì)算計(jì)算RGBW每種顏色的實(shí)際亮度SLM[i]=SELM[i]-SEM;
B6、判斷RGBW的實(shí)際亮度SLM[i]與預(yù)設(shè)亮度SLMp[i]是否相等,若是,則存儲(chǔ)得到的修正PWM[i]值并返回執(zhí)行步驟B3,直到RGBW每種顏色的修正PWM[i]值完成存儲(chǔ)后執(zhí)行步驟C;反之則執(zhí)行步驟B7;
B7、判斷RGBW的實(shí)際亮度SLM[i]是否大于預(yù)設(shè)亮度SLMp[i],若是,則計(jì)算亮度差DLMtemp=SLM[i]-SLMp[i];反之,則計(jì)算亮度差DLMtemp=SLMp[i]- SLM[i];
B8、根據(jù)PWM亮度對(duì)應(yīng)數(shù)據(jù)表計(jì)算自動(dòng)校正PWM[i]點(diǎn)亮RGBW值實(shí)現(xiàn)補(bǔ)光并返回執(zhí)行步驟B4檢測(cè)校正;
其中,i為循環(huán)變量,i為整數(shù),0≤i<4。
參考圖4,進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟C包括:
C1、通過主程序入口檢測(cè)是否滿足主程序循環(huán)運(yùn)行變量Main=1或Main=2,若是,則執(zhí)行步驟C2進(jìn)入循環(huán)運(yùn)行;
C2、判斷是否滿足主程序循環(huán)運(yùn)行變量Main=1,若是,則對(duì)開始的第一次定時(shí)運(yùn)行,變量和寄存器清零并開啟定時(shí)中斷,開始累計(jì)燈具開電時(shí)間Ttimer;反之,則執(zhí)行步驟C5;
C3、定時(shí)讀取并累加燈具運(yùn)行時(shí)間STrun=STrun+Ttimer;
C4、判斷是否滿足STrun=2H,若是,則設(shè)置Main=2并返回執(zhí)行步驟B1補(bǔ)光校正PWM值;反之,則執(zhí)行步驟C5;
C5、運(yùn)行主程序函數(shù)。
進(jìn)一步作為優(yōu)選的實(shí)施方式,所述濾除采樣壞點(diǎn)算法,其具體包括:
輸出RGBW的PWM[4]值,并點(diǎn)亮LED預(yù)設(shè)亮度SVp作為采樣數(shù)據(jù)參考值;
采樣n點(diǎn)x次的數(shù)據(jù)Ds[x][n]≥0,其中x>2,n>2,輸入篩選條件的篩選比例PVb%,然后輸出RGBW的PWM[4]=0關(guān)閉LED;這樣能防止環(huán)境光很暗或沒有光時(shí)采樣到的數(shù)據(jù)為零,篩選不出壞點(diǎn)和干擾點(diǎn);
初始化變量清除壞點(diǎn)和干擾點(diǎn)的位置數(shù)據(jù)BDd[n]=0和數(shù)量BDdnumber=0;
循環(huán)對(duì)n點(diǎn)x次的數(shù)據(jù)進(jìn)行求和Stemp=Stemp+Ds[j][i],并判斷每個(gè)點(diǎn)x次的平均值Stemp/x與預(yù)設(shè)亮度的篩選比例SVp*PVb%進(jìn)行比較,若Stemp/x<SVp*PVb%,則說明是壞點(diǎn)和干擾點(diǎn),記錄該點(diǎn)的位置BDd[n]=1和數(shù)量BDdnumber=BDdnumber+1;反之,則記錄該點(diǎn)的位置BDd[n]=0;直到所有點(diǎn)循環(huán)完畢;其中,i和j均為整數(shù),且0≤i<n,0≤j<x;
將BDd[n]=1的點(diǎn)進(jìn)行輸出,即為壞點(diǎn)和干擾點(diǎn)的位置BDd[n],并輸出數(shù)量BDdnumber。
其中,所述濾除采樣壞點(diǎn)算法的作用是采樣n點(diǎn)x次的數(shù)據(jù)計(jì)算有效平均值進(jìn)行下限幅取值濾除篩選壞點(diǎn)和干擾點(diǎn)并記錄位置和數(shù)量。
進(jìn)一步作為優(yōu)選的實(shí)施方式,所述n點(diǎn)x次有效平均值算法,其具體包括:
采樣n點(diǎn)x次數(shù)據(jù)Ds[x][n],其中x>2,n>2,輸入預(yù)設(shè)亮度SVp和預(yù)設(shè)亮度值百分比PVm%;
初始化變量輸出平均值SVE,n個(gè)有效點(diǎn)數(shù)組SDsm[n],無效次標(biāo)記數(shù)組Dt[n],記錄最大值SDsmmax和最小值SDsmmin;
根據(jù)預(yù)設(shè)的采樣篩選條件,去除掉無效次的采樣數(shù)據(jù);
本實(shí)施例中,采用循環(huán)x次對(duì)數(shù)據(jù)進(jìn)行增加或減小條件篩選比較Ds[i][j]≥SVp,a=a+1或Ds[i][j]≤SVp,d=d+1,判斷都是比設(shè)定值大a==n-NDd或小d==n-NDd表示此次采樣的數(shù)據(jù)有效(在同一個(gè)環(huán)境下采樣的每點(diǎn)亮度都是比預(yù)設(shè)值大或都是?。?;
記錄k次數(shù)據(jù)并進(jìn)行求和Stemp=Stemp+Ds[i][j],將不滿足|SVp-Stemp/k|<SVp*PVm%的數(shù)據(jù)進(jìn)行濾除,并計(jì)算n個(gè)有效值點(diǎn)k次數(shù)據(jù)的平均值SDsm[n]=Stemp/k;
循環(huán)對(duì)n個(gè)點(diǎn)有效平均值進(jìn)行求和并比較找出最大值和最小值,去除最大值和最小值后計(jì)算平均值SVE=(Stemp-SDsmmax-SDsmmin)/(n-2)并輸出。
本發(fā)明的具體實(shí)施例如下:
S01、開始,延時(shí)等待系統(tǒng)工作穩(wěn)定;
S02、初始化系統(tǒng),設(shè)置RGBW的預(yù)設(shè)亮度,并設(shè)置主程序循環(huán)運(yùn)行變量Main=1,初始化PWM亮度對(duì)應(yīng)數(shù)據(jù)表和RGBW參數(shù);所述RGBW參數(shù)包括變量、I/O、I2C、PWM、定時(shí)器、EEPROM等寄存器、采樣數(shù)據(jù)上下限幅值和比例等參數(shù);
S03、讀取EEPROM數(shù)據(jù)中RGBW的四路PWM[4];本實(shí)施例中采用多次比較讀取數(shù)據(jù)的方式,當(dāng)出錯(cuò)不一致重新讀取,從而確保數(shù)據(jù)的準(zhǔn)確性;
S04、根據(jù)采樣數(shù)據(jù),調(diào)用濾除采樣壞點(diǎn)算法,得出壞點(diǎn)和干擾點(diǎn)位置BDd[n]和數(shù)量BDdnumber;
S05、調(diào)用計(jì)算n點(diǎn)x次有效平均值算法,輸出得到環(huán)境亮度有效平均值SEM;
S06、循環(huán)分別輸出PWM[i]點(diǎn)亮RGBW值;
S07、調(diào)用計(jì)算n點(diǎn)x次有效平均值算法,輸出得到總亮度有效平均值SELM[i];
S08、計(jì)算計(jì)算RGBW每種顏色的實(shí)際亮度SLM[i]=SELM[i]-SEM;
S09、判斷RGBW的實(shí)際亮度SLM[i]與預(yù)設(shè)亮度SLMp[i]是否相等,若是,則存儲(chǔ)得到的修正PWM[i]值并返回執(zhí)行步驟S06,直到RGBW每種顏色的修正PWM[i]值完成存儲(chǔ)后執(zhí)行步驟S12;反之則執(zhí)行步驟S10;
S10、判斷RGBW的實(shí)際亮度SLM[i]是否大于預(yù)設(shè)亮度SLMp[i],若是,則計(jì)算亮度差DLMtemp=SLM[i]-SLMp[i];反之,則計(jì)算亮度差DLMtemp=SLMp[i]- SLM[i];
S11、根據(jù)PWM亮度對(duì)應(yīng)數(shù)據(jù)表計(jì)算自動(dòng)校正PWM[i]點(diǎn)亮RGBW值實(shí)現(xiàn)補(bǔ)光并返回執(zhí)行步驟S07檢測(cè)校正;其中,i為循環(huán)變量,i為整數(shù),0≤i<4;
S12、通過主程序入口檢測(cè)是否滿足主程序循環(huán)運(yùn)行變量Main=1或Main=2,若是,則執(zhí)行步驟S13進(jìn)入循環(huán)運(yùn)行;
S13、判斷是否滿足主程序循環(huán)運(yùn)行變量Main=1,若是,則對(duì)開始的第一次定時(shí)運(yùn)行,變量和寄存器清零并開啟定時(shí)中斷,開始累計(jì)燈具開電時(shí)間Ttimer;反之,則執(zhí)行步驟S16;
S14、定時(shí)讀取并累加燈具運(yùn)行時(shí)間STrun=STrun+Ttimer;
S15、判斷是否滿足STrun=2H,若是,則設(shè)置Main=2并返回執(zhí)行步驟S04補(bǔ)光校正PWM值;反之,則執(zhí)行步驟S16;
S16、運(yùn)行主程序函數(shù)。
從上述內(nèi)容可知,本發(fā)明一種基于RGBW的自動(dòng)補(bǔ)光方法能通過采樣數(shù)據(jù)進(jìn)行計(jì)算自動(dòng)補(bǔ)光校的PWM值,并能根據(jù)單色或RGBW不同顏色的光衰減率不一樣產(chǎn)生的亮度或色溫偏移,通過對(duì)每種顏色進(jìn)行單獨(dú)自動(dòng)補(bǔ)光,從而有效延長(zhǎng)燈具的使用壽命。進(jìn)一步,本發(fā)明通過壞點(diǎn)或干擾點(diǎn)的濾除、多點(diǎn)多次采樣計(jì)算有效平均值確保采樣數(shù)據(jù)的有效性,并通過環(huán)境光和總亮度的采樣計(jì)算比較,大大提高了數(shù)據(jù)的準(zhǔn)確性,有效提高了補(bǔ)光的精度。
以上是對(duì)本發(fā)明的較佳實(shí)施進(jìn)行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實(shí)施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做作出種種的等同變形或替換,這些等同的變形或替換均包含在本申請(qǐng)權(quán)利要求所限定的范圍內(nèi)。