摘要:為了實現(xiàn)煙支剔除的自動化程度,減少人為干預量和提高剔除精度,文中給出了采用FPGA" title="FPGA">FPGA硬件編程方法將數據采集部件采集到的煙支數據經A/D轉換后送入FPGA,然后根據一定的判決算法輸出控制信號,以用于控制剔除閥動作,同時將數據通過計算機串口讀入上位機,以此實現(xiàn)機械剔除控制和顯示實現(xiàn)方法。
關鍵詞:FPGA;煙支檢測" title="煙支檢測">煙支檢測;數據處理;問題煙;剔除
0 引言
煙支在生產過程中,由于多種因素的影響,可能會使成品煙的煙絲填充不均勻,煙支的某節(jié)煙絲過少或過多,從而出現(xiàn)空頭煙、超重煙、超輕煙。本系統(tǒng)采用可編程器件控制煙支檢測,該方法較其他單獨硬件設計具有可重用性高,編程方便,設計成本低,開發(fā)周期短,控制靈活,剔除率高等優(yōu)點;再者,現(xiàn)在的煙支剔除大部分都是人工挑選,故存在工人工作量大,挑選不干凈等問題,而該系統(tǒng)可使問題煙的判別、剔除工作自動進行,可對問題煙進行挑選,并能夠剔除問題煙。
1 硬件設計
煙支檢測系統(tǒng)是用于檢測煙支某些參數(如空頭煙、重量、密度等)的一個系統(tǒng),該系統(tǒng)一般可由數據采集(傳感器)部件、數據處理部件、數據顯示部件、機械控制部件等幾個部分構成。其系統(tǒng)框圖如圖1所示。
其中數據采集部件是系統(tǒng)與被檢測參數最直接接觸的部分,它是整個系統(tǒng)的數據來源。后期處理是否跟實際一致,直接跟它相關。一般對應不同的物理量,應選擇不同的傳感器,如空頭煙檢測可選擇光電探頭或電容式探頭,重量控制可選擇重量傳感器,密度控制則應選擇密度傳感器。
數據處理部件是整個系統(tǒng)的核心,傳感器采集的數據主要送往該部件進行處理。它一般可由A/D采樣板,差分傳輸板,F(xiàn)PGA處理主板組成。傳感器一般得到的數據是模擬量,故應將數據送到數字處理系統(tǒng)進行處理,以將其轉化成數字量來進行后期處理。為了保證傳輸的正確性和可靠性,在A/D采樣板送出數據到系統(tǒng)主板之間應使用雙絞線差分傳輸。系統(tǒng)主板主要是以FPGA為核心的控制板,可實現(xiàn)數據處理(剔除)算法,并為后面的機械部分提供控制信號以及將采集和運算數據送到顯示器進行顯示,從而滿足系統(tǒng)設計的要求。
數據顯示部件也稱為人機交互接口,該部件是整個系統(tǒng)的最直觀的表現(xiàn)。它是用戶跟系統(tǒng)進行交互的主要部分,用戶可以在其上面選擇一些閾值和處理方法等參數,也可以控制系統(tǒng)的啟動和停止。同時,系統(tǒng)再將一些重要數據顯示出來,使用戶能夠直觀得出該系統(tǒng)的工作狀況等參數。
機械控制部件是整個系統(tǒng)動作的執(zhí)行者,因為系統(tǒng)板內部都是弱電,不能驅動機械部件動作,故在其中間需加驅動電路,以使其能夠正常工作。其工作主要是當數據處理部件根據一定的判決算法得到某煙為問題煙時,對這些問題煙進行剔除。從而使系統(tǒng)能夠自動的檢測出問題煙并控制剔除動作,減少人工的干預量,達到自動化的目標。
2 器件選型
2.1 數據采集部件(探頭)的選擇
數據采集部件一般位于整個系統(tǒng)的最前端,它的選型對系統(tǒng)的穩(wěn)定性、可行性有很大影響,本系統(tǒng)選擇光電傳感器作為探頭來對煙支的數據進行采集,它的靈敏度直接與剔除率有關。為了讓剔除效果達到最好,探頭靈敏度必須調整到合適的設置值。
靈敏度包括靜態(tài)靈敏度和動態(tài)靈敏度兩種,靜態(tài)靈敏度主要是在靜態(tài)情況下探頭的光反射強度與探頭距煙頭的距離、日光、煙頭密度及探頭電壓等之間的關系;動態(tài)靈敏度是動態(tài)情況下的性能指標。本系統(tǒng)是讓探頭工作在不同的靈敏度下分析剔除率和誤剔率,從而選定剔除性能最好的靈敏度器件。動態(tài)靈敏度的另一個影響因素為動態(tài)位置誤差,即在采樣時間內,由輪盤(與軸編碼器同步)轉動造成的位置變化所引起的探頭誤差,這里主要從位置誤差和探頭作用距離上比較,圖2所示是動態(tài)位置誤差示意圖。
在圖2中,R表示推煙板曲軸的輪盤半徑,一次采樣過程的起點為p1,結束位置為p2,該段持續(xù)時間內的曲軸誤差為δr,其中:
若所選A/D采樣速率為50kHz,采樣周期為2×15-5s,那么,按每分鐘400轉計算,一次采樣時間內的輪盤轉動弧度為:
取采樣10次的平均,其位置誤差不到4μm。而根據探頭的位置響應曲線,探頭的最佳檢測距離在離煙2~3.5mm處,2mm>>4μm,所以,理想情況下由動態(tài)位置引起的誤差可忽略不計。
根據以上分析,本設計選用韓國KODENSHI公司的SG-2BC傳感器。
2.2 A/D轉換器的選擇
ADS7841E是德州儀器公司開發(fā)的一塊4通道,12位,帶串行接口的模數轉換芯片,它是一塊低功耗、高速度、高精確度的A/D采樣芯片,電壓為2.7~5 V,可達到200kHz的轉換速率。根據筆者對探頭的測試,探頭檢測的最小變化為0.5V左右,而A/D采樣的分辨率為3.3/212V≈8×10-4V,所以,該AD采樣芯片完全可以滿足設計要求。
2.3 FPGA的選擇
該系統(tǒng)采用EP3C16Q" title="EP3C16Q">EP3C16Q型FPGA進行控制邏輯編程。該器件是ALXERA公司生產的CycloneII" title="CycloneII">CycloneII系列高性能現(xiàn)場可編程門陣列,而且具有豐富的邏輯資源。EP3C16Q具有15408個邏輯單元、56個嵌入式乘法器和4個鎖相環(huán)(PLL),其內部的RAM容量為504Kbits,系統(tǒng)頻率高達260MHz,而且穩(wěn)定性很高。采用單片F(xiàn)PGA實現(xiàn)邏輯控制和數據處理功能可以簡化電路設計,提高系統(tǒng)的可靠性并節(jié)約成本。設計時,只需一根下載電纜連接到目標板上,就可以多次重復編程,而且電路調試十分方便。
3 軟件設計
本系統(tǒng)的核心處理程序可采用QUARTUSII7.2軟件和Verilog HDL語言進行編寫,而上位機軟件則可采用Delphi7軟件進行編寫,其核心部分是數據處理部件,它主要由A/D采樣、差分傳輸和FPGA數據處理部分構成,為了使系統(tǒng)實現(xiàn)更加方便,且便于控制,選擇FPGA對剔除問題煙的算法非常關鍵。圖3所示是整個系統(tǒng)的程序框圖。
3.1 A/D采樣
ADS7841E是一款4通道12位的A/D轉換芯片,它是由時鐘控制的串行輸入芯片,芯片DIN中的A2、A1、A0位是通道選擇位,MODE位是12b-it/8bit轉換選擇位,本設計選擇高精度的12bit轉換,SGL/DIF位用于選擇是單端轉換還是差分轉換,本設計選擇單端轉換。ADS7841E模塊的軟件設計原理圖如圖4所示。
圖4中,clkin為系統(tǒng)時鐘,CH1~CH7為ADS7841E芯片的轉換結果并行輸出,該數據可送往FPGA進行判決處理。
3.2 FPGA數據的處理
在對FPGA數據進行處理時,可以采用均值剔除算法。所謂均值剔除算法,就是用一個樣本的當前值與一個參考值相減,然后取絕對值,如果結果超過某一門限,就說明其不符合要求,故可舍棄這個數據。假設隨機變量X具有數學期望μ和方差σ2,那么,對于任意正數ε,其不等式(6)成立:
不等式(6)稱為切比雪夫不等式,若令ε=3σ,則可得到:
其中,μ為正態(tài)分布的期望,σ為正態(tài)分布的均方差。由式(8)可知,對于正態(tài)隨機變量來說,它的值落在區(qū)間[μ-3σ,μ+3σ]內幾乎是必然的事件,這就是3σ規(guī)則。
由于均值剔除算法實現(xiàn)簡單,且剔除效率比較高,因此,該系統(tǒng)選擇均值剔除算法作為實驗算法來驗證系統(tǒng)的可能性和穩(wěn)定性。其判別模塊的原理圖如圖5所示。
圖5中,clkin為系統(tǒng)時鐘,enclk為系統(tǒng)同步時鐘,control為控制信號輸出。將該控制信號送往驅動板,即可控制機械部件以剔除問題煙,datain為前端A/D采樣輸出的數據。
3.3 系統(tǒng)原理實現(xiàn)
FPGA程序中還應包括A/D采樣控制、算法判決、問題煙檢出后的剔除信號產生以及上位機的顯示等功能。
整個系統(tǒng)的同步由軸編碼器控制,軸編碼器的轉速與正常卷煙機的速度一致,也就是說,煙條的下落速度越快,軸編碼器的轉速越快?,F(xiàn)在,大部分煙機的速度可達400轉/秒,煙條下落一根,軸編碼器轉一圈(360°)。其系統(tǒng)的整體軟件實現(xiàn)原理圖如圖6所示。
圖6所示的整個系統(tǒng)包括A/D轉換模塊、判決模塊和顯示模塊三部分。其中clkin為系統(tǒng)時鐘,ain,bin,zin為軸編碼器的輸入信號,輸出的脈沖enclk為整個系統(tǒng)的同步時鐘,該時鐘由軸編碼器產生。判決模塊中的主要輸出為均值(aver)、方差(variance)、剔除控制信號(co-ntrol);顯示模塊主要將判決模塊輸出的數據通過串口送往上位機顯示,TxD為系統(tǒng)與上位機的接口,用于傳輸系統(tǒng)所需顯示的數據和用戶需要控制的參數。
4 設計驗證
該煙支檢測系統(tǒng)的實驗條件是常溫,F(xiàn)PGA主板為5V轉3.3V供電,剔除控制板的電源電壓為24V,模擬煙機的轉速為200轉/秒(該數據通過顯示器進行顯示得出)。實驗時,先在下煙道中放置一定數量的正常煙,再放置一些問題煙(如空頭煙),然后通過探頭采集數據并送往A/D采樣芯片,再將得出的數字信號送到FPGA中進行處理,并計算出判決量,再根據一定的剔除算法判決出問題煙,然后產生一個剔除控制信號去控制煙機上的剔除裝置,以將問題煙剔除,同時將計算結果中一些必要的量、剔除的煙支數、剔除率實時的顯示到上位機,以供用戶查看和了解煙機的運轉狀況。
5 結束語
通過對整個系統(tǒng)的大量實際測驗可知,該系統(tǒng)能夠很好的剔除問題煙,并把相關的數據傳到上位機進行顯示,同時還可以跟用戶進行交互,剔除率可以達到70%左右,可以達到設計參數要求,滿足工業(yè)生產實際需求。
本系統(tǒng)雖以煙支檢測為例,但如更換前端的傳感器與后端的機械控制部件,對于其他物體的狀態(tài)監(jiān)測同樣適用,也可以作為數據采集與處理的一個通用平臺,因而具有廣闊的應用前景。