基于單片機(jī)便攜式顏色自適應(yīng)識別電路的設(shè)計(jì)
摘要:為解決電致變色器件的顏色變化受外界環(huán)境顏色控制的問題,設(shè)計(jì)了一種基于單片機(jī)的便攜式顏色自適應(yīng)識別電路。與傳統(tǒng)顏色識別電路相比較,該電路利用數(shù)字式的顏色傳感器來獲取外界環(huán)境顏色,產(chǎn)生的數(shù)字顏色信號易于單片機(jī)進(jìn)行處理。在電路中,下位機(jī)部分主要負(fù)責(zé)獲取電致變色器件變色參數(shù)及控制電致變色器件的顏色變化;而上位機(jī)部分主要負(fù)責(zé)把下位機(jī)獲取的電致變色器件變色參數(shù)進(jìn)行電壓到顏色的曲線擬合,并通過藍(lán)牙通信把擬合曲線參數(shù)傳遞給下位機(jī)。結(jié)果表明,該電路能自動(dòng)根據(jù)環(huán)境顏色提供-4~4 V范圍步進(jìn)為0.1 V的電壓來驅(qū)動(dòng)電致變色器件的顏色顯示,與傳統(tǒng)的顏色識別電路設(shè)計(jì)相比,識別的精度和速度都得到了明顯改善。
關(guān)鍵詞:顏色傳感器;顏色識剮;藍(lán)牙;單片機(jī)
顏色識別是模式識別領(lǐng)域的一個(gè)重要研究方向,利用顏色識別技術(shù)能使傳統(tǒng)依靠人眼進(jìn)行顏色判別的方法發(fā)生根本變革。這種新型技術(shù)采用顏色傳感器獲取外界的顏色信息,進(jìn)而通過基于計(jì)算機(jī)的信號處理技術(shù)實(shí)現(xiàn)顏色的精確識別。
顏色識別技術(shù)經(jīng)歷了傳統(tǒng)模擬識別方法和現(xiàn)代數(shù)字化識別兩個(gè)階段。傳統(tǒng)的顏色識別方法采用模擬顏色探測器件來進(jìn)行外界顏色獲取,這種探測器件通常是在獨(dú)立的光電二極管上覆蓋經(jīng)過修正的紅、綠、藍(lán)濾光片,經(jīng)過光電轉(zhuǎn)換產(chǎn)生對應(yīng)的模擬信號;如果用微控制器對這些模擬信號進(jìn)行處理,就必須采用額外的AD轉(zhuǎn)換電路才能實(shí)現(xiàn)和微控制器的接口,而AD轉(zhuǎn)換電路的引入增加了信號的處理時(shí)間,對整個(gè)系統(tǒng)的速度有很大的影響;此外,由于一般的AD轉(zhuǎn)換存在量化誤差,系統(tǒng)的精度受到很大的限制,這些使得傳統(tǒng)的顏色識別方法逐漸被現(xiàn)在的數(shù)字式化的顏色識別技術(shù)所替代。隨著半導(dǎo)體技術(shù)的發(fā)展,數(shù)字式的顏色傳感器逐步取代了傳統(tǒng)的光電二極管傳感器,這種技術(shù)把顏色傳感器所需的光學(xué)、機(jī)械、電子等信號處理集成在很小的芯片上極大地縮小了顏色傳感器的體積。由于這種傳感器輸出的是數(shù)字量,因此可以通過數(shù)字處理技術(shù)來提高探測速度并保持檢測器輸出信號的精度。例如采用改進(jìn)的動(dòng)態(tài)檢測方法來提高顏色探測的速度,采用數(shù)字電路來處理顏色數(shù)據(jù)等。
雖然數(shù)字傳感器已經(jīng)取得了一些成功,但其應(yīng)用于市場的技術(shù)還不夠成熟,隨著美國TAOS(Texas Advanced Optoelectronic Solutions)公司最新推出的顏色傳感器TCS230的面世,數(shù)字傳感器才真正被工程師們采用。這種顏色傳感器具有分辨率高、可編程的顏色選擇、數(shù)字輸出等特點(diǎn)。本文采用TCS230來作為系統(tǒng)的探測部分,基于該器件設(shè)計(jì)的顏色識別系統(tǒng)可以應(yīng)用于軍事領(lǐng)域,也可以應(yīng)用于電致變色材料的變色研究以便獲得材料的變色參數(shù)。
1 TCS230簡介
1.1 主要特性
TCS230是美國TAOS公司推出的可編程光到頻率的轉(zhuǎn)換器。它把可配置的硅光電二極管與電流頻率轉(zhuǎn)換器集成在一個(gè)單一的CMOS(Comple-mentary Metal Oxide Semiconductor)電路上,同時(shí)在單一芯片上還集成了紅、綠、藍(lán)(RGB)3種濾光器,是業(yè)界第一個(gè)有數(shù)字兼容接口的RGB顏色傳感器。該數(shù)字兼容接口可以和微處理器直接連接,使電路設(shè)計(jì)變得簡單;此外,TCS230內(nèi)部每個(gè)顏色通道有10位的數(shù)字轉(zhuǎn)換精度,大大提高了顏色的獲取精度。
1.2 引腳說明
TCS230引腳及內(nèi)部結(jié)構(gòu)圖如圖1所示。TCS230外部有8個(gè)引腳,其內(nèi)部主要由光電二極管陣列和電流頻率轉(zhuǎn)換器組成,通過微處理器控制S0,S1,S2,S3的引腳電平可以控制TCS230輸出紅綠藍(lán)三顏色頻率值,通過標(biāo)定可以得到數(shù)值化的BGB值,該值可以采用計(jì)算機(jī)來進(jìn)行處理識別。
[!--empirenews.page--]
2 便攜式顏色自適應(yīng)識別電路設(shè)計(jì)
2.1 便攜式顏色自適應(yīng)識別電路設(shè)計(jì)原理
電致變色器件是隨施加在器件上的電壓而顯示不同顏色的模擬器件,一般變色的電壓范圍是-4~+4 V,且不同顏色顯示的電壓差值在0.1 V左右,因此本設(shè)計(jì)的重點(diǎn)是如何輸出該電壓值。
圖2為便攜式顏色探測自適應(yīng)系統(tǒng)框圖。整個(gè)系統(tǒng)實(shí)現(xiàn)的關(guān)鍵是系統(tǒng)的控制模塊,在本設(shè)計(jì)中采用單片機(jī)來進(jìn)行數(shù)據(jù)和命令的控制。本文的主要工作是基于電致變色器件而設(shè)計(jì)相應(yīng)的電路,電路的功能主要是控制電致變色器件的變色情況受外界環(huán)境的控制,從而起到識別作用。
傳統(tǒng)的顏色識別系統(tǒng)中涉及到多次模數(shù)-數(shù)模轉(zhuǎn)換,該轉(zhuǎn)換需要系統(tǒng)額外的處理時(shí)間,因此,減少這種模數(shù)-數(shù)模轉(zhuǎn)換的次數(shù)則能提高系統(tǒng)的處理速度,其中最主要的方法是采用數(shù)字式的顏色傳感器和帶模數(shù)轉(zhuǎn)換的單片機(jī)來實(shí)現(xiàn)。在本系統(tǒng)中采用了TCS230來作為外界顏色采集器件,其數(shù)字式的輸出接口可以直接和單片機(jī)進(jìn)行數(shù)據(jù)交換,不需要采用模數(shù)轉(zhuǎn)換電路。單片機(jī)采用的是帶16位的數(shù)模轉(zhuǎn)換的低功耗器件AD-UC845,它可以把處理過的顏色數(shù)據(jù)通過內(nèi)部集成的DA轉(zhuǎn)換電路轉(zhuǎn)換為模擬的信號,該信號用來驅(qū)動(dòng)電致變色器件進(jìn)行顏色重現(xiàn)。
系統(tǒng)的控制部分主要完成對顏色到電壓的轉(zhuǎn)換功能,通過顏色傳感器獲取外界環(huán)境的顏色值,然后通過處理把顏色值轉(zhuǎn)換為電致變色器件能夠精確顯示該顏色的電壓。本文提出了兩種自適應(yīng)的顏色到電壓的轉(zhuǎn)換方法:第一種方法采用matlab的曲線擬合方法,通過擬合顏色-電壓曲線得到擬合參數(shù),并得到顏色-電壓函數(shù);系統(tǒng)在該函數(shù)的作用下自動(dòng)根據(jù)顏色值輸出對應(yīng)的電壓從而控制電致變色器件的顯示。第二種方法是采用比較大的存儲(chǔ)系統(tǒng),通過控制部分不斷的給電致變色器件送入電壓,然后獲取對應(yīng)的顏色數(shù)據(jù),把電壓-顏色值存入存儲(chǔ)器建立一個(gè)數(shù)據(jù)庫;系統(tǒng)運(yùn)行的時(shí)候,會(huì)把外界的顏色值和存儲(chǔ)的顏色值進(jìn)行比對,若相同則把存儲(chǔ)的對應(yīng)電壓值輸出。由于要頻繁的讀取存儲(chǔ)器,該方法的速度比第一種方法慢。通過對比兩種方法的優(yōu)缺點(diǎn)本系統(tǒng)采用第一種方法來實(shí)現(xiàn)顏色重現(xiàn)。
2.2 便攜式顏色探測自適應(yīng)電路硬件圖
本系統(tǒng)的硬件框圖如圖3所示。主要由4個(gè)模塊組成:穩(wěn)壓電源模塊,顏色傳感器模塊,單片機(jī)處理模塊,電壓偏移模塊和藍(lán)牙通信模塊。
系統(tǒng)中的穩(wěn)壓電源模塊可提供兩種不同的電壓值:9 V的電壓偏移模塊工作電壓和單片機(jī)3.3 V的工作電壓值(3.3 V也用來驅(qū)動(dòng)顏色傳感器、藍(lán)牙模塊、存儲(chǔ)芯片),模塊中采用二極管來防止電源的反接而導(dǎo)致破壞系統(tǒng)的正常工作。
顏色傳感器采用的是TCS230,由于其工作電壓為3.3 V,因此直接與單片機(jī)進(jìn)行接口設(shè)計(jì),電路結(jié)構(gòu)簡單。
單片機(jī)處理模塊中采用了EEPROM來存放擬合好的顏色-電壓參數(shù)值,系統(tǒng)在運(yùn)行的時(shí)候會(huì)根據(jù)讀取的參數(shù)值給出顏色-電壓擬合函數(shù),并在該函數(shù)的控制下進(jìn)行顏色的重現(xiàn)。
電壓偏移模塊主要是負(fù)責(zé)對電壓進(jìn)行極性的反轉(zhuǎn)和電壓的適當(dāng)放大,由于電致變色器件的變色范圍有負(fù)電壓的出現(xiàn),因此在本系統(tǒng)單電源供電的情況下必須采用偏移電路實(shí)現(xiàn)負(fù)極性電壓的輸出。
藍(lán)牙通信模塊是負(fù)責(zé)數(shù)據(jù)的上下位機(jī)通信,通過把獲取的顏色數(shù)據(jù)發(fā)送給上位PC機(jī),PC機(jī)在matlab的處理下,擬合顏色-電壓曲線,并把得到的擬合參數(shù)發(fā)送下位單片機(jī)。由于PC機(jī)的處理速度快,因此擬合的時(shí)間很少,主要的時(shí)間是上下位機(jī)之間的通信時(shí)間。
[!--empirenews.page--]
2.3 便攜式顏色自適應(yīng)識別電路軟件設(shè)計(jì)
在系統(tǒng)工作之前必須通過軟件對系統(tǒng)進(jìn)行自平衡校準(zhǔn),采用的方法是:通過設(shè)置單片機(jī)的定時(shí)器為固定時(shí)間,然后選通三種顏色的濾波器,計(jì)算這段時(shí)間內(nèi)TCS230的輸出脈沖數(shù),得出一個(gè)比例因子,通過這個(gè)比例因子可以把這些脈沖數(shù)變?yōu)?55。在實(shí)際測試時(shí),使用同樣的時(shí)間進(jìn)行計(jì)數(shù),把測得的脈沖數(shù)再乘以求得的比例因子,然后就可以得到所對應(yīng)的R、G和B的值。校準(zhǔn)后則開始系統(tǒng)的正常工作,程序主要的工作是進(jìn)行信號的處理包括中值濾波,A/D轉(zhuǎn)換等,在環(huán)境顏色的跟蹤過程中需要運(yùn)用一系列的算法來實(shí)現(xiàn)對復(fù)雜環(huán)境的顏色的提取,這需要對設(shè)計(jì)的程序進(jìn)行不斷調(diào)試。
程序的功能(圖4)是程序設(shè)計(jì)的準(zhǔn)則,在本系統(tǒng)的程序設(shè)計(jì)中,最主要的功能是命令識別和執(zhí)行,命令用來對數(shù)據(jù)流的方向進(jìn)行準(zhǔn)確控制,只有通過上下位機(jī)的命令二者之間的通信才能順利完成。系統(tǒng)在命令的控制下實(shí)現(xiàn)顏色識別以及重現(xiàn)功能,通過控制對應(yīng)的輸出接口才能輸出對應(yīng)的電壓值,實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)目的。
程序的軟件框架圖則是軟件設(shè)計(jì)的算法的一種體現(xiàn),本系統(tǒng)的主控程序(圖5)主要完成系統(tǒng)初始化、命令流、數(shù)據(jù)流的統(tǒng)一調(diào)度。通過主控程序的調(diào)度外圍部件能夠正常的完成系統(tǒng)的功能要求。
3 便攜式顏色識別自適應(yīng)電路實(shí)物圖
按照設(shè)計(jì)的系統(tǒng)硬件電路圖,設(shè)計(jì)并制作了便攜式顏色自適應(yīng)系統(tǒng)的裸版,如圖6所示。電路板采用兩層布線。通過對設(shè)計(jì)的電路進(jìn)行測試,分析輸出的顏色參量,運(yùn)用matlab對結(jié)果進(jìn)行顏色一電壓曲線擬合,并最終在電致變色器件上面顯示出了顏色,該顏色和從顏色傳感器檢測到的顏色一致。表明本電路能實(shí)現(xiàn)所要求的功能。
4 結(jié)束語
利用數(shù)字式的顏色傳感器和單片機(jī)為電致變色器件設(shè)計(jì)了變色狀態(tài)受外界環(huán)境顏色變化的控制電路,電路簡單、成本低。由于電路工作時(shí),會(huì)首先掃描電致變色器件的變色參數(shù)并儲(chǔ)存,因此電路能自適應(yīng)地控制不同變色參數(shù)的電致變色器件。此外,采用藍(lán)牙通信方式用來實(shí)現(xiàn)上下位機(jī)之間的通信,這樣下位機(jī)的顏色傳感器可以方便的探測外界環(huán)境,便于提高顏色獲取的精度。設(shè)計(jì)中采取減少電路中AD、DA轉(zhuǎn)換的次數(shù),進(jìn)一步提高了電路的工作速度。