于瑞紅 張雨豐 李立新 李 玲 王佳慧
(防災(zāi)科技學(xué)院電子科學(xué)與控制工程學(xué)院,河北 廊坊 065201)
色選機(jī)分選系統(tǒng)主要功能是對(duì)檢測(cè)系統(tǒng)輸出的檢測(cè)信號(hào)進(jìn)行采集和處理,并為分選電磁閥輸出有一定延時(shí)和寬度的分選脈沖信號(hào)[1]。多通道色選機(jī)中每個(gè)通道信號(hào)是完全無(wú)關(guān)且完全隨機(jī)的,通常采用各個(gè)通道完全獨(dú)立分開(kāi)的處理方法,這就需要對(duì)各個(gè)通道的每個(gè)信號(hào)進(jìn)行處理和延時(shí)[2-3]。當(dāng)用DSP(Digital Signal Processor)、ARM(Advanced Risc Machines)等處理器實(shí)現(xiàn)分選系統(tǒng)中的信號(hào)處理和延時(shí)控制時(shí),由于處理器程序順序執(zhí)行的特點(diǎn),在通道數(shù)比較多時(shí),信號(hào)處理的實(shí)時(shí)性和一致性較差,延時(shí)時(shí)間和分選脈沖時(shí)間精度差,影響色選機(jī)的分選效果[4-5]。
綜上,考慮到色選機(jī)分選系統(tǒng)通道數(shù)多、信號(hào)控制精度高、實(shí)時(shí)性高等控制要求,以高速并行FPGA為控制核心,設(shè)計(jì)了分選系統(tǒng)的通信、控制、驅(qū)動(dòng)等硬件電路,提出了信號(hào)精確無(wú)損的控制策略[6-7],給出了分選系統(tǒng)各個(gè)子程序模塊的實(shí)現(xiàn)方式,并利用仿真和實(shí)驗(yàn)平臺(tái)驗(yàn)證了分選系統(tǒng)的性能。
分選系統(tǒng)結(jié)構(gòu)框圖如圖1所示。人機(jī)界面通過(guò)RS485總線與分選系統(tǒng)進(jìn)行數(shù)據(jù)交換,以實(shí)現(xiàn)分選參數(shù)的實(shí)時(shí)調(diào)整和通信;檢測(cè)系統(tǒng)通過(guò)串行通信總線給分選系統(tǒng)傳輸檢測(cè)信號(hào);選用FPGA為分選系統(tǒng)的控制核心,完成檢測(cè)信號(hào)的串并轉(zhuǎn)換和精確無(wú)損延時(shí),分選脈沖信號(hào)的產(chǎn)生,通用異步收發(fā)器(Universal Asynchronous Receiver Transmitter,UART)接口模塊實(shí)現(xiàn)及通信等功能。
圖1 分選系統(tǒng)框圖
分選系統(tǒng)的硬件主要由通信電路、信號(hào)產(chǎn)生電路和驅(qū)動(dòng)電路三部分組成。
分選系統(tǒng)通過(guò)RS485總線和人機(jī)界面進(jìn)行數(shù)據(jù)交換,接收人機(jī)界面設(shè)定的延時(shí)時(shí)間、動(dòng)作時(shí)間等參數(shù),并向人機(jī)界面發(fā)送狀態(tài)、故障等信息。
信號(hào)產(chǎn)生電路采用以EP4C15F256C8為核心的FPGA芯片實(shí)現(xiàn)檢測(cè)信號(hào)延時(shí)、分選脈沖信號(hào)產(chǎn)生等功能。該芯片具有504K的內(nèi)部RAM、15 000多個(gè)LE、4個(gè)PLL鎖相環(huán)和165個(gè)I/O口,其中具有差分輸入功能的有53個(gè),可以滿足本控制系統(tǒng)的性能要求。
驅(qū)動(dòng)電路采用多個(gè)半橋驅(qū)動(dòng)芯片DRV8844PWP驅(qū)動(dòng)分選電磁閥,每個(gè)驅(qū)動(dòng)芯片可驅(qū)動(dòng)4個(gè)電磁閥。
當(dāng)色選機(jī)檢測(cè)到異常物料時(shí),分選系統(tǒng)需要對(duì)分選電磁閥輸出一個(gè)具有一定延時(shí)和寬度的數(shù)字脈沖信號(hào)作為控制信號(hào)。根據(jù)待分選物料種類和機(jī)械調(diào)節(jié)位置的不同,從檢測(cè)系統(tǒng)檢測(cè)到異色物料和雜質(zhì)到分選電磁閥動(dòng)作一般需要幾毫秒到十幾毫秒的時(shí)間,且色選機(jī)有幾十到幾百個(gè)通道的物料需要同時(shí)處理,因此分選系統(tǒng)需要把檢測(cè)系統(tǒng)所有通道的信號(hào)延時(shí)一段時(shí)間,再用延時(shí)后的信號(hào)驅(qū)動(dòng)分選電磁閥打開(kāi)噴氣噴嘴,完成對(duì)異色物料和雜質(zhì)的剔除。如果待分選物料比較小,則其通過(guò)分選電磁閥噴嘴的時(shí)間就非常短,一般只有0.5~2 ms,導(dǎo)致分選系統(tǒng)對(duì)延時(shí)時(shí)間的控制精度要求非常高,控制精度一旦大于0.1 ms,將直接導(dǎo)致無(wú)法選出異色物料或誤選出正常物料的情況,從而嚴(yán)重影響檢出效果。
以DSP等處理器為控制核心的分選系統(tǒng),每個(gè)通道的檢測(cè)信號(hào)延時(shí)一般通過(guò)對(duì)每一通道信號(hào)的上升沿和下降沿分別進(jìn)行計(jì)數(shù)實(shí)現(xiàn)。假定每個(gè)通道中有兩個(gè)異色物料信號(hào)輸入,如圖2(a)所示,t1、t3時(shí)刻表示兩個(gè)異色物料信號(hào)的開(kāi)始,也是輸出脈沖延時(shí)計(jì)數(shù)的開(kāi)始,t2、t4時(shí)刻是兩個(gè)異色物料信號(hào)的結(jié)束。
圖中Tg、Td分別表示兩個(gè)信號(hào)之間的時(shí)間間隔、輸出脈沖的延時(shí)時(shí)間。當(dāng)Tg>Td時(shí),延時(shí)信號(hào)如圖2(b)所示,兩個(gè)異色物料信號(hào)延時(shí)后的信號(hào)不會(huì)丟失,這種延時(shí)方法,每個(gè)通道需要2個(gè)計(jì)數(shù)器,在通道比較少的時(shí)候較容易實(shí)現(xiàn),但通道比較多時(shí),計(jì)數(shù)器就會(huì)占用大量的資源,硬件成本奇高。
當(dāng)Tg≤Td時(shí),第一個(gè)異色物料信號(hào)開(kāi)始的時(shí)刻為t1,經(jīng)過(guò)計(jì)數(shù)器計(jì)數(shù)延時(shí)Td時(shí)間后輸出延時(shí)信號(hào),第二個(gè)異色物料信號(hào)開(kāi)始時(shí)刻為t3,此時(shí)需要該通道的計(jì)數(shù)器開(kāi)始計(jì)數(shù)延時(shí),但由于Tg≤Td,在第二個(gè)異色物料的信號(hào)到達(dá)時(shí),計(jì)數(shù)器還在計(jì)數(shù)工作中,因此第二個(gè)異色物料的延時(shí)時(shí)間無(wú)法正常計(jì)數(shù),導(dǎo)致延時(shí)信號(hào)中第二個(gè)異色物料的信號(hào)丟失,使第二個(gè)異色物料不能有效檢出,如圖2(c)所示。同理,當(dāng)Tg≤Td且出現(xiàn)多個(gè)異色物料信號(hào)時(shí),在Td時(shí)間內(nèi)分選系統(tǒng)只能輸出第一個(gè)異色物料的延時(shí)信號(hào),其余的異色物料信號(hào)全部丟失。
圖2 檢測(cè)信號(hào)延時(shí)圖
鑒于以上分析,提出利用FIFO數(shù)據(jù)先入先出特點(diǎn)實(shí)現(xiàn)信號(hào)延時(shí)功能的控制策略,如圖3所示。
圖3 FIFO控制模塊
CLK為時(shí)鐘信號(hào),F(xiàn)IFO控制模塊在每個(gè)時(shí)鐘的上升沿產(chǎn)生FIFO的寫(xiě)使能信號(hào)WR和讀使能信號(hào)RD,寫(xiě)使能信號(hào)將數(shù)據(jù)D0寫(xiě)入FIFO,同時(shí)讀出FIFO內(nèi)的數(shù)據(jù)Dn-1,由于FIFO具有先入先出的特性,經(jīng)過(guò)FIFO的數(shù)據(jù)延時(shí)的時(shí)間為:
式中:TCLK為時(shí)鐘信號(hào)CLK的周期;n為讀使能信號(hào)RD滯后寫(xiě)使能信號(hào)WR的CLK時(shí)鐘數(shù)。
設(shè)k為分選系統(tǒng)通道數(shù),每個(gè)通道對(duì)應(yīng)一位數(shù)據(jù),k個(gè)通道的檢測(cè)信號(hào)組成一個(gè)k位數(shù)據(jù),由此FPGA的內(nèi)部RAM配置成k位寬度的同步FIFO。通過(guò)此種方法,分選系統(tǒng)的多通道信號(hào)按照設(shè)定延時(shí)時(shí)間Td進(jìn)行高精度的延時(shí),延時(shí)前后的信號(hào)完全一致,避免了以處理器為控制核心的分選系統(tǒng)中連續(xù)異常物料信號(hào)丟失情況的出現(xiàn)。
FPGA作為分選系統(tǒng)的控制核心,軟件結(jié)構(gòu)框圖如圖4所示,主要包含4個(gè)子程序模塊:UART接口模塊、串并轉(zhuǎn)換模塊、信號(hào)延時(shí)模塊和分選脈沖信號(hào)產(chǎn)生模塊。
圖4 FPGA程序結(jié)構(gòu)框圖
在FPGA內(nèi)部實(shí)現(xiàn)UART接口模塊,以實(shí)現(xiàn)UART串行通信功能。UART接口模塊由DI(數(shù)據(jù)輸入)、RO(數(shù)據(jù)輸出)、RE(接收使能)、DE(發(fā)送使能)4種信號(hào)構(gòu)成。UART接口模塊采用VHDL語(yǔ)言編寫(xiě),包含發(fā)送、接收和波特率發(fā)生器3個(gè)模塊,實(shí)現(xiàn)FPGA與485驅(qū)動(dòng)芯片的數(shù)據(jù)交換功能。
色選機(jī)的檢測(cè)系統(tǒng)實(shí)時(shí)檢測(cè)待分選的物料,并把檢測(cè)信號(hào)傳輸給分選系統(tǒng)。為了方便布線,檢測(cè)信號(hào)一般采用串行的傳輸方式,即通過(guò)3根信號(hào)線CS、SCLK、DATA進(jìn)行串行傳輸。CS是使能信號(hào),傳輸數(shù)據(jù)時(shí)有效;SCLK是時(shí)鐘信號(hào),用于同步傳輸數(shù)據(jù),每個(gè)時(shí)鐘信號(hào)傳輸一位數(shù)據(jù);DATA是傳輸?shù)臄?shù)據(jù)信號(hào)。接收的串行數(shù)據(jù)信號(hào)DATA通過(guò)FPGA的串并轉(zhuǎn)換程序模塊,在CS信號(hào)有效時(shí),在SCLK的每個(gè)上升沿進(jìn)行采集,經(jīng)過(guò)k個(gè)SCLK信號(hào)上升沿,完成k位檢測(cè)信號(hào)的串并轉(zhuǎn)換[8]。
以8通道的分選系統(tǒng)為例建立仿真模型,仿真結(jié)果如圖5所示。每個(gè)通道對(duì)應(yīng)一位數(shù)據(jù),因此檢測(cè)系統(tǒng)傳輸給分選系統(tǒng)的檢測(cè)信號(hào)是一個(gè)8位的數(shù)據(jù),通過(guò)使能信號(hào)CS和同步時(shí)鐘信號(hào)SCLK把串行數(shù)據(jù)DATA轉(zhuǎn)換成8位并行數(shù)據(jù)DetectSignal。
圖5 8通道分選系統(tǒng)串并轉(zhuǎn)換仿真圖
根據(jù)信號(hào)延時(shí)控制策略,由FPGA芯片的內(nèi)部FIFO及其控制模塊實(shí)現(xiàn)多路信號(hào)延時(shí)功能。以k=8的分選系統(tǒng)為例,延時(shí)信號(hào)的產(chǎn)生仿真圖如圖6所示。CLK為T(mén)CLK=0.1 ms的時(shí)鐘信號(hào),讀使能信號(hào)滯后寫(xiě)使能信號(hào)時(shí)鐘數(shù)n=DelayTime,DetectSignal為檢測(cè)信號(hào),DelaySignal為經(jīng)過(guò)延時(shí)后的延時(shí)信號(hào)。從仿真圖中可以看出,設(shè)定延時(shí)時(shí)間1.5 ms,由公式(1)可得DelayTime=15,延時(shí)后的信號(hào)0x21、0x3E、0x37、0xD2、0xE3與延時(shí)前的檢測(cè)信號(hào)完全一致,延時(shí)精度為CLK的周期0.1 ms,完全滿足分選系統(tǒng)的要求。
圖6 延時(shí)信號(hào)產(chǎn)生仿真圖
分選脈沖信號(hào)產(chǎn)生模塊將根據(jù)各個(gè)通道的延時(shí)信號(hào)和設(shè)定的動(dòng)作時(shí)間輸出各分選電磁閥的分選脈沖信號(hào)。根據(jù)待分選物料的大小及其通過(guò)分選電磁閥噴嘴速度的不同,分選電磁閥的動(dòng)作時(shí)間Tw也不同,動(dòng)作時(shí)間由人機(jī)界面設(shè)定。在FPGA內(nèi)部為每一通道的電磁閥動(dòng)作時(shí)間做一個(gè)單穩(wěn)態(tài)計(jì)數(shù)器,在延時(shí)信號(hào)的上升沿開(kāi)始計(jì)數(shù),并輸出分選信號(hào),計(jì)數(shù)到達(dá)設(shè)定動(dòng)作時(shí)間后停止計(jì)數(shù),并關(guān)閉分選信號(hào)。利用FPGA程序并行執(zhí)行的特點(diǎn),各通道的計(jì)數(shù)器單獨(dú)工作,計(jì)數(shù)準(zhǔn)確,可以滿足各通道分選電磁閥控制的要求。
構(gòu)建通道數(shù)k=32的色選機(jī)作為實(shí)驗(yàn)平臺(tái),實(shí)驗(yàn)色選機(jī)分選系統(tǒng)FPGA程序如圖7所示。SERIALToPARALLAL_MODULE為串行檢測(cè)數(shù)據(jù)轉(zhuǎn)換為并行檢測(cè)數(shù)據(jù)的串并轉(zhuǎn)換模塊;lpm_fifo0為配置成寬32、最大深度2 048的同步FIFO;UART_MODULE為485通信的接口模塊,實(shí)現(xiàn)參數(shù)數(shù)據(jù)的設(shè)定;SORT_SIGNAL_MODULE為分選脈沖信號(hào)產(chǎn)生模塊。
圖7 分選系統(tǒng)的FPGA程序
實(shí)驗(yàn)過(guò)程中,選擇實(shí)驗(yàn)物料密度為1.6 g/cm3,根據(jù)機(jī)械及物料特性設(shè)定延時(shí)時(shí)間DelayTime為10.5 ms,設(shè)定動(dòng)作時(shí)間ActuateTime為1.8 ms。
實(shí)驗(yàn)物料中壞物料的比例約為5.5%,在不同產(chǎn)量的實(shí)驗(yàn)結(jié)果如表1所示。
表1 實(shí)驗(yàn)物料分選試驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果表明,隨著色選機(jī)產(chǎn)量的逐漸增加,壞物料的檢出比逐漸下降,好物料的帶出比逐漸增加,當(dāng)產(chǎn)量為600 kg/h時(shí),壞物料的檢出比為98.5%,好物料的帶出比為3.3%,滿足用戶實(shí)際需求,較傳統(tǒng)的32通道色選機(jī)分選系統(tǒng)(產(chǎn)量只能達(dá)到300 kg/h)已有非常大的提高。
本項(xiàng)目開(kāi)發(fā)設(shè)計(jì)了一個(gè)實(shí)時(shí)性高、分選速度快、控制精度高的大米色選機(jī)分選系統(tǒng)。該系統(tǒng)將FPGA內(nèi)部RAM配置成FIFO,F(xiàn)IFO的位寬與分選系統(tǒng)通道數(shù)相同,讀使能信號(hào)滯后寫(xiě)使能信號(hào)時(shí)鐘數(shù)與檢測(cè)信號(hào)的延時(shí)時(shí)間成正比,通過(guò)控制FIFO讀寫(xiě)實(shí)現(xiàn)分選系統(tǒng)多通道信號(hào)的精確無(wú)損延時(shí)。同時(shí)利用FPGA程序并行執(zhí)行的特點(diǎn)實(shí)現(xiàn)檢測(cè)信號(hào)的串并轉(zhuǎn)換,并行產(chǎn)生分選電磁閥的分選脈沖信號(hào)等功能,并通過(guò)485總線實(shí)時(shí)傳輸延時(shí)參數(shù)和動(dòng)作時(shí)間參數(shù)。該系統(tǒng)克服了早期分選系統(tǒng)連續(xù)異色米粒和雜質(zhì)信號(hào)丟失及多通道信號(hào)占用資源多、硬件成本高、分選脈沖信號(hào)一致性差的缺點(diǎn)。應(yīng)用結(jié)果表明,該設(shè)計(jì)突破了色選機(jī)在多通道、高產(chǎn)量、高精度分選系統(tǒng)中的技術(shù)瓶頸,對(duì)提高色選機(jī)的檢出水平和產(chǎn)量具有重要意義。