金兆东 孟祥斌 毛红艳 王德君
摘要:针对传统快递仓储依靠人工手持条码识别器分类效率不高的问题,采用MJ-2060 CCD条码扫描识别模块,利用串行调试进行扫描码信息量的读取和传递。使用STM32微处理器作为主控器,接收扫描信号后,控制机械手臂抓取、上下提升,并运送货品到指定区域。实验仿真及实测结果显示,该设计分类机器手臂装置可以准确地进行分类和传送,是一种性能可靠的智能包裹分类设备。
关键词:机械手臂;STM32微处理器;CCD条码扫描识别模块;串行通信
中图分类号:TP273 文献标识码:A 文章编号:1009-3044(2015)27-0145-02
Abstract: Handheld bar code reader for express delivery, warehousing rely on traditional artificial classification efficiency is not high, the MJ - 2060 CCD barcode scanning recognition module, using serial debugging to scan code reading and transmission of information. As the host controller based on STM32, after receiving scanning signal, control robotic arm grab, ascending, up and down and deliver goods to the designated region. The experimental simulation and measured results show that the design classification machine arm device can accurately category and transmission, is a kind of reliable performance of the intelligent parcel sorting device.
Key words: Mechanical arm; STM32; CCD module; serial communication
伴隨网络消费模式的普及,仓储快递也逐渐壮大,大量的货物接收、分发需要众多的工作人员,在大型仓储中心容易发生货品分发错误的现象,就需要具有智能化的设备,迅速且精准的配发包裹。传统的货品分类大部分需要人工手持条码识别器进行逐一分类,耗时费力,需要大量的人工,成本较高。针对以上诸多问题,提出一种基于STM32微处理器,采用CCD条码扫描识别模块进行扫描测量,微处理器智能控制机械手臂进行物品识别、提升及运输到指定区域。该方案具有动态实时扫描、测量精度高、智能传输且可以将输送包裹信息资料自动传送到电脑中优点,电路简单实用,便于立体空间进行线性传送,减轻工作人员负荷,节省人力成本。
1 整体设计方案
智能包裹分类机械手臂系统结构框架图如图1所示,主要包括显示模块、位置识别模块、条码识别模块、滑轮电机部分、手臂电机部分、主控模块和电源模块等。
系统使用MJ-2060 CCD条码扫描识别模块,在指定区域识别货物的基本信息,包括运货单的购买人、卖方姓名,提交的地址和联系电话等。该信息需要动态实时传递给电脑资源库,而具体地址信息需要传递给控制模块STM32F103。控制器根据地址信息,依据查找表固化的地址信息,两者进行匹配,一旦匹配成功,则控制器控制机械手臂拾取包裹,运送到货品制定的配货地点区域,如果没有找到指定的区域,则提醒配货人员处理,需要分类人员进行人工设定新的配货区域。
2 硬件电路设计
2.1 主控芯片
STM32F103是中等容量增强型微处理器,它是基于ARM核心的带有64K字节的,通信接口多达9个。该处理器具有低功耗,可分睡眠、停机和待机等待模式。含有2个12位模数转换器,转换的时间在1us内。多达80个快速I/O端口,所以端口都可以映像到16个外部中断。
STM32F103增强型产品内置嵌套的向量式中断控制器,能够实现至少43个可屏蔽中断通道和16个优先级。
2.2 电源设计
开关电源是应用电子技术,控制开关管开通和关断的时间比,维持输出稳定电压的一种电源,开关电源一般由脉冲宽度调制(PWM)控制芯片(TL494)和MOSFET开关管构成。TL494的1、2管脚是误差放大器I的同相和反相输入端;3管脚是相位校正和增益控制端;4管脚是间歇期调整,可改变截止时间;8、9管脚和10、11管脚分别是两个末级三极管集电极和发射机。如图2,可有效地实现开关电源设计。
2.3 条码识别模块工作原理
MJ-2060条码扫描模块是一个紧凑的远距离高敏感的CCD线性图像传感器扫描模块,高达500次/秒的条形码扫描速率,是CCD类型的条码扫描模块的最佳选择,它具有高性能、外形小巧和可靠运行,这为包裹条码的扫描提供强大的助力。MJ-2060 CCD扫描模块拥有强大的条码解码能力。解码板处理器是由一个ARM Cortex 32位处理器系统组成,能解码多种一维条形码。解码板兼容各种实用程序,基于PC机的可配置的软件,实物如图3。
条码模块的光源是LED发出的波长632nm的红光 ,CCD线性传感器处理器为ARM Cortex?-M3,其工作频率为8 MHz扫描速率,智能检测多达500次扫描/秒。
3 软件实现
这个项目我采用的是C语言编程,首先初始化程序的配置,配置包括手臂的初始位置,滑轮所在位置,条码模块的启动,显示模块的初始化等。电机的动作是通过主控芯片控制电机驱动完成的,而每个舵机则需要多个PWM通道去控制舵机的旋转角度,这需要程序一步一步来实现。程序的流程图描述了整个机械动作,如图4。
4 试验结果
为了验证包裹机器人的效率,采取了五组包裹来让机器人完成分类,其中统计的数据有几种,动作的执行时间,条码扫描数据的准确性。为了验证包裹机器人的效率,采取了五组包裹来让机器人完成分类,其中统计的数据有几种,动作的执行时间,条码扫描数据的准确性,统计如表1。
从测试结果上来说机械手臂可以在较短的时间内完成任务,每一次动作都可以实现想用的功能。
5 结束语
本文所设计基于STM32f103开发出来的,可以很好地其功能,完成货物的提取与传送。针对机器人手臂精度调节,采用先粗调后细调的方案,条码识别模块与主控芯片的通信采用的是串口通信,通过扫描模块读取包裹上信息后通过串口与芯片通信,实现手臂与各模块相协调动作,这在实际中区域放置时间和准确性都得到满足,该设计具有良好的可行性。
参考文献:
[1] 周立功,张华.深入浅出 ARM7——LPC213x/214x[M].北京:北京航空航天大学出版社,2005.
[2] 韩庆瑶,洪草根,朱晓光,等.基于AVR单片机的多舵机控制系统设计及仿真[J].计算机测量与控制,2011(2).
[3] 谢剑英,贾青.微型计算机控制技术[M].3版.国防工业出版社,2006.
[4] 孙连科,许薇薇.C语言程序设计,中国电力出版社[M].2版.中国电力出版社,2011.
[5] 方庆山,林春方.一种基于AT89C2051的多路舵机控制方案设计[J].微特电机,2009(7).
[6] 邱云周,张春雷,高山.DSP与FPGA在运动控制中的应用和研究[J].自动化信息,2003(6).
[7] 陈伯时.电力拖动自动控制系统[M].北京:机械工业出版社,2003.
[8] 赵灿,林华,孟促,等.基于ARM的多轴伺服控制器设计及其应用[J].制造技术与机床,2006(4).
[9] 刘军.例说STM32[M]. 2版.北京航空航天大学出版社,2014.
[10] STM32F103x46数据手册,英文第2版,2009.