基于全向轮模块的自动供包装置系统设计
2023-11-08阮学云时金成陈迎冬李佳静
龚 莹,阮学云,时金成,陈迎冬,李佳静
(安徽理工大学 机械工程学院,安徽 淮南 232001)
近二十年来,我国电商行业飞速发展,快递包裹量也随之急速增长。这对物流行业分拣效率提出了极大要求,从而衍生出一系列针对物流行业的自动化分拣装置,这些装置的工作效率直接影响着物流成本和包裹分拣效率。目前,我国快递公司的主要环节,如运输、包装、装卸等通常都是由人工操作的[1]。现有的快递自动化供包装置需要布置大量工业相机。该装置成本高,并且快递包裹的单件分离效率低,快递扫描难度大,这些问题已成为目前快递行业发展的痛点和瓶颈[2]。
为了解决上述问题,本文设计了一套基于全向轮运输平台的自动供包装置系统。本系统通过顶部、侧面和透明输送带底部三方位工业相机,并结合全向轮旋转控制系统实现对包裹的六面扫描。本系统解决了由人工将快递面单向上放置到扫描装置上和人工搬运的问题。通过对全向轮模块及控制系统的设计,能够实现对快递的码垛、输送、排序、六面扫描和输送方向控制。
1 装置结构组成及工作流程
供包系统整体装置结构如图1所示,主要由多个全向轮运输模块、工业相机扫描识别模块、PU透明带传输平台组成。全向轮平台区域是由多个正方形模块组成,模块数量可根据实际需求和场地面积自行增加或者减少,图1中包含3×6个全向轮模块。全向轮运输平台的前半部分3×3模块安装光电传感器,用于检验包裹是否通过此模块区域,便于后续安排包裹依次通过工业相机扫描区域;全向轮平台的后半部分3×3模块是包裹的扫描识别区域,用于实现旋转包裹,侧面和顶端的工业相机可以扫描快递面单上的单号并读取单号信息,将所识别的信息传输给主控电脑进行存储。透明传输带区域由PU透明带和下方的工业相机构成,包裹经过全向轮平台后若未被识别到面单信息,则会被运输至PU透明输送带上,同时启动透明输送带下方的工业相机,对快递面单进行扫描并识别,然后将信息传输至主控电脑。
图1 自动供包装置整体结构
包裹在经过整个供包装置运输以后,由于快递面单已经被装置的工业相机扫描识别并上传数据,从而改善目前人工手持读码器给快递包裹扫码的情况,减少了扫码人员和读码器的数量,既节省了人力成本和设备成本,还提高了扫描工作的效率并降低了扫码的失误率。
2 供包装置系统设计
2.1 控制系统流程分析
常用的控制方案主要有分布式和集中式两种[3]。本装置控制系统主要采用分布式控制,采用一个主控制芯片连接多个从控制芯片,通过主控制芯片和从控制芯片之间的协同工作,完成对系统的控制[4]。本装置采用STM32F103型控制芯片。STM32F103型单片机选用了Cortex-M3处理器作为内核,CPU最高速度为72MHz[5]。考虑到主控制器要实现不同的功能,既要与上位机进行通信,又要向从控制器发送指令,因而选择STM32F103ZET6为主控制器芯片。从控制器的主要功能是接收主控制器的命令及驱动电机,综合考虑从控制器的可靠性和成本,选择了STM32F103C8T6作为从控制器芯片。
自动供包装置的控制系统包括上位机部分、下位机部分、硬件部分等。上位机采用串口通信的方式与下位机进行通信;下位机部分包括一个主控制芯片和多个从控制芯片。工作时,首先是由上位机发送指令,下位机的主控制芯片接收到来自上位机的指令后,STM32主控制器先对收到的指令进行分析,然后给相应的STM32从控制器和相关传感器发送控制命令,控制硬件部分的电机驱动器,电机根据电机驱动器发出的信号完成相应的动作。控制系统总体设计方案如图2所示。
图2 系统总体设计方案
2.2 控制系统电路设计
2.2.1 串口通信电路设计
本装置采用串行通信的数据传输方式。主控制器采用串口通信,包含5个USART,其中每个UASRT都是由VCC电源线、TX发射端口、RX接收端口和GND组成,这样只需要通过4根数据线即可实现两个设备之间的数据传输,主控制器芯片的串口引脚如表1所示。在主控制器和从控制器之间进行串口通信时,将主控制器的Tx引脚和Rx引脚分别与从控制器的Rx引脚和Tx引脚相连,GND引脚接地,这样即可实现两个芯片之间的通信。
表1 主从控制芯片串口引脚
本装置采用的USB转串口转换芯片为CH340G,使用时将CH340G中的UD+和USB的D+连接,CH340G的UD-与USB的D-相连,CH340G中的串口发射端TX引脚连接主控制器USART1的PA10,CH340G的接收端RX引脚连接主控制器USART1的PA9[6],其具体连接电路如图3所示。
图3 USB转串口电路设计
2.2.2 CAN通信电路设计
为了实现自动供包装置各个全向轮模块与主控系统及传感器之间的实时通信,采取了一主多从的分布式控制方案。在物理层,网络采用了CAN总线的方式将主控制器CPU与各个从控制器CPU相连接,从控制器和对应的全向轮模块相连接,这样便可实现主控制器利用CAN总线收发数据给从控制器,进而控制全向轮平台内部的电机速度和转向。
STM32中的CAN控制器在进行CAN总线架构时需要外接CAN收发器,本系统采用TJA1050芯片作为CAN收发器[7]。TJA1050封装为8个引脚,主要包括VCC、GND、数据发送和数据接收引脚。在主控制器和TJA1050连接时,TJA1050模块上的串行数据输出线TX与主控制器及从控制器的PB9(CANTx)端相连,串行数据接收线RX与主控制器及从控制器的PB8(CANRx)端相连[8]。TJA1050模块[9-10]的CANH和CANL分别挂载至CAN总线对应的两条线上,其具体电路连接如图4所示。
图4 CAN电路连接
2.2.3 步进电机电路设计
本装置选用42步进电机,采用4线接法,通过4根线A+、A-、B+、B-来控制电机的正转和反转。
控制器的输出电流很微小,无法被步进电机直接识别,因而需要一个中间桥梁步进电机驱动器TB6600去连接控制器和步进电机。步进电机驱动器的电机线接口分别与步进电机的A+、A-、B+、B-连接,电机使能信号接口ENA+、方向控制信号DIR+和脉冲信号PUL+分别与设置好的STM32从控制器的引脚相连,ENA-、DIR-和PUL-都接STM32从控制器的GND口[11]。根据电机驱动器的说明,拨动电机驱动器上的拨码开关SW1~SW3,设置驱动器的输出细分数为32细分,拨动拨码开关SW4~SW6,将电流设置为1A,此时需要接收到6400个脉冲信号才能使步进电机转动一圈[12-13]。
根据装置系统设计,1个从控制器控制1个全向轮模块,1个全向轮模块控制两2个步进电机。本装置选用STM32从控制器的通用定时器3的4个输出通道,输出4路PWM波,与2个电机驱动器的对应引脚相连,以实现系统工作时信号的正确传输和电机的正常运行。单个模块步进电机具体电路连接如图5所示。
图5 单个模块步进电机电路连接
2.3 控制系统软件设计
2.3.1 控制系统主程序设计
控制系统的软件搭建使用KeiluVision5开发环境进行程序编写。控制系统在工作时,首先进行系统初始化,启动PC上位机和硬件供电,连接主控制器和PC上位机的通信,连接完成后,主控制器进行系统自检,检查CAN通信连接、传感器的连接和串口通信的连接。若自检结果有问题,则反馈给PC上位机并重新进行自检;若自检结果没有问题,则将结果反馈给PC上位机并运行主程序,然后开启中断、等待中断、判断中断的标志位,再根据不同的中断去处理不同的事件,并进行相应的控制。控制系统主程序设计工作流程如图6所示。
图6 主程序启动流程
2.3.2 中断配置设计
本系统采用中断的方式协调主控制器与外设之间的工作。用户根据事件的重要性设置中断优先级,从而使系统发生的事件按照规定顺序进行。当在系统运行过程中出现某些优先级更高的事件时,系统会暂停正在运行的程序,转而去执行优先级更高的事件命令,处理完成后再运行之前被暂停的程序。
中断配置设计流程如图7所示,首先进行中断配置:先声明NVIC结构体,设置中断分组,选择中断通道,为该中断指定优先级,再使能中断;其次设置中断端口:配置GPIO引脚、EXTI结构体、中断请求及中断触发方式,再使能中断线路功能;最后是中断处理环节:中断来临时,进行中断请求,判断面临的中断事件与当前正进行事件的优先级,若此中断事件的优先级高于当前事件时就会响应中断并进入中断服务程序,直至当前中断程序结束,完成中断处理环节[14]。
图7 中断配置流程
2.3.3 单个全向轮模块程序设计
装置中的每一个全向轮模块都是由一个从控制器STM32进行控制的。当从控制器工作时,首先进行系统初始化,与主控制器进行连接,配置相应的GPIO引脚,开启定时器时钟,设置数据使定时器输出相应频率的PWM方波,其频率决定了步进电机的转速大小;其次配置从控制器的中断,等候主控制器的发送指令,接收主控制器的指令并执行,根据指令驱动相应电机旋转,执行指令完成后由从控制器发送动作已完成指令给主控制器,并等待主控制器发送新的指令。单个模块程序设计流程如图8所示。
图8 单个模块程序设计流程
3 装置样机测试
3.1 样机整体实物搭建
按照装置的整体设计方案,在实物样机搭建过程中,先对各个功能模块进行搭建,模块组装完成以后再将各个模块组合搭建为整体装置,完成样机的搭建。
搭建好的实物样机如图9所示,样机的全向轮运输平台由3×3个全向轮平台构成,每个全向轮平台内部都安装了步进电机和驱动器。透明传输带结构安装在全向轮平台的一侧,将3个工业相机扫描装置分别安装在全向轮平台上方支架的顶部和一侧,以及透明输送带的下方。
图9 装置样机实物
3.2 物理样机测试
根据实际情况,将全向轮单个平台进行编号,如图10 所示。记录样机的功能测试情况如表2所示。
表2 模块测试功能
图10 全向轮平台编号
从实际的测试结果来看,包裹在整个装置上可以平稳前进,在旋转装置部分,包裹能够按照要求旋转一定角度并停留,实现了侧面工业相机对包裹侧面面单的扫描,包裹前进到透明输送带区域底部时,工业相机也可以正常工作。总体来说,样机实现了预期的基本功能,满足了装置的设计要求。
4 结语
基于全向轮模块的自动供包装置控制系统,提出了具体的设计方案,完成了硬件选型工作,对控制系统的电路模块设计进行了简单介绍。通过Keil uVision5 软件开发平台进行软件程序编写,介绍了单个全向轮模块的程序运行过程,主、从控制器利用CAN 通信收发信息,主控制器通过设置中断优先级的方式处理收到的不同事件指令。在样机测试实验中,完成了对包裹的码垛、排序,实现了对包裹的六面扫描和输送方向的控制,基本实现了预期功能。