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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 一種CCD微米級圓鋼光電測徑儀的研究設(shè)計(jì)

          一種CCD微米級圓鋼光電測徑儀的研究設(shè)計(jì)

          作者: 時間:2010-11-19 來源:網(wǎng)絡(luò) 收藏

            1.3 系統(tǒng)搭建方案

            系統(tǒng)搭建方案如圖4所示。

            圖4 系統(tǒng)總體搭建方案

            采用高亮度LED和合適焦距的透鏡組成光源盒,并利用其特性產(chǎn)生較好的平行光,照射物體然后通過光學(xué)鏡頭在上成像。的輸出信號通過9針串行口將信號輸送到積分時間調(diào)整與信號處理電路模塊,然后此模塊將處理好的信號輸送到計(jì)數(shù)與通信電路模塊進(jìn)行計(jì)數(shù)測量轉(zhuǎn)換,并和顯示模塊通信將測量值發(fā)送給處理器。最后由智能顯示終端顯示測量值,并實(shí)現(xiàn)校準(zhǔn)標(biāo)定查詢等功能。

            2 系統(tǒng)的實(shí)現(xiàn)

            2.1 積分時間調(diào)整與信號處理電路

            2.1.1 硬件設(shè)計(jì)

            積分時間調(diào)整與信號處理電路結(jié)構(gòu)框圖如圖5所示。

            圖5 積分時間調(diào)整與信號處理電路結(jié)構(gòu)框圖

            由于的輸出信號U0受光強(qiáng)影響,光強(qiáng)越強(qiáng)U0波形幅值越大,故需對CCD進(jìn)行積分時間閉環(huán)調(diào)整,以保證信號U0的最高幅值在3~4 V范圍內(nèi)。將U0的波形通過雙比較器LM393與3 V和4 V電壓比較,并將比較結(jié)果輸入到AT89C2051中,根據(jù)結(jié)果通過四根數(shù)據(jù)線設(shè)置CCD驅(qū)動器的積分時間設(shè)置擋位M0~M3(其中0000為最短積分時間,1111為最長積分時間),以保證有合適的積分時間,使U0的最高幅值在要求范圍內(nèi),便于進(jìn)行準(zhǔn)確測量。積分時間調(diào)整好后,通過與門控制將行同步脈沖FC輸出。U0經(jīng)由4個雙運(yùn)放LM353搭建的濾波、一次微分、濾波、絕對值、放大、二次微分、濾波、電平調(diào)整進(jìn)行信號處理后再通過LM393比較器與0 V比較進(jìn)行過零檢測,并將信號輸入到AT89C2051中進(jìn)行軟件二值化,二值化好以后將信號輸出。

            2.1.2 軟件設(shè)計(jì)

            積分時間調(diào)整與信號處理的程序流程如圖6所示。

            圖6 積分時間調(diào)整與信號處理程序流程

            系統(tǒng)存在外界光干擾時需實(shí)時對積分時間進(jìn)行調(diào)整。程序中用行同步脈沖FC做中斷源,在行同步脈沖FC中,不斷判斷U0的幅值是否位于3~4 V范圍內(nèi)。如果不在,立即調(diào)整M0~M3的值,直到U0的幅值合適為止。此時將行同步脈沖FC通過與門控制輸出,并將過零檢測的信號軟件二值化后輸出。



          評論


          相關(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); })();