原创 基于ARM的条码精密测量系统

2008-6-6 18:31 1828 5 6 分类: MCU/ 嵌入式

 



 


adfshow?user=Afp21ic|news|keyword_ti3&db=afp21ic引言

  利用条码技术进行精密测量的典型仪器是1990年Leica公司开发成功的数字水准仪NA2000,这种光电一体化的新型仪器,具有测量速度快、精度高、操作简单、读数直观,能自动计算高差、高程,自动记录数据,计算机数据处理和容易实现基准测量一体化等诸多特点。国内目前对该技术的研究较少,本文提出了一种基于ST半导体公司的32位高性能处理器STR912FW44X6的测量系统方案。


  系统结构 adc


  本系统由以下几个部分组成:条码标尺、光学系统、CMOS图像采集模块、STR912主控板、键盘与液晶显示模块、电源模块和计算机测试系统。 硬件结构框图如图1所示。


  系统工作原理如下:带有精密位置信息的条码图像通过光学系统,成像在CMOS图像传感器光敏面上,STR912FW44X6处理器对SVI公司的LIS-1024图像传感器进行自动曝光控制后,采集图像信息,经过算法处理,获得条码带有的位置信息。


  当系统进行高速图像采集时,STR912FW44X6处理器将采集信号通过以太网接口送往计算机测量系统,进行最终的数据处理。


  硬件设计


  图像采集模块


  图像采集模块主要由线阵CMOS图像传感器(LIS-1024)、运算放大器(TLV2221IDBVR)组成。视频信号经运算放大器放大后传送到STR912FW44X6主处理器进行A/D转换,转变为数字图像信号。


  STR912FW44X6主处理器直接控制图像采集时序,图像采集模块本身并没有自动曝光功能,对环境光强的变化需要由主芯片对采集到的图像信号进行分析,然后通过对图像传感器的控制来实现自适应环境光强的功能。


  主机板模块


  系统主芯片是基于ARM966E-S核的高性能嵌入式芯片STR912FW44X6,运算速度达96MIPS,支持单周期DSP指令。芯片的系统外围包括时钟、复位、电源管理、向量中断控制器(VIC)、内部PLL、RTC、定时器、9个可编程DMA通道和多达80个GPIO。还有8通道10位ADC、3相电机控制器、PWM输出和多种通讯接口。


  芯片内建双组Flash,可利用芯片上任意通讯口实现在系统编程功能。主芯片外接1 片64MB内存(芯片ST-M25P64)来扩展存储空间。


  主机板外围接口


  主要有CMOS图像传感器接口、RS-232接口、I2C接口和10/100M以太网接口。


  CMOS图像传感器的接口主要实现对图象传感器的自动曝光控制和图象采集;RS-232接口(芯片SP3222)实现程序下载,与上位机通讯,接受上位机指令控制;I2C接口实现主芯片与键盘和液晶显示模块之间的通讯;10/100M以太网接口(芯片STE100P)配合计算机软件实现高速图像采集。


  键盘与液晶显示屏模块


  键盘模块选用ATMega48芯片实现键盘控制和I2C通讯,以及LCD屏模块I2C通讯。


  软件设计


  系统软件的流程如图2所示。


系统软件的流程


  软件功能


  软件的功能主要是图像的条码定位算法,包括以下内容:



  • 条码检测:从条码信号中提取各种特征参量,通常包括各条码边缘位置、中心、宽度的检测,码字划分。
  • 根据标尺已知参数确定物像比,同时求出视距,计算基准位置相对于目标码位置的相对距离,按物像比放大到真实尺寸d2(精度结果)。
  • 解码:相当于信源编码的逆过程,计算目标码字的码字位置d1(粗读结果)。标尺最终读数ds为粗读与精读结果之和:ds=d1+d2。

  本系统采用了等间隔周期性位移条码,利用条码等间距结构,通过提取与条码等间距对应的特征谱线计算物像比,进而得到条码的等效宽度序列,最后根据条码周期性实现解码。


  软件架构


  整个软件采用嵌入式操作系统mCOS-II作为主要载体,软件主要分五个线程,系统上电启动后五个线程并行工作。五个线程分别是:串口控制、I2C接口控制、以太网接口控制、系统菜单控制、数据采集和解码。


  测试结果


  为了考察系统的性能,设计了与精度为0.004mm的螺旋测微计比对实验。利用螺旋测微计测量条码标尺实际移动的数值,每次条码标尺移动0.500mm,总共测量11次数据,得到11个不同位置处的条码值,计算差值进行比对。测量结果如表1所示。


测量结果


从测量数据看出,系统测量数据的偏差值在±0.0185mm以内,说明系统的测量达到了一定的精度。


  对系统分辨率作了初步测试。保持条码和测量系统的相对位置不变,连续测量10次数据,如表2所示。


连续测量10次数据


  测量数据平均值为130.5049mm,系统测量算术偏差在±0.3mm内,即现有系统的分辨率约为0.3mm。采用系统误差标定,软件算法改进等措施后,有望进一步提高系统的测量精度。



  结语


  本系统是一种基于ARM的精密视觉测量平台,实现了条码的精密测量功能。在该平台上进一步开发,形成的系统可以应用于一维、二维长度的精密测量,具有较为广阔的应用前景。


  参考文献:


  1. 王凤鹏、王志兴、张晓,一种新的数字水准仪测量算法,江西科学,2007, 25(3),1


  2. ST产品目录,2006


  3. 张晓、王志兴、李相银等,利用正弦条码尺实现位移测量,光电工程,2005,32(3)




PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户161452 2008-7-24 12:39

呵呵,真的是好厉害呀!

用户1383343 2008-6-12 22:40

为什么ARM的没人顶??

用户1654196 2008-5-25 15:56

不错,,阁下怎么想到的?
相关推荐阅读
用户1379474 2009-05-23 18:57
对本次大赛的一些补充!参赛者一定要看
对本次大赛的一些补充!参赛者一定要看本次比赛评分在实现基本功能的基础上侧重扩展功能,设计者应考虑实用性和开发成本,本次比赛的优秀作品可以由深圳硕飞科技有限公司(伟纳电子)向无线电或者电子制作杂志推荐发...
用户1379474 2009-05-23 18:57
2009年“伟纳电子杯”电子设计竞赛章程
2009年“伟纳电子杯”电子设计竞赛章程大学生电子设计联盟“伟纳电子杯”电子设计竞赛章程本次竞赛所有相关的材料和比赛进程均在大学生电子设计联盟论坛(http://www.nuedc.net.cn)“伟...
用户1379474 2008-09-14 10:18
C/C++程序员必需的修养
我总结了在用C/C++语言(主要是C语言)进行程序写作上的三十二个“修养”,通过这些,你可以写出质量高的程序,同时也会让看你程序的人渍渍称道,那些看过你程序的人一定会说:“这个人的编程修养不错”。 0...
用户1379474 2008-09-12 15:11
C51语言应用编程的若干问题
 摘 要 简要介绍了Franklin C51交叉编译器的特点,较详细地讨论了C51语言程序设计的基本技巧及其与汇编语言程序的混合编程、中断处理过程等实际问题,并给出了相应的处理程序。关键词 Frank...
用户1379474 2008-09-12 15:10
用C51实现单片机的中文输入法
 说明:拼音输入法杳询函数: unsigned char code * py_ime(unsigned char input_py_val[]);input_py_val为已输入的拼音码字符串头指针,...
用户1379474 2008-09-12 15:09
使用单片机C语言的好处
 将C向MCU(俗称单片机)8051上的移植始于80年代的中后期。客观上讲,C向8051 MCU移植的难点不少。如:   ·8051的非冯·诺依慢结构(程序与数据存储器空间分立),再加上片上又多了位寻...
EE直播间
更多
我要评论
1
5
关闭 站长推荐上一条 /3 下一条