朱亮,李東波,李妍,袁延強(qiáng)
(1.南京理工大學(xué)機(jī)械工程學(xué)院,江蘇南京210094;2.南京航空航天大學(xué)自動(dòng)化學(xué)院,南京江蘇210094;3.南京地鐵運(yùn)營(yíng)有限責(zé)任公司,江蘇南京210094;4.南京三埃工控股份有限公司,江蘇南京211100)
近年來(lái),隨著我國(guó)制造業(yè)的轉(zhuǎn)型、工業(yè)原燃料需求量和成本的迅速提高,以高精度皮帶秤作為標(biāo)準(zhǔn)貿(mào)易結(jié)算方式已廣泛應(yīng)用于冶金、礦山、電力、港口等行業(yè)。然而皮帶秤往往會(huì)隨著使用時(shí)間的增長(zhǎng),其精度會(huì)有所下降,這是由于皮帶張力、跑偏和現(xiàn)場(chǎng)溫度等緣故。因此,為了保持甚至進(jìn)一步提高皮帶秤精度,針對(duì)皮帶跑偏這一主要原因設(shè)計(jì)出一套能夠?qū)崟r(shí)精確檢測(cè)出跑偏量的皮帶跑偏檢測(cè)系統(tǒng)。通過(guò)跑偏檢測(cè)不僅能對(duì)皮帶秤精度進(jìn)行補(bǔ)償,同時(shí)還可以衡量皮帶秤的整體性能[1-2]。
非接觸式跑偏檢測(cè)一般采用的是CCD或PSD傳感器,針對(duì)兩者信號(hào)處理復(fù)雜、開(kāi)發(fā)成本高且對(duì)惡劣環(huán)境敏感等弊端[3-4],提出采用陣列式近紅外光電三極管作為傳感元件,使用FPGA替代大量門(mén)電路和組合邏輯電路進(jìn)行數(shù)字信號(hào)采集處理[5],采用STC89C52單片機(jī)設(shè)計(jì)通信網(wǎng)關(guān),上位機(jī)采集軟件使用 VB 進(jìn)行開(kāi)發(fā)[6]。
如圖1,在皮帶下方與皮帶邊緣切平面平行的平面上布置光電三極管陣列,陣列方向垂直于v(皮帶的運(yùn)動(dòng)方向)。調(diào)整皮帶邊緣,使其投影約在陣列中間,保證皮帶跑偏在量程內(nèi)。測(cè)量時(shí),點(diǎn)光源照射皮帶及光電管陣列,陣列輸出若干個(gè)5 V TTL電平信號(hào);輸出的電平信號(hào)由FPGA進(jìn)行動(dòng)態(tài)矩陣掃描,掃描后的數(shù)據(jù)經(jīng)過(guò)數(shù)字濾波處理得到9位并行數(shù)據(jù),再上傳至單片機(jī);單片機(jī)將數(shù)據(jù)進(jìn)一步打包處理傳送至數(shù)據(jù)采集平臺(tái)。
圖1 系統(tǒng)總體設(shè)計(jì)示意圖
系統(tǒng)硬件構(gòu)成及信號(hào)流如圖2,以下主要提出皮帶跑偏傳感器、跑偏信號(hào)處理電路及通信電路的設(shè)計(jì)方案。
圖2 系統(tǒng)硬件構(gòu)成圖
皮帶跑偏傳感器主要由光電三極管陣列構(gòu)成,同時(shí)配以輔助的照射光源。
(1)照射光源
考慮到檢測(cè)現(xiàn)場(chǎng)惡劣環(huán)境,傳感器設(shè)計(jì)中選擇了使用波長(zhǎng)為880 nm的近紅外光源。光源使用普通的點(diǎn)光源、合適放置即可,無(wú)須任何濾光處理。
(2)光電三極管陣列
光電接受元件采用SHARP公司的PT100MC0MP光電三極管,接受波長(zhǎng)880 nm。由于光電三極管在光照射時(shí)產(chǎn)生的光電流比光電二極管大得多,所以光電三極管更適合作為邏輯開(kāi)關(guān)元件。每個(gè)光電管單元如圖3,將光照射和未照射狀態(tài)輸出成5 V TTL數(shù)字電平信號(hào)。
圖3 光電三極管測(cè)量單元
如圖4,序號(hào)1-N(N為光電三極管總數(shù))都代表著有編號(hào)的光電三極管,編號(hào)相鄰光電管錯(cuò)開(kāi)排放,間隔d為1 mm,整個(gè)陣列分三排,這樣既能保證一定的測(cè)量精度又能保證各個(gè)接受元件不會(huì)互相干擾。檢測(cè)時(shí),光電三極管陣列的信號(hào)采集類(lèi)似于優(yōu)先編碼器存在著優(yōu)先級(jí),優(yōu)先級(jí)由程序來(lái)設(shè)定,一般設(shè)置為正向1—N或反向N—1。
圖4 光電三極管陣列示意圖
文中提出采用FPGA對(duì)陣列信號(hào)進(jìn)行采集和處理,其高度并行處理能力相比于DSP更適合于濾波這種重復(fù)性任務(wù),同時(shí)其豐富的LE邏輯單元資源和I/O口資源亦可以替代大量門(mén)電路和組合邏輯芯片進(jìn)行組合邏輯或者時(shí)序邏輯設(shè)計(jì),大大縮小了PCB面積[5]。FPGA 芯片選用 Altera公司 CycloneII系列EP2C8Q208C8N,電源3.3 V,內(nèi)核電壓1.2 V,外圍配有EPCS16配置芯片、JTAG和AS下載口、50M晶振電路、復(fù)位電路以及3.3 V和1.2 V的穩(wěn)壓電路。如圖5,F(xiàn)PGA的一部分I/O口與矩陣光電三極管的集電極和發(fā)射極相聯(lián)進(jìn)行光電三極管陣列矩陣掃描;另一部分為9位輸出端口與單片機(jī)相連。因?yàn)閱纹瑱C(jī)I/O口是5 V TTL電平標(biāo)準(zhǔn),所以需將FPGA的I/O口設(shè)置為3.3 V LVTTL電平驅(qū)動(dòng)單片機(jī)9個(gè)I/O口,從而實(shí)現(xiàn)單片機(jī)對(duì)FPGA數(shù)據(jù)的讀取。
圖5 FPGA信號(hào)采集處理電路示意圖
如圖6,將陣列式光電管參照矩陣鍵盤(pán)電路進(jìn)行矩陣排布,這樣既可以節(jié)省I/O口資源,又可以使后續(xù)的故障維修診斷快速簡(jiǎn)便。每個(gè)光電三極管的兩端分別連接到FPGA的I/O口,與集電極相連接的I/O口設(shè)置為FPGA的輸出端,與發(fā)射極相連接的I/O口 設(shè)置為FPGA的輸入端。
圖6 FPGA矩陣原理圖
通信電路主要由單片機(jī)最小系統(tǒng)、USB通信模塊和RS485轉(zhuǎn)換模塊組成。單片機(jī)采用STC公司的STC89C52RC型單片機(jī);USB通訊模塊主要用來(lái)連接調(diào)試設(shè)備,該模塊采用PL2303集成芯片,一種高度集成的RS232-USB接口轉(zhuǎn)換器;RS485轉(zhuǎn)換模塊采用廣東致遠(yuǎn)RSM485CHT模塊,該模塊符合EIA/TIA-485標(biāo)準(zhǔn),單片機(jī)通過(guò)一個(gè)I/O口控制RS485模塊的收發(fā)狀態(tài),通過(guò)串口實(shí)現(xiàn)與RS485模塊通信。
FPGA軟件是在Quartus II環(huán)境下使用Verilog語(yǔ)言開(kāi)發(fā)的,F(xiàn)PGA硬件語(yǔ)言主要實(shí)現(xiàn)的功能是對(duì)矩陣光電三極管動(dòng)態(tài)掃描和信號(hào)數(shù)字濾波。參考矩陣鍵盤(pán)掃描采用單向逐行掃描法,這樣不僅可以避免光電三極管單向工作方式的尷尬,又可以確定光電三極管信號(hào)的優(yōu)先級(jí),避免數(shù)據(jù)混亂。參照PT100MC0MP光電管手冊(cè),光電管的響應(yīng)時(shí)間為幾微秒,因此需將時(shí)鐘信號(hào)分頻到微秒級(jí)。建立矩陣掃描時(shí)序關(guān)系,如圖7。
圖7 陣列式光電三極管矩陣掃描時(shí)序圖
初始時(shí),將與光電管集電極相連的I/O口O[1]-O[N]統(tǒng)一設(shè)置為 3.3 V LVTTL高電平,然后將O[1]-O[N]每隔20 μs依次設(shè)置為低電平。當(dāng)O[i](i=1,2,3,…,N)為低電平時(shí),對(duì) I[1]-I[M]依次進(jìn)行讀取,若讀取到I[j]為低電平時(shí),則檢測(cè)結(jié)束且檢測(cè)到的數(shù)據(jù)為 (i-1)*M+j,即第(i-1)*M+j個(gè)光電管為皮帶投影邊緣。數(shù)據(jù)采集時(shí),在FPGA內(nèi)部定義一組9位的Memory型數(shù)據(jù)Data[L-1:0]作為皮帶跑偏數(shù)據(jù)暫存存儲(chǔ)器器。如圖6,I[j]和 Data[L-1:0]數(shù)據(jù)的讀取和計(jì)算都是在O[i]為低電平時(shí)完成的。
讀取到跑偏數(shù)據(jù)的同時(shí),需要對(duì)其進(jìn)行簡(jiǎn)單的數(shù)字濾波。跑偏傳感器輸出的信號(hào)含有以振動(dòng)為主的高頻噪聲信號(hào),為了節(jié)約LE資源、提高處理速度,采用滑動(dòng)平均濾波算法,該算法相當(dāng)于有一個(gè)固定長(zhǎng)度L(文中通過(guò)多次仿真選定為5)的滑動(dòng)窗口,沿離散時(shí)間序列滑動(dòng)。每滑動(dòng)一個(gè)采樣間隔,Data[4∶0]隊(duì)列數(shù)據(jù)右移,窗口前面進(jìn)入一個(gè)新數(shù)據(jù)Data[0]、后面擠出一個(gè)舊數(shù)據(jù)Data[4],然后對(duì)窗口數(shù)據(jù)求平均值,得到的平均值放入到輸出寄存器D[8:0]傳遞給MCU。窗口相當(dāng)于一個(gè)低通濾波器,濾波器的傳遞函數(shù)為, 衰減了較高頻率的振動(dòng)信號(hào),對(duì)數(shù)據(jù)起到了平滑作用。程序綜合后,進(jìn)行時(shí)序仿真,如圖8,數(shù)據(jù)響應(yīng)快,無(wú)亞穩(wěn)態(tài)數(shù)據(jù)[7]。
圖8 FPGA硬件時(shí)序仿真圖
圖9 單片機(jī)程序流程圖
單片機(jī)軟件用Keil C51進(jìn)行開(kāi)發(fā),主要實(shí)現(xiàn)的功能是對(duì)FPGA數(shù)據(jù)的讀取和與上位機(jī)進(jìn)行通信,程序流程圖如圖9。
初始化包括串口初始化、I/O初始化、看門(mén)狗初始化以及中斷開(kāi)啟;單片機(jī)接受到上位機(jī)命令時(shí),立即采集并發(fā)送數(shù)據(jù);幾何補(bǔ)償是指將皮帶投影跑偏數(shù)據(jù)通過(guò)簡(jiǎn)單的幾何模型換算成皮帶真正的跑偏數(shù)據(jù)。
現(xiàn)場(chǎng)實(shí)驗(yàn)時(shí)通過(guò)用VB開(kāi)發(fā)的采集軟件進(jìn)行數(shù)據(jù)采集,主要實(shí)現(xiàn)數(shù)據(jù)采集、顯示和存儲(chǔ)。開(kāi)發(fā)時(shí),使用MSCOMM控件實(shí)現(xiàn)與下位機(jī)通信,數(shù)據(jù)存儲(chǔ)到Excel中,人機(jī)交互界面如圖10。
實(shí)驗(yàn)結(jié)果顯示:該系統(tǒng)能夠?qū)ζ芷M(jìn)行有效實(shí)時(shí)檢測(cè),精度為1 mm,量程滿足現(xiàn)場(chǎng)需求;將多個(gè)跑偏傳感器組網(wǎng)可實(shí)現(xiàn)對(duì)皮帶秤多處跑偏同時(shí)檢測(cè)。
圖10 上位機(jī)人機(jī)交互界面
通過(guò)現(xiàn)場(chǎng)實(shí)驗(yàn)數(shù)據(jù)證明,基于FPGA+MCU的皮帶跑偏測(cè)量系統(tǒng)能夠滿足實(shí)際測(cè)量要求,為皮帶秤的跑偏補(bǔ)償提供了必要數(shù)據(jù),為評(píng)價(jià)皮帶秤性能提供一定的指標(biāo)依據(jù)。采用陣列式光電三極管作為檢測(cè)元件,成功適應(yīng)了惡劣的現(xiàn)場(chǎng)環(huán)境;采用FPGA作為信號(hào)采集和處理核心,大大減小系統(tǒng)檢測(cè)儀器的體積,提高了檢測(cè)的可靠性,更方便了以后信號(hào)處理算法的升級(jí)。由此可見(jiàn),該系統(tǒng)具有一定的推廣與應(yīng)用價(jià)值。
【1】袁延強(qiáng).皮帶稱重技術(shù)的最新發(fā)明專(zhuān)利——陣列式皮帶秤[C].中國(guó)衡器協(xié)會(huì)第八屆稱重技術(shù)研討會(huì),2009:1.
【2】盛伯湛.陣列式皮帶秤研發(fā)思考[J].中國(guó)計(jì)量,2012(8):1-2.
【3】章杰,舒志兵.基于dsPIC30F的電動(dòng)糾偏系統(tǒng)的設(shè)計(jì)[J].機(jī)床與液壓,2010,38(14):1 -3.
【4】段潔,孫向陽(yáng),蔡敬海,等.PSD在激光位移檢測(cè)系統(tǒng)中的應(yīng)用研究[J].紅外與激光工程,2007,36(z1):1 -2,4.
【5】魯欣,趙亦工,徐秀紅.?dāng)?shù)字電路設(shè)計(jì)方案的比較與選擇[J].電子技術(shù)應(yīng)用,2002,28(1):1 -3.
【6】魏彩喬,郭會(huì).基于VB和串行通信的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)[J].機(jī)床與液壓,2012,40(8):1 -4.
【7】邵明,李光煬,楊惠靈.基于FPGA的嵌入式數(shù)控系統(tǒng)功能模塊設(shè)計(jì)[J].機(jī)床與液壓,2010,38(16):2-3.
【8】田其智.基于FPGA的嵌入式網(wǎng)絡(luò)終端系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2008:42 -43.