《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的煙支檢測(cè)系統(tǒng)的設(shè)計(jì)
基于FPGA的煙支檢測(cè)系統(tǒng)的設(shè)計(jì)
電子元器件應(yīng)用
董 斌,陳 瑞,左 季,王光耀 西安電子科技大學(xué)
摘要: 為了實(shí)現(xiàn)煙支剔除的自動(dòng)化程度,減少人為干預(yù)量和提高剔除精度,文中給出了采用FPGA硬件編程方法將數(shù)據(jù)采集部件采集到的煙支數(shù)據(jù)經(jīng)A/D轉(zhuǎn)換后送入FPGA,然后根據(jù)一定的判決算法輸出控制信號(hào),以用于控制剔除閥動(dòng)作,同時(shí)將數(shù)據(jù)通過(guò)計(jì)算機(jī)串口讀入上位機(jī),以此實(shí)現(xiàn)機(jī)械剔除控制和顯示實(shí)現(xiàn)方法。
關(guān)鍵詞: FPGA 煙支檢測(cè) CycloneII EP3C16Q
Abstract:
Key words :

摘要:為了實(shí)現(xiàn)煙支剔除的自動(dòng)化程度,減少人為干預(yù)量和提高剔除精度,文中給出了采用FPGA" title="FPGA">FPGA硬件編程方法將數(shù)據(jù)采集部件采集到的煙支數(shù)據(jù)經(jīng)A/D轉(zhuǎn)換后送入FPGA,然后根據(jù)一定的判決算法輸出控制信號(hào),以用于控制剔除閥動(dòng)作,同時(shí)將數(shù)據(jù)通過(guò)計(jì)算機(jī)串口讀入上位機(jī),以此實(shí)現(xiàn)機(jī)械剔除控制和顯示實(shí)現(xiàn)方法。
關(guān)鍵詞:FPGA;煙支檢測(cè)" title="煙支檢測(cè)">煙支檢測(cè);數(shù)據(jù)處理;問(wèn)題煙;剔除

0 引言
    煙支在生產(chǎn)過(guò)程中,由于多種因素的影響,可能會(huì)使成品煙的煙絲填充不均勻,煙支的某節(jié)煙絲過(guò)少或過(guò)多,從而出現(xiàn)空頭煙、超重?zé)?、超輕煙。本系統(tǒng)采用可編程器件控制煙支檢測(cè),該方法較其他單獨(dú)硬件設(shè)計(jì)具有可重用性高,編程方便,設(shè)計(jì)成本低,開(kāi)發(fā)周期短,控制靈活,剔除率高等優(yōu)點(diǎn);再者,現(xiàn)在的煙支剔除大部分都是人工挑選,故存在工人工作量大,挑選不干凈等問(wèn)題,而該系統(tǒng)可使問(wèn)題煙的判別、剔除工作自動(dòng)進(jìn)行,可對(duì)問(wèn)題煙進(jìn)行挑選,并能夠剔除問(wèn)題煙。

1 硬件設(shè)計(jì)
    煙支檢測(cè)系統(tǒng)是用于檢測(cè)煙支某些參數(shù)(如空頭煙、重量、密度等)的一個(gè)系統(tǒng),該系統(tǒng)一般可由數(shù)據(jù)采集(傳感器)部件、數(shù)據(jù)處理部件、數(shù)據(jù)顯示部件、機(jī)械控制部件等幾個(gè)部分構(gòu)成。其系統(tǒng)框圖如圖1所示。

a.JPG


    其中數(shù)據(jù)采集部件是系統(tǒng)與被檢測(cè)參數(shù)最直接接觸的部分,它是整個(gè)系統(tǒng)的數(shù)據(jù)來(lái)源。后期處理是否跟實(shí)際一致,直接跟它相關(guān)。一般對(duì)應(yīng)不同的物理量,應(yīng)選擇不同的傳感器,如空頭煙檢測(cè)可選擇光電探頭或電容式探頭,重量控制可選擇重量傳感器,密度控制則應(yīng)選擇密度傳感器。
    數(shù)據(jù)處理部件是整個(gè)系統(tǒng)的核心,傳感器采集的數(shù)據(jù)主要送往該部件進(jìn)行處理。它一般可由A/D采樣板,差分傳輸板,F(xiàn)PGA處理主板組成。傳感器一般得到的數(shù)據(jù)是模擬量,故應(yīng)將數(shù)據(jù)送到數(shù)字處理系統(tǒng)進(jìn)行處理,以將其轉(zhuǎn)化成數(shù)字量來(lái)進(jìn)行后期處理。為了保證傳輸?shù)恼_性和可靠性,在A/D采樣板送出數(shù)據(jù)到系統(tǒng)主板之間應(yīng)使用雙絞線差分傳輸。系統(tǒng)主板主要是以FPGA為核心的控制板,可實(shí)現(xiàn)數(shù)據(jù)處理(剔除)算法,并為后面的機(jī)械部分提供控制信號(hào)以及將采集和運(yùn)算數(shù)據(jù)送到顯示器進(jìn)行顯示,從而滿足系統(tǒng)設(shè)計(jì)的要求。
    數(shù)據(jù)顯示部件也稱(chēng)為人機(jī)交互接口,該部件是整個(gè)系統(tǒng)的最直觀的表現(xiàn)。它是用戶跟系統(tǒng)進(jìn)行交互的主要部分,用戶可以在其上面選擇一些閾值和處理方法等參數(shù),也可以控制系統(tǒng)的啟動(dòng)和停止。同時(shí),系統(tǒng)再將一些重要數(shù)據(jù)顯示出來(lái),使用戶能夠直觀得出該系統(tǒng)的工作狀況等參數(shù)。
    機(jī)械控制部件是整個(gè)系統(tǒng)動(dòng)作的執(zhí)行者,因?yàn)橄到y(tǒng)板內(nèi)部都是弱電,不能驅(qū)動(dòng)機(jī)械部件動(dòng)作,故在其中間需加驅(qū)動(dòng)電路,以使其能夠正常工作。其工作主要是當(dāng)數(shù)據(jù)處理部件根據(jù)一定的判決算法得到某煙為問(wèn)題煙時(shí),對(duì)這些問(wèn)題煙進(jìn)行剔除。從而使系統(tǒng)能夠自動(dòng)的檢測(cè)出問(wèn)題煙并控制剔除動(dòng)作,減少人工的干預(yù)量,達(dá)到自動(dòng)化的目標(biāo)。



2 器件選型
2.1 數(shù)據(jù)采集部件(探頭)的選擇
    數(shù)據(jù)采集部件一般位于整個(gè)系統(tǒng)的最前端,它的選型對(duì)系統(tǒng)的穩(wěn)定性、可行性有很大影響,本系統(tǒng)選擇光電傳感器作為探頭來(lái)對(duì)煙支的數(shù)據(jù)進(jìn)行采集,它的靈敏度直接與剔除率有關(guān)。為了讓剔除效果達(dá)到最好,探頭靈敏度必須調(diào)整到合適的設(shè)置值。
    靈敏度包括靜態(tài)靈敏度和動(dòng)態(tài)靈敏度兩種,靜態(tài)靈敏度主要是在靜態(tài)情況下探頭的光反射強(qiáng)度與探頭距煙頭的距離、日光、煙頭密度及探頭電壓等之間的關(guān)系;動(dòng)態(tài)靈敏度是動(dòng)態(tài)情況下的性能指標(biāo)。本系統(tǒng)是讓探頭工作在不同的靈敏度下分析剔除率和誤剔率,從而選定剔除性能最好的靈敏度器件。動(dòng)態(tài)靈敏度的另一個(gè)影響因素為動(dòng)態(tài)位置誤差,即在采樣時(shí)間內(nèi),由輪盤(pán)(與軸編碼器同步)轉(zhuǎn)動(dòng)造成的位置變化所引起的探頭誤差,這里主要從位置誤差和探頭作用距離上比較,圖2所示是動(dòng)態(tài)位置誤差示意圖。

b.JPG


    在圖2中,R表示推煙板曲軸的輪盤(pán)半徑,一次采樣過(guò)程的起點(diǎn)為p1,結(jié)束位置為p2,該段持續(xù)時(shí)間內(nèi)的曲軸誤差為δr,其中:
    c.JPG
    若所選A/D采樣速率為50kHz,采樣周期為2×15-5s,那么,按每分鐘400轉(zhuǎn)計(jì)算,一次采樣時(shí)間內(nèi)的輪盤(pán)轉(zhuǎn)動(dòng)弧度為:
    c.JPG
    取采樣10次的平均,其位置誤差不到4μm。而根據(jù)探頭的位置響應(yīng)曲線,探頭的最佳檢測(cè)距離在離煙2~3.5mm處,2mm>>4μm,所以,理想情況下由動(dòng)態(tài)位置引起的誤差可忽略不計(jì)。
    根據(jù)以上分析,本設(shè)計(jì)選用韓國(guó)KODENSHI公司的SG-2BC傳感器。
2.2 A/D轉(zhuǎn)換器的選擇
    ADS7841E是德州儀器公司開(kāi)發(fā)的一塊4通道,12位,帶串行接口的模數(shù)轉(zhuǎn)換芯片,它是一塊低功耗、高速度、高精確度的A/D采樣芯片,電壓為2.7~5 V,可達(dá)到200kHz的轉(zhuǎn)換速率。根據(jù)筆者對(duì)探頭的測(cè)試,探頭檢測(cè)的最小變化為0.5V左右,而A/D采樣的分辨率為3.3/212V≈8×10-4V,所以,該AD采樣芯片完全可以滿足設(shè)計(jì)要求。
2.3 FPGA的選擇
    該系統(tǒng)采用EP3C16Q" title="EP3C16Q">EP3C16Q型FPGA進(jìn)行控制邏輯編程。該器件是ALXERA公司生產(chǎn)的CycloneII" title="CycloneII">CycloneII系列高性能現(xiàn)場(chǎng)可編程門(mén)陣列,而且具有豐富的邏輯資源。EP3C16Q具有15408個(gè)邏輯單元、56個(gè)嵌入式乘法器和4個(gè)鎖相環(huán)(PLL),其內(nèi)部的RAM容量為504Kbits,系統(tǒng)頻率高達(dá)260MHz,而且穩(wěn)定性很高。采用單片F(xiàn)PGA實(shí)現(xiàn)邏輯控制和數(shù)據(jù)處理功能可以簡(jiǎn)化電路設(shè)計(jì),提高系統(tǒng)的可靠性并節(jié)約成本。設(shè)計(jì)時(shí),只需一根下載電纜連接到目標(biāo)板上,就可以多次重復(fù)編程,而且電路調(diào)試十分方便。


3 軟件設(shè)計(jì)
    本系統(tǒng)的核心處理程序可采用QUARTUSII7.2軟件和Verilog HDL語(yǔ)言進(jìn)行編寫(xiě),而上位機(jī)軟件則可采用Delphi7軟件進(jìn)行編寫(xiě),其核心部分是數(shù)據(jù)處理部件,它主要由A/D采樣、差分傳輸和FPGA數(shù)據(jù)處理部分構(gòu)成,為了使系統(tǒng)實(shí)現(xiàn)更加方便,且便于控制,選擇FPGA對(duì)剔除問(wèn)題煙的算法非常關(guān)鍵。圖3所示是整個(gè)系統(tǒng)的程序框圖。

d.JPG


3.1 A/D采樣
    ADS7841E是一款4通道12位的A/D轉(zhuǎn)換芯片,它是由時(shí)鐘控制的串行輸入芯片,芯片DIN中的A2、A1、A0位是通道選擇位,MODE位是12b-it/8bit轉(zhuǎn)換選擇位,本設(shè)計(jì)選擇高精度的12bit轉(zhuǎn)換,SGL/DIF位用于選擇是單端轉(zhuǎn)換還是差分轉(zhuǎn)換,本設(shè)計(jì)選擇單端轉(zhuǎn)換。ADS7841E模塊的軟件設(shè)計(jì)原理圖如圖4所示。

e.JPG


    圖4中,clkin為系統(tǒng)時(shí)鐘,CH1~CH7為ADS7841E芯片的轉(zhuǎn)換結(jié)果并行輸出,該數(shù)據(jù)可送往FPGA進(jìn)行判決處理。
3.2 FPGA數(shù)據(jù)的處理
    在對(duì)FPGA數(shù)據(jù)進(jìn)行處理時(shí),可以采用均值剔除算法。所謂均值剔除算法,就是用一個(gè)樣本的當(dāng)前值與一個(gè)參考值相減,然后取絕對(duì)值,如果結(jié)果超過(guò)某一門(mén)限,就說(shuō)明其不符合要求,故可舍棄這個(gè)數(shù)據(jù)。假設(shè)隨機(jī)變量X具有數(shù)學(xué)期望μ和方差σ2,那么,對(duì)于任意正數(shù)ε,其不等式(6)成立:
    f1.jpg
    不等式(6)稱(chēng)為切比雪夫不等式,若令ε=3σ,則可得到:
    f.JPG
    其中,μ為正態(tài)分布的期望,σ為正態(tài)分布的均方差。由式(8)可知,對(duì)于正態(tài)隨機(jī)變量來(lái)說(shuō),它的值落在區(qū)間[μ-3σ,μ+3σ]內(nèi)幾乎是必然的事件,這就是3σ規(guī)則。
    由于均值剔除算法實(shí)現(xiàn)簡(jiǎn)單,且剔除效率比較高,因此,該系統(tǒng)選擇均值剔除算法作為實(shí)驗(yàn)算法來(lái)驗(yàn)證系統(tǒng)的可能性和穩(wěn)定性。其判別模塊的原理圖如圖5所示。

g.JPG


    圖5中,clkin為系統(tǒng)時(shí)鐘,enclk為系統(tǒng)同步時(shí)鐘,control為控制信號(hào)輸出。將該控制信號(hào)送往驅(qū)動(dòng)板,即可控制機(jī)械部件以剔除問(wèn)題煙,datain為前端A/D采樣輸出的數(shù)據(jù)。
3.3 系統(tǒng)原理實(shí)現(xiàn)
    FPGA程序中還應(yīng)包括A/D采樣控制、算法判決、問(wèn)題煙檢出后的剔除信號(hào)產(chǎn)生以及上位機(jī)的顯示等功能。
    整個(gè)系統(tǒng)的同步由軸編碼器控制,軸編碼器的轉(zhuǎn)速與正常卷煙機(jī)的速度一致,也就是說(shuō),煙條的下落速度越快,軸編碼器的轉(zhuǎn)速越快?,F(xiàn)在,大部分煙機(jī)的速度可達(dá)400轉(zhuǎn)/秒,煙條下落一根,軸編碼器轉(zhuǎn)一圈(360°)。其系統(tǒng)的整體軟件實(shí)現(xiàn)原理圖如圖6所示。
    圖6所示的整個(gè)系統(tǒng)包括A/D轉(zhuǎn)換模塊、判決模塊和顯示模塊三部分。其中clkin為系統(tǒng)時(shí)鐘,ain,bin,zin為軸編碼器的輸入信號(hào),輸出的脈沖enclk為整個(gè)系統(tǒng)的同步時(shí)鐘,該時(shí)鐘由軸編碼器產(chǎn)生。判決模塊中的主要輸出為均值(aver)、方差(variance)、剔除控制信號(hào)(co-ntrol);顯示模塊主要將判決模塊輸出的數(shù)據(jù)通過(guò)串口送往上位機(jī)顯示,TxD為系統(tǒng)與上位機(jī)的接口,用于傳輸系統(tǒng)所需顯示的數(shù)據(jù)和用戶需要控制的參數(shù)。

4 設(shè)計(jì)驗(yàn)證
    該煙支檢測(cè)系統(tǒng)的實(shí)驗(yàn)條件是常溫,F(xiàn)PGA主板為5V轉(zhuǎn)3.3V供電,剔除控制板的電源電壓為24V,模擬煙機(jī)的轉(zhuǎn)速為200轉(zhuǎn)/秒(該數(shù)據(jù)通過(guò)顯示器進(jìn)行顯示得出)。實(shí)驗(yàn)時(shí),先在下煙道中放置一定數(shù)量的正常煙,再放置一些問(wèn)題煙(如空頭煙),然后通過(guò)探頭采集數(shù)據(jù)并送往A/D采樣芯片,再將得出的數(shù)字信號(hào)送到FPGA中進(jìn)行處理,并計(jì)算出判決量,再根據(jù)一定的剔除算法判決出問(wèn)題煙,然后產(chǎn)生一個(gè)剔除控制信號(hào)去控制煙機(jī)上的剔除裝置,以將問(wèn)題煙剔除,同時(shí)將計(jì)算結(jié)果中一些必要的量、剔除的煙支數(shù)、剔除率實(shí)時(shí)的顯示到上位機(jī),以供用戶查看和了解煙機(jī)的運(yùn)轉(zhuǎn)狀況。

5 結(jié)束語(yǔ)
    通過(guò)對(duì)整個(gè)系統(tǒng)的大量實(shí)際測(cè)驗(yàn)可知,該系統(tǒng)能夠很好的剔除問(wèn)題煙,并把相關(guān)的數(shù)據(jù)傳到上位機(jī)進(jìn)行顯示,同時(shí)還可以跟用戶進(jìn)行交互,剔除率可以達(dá)到70%左右,可以達(dá)到設(shè)計(jì)參數(shù)要求,滿足工業(yè)生產(chǎn)實(shí)際需求。
    本系統(tǒng)雖以煙支檢測(cè)為例,但如更換前端的傳感器與后端的機(jī)械控制部件,對(duì)于其他物體的狀態(tài)監(jiān)測(cè)同樣適用,也可以作為數(shù)據(jù)采集與處理的一個(gè)通用平臺(tái),因而具有廣闊的應(yīng)用前景。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。