<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于CCD技術(shù)的鋼管長度測量系統(tǒng)設(shè)計

          基于CCD技術(shù)的鋼管長度測量系統(tǒng)設(shè)計

          作者: 時間:2012-09-14 來源:網(wǎng)絡(luò) 收藏

          鋼管精整生產(chǎn)線中有一道工序,要對每根鋼管的長度進行測量。目前在用的鋼管自動測長系統(tǒng)基本可以分為兩種:一種是使用推鋼裝置將到位靜止的鋼管前推一定的距離,通過與推鋼裝置同步旋轉(zhuǎn)的編碼器和按順序安裝的光電傳感器來計算鋼管長度;另一種是采用在線測長,即通過旋轉(zhuǎn)輥道帶動鋼管軸向平移,利用壓在鋼管上的摩擦輪的運動帶動脈沖編碼器,并結(jié)合光電傳感器來計算鋼管長度。

          本文引用地址:http://www.ex-cimer.com/article/193247.htm

          本研究分析了在線測長的測量原理和物理實現(xiàn),以FPGA作為中央處理器,實現(xiàn)系統(tǒng)的高集成度;采用線陣器件TCDl206SUP作為光電傳感器,實現(xiàn)對鋼管長度高精度的測量,并通過RS-485通信實現(xiàn)測量結(jié)果的傳輸,增強了系統(tǒng)的遠(yuǎn)程控制性能和資源共享。

          1 系統(tǒng)的測量原理

          在衡鋼初軋廠被測對象為130×130連軋坯,這種坯的總長在30~40 m之間,溫度在1 000℃左右。要求實時測量出總長,再用計算機實時對此進行最佳配尺并指導(dǎo)剪切。此外,還要求記錄剪切后的段長結(jié)果。針對上述要求,本文采用圖l所示的測量方案。

          11.jpg

          圖中:K1和K2是兩組光電開關(guān),l用來測量鋼坯的總長,2用來測量鋼坯的段長,當(dāng)鋼坯切頭后碰到光電開關(guān)Kl時,用CCDl相機測出鋼坯的尾部長度為X0。假設(shè)Kl到CCDl像機測量視場的左邊緣為L0,則總長為Ln+X0。測出總長后,經(jīng)過計算機配尺后,由CCD2控制剪切長度,通過CCD2測出段長,當(dāng)鋼坯的頭部碰上K2時,CCD2開始測量。假設(shè)CCD2測出的長度為X1,K2和剪口之間的距離為L1,則段長即為L1+X1,段長是在線實時測量、實時顯示的。測量X0,X1的過程是這樣的:由于測量對象為熱軋鋼坯,溫度在l 000℃左右,本身就是一個發(fā)光體。因此測量對象無需外用光源照明,光電開關(guān)采用主動式工作,當(dāng)鋼坯運行擋住光電開關(guān)發(fā)射的信號,光電開關(guān)信號就通過測量控制板產(chǎn)生外部中斷信號,向計算機申請外部中斷,控制CCD攝像機進行數(shù)據(jù)采集,對采集結(jié)果進行濾波后,進行二值化處理,并進行一系列的標(biāo)定、處理,即可得到被測鋼坯的長度。

          2 系統(tǒng)組成及各部分功能

          該測量系統(tǒng)主要由光源、CCD傳感器、CCD驅(qū)動電路、FPGA可編程器件、信號調(diào)理電路、LCD顯示電路、RS-485通信電路以及鍵盤輸入電路等部分構(gòu)成,其組成框圖如圖2所示。

          22.jpg

          1)FPGA(EP3C) FPGA是該系統(tǒng)的核心部分,一方面生成CCD驅(qū)動信號,控制CCD傳感器完成數(shù)據(jù)的采集,另一方面濾波計算經(jīng)調(diào)理電路A/D轉(zhuǎn)換后輸入信號,實現(xiàn)數(shù)據(jù)處理。然后通過控制LCD顯示電路和RS-485通信電路實現(xiàn)數(shù)據(jù)的顯示與傳輸。若有需要,還可以擴展其功能,譬如當(dāng)段長滿足配尺長度時,控制剪刀進行剪切,并記錄剪切段長。

          2)CCD傳感器驅(qū)動電路 該驅(qū)動電路是CCD器件應(yīng)用中的關(guān)鍵技術(shù)之一,主要是為了生成滿足器件工作時的驅(qū)動時序脈沖,本系統(tǒng)采用FPGA實現(xiàn)對線陣CCD器件TCDl206SUP的驅(qū)動。

          3)信號調(diào)理電路 傳感器與微處理器之間的轉(zhuǎn)接部分,由于傳感器采集到信號一般能量弱,干擾強,且為模擬信號,所以調(diào)理電路的主要功能是對信號進行濾波、放大以及A/D轉(zhuǎn)換等處理。

          4)LCD顯示電路 實現(xiàn)數(shù)據(jù)的顯示功能,使操作人員能了解實時測量數(shù)據(jù),并對其作出相應(yīng)處理。

          5)RS485通信電路 現(xiàn)場的測量儀器和上位機的通訊距離較遠(yuǎn),所以,該系統(tǒng)采用RS-485通信。當(dāng)前工業(yè)現(xiàn)場總線中以RS-485使用最為普遍,這種網(wǎng)絡(luò)結(jié)構(gòu)因硬件設(shè)計簡單、控制方便、成本低廉、通信速率高等優(yōu)點而應(yīng)用廣泛。

          3 系統(tǒng)各部分功能實現(xiàn)

          3.1 CCD驅(qū)動電路

          該驅(qū)動電路選用獨立脈沖源。由晶體振蕩器構(gòu)成時鐘發(fā)生電路,輸出頻率為4 MHz的時鐘脈沖,經(jīng)4分頻器得到頻率為l MHz的時鐘脈沖,再經(jīng)脈寬調(diào)制器合成占空比為1:3的復(fù)位脈沖φR,時鐘脈沖φ1為0.5MHz,由脈沖信號8分頻得到,φ2由φ1反相產(chǎn)生,如圖3所示。

          3.1.1 分頻器的實現(xiàn)

          該設(shè)計需要對4 MHz的時鐘脈沖分別進行4分頻和8分頻,在FPGA設(shè)計中,分頻器可采用圖形輸入設(shè)計,運用觸發(fā)器或計數(shù)器來實現(xiàn)不同制式的分頻;也可運用VHDL代碼輸入通過不同的算法實現(xiàn)設(shè)計。

          3.1.2 脈寬調(diào)制器的實現(xiàn)

          脈寬調(diào)制器主要是實現(xiàn)脈沖信號的占空比,由TCDl206SUP驅(qū)動時序圖中可以得CCD的復(fù)位脈沖RS的頻率為1 MHz,占空比為l:3。實現(xiàn)1:3調(diào)制方法很多,可以采用VHDL有限狀態(tài)機(FSM)進行設(shè)計,設(shè)定SO、S1、S2 3種不同的狀態(tài),有效脈沖到達(dá)時,狀態(tài)機由SO依次轉(zhuǎn)換到S2。在S2狀態(tài)時,狀態(tài)機輸出為高電平“1”,其他狀態(tài)輸出低電平“O”,從而實現(xiàn)占空比1:3調(diào)制。在本系統(tǒng)的設(shè)計中,采用QuartusⅡ的圖形輸入設(shè)計方式。運用兩輸入信號相異或來實現(xiàn)。

          3.1.3 脈沖信號發(fā)生器、反相器的實現(xiàn)

          脈沖信號發(fā)生器由晶體振蕩器構(gòu)成,輸出頻率為4 MHz的時鐘脈沖,作為FPGA的外部時鐘,而反相器則可以用一非門電路就可以實現(xiàn)。

          把上述各部分所產(chǎn)生的symbol用QuartusⅡ提供的Graphic Editor編輯連接起來。進行整體模塊仿真,其結(jié)果如圖4所示。從仿真結(jié)果看,達(dá)到設(shè)計要求。

          44.jpg

          3.2 信號調(diào)理電路

          信號調(diào)理器是測試系統(tǒng)的重要部分,它在數(shù)據(jù)采集系統(tǒng)之前對傳感器輸出信號進行調(diào)理,從而提高了數(shù)據(jù)采集系統(tǒng)的性能和可靠性。常用的調(diào)理內(nèi)容主要有放大、隔離、濾波、通道切換和直接傳感器調(diào)理等。根據(jù)設(shè)計要求,本信號調(diào)理電路主要是將CCD傳感器的信號進行放大,隔離和濾波,考慮到工業(yè)應(yīng)用系統(tǒng)中采集的信號弱、干擾大,頻率低等特點,放大電路采用由兩片AD526構(gòu)成的程控放大電路(PGA)和美國BB公司生產(chǎn)的IS0130隔離放大電路兩部分組成,具有良好的暫態(tài)抗擾性和優(yōu)良的抗離頻噪聲性能等優(yōu)點,能有效地抑制共模干擾電壓,F(xiàn)P-GA通過對SWO、SWl和SW2的控制,改變放大器的放大倍數(shù),提高測量的靈敏度;A/D轉(zhuǎn)換器則選用AD770l,AD7701是單片16位A/D轉(zhuǎn)換電路,僅為0.001 5%的線性誤差,采用LC2工藝技術(shù)制造,內(nèi)置自校準(zhǔn)電路,串行輸出接口,可方便地與單片機配接。同時具有功耗低、精度高、抗干擾能力強等特點,適合于在要求精度較高的儀器儀表、秤重計量、參數(shù)檢測、數(shù)據(jù)采集和其他測量設(shè)備;濾波電路則利用FPGA的可編程功能,生成FIR濾波器內(nèi)核,實現(xiàn)對信號的濾波處理。信號調(diào)理原理圖如圖5所示。

          55.jpg

          3.3 RS-485通信的實現(xiàn)

          RS-485作為一種串行通信的接口,具有傳輸距離長、速度較高、電平兼容性好、使用靈活方便、成本低廉和可靠度高等優(yōu)點,在智能管理、在線控制、地質(zhì)勘探等許多領(lǐng)域都有著廣泛的應(yīng)用。RS-485收發(fā)器分別采用平衡發(fā)送和差分接收,即在發(fā)送端驅(qū)動器將TTL電平信號轉(zhuǎn)換成差分信號輸出,在接收端接收信號將差分信號變成TTL電平。在RS-485接口中一根線定義為A,另一根線定義為B,有一個信號地C和一個“使能”端,在“使能”端控制發(fā)送驅(qū)動器與傳輸線的切斷與連接。當(dāng)“使能”端起作用時,發(fā)送驅(qū)動器處于高阻狀態(tài),稱作“第三態(tài)”,即它是有別于邏輯“l”與“O”的第三態(tài)。RS-485具有較強的抑制共模干擾的能力和較高的接收器靈敏度,能檢測200 mV的電壓,因此數(shù)據(jù)傳輸距離可達(dá)1 km以外。

          RS-485接口連接器一般采用DB9的9芯插頭座,與智能終端RS-485接口采用DB9孔。最簡單的RS-485通信線電路電纜由兩條信號線路組成,接口一般采用屏蔽雙絞線傳輸。RS-485與FPGA的接口電路如圖6所示。

          66.jpg

          4 系統(tǒng)的軟件實現(xiàn)

          該系統(tǒng)以Aherla公司的EP3C25E1448CN作為中央處理器,整個測量過程主要包括初始狀態(tài)(Initialization)、數(shù)據(jù)采集(Data_Sample)、數(shù)據(jù)處理(Data_Processing)、數(shù)據(jù)顯示(Data_Display)和數(shù)據(jù)傳輸(Data_Transfers)等5種不同的狀態(tài)。可利用有限狀態(tài)機方法進行設(shè)計,其狀態(tài)轉(zhuǎn)換圖如圖7所示。通過開發(fā)工具QuartusⅡ?qū)Ω髂K的VHDL源程序及頂層電路進行編譯、邏輯綜合,電路的糾錯、驗證、自動布局布

          線及仿真等各種測試,最終將設(shè)計編譯的數(shù)據(jù)下載到芯片中。

          77.jpg

          5 結(jié)論

          本系統(tǒng)以可編程邏輯器件作為開發(fā)平臺處理數(shù)據(jù),高精度的CCD器件實現(xiàn)數(shù)據(jù)采集,RS-485通信完成數(shù)據(jù)的傳輸,使整個系統(tǒng)具有集成度高,易于調(diào)試,測量準(zhǔn)確度高,易于實現(xiàn)遠(yuǎn)程控制和信息資源共享的特點,具有一定的開發(fā)潛力。

          分頻器相關(guān)文章:分頻器原理
          光電開關(guān)相關(guān)文章:光電開關(guān)原理
          脈沖點火器相關(guān)文章:脈沖點火器原理
          脈寬調(diào)制相關(guān)文章:脈寬調(diào)制原理
          雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();