1 概 述
在當今的社會生活中,顏色識別得到越來越廣泛的應用。各個領域的廣泛應用需求使顏色識別技術有了長足的發展,結合其他技術,可為工業控制、產品制造等多個行業更好地服務。目前,顏色識別技術主要是通過結構簡單、使用方便的單片機來實現,而本設計選用FPGA來實現,該系統可應用于印染、油漆、汽車等行業,也可以裝在自動生產線上對產品的顏色進行監測。這樣選擇的好處有以下幾點:
?、貴PGA芯片是并行運算的,每個振蕩周期都可以執行任務,而單片機(如8051系列)的每條指令都需要12個振蕩周期。例如,單片機I/O端口的變化最快也需要24個振蕩周期,而FPGA只需要2個振蕩周期,所以同樣的振蕩周期下,FPGA速度更快。
②FPGA有豐富的I/O資源(一般有數百個I/O口),容易實現大規模系統,可以方便地連接外設(比如多路A/D、D/A等)。而單片機的I/O口有限,要進行仔細的資源分配、總線隔離。
③FPGA可以進行硬件重構,在功能擴展或性能改善方面也非常容易。
本設計選用了Altera公司的:NioslI軟核,使用SOPC的軟硬件綜合解決方案。與傳統的設計方法完全不同,從硬件和軟件整體設計上進行了極大的改進,使硬件電路更加簡單、有效、易于理解,軟件設計更輕松、可移植性更強。
2 設計原理
如圖1所示,顏色識別系統主要由模擬和數字兩部分組成。模擬部分主要用來轉換光電信號、放大信號和濾除噪聲。數字部分主要用來對A/D采樣進來的數字信號實現中值濾波、查對數表、求對數比,以及顯示等操作。
?
3 模擬部分
3.1 顏色采集模塊
本設計中采用的色敏傳感器是CLS9032。該傳感器有2個垂直連接的PN結,其厚度可以給色敏傳感器起到一個光學濾波器的作用。波長較短的光在硅的表面就被吸收了,而波長較長的光到達深一些的位置才會被吸收?;谶@種光譜的敏感性,根據光的波長來選擇信號(顏色)。使用2個光電二極管之間的對數電流比作為信號處理的方法。不同顏色的光照射時,該色敏傳感器紅、綠、藍區3個引腳都會輸出電流信號,但是相應顏色的引腳輸出的電流信號會比其他引腳輸出的電流信號強。利用這種原理能夠有效地避免外界環境造成的輸出電流的起伏,因此這種器件具有較高的可靠性。
在距離色敏傳感器1.5 cm處,分別用紅、綠、藍3種顏色的光源直接照射,檢測經過模擬部分處理后的輸出電壓信號。實際測試數據如表1所列。
?
3.2 放大模塊
圖2是模擬部分制成PCB后的實物圖。選取了有代表性的紅、綠、藍3種顏色,分別用相應顏色的發光二極管來代表。使顏色識別系統有充足的光線照射,便于探測。
?
色敏傳感器負責把不同顏色的光信號轉換成電流信號,但是電流信號只是幾十到幾百nA的數量級,需要放大電路來放大到所需要的程度。不同顏色產生的微弱電流信號傳送到對應的線路通道上,通過以下3級放大,把nA級的電流信號轉換成V級的電壓信號。具體電路如圖3所示。
?
?、俚?級是在電流放大的模式下工作,運放選用高精度、低噪聲的高精密運放OP177。經過放大的信號大致能達到幾十mV。這個幅度的電壓還太小,不能輸入到數字系統,因此還要對電壓信號進行進一步的放大。
?、诘?級放大為同相的電壓放大,選用高精度的集成運放OP07。放大后的電壓幅度大致為幾百mV,且放大的輸出為負。
③第3級放大要采用反相的電壓放大,運放同樣選用OP07。輸出的信號幅度為幾伏,能夠滿足輸入數字系統的要求。
3.3 濾波模塊
經過放大后的直流信號,因為有噪聲的干擾,還有一些毛刺。經過查閱參考文獻和實際的實驗測試,最終采用20 Hz二階有源低通濾波器,可以為后面的級聯使用提供干凈的信號。
評論
查看更多