28928浏览
查看: 28928|回复: 34

[讨论] 【评测】你可见过如此丧病的条形码模块评测么

[复制链接]
本帖最后由 ambersea 于 2014-5-20 15:36 编辑

可爱的小伙伴们,可有想念如此丧心病狂的测试报告么~话说阿婆主我最近很焦虑啊,发现看书效率极其缓慢,求各位路人推荐些提高自学效率的残忍的方法。

这次为大家带来的是基本上不会用到的条形码扫描模块。(原来想测试下二维码的,好贵orz,而且大家都有手机自带了……)下面的所有文字都可以只截取红字看= =

接下来稍微普及(顺便凑字)下背景知识



我是条码扫描的背景知识:


条形码是通过光线照射在条和空上,并产生不同的反射率(也就是条写空的对比度)来进行识读的。

一般来说,一个完整的条码包含了前静区,起始字符,数据字符,终止字符及后静区,某些条码还会加校正字元。

条码扫描器有光笔、CCD、激光、影像四种
▲光笔:最原始的扫描方式,需要手动移动光笔,并且还要与条形码接触。
CCD: LED作为发光光源的扫描器,以CCD感光元件作为光电转换器,再通过光电信号转换,因此中间没机械结构。在一定范围内,可以实现自动扫描。并且可以阅读各种材料、不平表面上的条码,成本也较为低廉。但是与激光式相比,扫描距离较短。
优势是:无转轴、马达,使用寿命长;价格便宜
激光:以激光二极管作为发光源的扫描器。主要有转镜式和颤镜式两种。又可分为线型、全角度等几种。
转镜式:采用高速马达带动一个棱镜组旋转,使二极管发出的单点激光变成一线。
颤镜式:颤镜式的制作成本低于转镜式,内部激光打出一个激光光源点,激光点打在一个带机械结构装置的反光片上,再依靠震动马达摆动将激光点打成一成激光线。然而但这种原理的激光枪不易提高扫描速度。
线型:多用于手持式扫描器,范围远,准确性高。
全角度:全角度扫描器是通过光学系统使激光二极管发出的激光折射或多条扫描线的条码扫描器。多为工业级固定式扫描,自动化程度高,在各种方向上都可以自动读取条码及输出电平信号,结合传感器使用。

▲影像:以光源拍照利用自带硬解码板解码,通常影像扫描可以同时扫描一维及二维条码,如Honeywell引擎。

注:由于红外与激光的波长和能量决定了在强光下红外的穿透性和抗干扰性要比激光差。所以强光还是用激光好点。

这次评测的两款都是CCD 扫描模块(因为便宜)
(所以以上的那些话都可以略过= =)
选择CCD扫描仪时最重要的是景深分辨率
其次的有扫描宽度和一次识别率,误码率等。
可以参照http://www.acctrue.com/barcode/barcode6-5.html来了解这几个技术参数的意义。




我是测试模块的高清无码美图和自我介绍
产品名称 图片
CHAMP红光扫描头 CCD条形码扫描模块【评测】你可见过如此丧病的条形码模块评测么图2
MCR14 条码扫描引擎 模组 高性能 小体积 可编程开发   【评测】你可见过如此丧病的条形码模块评测么图6



以下是官方资料,不同处红字表示

CHAMP 红光扫描头 CCD条形码扫描模块

  Light Source
  
  Visible Red light 632nm LED
  
  Sensor
  
  
Linear  CCD Sensor
  
  Processor Type
  
  
C8051  compatible
  
  Operating Freq.
  
  
24.5 MHz  (Internal)
  
  Scan Rate
  
  
100  scans/sec ±10%
  
  Reading Distance  
  
  240mm@20mil/0.5mm, PCS90%
  
  Print Contrast Ratio
  
  
PCS60%@6mil/0.15mm
  
  Resolution      
  
  
5mil/0.127mm@PCS90%
  
  Reading Angle             Test Conditions : Code 39,  10mil/0.25mm,PCS90%
  
  Pitch Angle
  
  
5°~70° (±5°)
  
  Skew Tolerance
  
  
5°~60°  (±5°)
  
  Ambient Light                 
  
  5000 Lux Max.
  

MCR 14 条码扫描引擎模组 高性能小体积可编程开发

  Light Source
  
  Visible Red light 632nm LED
  
  Sensor
  
  
Linear  CCD Sensor
  
  Processor Type
  
  
ARM  Cortex™-M3, 32-bit
  
  Operating Freq.
  
  
8 MHz  (Internal)
  
  Scan Rate
  
  
Smart detect  up to 500 scans/second
  
  Reading Distance  
  
  500mm@20mil/0.5mm, PCS90%
  
  Print Contrast Ratio
  
  
PCS45%@4mil/0.1mm
  
  Resolution      
  
  
4mil/0.1mm@PCS90%
  
  Reading Angle             Test Conditions : Code 39,  10mil/0.25mm,PCS90%
  
  Pitch Angle
  
  
5°~60° (±5°)
  
  Skew Tolerance
  
  
5°~60°  (±5°)
  
  Ambient Light                 
  
  10,000 Lux Max.
  


这里就需要对条形码的条空印刷对比度(PCS)进行一下简单的介绍。
(其实如果不想看的话可以直接看后面的红字就够了- -)
首先,从概念上来讲,条空印刷对比度(Print ContrastSignal,即PCS是指条形码的空和条的反射率之差与条的反射率的比率,它是衡量条形码符号的光学指标之一。条形码PCS的计算公式如下:
PCS=(RL-RD)/RL×100%
其中,RL为空的反射率,RD为条的反射率。条的反射率RL越低越好,空的反射率RD越高越好。条形码的PCS
值越大,则表明条形码的光学特性越好,识读率就比较高。一般来说,当条形码的PCS值在67%~98%的范围之内时,就能够被条形码扫描设备正确识读 (也就是这里的官方数据都是在这个条件下测得的)同时在自己做条形码的时候也要注意PCS,这就涉及到诡诡异异的条形码的空色和条色了。想什么白色空色,红色条色就识别不出来了,嘛亮绿和红色这种毁三观的也识别不出来。
比较重要的还有Resolution。通常会看到DPI或者mil
DPI (dot peerinch) 每英寸点数
mil 单位名称(1 mil = 0.025mm)
解析度 203dpi 约为 1mm = 8dot; 代表条码印刷机的印字头印出 8 个连续的点会刚好等于 1 厘米。
如果是以标准的 200dpi 条码则它的公制解析度就等于 0.127mm (25.4mm 有 200 点), 约为 5 mil 的解析度。
好吧我偷懒找的是打印机,但是扫描机的换算也是一样的啦。

扫描分辨率指的是多功能一体机在实现扫描功能时,通过扫描元件将扫描对象每英寸可以被表示成的点数。dpi值越大,扫描的效果也就越好。


(不知不觉竟然废话了那么多……放心的微笑了下~


评测(其实只是连线吧喂)


快乐的拿出水嫩弹滑的扫描模块,发现她们都悲剧的是RS232的接口。假如要逼迫她们与Arduino的板幸福的生活在一起我们还需要一块扩展板。木有经验的孩纸们也可以看下文的RS232接口定义。哦……悲剧的是由于扩展板和传感器都是母头(可以理解为两个蕾丝么= =),万不得已下我找了个DB9的公头连接器焊出了接线。
比如这样= =
【评测】你可见过如此丧病的条形码模块评测么图3

介于可爱的伙伴们会问为毛要TTL转RS232扩展板,可以参考https://mc.dfrobot.com.cn/thread-1796-1-1.html《【教程】RS232与TTL的区别》
由于我做事一向认真负责,附上商品链接。
https://www.dfrobot.com.cn/goods-818.html
连接时可以参考下面的引脚图,我个人只焊出了2,3,5,9四个pin。(因为懒)

【评测】你可见过如此丧病的条形码模块评测么图7



需要注意的是:扫描模块的TXD要和扩展板的RXD连接,扫描模块的RXD要和扩展板的TXD连接一起。(不过假如你直接DB9连接就不用考虑那么多了)      
【评测】你可见过如此丧病的条形码模块评测么图4                     

通常买回来的条形码扫描模块都是要设置的

产品会附赠纸质版设置流程,而且高端大气的用扫描条码来设置的捏。
需要修改的就是接口选择了,改成<键盘口模式>。记得扫描<储存参数>,否则断电后再启动时不会保存上次设置。

在烧入程序的时候记得将扩展板上的模式开关切换至OFF(编程模式)
以下是程序


String code = "";
char endbit=0;
void setup()
{
  Serial.begin(9600);    //初始化串口  
}
void loop()
{
  int temp;    //串口数据临时缓存
  if(Serial.available()>0)    //如果串口接收到数据了
  {
    temp=(Serial.read());
if(temp==0x0D)
     {
      endbit=1;
      }
    else if((temp==0x0A)&&(endbit=1)&&(code.length()>0))    //若接收到0D0A字符串结束输出字符串
     {
      Serial.println(code);
       code="";
       endbit=0;
      }
      else
      {
        code +=char(temp);
      }
  }
}


就可以在串口观察到扫描到条形码表示的数值啦~
由于本人写程序比较渣(羞涩)= =欢迎大家修改。




我才是真评测,阿婆主想调皮下~


然后……我没有节操的用口香糖,哦不是……用橡皮泥的改造成扫描模块v2.0(多了一个红外测距)
【评测】你可见过如此丧病的条形码模块评测么图5

(不过由于我很不靠谱……红外测距传感器没优化,和尺测出来的还是有一定差距的…)
使用的是SHARPGP2Y0A41SKOF 红外距离传感器(4-20cm)和SHARP GP2Y0A21 距离传感器 10-80cm

测量方法:
从远处靠近,测出能感应到的最远距离。
从近处拉远,测出开始感应到的最近距离。
测量十次,计算平均值和平方差。


  
CHAMP 红光扫描头 CCD条形码扫描模块条码扫描模组一维扫描引擎
  

 
最远感测距离
条形码读数
  
距离
  
 
2022340258
  
17.02
  
  
cm
  
 
2022340258
  
19.22
  
  
cm
  
 
2022340258
  
21.4
  
  
cm
  
 
2022340258
  
20.35
  
  
cm
  
 
2022340258
  
19.77
  
  
cm
  
 
2022340258
  
17.74
  
  
cm
  
 
2022340258
  
20.76
  
  
cm
  
 
2022340258
  
20.55
  
  
cm
  
 
2022340258
  
20.55
  
  
cm
  
 
2022340258
  
18.54
  
  
cm
  
 

 
平均值
19.59
cm
平方差
1.355175

 
最近感测距离
条形码读数
  
距离
  
 
6924090700135   
  
5
  
  
cm
  
 
6924090700135   
  
4.33
  
  
cm
  
 
6924090700135   
  
5.28
  
  
cm
  
 
6924090700135   
  
6.11
  
  
cm
  
 
6924090700135   
  
4.57
  
  
cm
  
 
6924090700135   
  
5.16
  
  
cm
  
 
6924090700135   
  
5.83
  
  
cm
  
 
6924090700135   
  
5.8
  
  
cm
  
 
6924090700135   
  
6.47
  
  
cm
  
 
6924090700135   
  
11.8
  
  
cm
  
 

 
平均值
6.035
cm
平方差
2.024536
  
MCR 14 条码扫描引擎模组台湾品牌高性能小体积可编程开发
  
 
 
最远感测距离
条形码读数
  
距离
  
 
2022340258
  
22.41
  
  
cm
  
 
2022340258
  
21.71
  
  
cm
  
 
2022340258
  
23.04
  
  
cm
  
 
2022340258
  
21.32
  
  
cm
  
 
2022340258
  
23.48
  
  
cm
  
 
2022340258
  
24.4
  
  
cm
  
 
2022340258
  
24.76
  
  
cm
  
 
2022340258
  
25.38
  
  
cm
  
 
2022340258
  
22.62
  
  
cm
  
 
2022340258
  
22.93
  
  
cm
  
 

 
平均值
23.205
cm
平方差
1.245699

 
最近感测距离
条形码读数
  
距离
  
 
2022340258
  
6.18
  
  
cm
  
 
2022340258
  
6.92
  
  
cm
  
 
2022340258
  
6.47
  
  
cm
  
 
2022340258
  
4.46
  
  
cm
  
 
2022340258
  
5.48
  
  
cm
  
 
2022340258
  
5.91
  
  
cm
  
 
2022340258
  
6.25
  
  
cm
  
 
2022340258
  
4.97
  
  
cm
  
 
2022340258
  
5.36
  
  
cm
  
 
2022340258
  
5.52
  
  
cm
  
 

 
平均值
5.752
cm
平方差
0.699869

(咳咳……那个6924开头的条形码是博士伦滴眼液= =


这样看看…MCR14的条码扫描模块还是很有优势的。使用下来一次成功率也高很多。


大家可以去网上下各种条码制作软件。我下了一个FreeBarcod。
再推荐一个网址,可以条码查询的

http://www.liantu.com/tiaoma/


但是条码模块扫描时,需要条码反射光到条码扫描器,所以你的条码打印得很好,却不怎么反光的话,条码扫描器就读不出了。当然,这也和条码打印到什么纸张上有关,因为条码标签纸一般都是反光性很好的,若打印在普通纸张上,性能就要差一些。
小伙伴们注意!!!EAN-13是有规范的,随便写写很悲剧的!读不出的!
要自己玩的话用code-39就可以了。
【评测】你可见过如此丧病的条形码模块评测么图1

网上有很多规范,也可以去下面的网址在线生成条形码,上面也提示了不同规格条形码的规范。
http://app.baidu.com/app/enter?appid=140051

另外……小伙伴们有什么好想法……可以用条码做什么……求提示求骚扰。


最后附上满满的爱
【评测】你可见过如此丧病的条形码模块评测么图8



╮(╯▽╰)╭



竹石  学徒

发表于 2018-7-26 15:19:48

if(temp==0x0D)
     {
      endbit=1;
      }
    else if((temp==0x0A)&&(endbit=1)&&(code.length()>0))    //若接收到0D0A字符串结束输出字符串
     {
      Serial.println(code);
       code="";
       endbit=0;
      }
      else
      {
        code +=char(temp);
      }
  }
这段是不是与条码的型号有关?eg:code-128/code/39
回复

使用道具 举报

Grey  中级技匠

发表于 2014-3-21 18:22:39

Rockets 发表于 2014-3-21 17:32
这里的应用可以很多啊。
循线,仓库管理,有没有人一起搞个仓库管理系统啊。 ...

确实,现在很多库房还是处于人为管理的模式,难免会有疏漏的地方。如果能建立起这样一个系统的体系,整个出入环节就能得到很好地改善。成本也不会太高。
回复

使用道具 举报

何处不江南  初级技匠

发表于 2014-3-24 09:40:56

Rockets 发表于 2014-3-21 17:32
这里的应用可以很多啊。
循线,仓库管理,有没有人一起搞个仓库管理系统啊。 ...

对这个仓库管理系统很感兴趣啊 问两个问题啊:
1、这个系统是为了解决仓库的哪个问题的?
2、这个系统由哪几个部分组成?
回复

使用道具 举报

Angelo  初级技匠

发表于 2014-3-20 11:51:40

太给力了~~
条形码科普啊~~
回复

使用道具 举报

合乎  初级技匠

发表于 2014-3-20 11:56:31

阿婆主的文字风格很独特啊
回复

使用道具 举报

heinau  高级技匠

发表于 2014-3-20 12:00:39

妹子的测评好顶赞啊,风格太欢乐,一定是bilibili逛多了
点32个赞!!
回复

使用道具 举报

Ash  管理员

发表于 2014-3-20 12:02:11

bilibili看多了的赶脚嘛  【评测】你可见过如此丧病的条形码模块评测么图1
回复

使用道具 举报

ambersea  初级技师
 楼主|

发表于 2014-3-20 12:02:32

heinau 发表于 2014-3-20 12:00
妹子的测评好顶赞啊,风格太欢乐,一定是bilibili逛多了
点32个赞!!

同道中人!一眼看出哔哩哔哩风格= =
回复

使用道具 举报

ambersea  初级技师
 楼主|

发表于 2014-3-20 12:05:19

Ash 发表于 2014-3-20 12:02
bilibili看多了的赶脚嘛

………………糟糕………………又被发现了= =
回复

使用道具 举报

Grey  中级技匠

发表于 2014-3-20 13:12:47

好贴!赞一个
回复

使用道具 举报

Youyou  初级技匠

发表于 2014-3-20 13:53:24


简直是屌炸天的帖子!狂顶!
回复

使用道具 举报

Grey  中级技匠

发表于 2014-3-20 13:58:33

Youyou 发表于 2014-3-20 13:53
简直是屌炸天的帖子!狂顶!

亲,你怎么阴魂不散,无处不在。简直神通广大啊
回复

使用道具 举报

Ricky  NPC

发表于 2014-3-20 14:28:11

评测原来是可以很欢乐的。。:D  
回复

使用道具 举报

Holiday  初级技匠

发表于 2014-3-20 14:45:08

我是来看最后一个表情的ORZ
回复

使用道具 举报

合乎  初级技匠

发表于 2014-3-20 17:46:16

Grey 发表于 2014-3-20 13:58
亲,你怎么阴魂不散,无处不在。简直神通广大啊

你怎么能那么水
回复

使用道具 举报

ambersea  初级技师
 楼主|

发表于 2014-3-20 21:57:43

Holiday 发表于 2014-3-20 14:45
我是来看最后一个表情的ORZ

说好的新鲜点子呢!……
回复

使用道具 举报

Holiday  初级技匠

发表于 2014-3-21 10:05:30

ambersea 发表于 2014-3-20 21:57
说好的新鲜点子呢!……

看表情还要点子啊{:3_43:}
回复

使用道具 举报

Rockets  NPC

发表于 2014-3-21 17:32:37

这里的应用可以很多啊。
循线,仓库管理,有没有人一起搞个仓库管理系统啊。
回复

使用道具 举报

Youyou  初级技匠

发表于 2014-3-21 18:24:35

Grey 发表于 2014-3-21 18:22
确实,现在很多库房还是处于人为管理的模式,难免会有疏漏的地方。如果能建立起这样一个系统的体系,整个 ...

全自动立体仓库?
回复

使用道具 举报

Grey  中级技匠

发表于 2014-3-21 18:30:49

Youyou 发表于 2014-3-21 18:24
全自动立体仓库?

我是指小库房,小库房人员一般较少,管理不易
回复

使用道具 举报

Youyou  初级技匠

发表于 2014-3-21 18:32:51

Grey 发表于 2014-3-21 18:30
我是指小库房,小库房人员一般较少,管理不易

迷你版立体仓库
回复

使用道具 举报

Grey  中级技匠

发表于 2014-3-21 18:37:10

Youyou 发表于 2014-3-21 18:32
迷你版立体仓库

这和立体仓库有毛关系,只是利用条形码,可以更加方便的检测有没有错误的存在而已。可以规避很多不必要的损失。
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail