kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 设计应用> 基于Arduino的纸币整理分类控制系统设计
基于Arduino的纸币整理分类控制系统设计
2016年微型机与应用第21期
陈芳琪,林子钰,黄凯鸿,周雨婧,赵建柱
中国农业大学 工学院,北京 100083
摘要:设计了一种基于Arduino开发板的纸币整理、分类控制系统。该系统采用ArduinoMega2560单片机作为控制核心,结合步进电机驱动板、颜色传感器、显示屏、语音播放模块等组成整套系统,实现了纸币整理、分类、显示、语音播报等功能。该系统利用Arduino IDE开发环境编写控制程序,通过模拟人工整理纸币过程实现纸币整理,通过颜色传感器采集数据以及算法控制,实现纸币分类,并通过实验证明了设计的可靠性、稳定性。
Abstract:
Key words :

  陈芳琪,林子钰,黄凯鸿,周雨婧,赵建柱

  (中国农业大学 工学院,北京 100083)

摘要:设计了一种基于Arduino开发板的纸币整理、分类控制系统。该系统采用ArduinoMega2560单片机作为控制核心,结合步进电机驱动板、颜色传感器、显示屏、语音播放模块等组成整套系统,实现了纸币整理、分类、显示、语音播报等功能。该系统利用Arduino IDE开发环境编写控制程序,通过模拟人工整理纸币过程实现纸币整理,通过颜色传感器采集数据以及算法控制,实现纸币分类,并通过实验证明了设计的可靠性、稳定性。

关键词:纸币整理;Arduino;纸币分类;颜色识别

0引言

  我国无人售票公交车的付费,相当一部分是由乘客使用小面额纸币或硬币自行投放,钱币的清点工作是一个难题,特别是纸币的分类需要大量的人工完成,缺少自动化的分选装置,国外的纸币清分机结构复杂、价格昂贵。本文提出了一种全自动纸币整理分类一体机,可实现纸币整理、分类、显示等功能,具有良好的应用前景。

1系统方案设计

  纸币整理部分:模仿人工整理纸币的过程:(1)将散乱的纸币竖起;(2)用手指或者手掌将竖直或者倾斜的纸币拨倒;(3)用手指或者手掌将拨倒的纸币推整齐。该系统整理纸币分4步完成:(1)纸币顺斜板滑下;(2)动板往复运动震动纸币;(3)上拨针拨倒竖直或倾斜的纸币;(4)下拨针将拨倒的纸币推至左侧。

  纸币分类部分:不同纸币之间颜色存在明显差异,通过颜色传感器检测每种纸币不同的红、绿、蓝三通道的颜色值(RGB),分析和比较不同纸币RGB的特性,实现纸币分类。

2系统结构

  2.1纸币整理机构

  纸币顺斜板滑下,进入竖直的两板之间,其中一个为动板,另一个为定板。通过控制步进电机丝杆滑台控制动板作水平往复直线运动,使两板间距周期变化,纸币在重力作用下继续下落。动板往复运动的同时,上端步进电机带动同步带上的拨针将竖直的纸币拨倒,下端步进电机带动同步带上的拨针将纸币自右端推至左侧。整理好的纸币通过控制舵机轴的旋转落入下面的纸币分类机构。

2.2纸币分类机构

  纸币上方颜色识别传感器负责采集信号,不同面额的纸币对应不同的RGB,采用8G4R4B二值化[1]进行RGB数值处理,使之产生显著差别,从而实现不同纸币的分类。通过控制步进电机转动捻钞轮,实现纸币的单张输出,每次识别到当前纸币的面额之后,通过控制下方步进电机滑台,带动固定在滑台上方的收集盒前进或后退,使不同的纸币落入对应的收集盒中。该系统结构框图如图1所示。

图像 001.png

3硬件部分

  采用TCS3200颜色传感器收集纸币的RGB数据,ATmega2560芯片进行数据处理,Ramps1.4拓展板和a4988驱动板作为步进电机驱动拓展板,组成一个基于Ardunio Mega 2560控制的系统。通过控制各接口输出的高低电平来控制各个部件,通过多个数字接口进行信号传输,按时序通过I/O接口控制各部件工作状态。对在正常清点中各传感器接收到的信号进行取样、识别,并寄存起来,作为检测的依据,同时根据比较算法得到该面值纸币的特征信号。清点纸币时,把颜色传感器接收到的信号参数与原寄存起来的信号参数进行比较、判断,发出指令,步进电机驱动丝杆滑台移动,将不同纸币分别传送到对应的纸币收集盒中。

3.1单片机单元

  系统采用Arduino Mega2560作为核心电路板,其最大的特点就是具有多达54路数字输入输出,特别适合以Mega2560处理器为核心的需要大量I/O接口的设计,同时具有54路数字输入/输出口(其中16路可作为PWM输出),16路模拟输入,4路UART接口,1个16 MHz晶体振荡器,1个USB口,1个电源插座,1个ICSP header和1个复位按钮[2]。鉴于Arduino Mega 2560强大的功能,选择其作为纸币整理分类机的核心处理器。纸币整理分类机包含多个部件,其中5路步进电机驱动板占用10个数字I/O接口,颜色传感器占用一个中断0引脚、4个数字I/O接口,语音模块占用2个数字I/O接口,显示屏占用2个数字I/O接口。Arduino Mega 2560可满足该纸币整理分类机的数据处理需求。系统所用主控板如图2所示。

图像 002.png

3.2颜色传感器单元

  TCS3200可编程的彩色光频率转换器适合于色度计测量应用领域,根据三原色感应原理,如果已知构成各种颜色的三原色值,即可知道所测物体的颜色。对于TCS3200 ,当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其他原色通过[3]。例如,当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同理,选择其他滤波器就可以得到蓝色光或绿色光的光强。通过这三个值,就可以分析投射到TCS3200 传感器上光的颜色。

  通过颜色传感器得到纸币RGB值后,再经过8G4R4B二值化处理数据,并根据数据特征,进行纸币分类。系统所用的颜色传感器如图3所示。

图像 003.png

3.3显示单元

  系统选择 LCD1602液晶显示器,其具有微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,可以显示字符和数字,显示容量为 2行16个字。在系统中,将第一行的16个字分为“1yuan 5jiao zong”,同时将不同纸币的数量、总金额对应到第二行的16个字。在数据通信方面,采用两条双向的串行线来实现数据的传输(I2C协议),极大地简化了电路,使整个系统简单而不失功能。

3.4语音播放单元

  本系统选择mini voice M3语音播放模块,该语音播放模块体积小、集成度高、音量大、可靠稳定,可以通过单片机单元选择播放存入存储卡内的指定音频[4],如发送指令“play,0001,$ ”便播放0001号文件,具有操作简单、可控性高的优点。该系统采用异步串口通信UART接口2传输数据[4],实现语音提示、语音播报总数量的功能。

3.5拓展板单元

  Ramps1.4 连接强大的Arduino MEGA平台,并拥有充足的扩展空间。除了步进电机驱动器接口外,Ramps 1.4提供了大量其他应用电路的扩展接口,是一款更换零件方便,拥有强大的升级能力和扩展模块化设计的Arduino扩展板。除五路步进电机的脉冲宽度调制(PWM)信号接口外,自定义LCD1602屏、颜色传感器、mini voice M3语音播放模块的数字I/O接口,将所有接口集中在Ramps1.4拓展板上实现了装置一体化、自动化。

3.6步进电机驱动单元

  A4988是一款带转换器和过流保护的DMOS微步驱动器,该产品可在全、半、1/4、1/8及1/16步进模式时操作双极步进电动机,输出驱动性能可达35 V及2 A,A4988包括一个固定关断时间电流稳压器,该稳压器可在慢或混合衰减模式下工作。系统所用步进电机驱动如图4所示。

图像 004.png

  系统利用Arduino IDE开发环境编写控制程序。该开发环境基于C语言,主要的参数功能都已经函数化,直接调用函数,方便实现各模块的功能[5]。该程序采用模块化编程,程序由系统主程序、初始化子程序、PWM步进电机调速子程序、LCD1602液晶显示子程序、语音提示子程序和颜色传感器识别子程序组成。

  主系统程序流程图如图5所示。

图像 005.png

5结论

  本文提出了一种可对纸币进行整理和分类的实现方法。通过动板往复运动,上拨针拨倒纸币,下拨针推齐纸币实现纸币的整理,通过颜色传感器测得纸币RGB值,通过8G4R4B二值化处理数据,并根据二值化数据特征进行纸币分类。该纸币整理分类装置结构简单,成本低,可减少人力物力的消耗,达到较佳的纸币分类效果,具有良好的应用前景。

参考文献

  [1] 蔡世捷.基于MATLAB的树木图像分割研究[D]. 南京:南京林业大学,2005.

  [2] 崔阳,张维华,白云峰.一种基于Arduino的智能家居控制系统[J].电子技术应用,2014,40(4):123-125.

  [3] 张菁,杨应平,章金敏,等.基于TCS3200D的颜色再现与分类[J]. 武汉大学学报(工学版),2013,46(2):257-260.

  [4] 马光.单片机原理及应用[M].北京:机械工业出版社,2006.

  [5] 程晨.Arduino 开发实战指南:AVR 篇[M].北京:机械工业出版社,2012.


此内容为AET网站原创,未经授权禁止转载。
Baidu
map