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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一種ARM單片機(jī)的條碼精密測量系統(tǒng)設(shè)計方案

          一種ARM單片機(jī)的條碼精密測量系統(tǒng)設(shè)計方案

          作者: 時間:2013-12-07 來源:網(wǎng)絡(luò) 收藏

            軟件設(shè)計

            系統(tǒng)軟件的流程如圖2所示。

            一種ARM單片機(jī)的條碼精密測量系統(tǒng)設(shè)計方案

            軟件功能

            軟件的功能主要是圖像的定位算法,包括以下內(nèi)容:

            . 檢測:從信號中提取各種特征參量,通常包括各條碼邊緣位置、中心、寬度的檢測,碼字劃分。

            . 根據(jù)標(biāo)尺已知參數(shù)確定物像比,同時求出視距,計算基準(zhǔn)位置相對于目標(biāo)碼位置的相對距離,按物像比放大到真實尺寸d2(精度結(jié)果)。

            . 解碼:相當(dāng)于信源編碼的逆過程,計算目標(biāo)碼字的碼字位置d1(粗讀結(jié)果)。標(biāo)尺最終讀數(shù)ds為粗讀與精讀結(jié)果之和:ds=d1+d2。

            本系統(tǒng)采用了等間隔周期性位移條碼,利用條碼等間距結(jié)構(gòu),通過提取與條碼等間距對應(yīng)的特征譜線計算物像比,進(jìn)而得到條碼的等效寬度序列,最后根據(jù)條碼周期性實現(xiàn)解碼。

            軟件架構(gòu)

            整個軟件采用嵌入式操作系統(tǒng)mCOS-II作為主要載體,軟件主要分五個線程,系統(tǒng)上電啟動后五個線程并行工作。五個線程分別是:串口控制、I2C接口控制、以太網(wǎng)接口控制、系統(tǒng)菜單控制、數(shù)據(jù)采集和解碼。

            測試結(jié)果

            為了考察系統(tǒng)的性能,設(shè)計了與精度為0.004mm的螺旋測微計比對實驗。利用螺旋測微計測量條碼標(biāo)尺實際移動的數(shù)值,每次條碼標(biāo)尺移動0.500mm,總共測量11次數(shù)據(jù),得到11個不同位置處的條碼值,計算差值進(jìn)行比對。測量結(jié)果如表1所示。

            一種ARM單片機(jī)的條碼精密測量系統(tǒng)設(shè)計方案

            從測量數(shù)據(jù)看出,系統(tǒng)測量數(shù)據(jù)的偏差值在0.0185mm以內(nèi),說明系統(tǒng)的測量達(dá)到了一定的精度。

            對系統(tǒng)分辨率作了初步測試。保持條碼和測量系統(tǒng)的相對位置不變,連續(xù)測量10次數(shù)據(jù),如表2所示。

          一種ARM單片機(jī)的條碼精密測量系統(tǒng)設(shè)計方案

            測量數(shù)據(jù)平均值為130.5049mm,系統(tǒng)測量算術(shù)偏差在0.3mm內(nèi),即現(xiàn)有系統(tǒng)的分辨率約為0.3mm。采用系統(tǒng)誤差標(biāo)定,軟件算法改進(jìn)等措施后,有望進(jìn)一步提高系統(tǒng)的測量精度。

            結(jié)語

            本系統(tǒng)是一種基于ARM的精密視覺測量平臺,實現(xiàn)了條碼的精密測量功能。在該平臺上進(jìn)一步開發(fā),形成的系統(tǒng)可以應(yīng)用于一維、二維長度的精密測量,具有較為廣闊的應(yīng)用前景。


          上一頁 1 2 下一頁

          評論


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