EDN China > 设计实例 > 可编程器件 > FPGA > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于FPGA的等位移多点采样硬币识别研究

四川托普信息技术职业学院 莫磊 陈华莉 焦敏?? 2009年09月02日 ?? 收藏0

  0 引 言

  硬币的识别分为两个方面:对于硬币币值的准确检测;对于真币、伪币的准确鉴别。由于硬币的复杂性,长期以来,对于硬币的准确识别都难以很好的解决。目前,无论是国外还是国内,通常的解决方法都是基于单片机的电涡流检测法。本文在电涡流检测的基础上,利用FPGA的快速处理特性和高可靠特性,对硬币的厚度、直径、材质、电导率、磁导率等进行了准确的检测,以便准确地识别硬币。

  1 电涡流反射式互补检测传感器原理

  电涡流检测是建立在电磁感应原理基础之上的一种无损检测方法,它适用于导电材料,如果把一块导体置于交变磁场之中,在导体中就有感应电流存在,即产生涡流,由于导体自身各种因素(如电导率、磁导率、形状、尺寸和缺陷等)的变化会导致感应电流的变化,利用这种现象判知导体性质、状态的检测方法,叫作电涡流检测法。

  在电涡流检测中,是靠检测线圈来建立交变磁场的;把能量传递给被检导体,同时又通过涡流建立的交变磁场获得被检测导体中的质量信息。

  在本硬币识别器中,采用探头式线圈,由于硬币在币道中滚动时,其在径向位置会产生微小的抖动,为了消除这种抖动带来的影响,在币道两边都安装有检测线圈,进行探头互补式检测。如图1所示。

电涡流传感器互补式检测

  检测线圈和检测线路组成一个振荡器,当硬币通过币道时,线圈的电感会发生变化,引起检测电路振荡频率发生变化。通过FPGA对振荡频率进行检测,以正确识别硬币。

  2 基于FPGA的等位移多点采样原理

  硬币通过检测线圈时,会引起振荡频率发生变化,传统的检测方法通常是检测变化的振荡频率的极值,即最大值。但这种检测方法只有一个采样点,识别伪币能力不强。也有人采用每过一段相同的时间取一次采样点,通过多采样点提高识别效果。但是,当硬币通过币道时,由于投币力量、初始速度以及硬币边缘的光滑程度、硬币的重量等的区别,并不是每一种硬币通过检测线圈时的速度都是一致的;同一种、甚至同一个硬币,也并不是每次通过检测线圈时的速度都是一致的。所以,若采取等时间间隔取样,就会造成取样时,硬币和检测线圈的物理相对位置不一样,引起检测结果不一样。这不仅会引起对伪币可靠识别的准确性,也会影响对真币的币值检测及真币识别的可靠性,甚至把真币当成伪币来识别。正是由于这些问题,在实际的硬币识别器产品中,通常采用的是只采取一个采样点,即极值采样法,但这种单点采样法由于只在硬币通过币道的某一瞬间获取硬币的参数信息,有很大的局限性,识别伪币能力不强。

  在该设计中,采取等位移多点取样法,完全克服了以上方法的缺点,具有很高的识币能力。同时,还能对硬币的直径进行检测。

  由于采样时间和采样间隔都很短,对系统的高速性和可靠性有较高的要求,用传统的单片机难以满足要求,在该设计中,通过FPGA完成对数据的高速采样和处理。

  2.1 系统原理

  图2为系统原理框图。在币道的不同位置安装有几个光电传感器,通过基于FPGA的脉冲宽度测量,可检测得到硬币通过币道中光电传感器之问距离的间隔时间。通过FPGA的高速数据处理,可得到硬币的直径、硬币通过币道时的加速度,并得到硬币进行等位移多点采样的采样时刻。当硬币通过检测线圈时,就进行基于 FPGA的多倍周期同步测频。再由FPGA对数据进行高速处理,得到硬币的特征参数,再把该特征参数和E2PROM中的硬币特征值进行比较,就可以判别硬币的币值和真伪。

系统原理框图

  2.2 基于FPGA的间隔时间测量

  图3为基于FPGA的间隔时间测量原理示意图,A,B,C三点为光电检测点。当硬币通过光电检测点时,光电检测电路的输出由低电平跳变为高电平。图4为硬币通过币道时A,B,C三个光电传感器的输出波形。

基于FPGA的间隔时间测量原理示意图

硬币通过币道时A

  图4中,ta为硬币前沿通过A点到硬币后沿经过A点的间隔时间;tb为硬币前沿通过A点到硬币前沿通过B点的间隔时间;tc为硬币前沿通过B点到硬币前沿通过C点的间隔时间。

  光电传感器的输出接到FPGA,由FPGA对标准频率信号进行计数,不难测得硬币通过币道时的间隔时间ta,tb,tc。在本设计中,FPGA的时钟频率为100 MHz,即标准频率信号为100 MHz。经过实际检测,ta,tb,tc的最小时间为0.01 s,则可估算出最大测量误差为:

公式

  可见有足够高的精确度。

  2.3 硬币直径检测

  通过光电传感器实现硬币直径及通过币道的加速度的检测。如图3,在币道的A点、B点和C点分别安装光电收发器。AB点和BC点的距离相等且为s。

  硬币通过币道时做匀加速度运动,设加速度为a,下面通过由FPGA高速检测得到的ta,tb,tc以及光电传感器之间的距离s来求加速度a,并求出硬币的直径d。

  设硬币的前沿通过A点,B点,C点的速度分别为vA,vB,vc,则有:

公式

  由此可计算出硬币通过币道时的加速度a。设光电传感器A距离币道底部的垂直距离为h;光电传感器A检测点扫过硬币的长度为l。图5为硬币的半径r和h,l的关系图。由图5可得如下公式:

公式

硬币的半径r和h

  硬币的直径为d=2r,由式(1)~式(6)可得:

公式

  式中:h和s是已知的;ta,tb,tc可通过FPGA检测得到。

  由此公式,就可通过测量硬币通过的时间ta,tb,tc并计算得到硬币的直径d。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

FPGA? 电涡流? 采样? 硬币识别?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈