馮婷,鐘澔
(北京中麗制機(jī)工程技術(shù)有限公司 工程技術(shù)部,北京 101111)
馮婷,鐘澔
(北京中麗制機(jī)工程技術(shù)有限公司 工程技術(shù)部,北京 101111)
摘要:采用TAOS公司的顏色傳感器TCS230作為顏色識(shí)別器件,其核心控制器件采用Atmel公司的AT89C2051微控制器實(shí)現(xiàn)邏輯控制和數(shù)據(jù)采集。數(shù)據(jù)經(jīng)串口傳送至上位機(jī),對(duì)采集到的數(shù)據(jù)進(jìn)行存儲(chǔ)處理和顏色識(shí)別。本文對(duì)TCS230識(shí)別電路、通信電路及其附屬電路進(jìn)行了硬件設(shè)計(jì)。根據(jù)實(shí)驗(yàn)算法和硬件電路進(jìn)行了軟件設(shè)計(jì),軟件程序包括串口通信和顏色識(shí)別算法。實(shí)驗(yàn)結(jié)果表明,本設(shè)計(jì)方案合理,結(jié)果正確。
關(guān)鍵詞:TCS230;顏色傳感器;AT89C2051
引言
顏色的識(shí)別在現(xiàn)代生產(chǎn)中的應(yīng)用越來(lái)越廣泛,不論是材料、工業(yè)自動(dòng)化、遙感技術(shù)、圖像處理、產(chǎn)品質(zhì)檢,還是某些模糊的探測(cè)技術(shù)都需要對(duì)顏色進(jìn)行檢測(cè)。在很多實(shí)際應(yīng)用中,往往不需要精確地確定顏色的光譜組成,只需對(duì)不同的顏色加以區(qū)別。利用單片機(jī)對(duì)傳感器采集的顏色信號(hào)進(jìn)行處理,可以有效地區(qū)別不同的顏色,可應(yīng)用于印染、油漆、汽車等行業(yè),也可以把它裝在自動(dòng)生產(chǎn)線上,對(duì)產(chǎn)品的顏色進(jìn)行檢測(cè),實(shí)施質(zhì)量管理,并為生產(chǎn)線的中央控制系統(tǒng)提供顏色控制信號(hào)。
TCS230是TAOS(Texas Advanced Optoelectronic Solutions)公司推出的可編程彩色光到頻率的轉(zhuǎn)換器,其輸出信號(hào)是數(shù)字量,可以驅(qū)動(dòng)標(biāo)準(zhǔn)的TTL或CMOS 邏輯輸入,因此可直接與微控制器或其他邏輯電路相連接。由于輸出的是數(shù)字量,并且能夠?qū)崿F(xiàn)每個(gè)彩色信道10 位以上的轉(zhuǎn)換精度,因而不再需要A/D 轉(zhuǎn)換電路,電路變得更加簡(jiǎn)單。
1基于TCS230的顏色識(shí)別系統(tǒng)
1.1設(shè)計(jì)原理
由三原色感應(yīng)原理可知,如果知道構(gòu)成各種顏色的三原色的值,就能夠知道所測(cè)試物體的顏色。對(duì)于TCS230來(lái)說(shuō),當(dāng)選定一個(gè)顏色濾波器時(shí),它只允許某種特定的原色通過(guò),阻止其他原色通過(guò)。例如:當(dāng)選擇紅色濾波器時(shí),入射光中只有紅色可以通過(guò),藍(lán)色和綠色都被阻止,這樣就可以得到紅色光的光強(qiáng);同理,選擇其他的濾波器,就可以得到藍(lán)色光和綠色光的光強(qiáng)。通過(guò)這3個(gè)值,就可以分析投射到TCS230傳感器上的光的顏色。
1.2硬件設(shè)計(jì)
基于上述分析,采用AT89C2051、TCS230和MAX232設(shè)計(jì)了一個(gè)顏色識(shí)別裝置,該裝置具有結(jié)構(gòu)簡(jiǎn)單、識(shí)別精度和效率高的特點(diǎn),并且能夠和上位機(jī)通信,將識(shí)別的結(jié)果實(shí)時(shí)傳送給上位機(jī)。本系統(tǒng)在硬件上分為6部分:主控電路(單片機(jī)控制系統(tǒng))、通信電路、濾波電路、復(fù)位電路、電源電路和PC主機(jī)。其工作原理框圖如圖1所示。
圖1 系統(tǒng)工作原理框圖
下面分別給出了與上位機(jī)進(jìn)行通信的通信電路、TCS230顏色識(shí)別電路、濾波電路、電源電路以及復(fù)位電路。
通信電路如圖2所示,AT98C2051的P3.0(RXD)、P3.1(TXD)分別與MAX232的R2OUT、T2IN相連,再由MAX232的T2OUT、R2IN分別與主機(jī)串口的RXD、TXD相連,組成通信電路。
圖2 通信電路
顏色識(shí)別電路如圖3所示,用AT89C2051的P1口的幾個(gè)引腳來(lái)控制TCS230 的各個(gè)控制引腳,由P1.2、P1.1分別控制S0、S1,用于選擇光電二極管類型,P1.4、P1.5分別控制S3、S2,用于選擇輸出頻率分頻比,P3.5(定時(shí)/計(jì)數(shù)器1輸入)計(jì)OUT輸出的脈沖個(gè)數(shù)。
圖3 顏色識(shí)別電路
其中比較特殊的是,AT89C2051的P1.0、P1.1口分別為內(nèi)部精密比較器的同相輸入端(A/N0)和反相輸入端(A/N1),所以P1.0和P1.1的內(nèi)部無(wú)上拉電阻,需要在外部接5.1 kΩ的上拉電阻,即圖中的Rs1、Rs2。
濾波電路如圖4所示,在每個(gè)芯片的電源正負(fù)極之間并聯(lián)一個(gè)電容,通過(guò)電源線串出,防止外界干擾通過(guò)電源線串入。
圖4 濾波電路
電源電路如圖5所示,AT89C2051芯片內(nèi)部使用2.7~6 V電壓,TCS230使用2.7~5.5 V電壓,I/O端口和外部供電電壓為5 V。其中CP1和CP2構(gòu)成的濾波電路改善系統(tǒng)的電磁兼容性,降低對(duì)電源的高頻干擾。LED指示燈用來(lái)顯示系統(tǒng)是否通電,SP1開(kāi)關(guān)用于在擦寫(xiě)程序時(shí)方便斷電。
復(fù)位電路如圖6所示,使用了10 kΩ電阻,增強(qiáng)了上電復(fù)位的可靠性,在調(diào)試系統(tǒng)時(shí)手動(dòng)復(fù)位按鈕非常有用。
圖5 電源電路
圖6 復(fù)位電路
1.3軟件設(shè)計(jì)
結(jié)合上述分析,使用C語(yǔ)言完成軟件設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)功能。
1.3.1串口通信
串口通信是用來(lái)連接上位機(jī)和下位機(jī)的。其中,上位機(jī)負(fù)責(zé)顯示采集數(shù)據(jù),在本系統(tǒng)中,由電腦完成,即在電腦上顯示所測(cè)頻率的值,需要軟件編程完成人機(jī)界面,電腦上使用的人機(jī)界面會(huì)在下面部分具體介紹;下位機(jī)負(fù)責(zé)采集數(shù)據(jù),在此系統(tǒng)中就是整個(gè)單片機(jī)系統(tǒng),也是本文重點(diǎn)涉及和討論的內(nèi)容。
利用定時(shí)/計(jì)數(shù)器1進(jìn)行串口通信。在定時(shí)模式下,計(jì)數(shù)器對(duì)單片機(jī)振蕩頻率fOSC經(jīng)12分頻后的機(jī)器周期進(jìn)行加1計(jì)數(shù),用X表示計(jì)數(shù)個(gè)數(shù),M表示模,C表示定時(shí)初值,Tcy表示機(jī)器周期,則1Tcy=12/fOSC。因此,定時(shí)時(shí)間T的計(jì)算公式為:
T=X·Tcy=(M-C) Tcy
定時(shí)初值公式為:
C=M-T/ Tc
定時(shí)器的溢出率為:
1/T=fOSC/(12X)= fOSC/(12(M-C))
工作方式1、3的波特率可變,與定時(shí)器的溢出率有關(guān)。
8031/8051/8751系統(tǒng)中常用定時(shí)/計(jì)數(shù)器1(T/C1)波特率發(fā)生器。波特率由下式計(jì)算:
其中,SMOD是PCON寄存器最高位的值。由上式可得:
式中:M為計(jì)數(shù)器的模2K,與T/C1的工作方式有關(guān),K=8、13、16。
因此,波特率公式還可寫(xiě)為:
實(shí)際應(yīng)用中,總是先確定波特率,再計(jì)算定時(shí)器1的定時(shí)初值C,然后進(jìn)行定時(shí)器的初始化。根據(jù)上述波特率的公式,可得出計(jì)算定時(shí)器初值的公式為:
在通信初始化過(guò)程中,定時(shí)/計(jì)數(shù)器2采用工作方式2:16位定時(shí)/計(jì)數(shù)器,將串口通信的通信速率設(shè)定為9 600 bps,在這個(gè)程序里SMOD=1,在工作方式2、3中,K=8,則有M=K8=28。定時(shí)器初值設(shè)定如下:
故定時(shí)/計(jì)數(shù)器1的初值為0xFD。
串口通信界面如圖7所示。
圖7 串口通信界面
1.3.2顏色識(shí)別算法
圖8 顏色識(shí)別流程示意圖
顏色識(shí)別流程示意圖如圖8所示。首先進(jìn)行系統(tǒng)初始化,接收命令,依據(jù)程序設(shè)定選擇光電二極管類型和輸出頻率分頻比,然后檢測(cè)TCS230輸出頻率,將數(shù)據(jù)回傳到PC機(jī),接收命令,最后觀察程序是否繼續(xù),如果繼續(xù)則重新接收命令,設(shè)置檢測(cè)通道和分頻比,如果不再繼續(xù),則發(fā)送結(jié)果,結(jié)束程序。
具體的計(jì)算思路是:在一段固定的時(shí)間T內(nèi),測(cè)出TCS230輸出的脈沖個(gè)數(shù)N,所測(cè)頻率f=N/T。具體操作為,定時(shí)/計(jì)數(shù)器0用來(lái)計(jì)測(cè)TCS230輸出的脈沖個(gè)數(shù)N,定時(shí)/計(jì)數(shù)器0工作在方式1:16位定時(shí)/計(jì)數(shù)器,初值設(shè)為0x00。用程序設(shè)置一個(gè)軟計(jì)數(shù)器TV1,規(guī)定一段固定時(shí)間T,定時(shí)/計(jì)數(shù)器1的中斷實(shí)現(xiàn)軟計(jì)數(shù)器。定時(shí)/計(jì)數(shù)器1的中斷周期T0:
≈3.252×10-6
由上述計(jì)算可知,一個(gè)中斷周期太短,需要循環(huán)實(shí)現(xiàn)周期的累積,以達(dá)到一個(gè)微秒級(jí)的固定時(shí)間段。由于系統(tǒng)使用了串口通信,所以要求數(shù)據(jù)盡量可以完全除盡,考慮上述要求,設(shè)置循環(huán)次數(shù)N=864。故固定時(shí)間段為:
綜上所述,所測(cè)頻率為:
2檢測(cè)過(guò)程及結(jié)果
本實(shí)驗(yàn)將TCS230分別選通無(wú)濾光、紅色、藍(lán)色、綠色通道,對(duì)紅色和白色的色卡進(jìn)行檢測(cè),輸出頻率分頻比選擇100%(0~500 kHz)。
檢測(cè)具體過(guò)程如下:
① 將單片機(jī)系統(tǒng)用串口線與PC機(jī)相連,開(kāi)啟電源開(kāi)關(guān);
② 點(diǎn)擊人機(jī)界面上的“連接”鍵;
③ 等待5 s左右,待數(shù)據(jù)穩(wěn)定后開(kāi)始讀數(shù),讀取10~14個(gè)數(shù)據(jù);
④ 退出“連接”并記錄數(shù)據(jù);
⑤ 關(guān)閉電源開(kāi)關(guān),修改單片機(jī)程序,選通下一種通道,重新用編程器寫(xiě)入程序,重復(fù)上述步驟①~⑤進(jìn)行操作。
由于原始采樣數(shù)據(jù)為十六進(jìn)制, 如需進(jìn)行統(tǒng)計(jì)分析,需將原始數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制數(shù)據(jù),下面給出了原始數(shù)據(jù)、處理后的數(shù)據(jù)及統(tǒng)計(jì)分析數(shù)據(jù)。白色色卡的檢測(cè)結(jié)果略——編者注,為了更好地分析數(shù)據(jù),由表中的平均值近似數(shù)據(jù)生成的柱狀圖略——編者注。
從白色色卡檢測(cè)結(jié)果圖中可明顯看出,當(dāng)無(wú)濾光通道選通時(shí)光強(qiáng)最大,而選通紅色、藍(lán)色和綠色通道的光強(qiáng)基本相同,而且值較低,分別占選通無(wú)濾光通道光強(qiáng)的30.74%、33.85%、28.03%。由于30.74%、33.85%、28.03%三個(gè)值之和約為92.62%,與無(wú)濾光通道的值相差在10%以內(nèi),從而可知數(shù)據(jù)正確。由于30.74%、33.85%、28.03%三個(gè)值沒(méi)有一個(gè)超過(guò)無(wú)濾光通道值的50%,從而可知檢測(cè)的是白光。雖然程序沒(méi)有涉及白平衡,但這組數(shù)據(jù)就可以作為一組白平衡數(shù)據(jù)。
紅色色卡的檢測(cè)結(jié)果略——編者注。從圖中可明顯看出,當(dāng)選通無(wú)濾光通道時(shí)光強(qiáng)最大,其次是選通紅色通道時(shí),而且其值較大,為選通無(wú)濾光通道的74.95%,而選通藍(lán)色和綠色通道的光強(qiáng)基本相同,而且較低,分別為選通無(wú)濾光通道的13.20%、13.56%。由于74.95%、13.20%、13.56%三個(gè)值之和約為101.71%,與無(wú)濾光光通道的值相差在10%以內(nèi),從而可知數(shù)據(jù)正確。由于紅色通道的74.95%超過(guò)了無(wú)濾光通道值的50%,從而可知檢測(cè)的是紅光。
結(jié)語(yǔ)
以光傳感器TCS230為探測(cè)器,AT89C2051單片機(jī)為運(yùn)算、控制核心的顏色識(shí)別系統(tǒng),具有結(jié)構(gòu)簡(jiǎn)單、可靠性高、使用方便等優(yōu)點(diǎn)。TCS230使用硅光電二極管測(cè)量光強(qiáng),具有響應(yīng)快、重復(fù)性和穩(wěn)定性好等特點(diǎn),特別適用于彩色打印機(jī)、醫(yī)療診斷、計(jì)算機(jī)彩色監(jiān)視器校正、過(guò)程控制以及顏料、紡織品、化妝品和印刷材料的配色等應(yīng)用方面。利用單片機(jī)快速?gòu)?qiáng)大的處理功能,能夠快速、準(zhǔn)確地做出單一顏色的識(shí)別,在以顏色為標(biāo)志的過(guò)程監(jiān)控和產(chǎn)品分檢中有著廣泛的用途。
參考文獻(xiàn)
[1] 季峰,陳炳若.色敏器件的研究進(jìn)展和應(yīng)用[J].光電子技術(shù),2003(3).
[2] 張松燦,肖本賢.高分辨率顏色傳感器TCS230的原理和應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005(3).
[3] 彭為,黃科,雷道仲.單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講[M].北京:電子工業(yè)出版社,2006.
[4] 蔣寅國(guó),鄧燕妮.基于TCS3200的多點(diǎn)顏色檢測(cè)裝置的設(shè)計(jì)[J].儀表技術(shù),2011(3).
[5] 吳杰.基于單片機(jī)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].無(wú)線互聯(lián)科技,2015(20).
馮婷(碩士研究生),研究方向?yàn)闄z測(cè)技術(shù)及自動(dòng)化裝置;鐘澔(助理工程師),研究方向?yàn)樽詣?dòng)化技術(shù)及電機(jī)拖動(dòng)。
4.4失真度測(cè)試
定義:輸出電壓失真度為電壓所含諧波分量的比率。
測(cè)試方法:每相接22 Ω負(fù)載時(shí),用失真度測(cè)試儀測(cè)試系統(tǒng)輸出電壓波形失真度,測(cè)試結(jié)果如表6所列。
表6 失真度測(cè)試結(jié)果
結(jié)果分析:整體上來(lái)說(shuō),測(cè)量精度比較理想,在加重負(fù)載(8 Ω)情況下測(cè)量,失真度為4.8%。
[1] 任賢,王紅.基于DSP的大功率三相逆變電源設(shè)計(jì)與實(shí)現(xiàn)[J].裝備制造技術(shù),2012(6):175-178.
[2] 張鵬超.基于DSP的三相逆變電源研制[J].電源技術(shù),2011,35(9):1154-1156.
[3] 呂飛.三相逆變電源的混雜控制研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2012.
[4] 何通能,安康,逯峰.基于模糊PI控制的三相船用逆變電源研究[J].浙江工業(yè)大學(xué)學(xué)報(bào),2013,41(2):222-226.
[5] 吳家梁,樊波,劉嘉,等.三相SVPWM逆變電源輸出波形優(yōu)化控制策略[J].空軍工程大學(xué)學(xué)報(bào):自然科學(xué)版,2013,14(4):91-94.
[6] 曹太強(qiáng),祁強(qiáng),王軍.三相逆變電源不平衡負(fù)載控制方法的研究[J].電機(jī)與控制學(xué)報(bào),2013,16(4):53-55.
[7] 孫馳,馬偉明,魯軍勇.三相逆變器輸出電壓不平衡的產(chǎn)生機(jī)理分析及其矯正[J].中國(guó)電機(jī)工程學(xué)報(bào),2006,26(21):57-64.
[8] 周錦榮,王輝,周小方.三相逆變電源系統(tǒng)的SVPWM技術(shù)研究[J].寧夏大學(xué)學(xué)報(bào),2013,34(4):317-319.
[9] 王曉東,李嵐.一種用于雙電源系統(tǒng)的三相逆變電源[J].電氣技術(shù),2012(10):13-15.
劉彤(講師),主要研究方向?yàn)榭刂评碚撆c控制工程。
Feng Ting,Zhong Hao
(Department of Engineering Technology,Beijing Chonglee Machinery Engineering Co.,Ltd.,Beijing 101111,China)
Abstract:The color sensor TCS230 produced by TAOS is used in the color detection system.The AT89C2051 of Atmel company is used to achieve logic control and data acquisition.The data is transmitted to the host computer through the serial port,then the collected data is stored and do the color recognition.The hardware of recognition circuit,communication circuit and subsidiary circuit are designed.The software is designed according to the experimental algorithm and the hardware circuit,which includes the serial communication and color recognition algorithm.The experiment results indicate that the design plan is rational and the result is correct.
Key words:TCS230;color sensor;AT89C2051
中圖分類號(hào):TP212.9
文獻(xiàn)標(biāo)識(shí)碼:A
收稿日期:(責(zé)任編輯:薛士然2016-01-25) (責(zé)任編輯:薛士然2016-03-07)