一種ARM單片機(jī)的條碼精密測量系統(tǒng)設(shè)計(jì)方案
軟件設(shè)計(jì)
系統(tǒng)軟件的流程如圖2所示。
軟件功能
軟件的功能主要是圖像的條碼定位算法,包括以下內(nèi)容:
. 條碼檢測:從條碼信號中提取各種特征參量,通常包括各條碼邊緣位置、中心、寬度的檢測,碼字劃分。
. 根據(jù)標(biāo)尺已知參數(shù)確定物像比,同時求出視距,計(jì)算基準(zhǔn)位置相對于目標(biāo)碼位置的相對距離,按物像比放大到真實(shí)尺寸d2(精度結(jié)果)。
. 解碼:相當(dāng)于信源編碼的逆過程,計(jì)算目標(biāo)碼字的碼字位置d1(粗讀結(jié)果)。標(biāo)尺最終讀數(shù)ds為粗讀與精讀結(jié)果之和:ds=d1+d2。
本系統(tǒng)采用了等間隔周期性位移條碼,利用條碼等間距結(jié)構(gòu),通過提取與條碼等間距對應(yīng)的特征譜線計(jì)算物像比,進(jìn)而得到條碼的等效寬度序列,最后根據(jù)條碼周期性實(shí)現(xiàn)解碼。
軟件架構(gòu)
整個軟件采用嵌入式操作系統(tǒng)mCOS-II作為主要載體,軟件主要分五個線程,系統(tǒng)上電啟動后五個線程并行工作。五個線程分別是:串口控制、I2C接口控制、以太網(wǎng)接口控制、系統(tǒng)菜單控制、數(shù)據(jù)采集和解碼。
測試結(jié)果
為了考察系統(tǒng)的性能,設(shè)計(jì)了與精度為0.004mm的螺旋測微計(jì)比對實(shí)驗(yàn)。利用螺旋測微計(jì)測量條碼標(biāo)尺實(shí)際移動的數(shù)值,每次條碼標(biāo)尺移動0.500mm,總共測量11次數(shù)據(jù),得到11個不同位置處的條碼值,計(jì)算差值進(jìn)行比對。測量結(jié)果如表1所示。
從測量數(shù)據(jù)看出,系統(tǒng)測量數(shù)據(jù)的偏差值在0.0185mm以內(nèi),說明系統(tǒng)的測量達(dá)到了一定的精度。
對系統(tǒng)分辨率作了初步測試。保持條碼和測量系統(tǒng)的相對位置不變,連續(xù)測量10次數(shù)據(jù),如表2所示。
測量數(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的精密視覺測量平臺,實(shí)現(xiàn)了條碼的精密測量功能。在該平臺上進(jìn)一步開發(fā),形成的系統(tǒng)可以應(yīng)用于一維、二維長度的精密測量,具有較為廣闊的應(yīng)用前景。
評論