3、核心传感器测试方案:红外对管、磁头、紫外荧光、厚度传感器、CIS图像传感器的标定与验证

好,咱们进入核心部分。点钞机能不能把钱点清楚、把假币揪出来,全靠这几个传感器。我常说,传感器是点钞机的眼睛和耳朵。眼睛花了,耳朵背了,机器就是废铁一块。

这一章,我把五个核心传感器的标定与验证方案,一个一个拆开讲。每个传感器怎么测、测什么、阈值怎么定,我都会结合量产经验说清楚。

3.1 红外对管传感器

红外对管,说白了就是一对发光管和接收管。钞票从中间过,红外光穿透过去,接收管收到信号。真钞和假钞对红外光的吸收率不一样,这就是检测原理。

标定流程:

  1. 空载基准采集:机器不装钞票,让红外对管空跑。采集100次接收管电压值,取平均值作为基准V0。我习惯把这个值记在EEPROM里,每次开机自检时比对一下。
  2. 标准样张测试:用已知真钞的标准样张,过机50次。记录每次的电压变化量ΔV = V0 - V_pass。取最小值作为检测阈值下限。
  3. 假钞模拟测试:用不同厚度的假钞样张(或不同材质的纸片)过机,记录电压变化量。确保假钞的ΔV与真钞有明显区分度。

关键参数:

  • 空载基准电压V0:通常2.5V - 3.3V(视电路设计而定)
  • 真钞通过时ΔV:0.3V - 0.8V
  • 假钞通过时ΔV:通常小于0.1V或大于1.2V
  • 判定阈值:建议取真钞ΔV最小值的80%

注意:红外对管容易受环境光干扰。我曾经遇到一批机器,白天测试全合格,晚上就误报。后来发现是产线日光灯频闪造成的。量产测试时,一定要在遮光罩下进行,或者用屏蔽罩把传感器包起来。

3.2 磁头传感器

磁头检测的是钞票上的磁性油墨。人民币上某些区域的油墨是带磁性的,假钞很难仿造这一点。

标定流程:

  1. 无磁基准:用一张完全无磁的纸(比如普通A4纸)过机,记录磁头输出信号。理想情况是接近0V,但实际会有底噪,一般在±50mV以内。
  2. 标准磁条测试:用标准磁性测试卡(我建议用ISO 7811标准测试卡)过机,记录峰值电压V_peak。这个值决定了磁头的灵敏度。
  3. 真钞磁性区域定位:用真钞过机,记录磁性信号出现的位置和幅值。不同面额的人民币,磁性区域位置不同,需要分别标定。

我个人习惯把磁头的增益分成三档:低增益(检测大面额)、中增益(检测小面额)、高增益(检测假钞残留磁性)。量产时,每台机器都要跑一遍三档校准。

小技巧:磁头很怕静电。产线上操作员如果不戴防静电手环,摸一下磁头,可能就把内部放大电路烧了。我建议在磁头前端加一个ESD保护二极管,量产测试前先用静电枪打一下,验证保护电路是否有效。

3.3 紫外荧光传感器

紫外荧光检测,就是看钞票在紫外光照射下会不会发出荧光。真钞的纸张经过特殊处理,紫外光下不会发荧光,或者只在特定区域有微弱荧光。假钞往往整张纸都发蓝光。

标定流程:

  1. 暗室基准:在完全无光的环境下,开启紫外LED,但不放钞票。记录光电传感器的输出值,作为暗电流基准I_dark。这个值应该非常小,一般小于10mV。
  2. 真钞荧光测试:用真钞过机,记录荧光信号值I_true。真钞的荧光信号应该非常弱,通常小于100mV。
  3. 假钞荧光测试:用高荧光纸(比如普通打印纸)模拟假钞,记录信号值I_fake。假钞的荧光信号通常大于500mV。
测试项目 真钞典型值 假钞典型值 判定阈值
紫外荧光信号 20mV - 80mV 300mV - 2000mV 150mV(可调)
暗电流 < 10mV < 10mV 20mV(超标则报警)

注意:紫外LED会老化。我见过一台机器用了半年,紫外光强度衰减了40%,导致假钞漏报。量产测试时,一定要用紫外辐照计测量LED的实际输出功率,确保在标称范围内。建议每1000小时更换一次紫外LED。

3.4 厚度传感器

厚度传感器检测的是钞票的厚度。假钞往往纸张厚度不对,或者粘贴了胶带。厚度传感器通常用机械滚轮加位移传感器实现。

标定流程:

  1. 零点校准:不放钞票,让滚轮压紧。记录位移传感器的输出值,作为零点Z0。这个值每次开机都要重新校准,因为机械结构会有温漂。
  2. 标准厚度片测试:用已知厚度的标准塞尺(比如0.10mm、0.12mm、0.15mm)插入传感器,记录对应的电压值。建立厚度-电压曲线。
  3. 真钞厚度测试:用不同面额的真钞过机,记录厚度值。人民币厚度一般在0.10mm - 0.12mm之间。
  4. 胶带模拟测试:在真钞上贴一小段透明胶带,过机。厚度传感器应该能检测到厚度突变,并触发报警。

关键参数:

  • 厚度分辨率:0.01mm(至少)
  • 检测范围:0.05mm - 0.30mm
  • 胶带检测灵敏度:厚度变化超过0.03mm即报警

嗯,这里要注意。厚度传感器最怕机械卡死。我曾经遇到一批机器,出厂测试全合格,到客户手里用了三天就卡死。后来发现是滚轮轴承的润滑油在低温下凝固了。量产测试时,我建议做一次低温测试(0℃环境下跑100次),确保机械结构没问题。

3.5 CIS图像传感器

CIS(Contact Image Sensor)是点钞机里最贵的传感器,也是识别能力最强的。它扫描钞票的完整图像,用于冠字号识别、面额识别、残缺检测等。

标定流程:

  1. 暗场校准:关闭CIS的LED光源,采集一帧图像。理想情况是全黑,但实际会有像素暗电流。记录每个像素的暗场值D(x),用于后续图像校正。
  2. 亮场校准:用标准白色反射板(我建议用Labsphere的SRS-99)放在CIS下方,开启LED,采集一帧图像。记录每个像素的亮场值L(x)。
  3. 增益校正:计算每个像素的校正系数G(x) = (目标亮度) / (L(x) - D(x))。目标亮度通常设为200(8位灰度值)。
  4. 分辨率测试:用标准分辨率测试卡(比如ISO 12233)过机,检查CIS能否清晰分辨0.1mm宽的线条。
  5. 畸变测试:用标准网格纸过机,检查图像是否有几何畸变。畸变率应小于1%。

避坑指南:我曾经在量产时发现,同一批CIS模组,有的亮场值差30%。后来查出来是LED驱动电流不一致。我建议在CIS标定前,先测量LED的驱动电流,确保在标称值的±5%以内。否则,光靠软件校正也救不回来。

CIS标定代码示例(伪代码):

// CIS亮暗场校正
void CIS_Calibrate() {
    // 1. 采集暗场
    uint16_t dark[WIDTH];
    CIS_SetLED(OFF);
    CIS_CaptureFrame(dark, WIDTH);
    
    // 2. 采集亮场
    uint16_t light[WIDTH];
    CIS_SetLED(ON);
    CIS_CaptureFrame(light, WIDTH);
    
    // 3. 计算校正系数
    float gain[WIDTH];
    for (int i = 0; i < WIDTH; i++) {
        uint16_t diff = light[i] - dark[i];
        if (diff > 0) {
            gain[i] = 200.0f / diff;  // 目标亮度200
        } else {
            gain[i] = 1.0f;  // 异常像素,保持原值
        }
    }
    
    // 4. 保存校正系数到Flash
    Flash_Write(gain, sizeof(gain));
}

你想想看,CIS的标定其实就三步:去暗、补亮、算系数。但实际量产中,最头疼的是CIS的安装位置。如果CIS模组装歪了0.5度,图像就会倾斜,冠字号识别直接报废。我建议在产线上加一个视觉定位工装,用十字激光对准CIS的中心线,确保安装精度在±0.1mm以内。

3.6 传感器联合验证

单个传感器标定完了,不代表整机就OK。五个传感器要协同工作,才能准确判断一张钞票的真伪。

联合验证流程:

  1. 真钞全流程测试:用10张不同面额的真钞,每张过机10次。记录每个传感器的输出值,确保都在标定范围内。
  2. 假钞全流程测试:用10张不同种类的假钞样张,每张过机10次。确保至少9次被正确识别为假钞。
  3. 混合测试:把真钞和假钞混在一起,随机过机100次。统计误报率和漏报率。误报率应小于0.1%,漏报率应小于0.5%。
  4. 极限测试:用折角、污损、潮湿的钞票过机,验证传感器的鲁棒性。

量产测试通过标准:

  • 真钞识别率:≥99.9%
  • 假钞识别率:≥99.5%
  • 传感器一致性:同一批次机器,同一张钞票的传感器输出值偏差≤10%
  • 连续运行:无故障连续运行1000次

好了,核心传感器的标定与验证就讲到这里。说白了,传感器标定就是给机器定一个「标准答案」。真钞长什么样、假钞长什么样,你得先让机器知道。量产测试就是反复验证,确保每台机器都记住了这个标准答案,而且记得准、记得牢。