程 瑤,田又源,張 果,賈 寧,高晨斐
(重慶理工大學(xué)機(jī)械工程學(xué)院,重慶 400054)
隨著現(xiàn)代工業(yè)生產(chǎn)逐漸向規(guī)?;?、高速化、自動(dòng)化方向發(fā)展,依靠人工分選顏色產(chǎn)品不僅效率低,還容易產(chǎn)生誤差[1-4],同時(shí)會(huì)極大提高生產(chǎn)成本,而使用計(jì)算機(jī)圖像處理的方法成本太高,且設(shè)備使用有較多局限性,不適合企業(yè)生產(chǎn)需要[5]。為了改善這一現(xiàn)狀,結(jié)合實(shí)際生產(chǎn)需求研發(fā)了彩色鉛筆顏色自動(dòng)分選系統(tǒng)。
系統(tǒng)原理框圖如圖1所示。系統(tǒng)主要包括顏色采集模塊、數(shù)據(jù)處理模塊、LCD顯示模塊和LED指示模塊。顏色采集模塊將彩色鉛筆的RGB各分量采集為數(shù)字信號(hào)輸出。數(shù)據(jù)處理模塊根據(jù)接收的RGB數(shù)據(jù)判斷鉛筆顏色,并且將顏色結(jié)果和RGB各分量值通過LCD顯示模塊展示。LED指示模塊可以實(shí)時(shí)展現(xiàn)系統(tǒng)目前的運(yùn)行狀態(tài)。
圖1 系統(tǒng)原理框圖
顏色采集模塊的核心硬件采用TCS3200傳感器,此傳感器的芯片集成了64個(gè)硅光電二極管[6]。根據(jù)光電二極管濾光顏色的不同分為4種類型,其中有紅色、綠色和藍(lán)色濾波器各16個(gè),使得只有對(duì)應(yīng)的顏色光能夠通過濾波器,從而分別檢測(cè)出R、G、B的信號(hào),其余16個(gè)光電二極管無濾波器,作為檢測(cè)參考量允許任何顏色光通過。傳感器將彩色鉛筆的顏色光信號(hào)轉(zhuǎn)換為方波頻率信號(hào),且輸出量為數(shù)字信號(hào),不需要額外的A/D轉(zhuǎn)換模塊[7]。當(dāng)采集顏色信息時(shí),利用微處理器控制S2、S3兩個(gè)引腳不同的選通組合,可以選擇不同的濾波器,得到不同顏色的分量值。因彩色鉛筆不發(fā)光,傳感器四周布置4個(gè)LED燈作為補(bǔ)償光源,理論上看作白色光源,用于檢測(cè)不發(fā)光物體的顏色。系統(tǒng)電路原理圖如圖2所示。
圖2 系統(tǒng)電路原理圖
數(shù)據(jù)處理模塊核心硬件采用STC89C52芯片控制TCS3200傳感器的片選信號(hào),接收傳感器的方波頻率信號(hào)進(jìn)行分析計(jì)算分別得到R、G、B分量值,在檢測(cè)顏色之前執(zhí)行白平衡標(biāo)定,定義白色??刂芁CD顯示模塊,達(dá)到顏色檢測(cè)、分選彩色鉛筆的工作要求。
LCD顯示模塊選擇LCD1602液晶顯示器,用于顯示各顏色分量值及顏色結(jié)果。LED指示模塊由3個(gè)LED燈組成,3個(gè)燈分別代表R、G、B分量采集的運(yùn)行狀態(tài)。
軟件設(shè)計(jì)部分主要是數(shù)據(jù)處理模塊編程對(duì)TCS230顏色傳感器模塊部分和LCD1602顯示模塊部分進(jìn)行控制,單片機(jī)接收傳感器的輸出信號(hào),通過軟件程序?qū)⒈粶y(cè)物體反射光的RGB值檢測(cè)出來之后顯示在LCD1602上,同時(shí)LED指示模塊會(huì)對(duì)該顏色的色相進(jìn)行指示。通過實(shí)驗(yàn)檢測(cè)之后,顯示模塊能夠顯示在允許誤差范圍內(nèi)的RGB值,LED模塊作為執(zhí)行機(jī)構(gòu)通過亮滅狀態(tài)來指示顏色,能夠完成工作。
該系統(tǒng)的主程序流程圖如圖3所示。系統(tǒng)上電以后,程序從主程序中的定時(shí)器/計(jì)數(shù)器初始化開始運(yùn)行,這個(gè)過程會(huì)將定時(shí)器0設(shè)置為定時(shí)器,工作方式為方式1,初值設(shè)定為10 ms,定時(shí)器1設(shè)定為計(jì)數(shù)器,工作方式為方式1,初值設(shè)定為0;然后會(huì)對(duì)LCD1602進(jìn)行初始化,這個(gè)過程主要是設(shè)置LCD1602是否顯示光標(biāo)及對(duì)各功能引腳的電平進(jìn)行設(shè)置;接著會(huì)進(jìn)行白平衡標(biāo)定和顏色采集,最后會(huì)將采集結(jié)果以LED亮滅狀態(tài)來指示并顯示在LCD1602上。
圖3 主程序流程圖
白平衡標(biāo)定就是給系統(tǒng)定義白色,明確白色光線在系統(tǒng)中的RGB分量值。白平衡標(biāo)定程序流程圖見圖4。這樣做的目的是因?yàn)榇蠖鄶?shù)光源(太陽、燈泡、手電筒等)不會(huì)發(fā)出純白色并具有一定的“色溫”。人腦處理來自眼睛的信息并會(huì)自動(dòng)調(diào)節(jié)色溫,因此通??梢哉_地看到顏色。但是對(duì)于單片機(jī)系統(tǒng)而言,是不能夠準(zhǔn)確地識(shí)別顏色的,需要進(jìn)行白平衡標(biāo)定。
圖4 白平衡標(biāo)定程序流程圖
白平衡的具體過程為[8]:點(diǎn)亮顏色傳感器4顆亮度較高的白光LED燈,將被測(cè)物體置換為一張純白色的紙張或其他純白色物體,設(shè)定好計(jì)時(shí)器為50 ms后,讓LED燈的光直接打到白紙上,將白紙反射的光射入顏色傳感器中,經(jīng)過濾波器之后可以分別得到R、G、B 3種顏色的濾波器頻率值,計(jì)算分別得到RGB的比例因子用以后續(xù)進(jìn)一步處理。
顏色采集程序流程圖如圖5所示。該程序是本系統(tǒng)的核心程序,一共有3個(gè)接口,分別是收集紅色光數(shù)據(jù)、綠色光數(shù)據(jù)和藍(lán)色光數(shù)據(jù),且這3個(gè)接口均沒有參數(shù)。顏色收集的具體過程為點(diǎn)亮亮度很高的白光LED燈后,將LED燈發(fā)出的光直接打到被測(cè)物體上,使得被測(cè)物體的反射光盡可能多地送進(jìn)顏色傳感器,再啟動(dòng)計(jì)時(shí)計(jì)數(shù)器,50 ms定時(shí)時(shí)間到后停止計(jì)數(shù),被測(cè)物體反射光的頻率存在計(jì)數(shù)器1的TH1和TL1中,將計(jì)數(shù)器1計(jì)得的被測(cè)物體反射光的頻率分別乘以RGB三分量值的比例因子,即可得到該物體反射光的真實(shí)RGB分量值。
圖5 顏色采集程序流程圖
先將一張白紙覆蓋在顏色傳感器上,進(jìn)行白平衡標(biāo)定,之后分別將白色、紅色、黃色、藍(lán)色、綠色紙張放置在顏色傳感器上采集顏色信息,如圖6所示。在測(cè)試的過程中記錄顯示在LCD1602上的顏色判斷結(jié)果和RGB分量值,完成實(shí)驗(yàn)過程。
圖6 測(cè)試實(shí)物圖
從圖6可知,該系統(tǒng)對(duì)不同顏色的紙張基本能夠正確識(shí)別。本次測(cè)試采取多次測(cè)量取平均值的方法,記錄相應(yīng)的RGB顏色分量數(shù)據(jù),實(shí)驗(yàn)數(shù)據(jù)平均值見表1,其中R、G、B值均無量綱。
表1 實(shí)驗(yàn)數(shù)據(jù)平均值
由表1可知,該系統(tǒng)能正確采集RGB信息并判斷顏色。對(duì)于白色紙張來說,其反射光的RGB三刺激值所占比例基本相同,這也與色度學(xué)中的理論相契合。對(duì)于另外3種有顏色的紙張來說,其反射光中RGB三刺激值所占的比例跟紙張的顏色有關(guān),如果是紅色紙張,RGB三刺激值中R值最大;如果是綠色紙張,RGB三刺激值中G值最大;如果是藍(lán)色紙張,RGB三刺激值中B值最大;如果是黃色紙張,RGB三刺激值中R值和G值相等或相差范圍不大。
圖7為實(shí)驗(yàn)數(shù)據(jù)的相對(duì)誤差,由圖7可知,系統(tǒng)對(duì)于白色的測(cè)量誤差最小;RGB分量值中,R值測(cè)量誤差最小,B值測(cè)量誤差最大?;谝陨蠝y(cè)試結(jié)果對(duì)彩色鉛筆進(jìn)行顏色檢測(cè),檢測(cè)結(jié)果如圖8所示,檢測(cè)藍(lán)色、紅色和綠色鉛筆時(shí),系統(tǒng)可以分別測(cè)得其RGB值且LCD1602可以分別顯示“BLUE”、“RED”和“GREEN”顏色判斷結(jié)果。綜上所述,該系統(tǒng)能夠測(cè)量彩色鉛筆的顏色信息,并且顯示對(duì)應(yīng)的顏色,基本實(shí)現(xiàn)了分選彩色鉛筆顏色的功能。
圖7 相對(duì)誤差數(shù)據(jù)圖
圖8 彩色鉛筆檢測(cè)結(jié)果
本系統(tǒng)采用TCS3200傳感器作為系統(tǒng)顏色采集模塊,可直接輸出數(shù)字信號(hào)至微處理器,無須其他外圍電路,極大簡(jiǎn)化了電路,數(shù)據(jù)處理模塊采用STC89C52可重復(fù)擦寫的經(jīng)典8位單片機(jī),顯示模塊采用型號(hào)為LCD1602的經(jīng)典液晶顯示板,實(shí)現(xiàn)了對(duì)彩色鉛筆顏色的自動(dòng)分選。本實(shí)驗(yàn)中的3組測(cè)量數(shù)據(jù)得到的RGB值都比較小,分析有如下原因:鉛筆體積較小,光反射面積不夠大,顏色傳感器無法接收足夠多的光線;照明光源強(qiáng)度不夠柔和以及鉛筆表面過于光滑,導(dǎo)致鏡面反射影響比較大,進(jìn)入傳感器的光線不理想;檢測(cè)環(huán)境存在雜光干擾。
綜上所述,在實(shí)驗(yàn)條件不夠理想的情況下,該系統(tǒng)依然準(zhǔn)確地完成了彩色鉛筆顏色檢測(cè)的功能,系統(tǒng)抗干擾性、可靠性、準(zhǔn)確性較好。此系統(tǒng)不僅成本低,且體積小巧、分選速度快、準(zhǔn)確率高,能夠降低工人的勞動(dòng)強(qiáng)度,提高企業(yè)的生產(chǎn)效率,節(jié)約生產(chǎn)成本,也為相關(guān)的研究開發(fā)人員提供了思路。