APP下载

快递包裹智能分拣主控系统设计

2020-12-18欧阳鑫玉赵一帆赵楠楠

辽宁科技大学学报 2020年5期
关键词:载货串口小车

张 锋,欧阳鑫玉,赵一帆,赵楠楠

(辽宁科技大学 电子与信息工程学院,辽宁 鞍山 114051)

随着网络电商的发展,物流快件订单也逐年增长,这对快递包裹的分拣效率与准确性提出了更高的要求[1-2]。在这种趋势下,自动化输送分拣装备出现爆炸式增长,出现了很多研究成果[3]。江源[4]提出了一种基于PLC的物料分拣系统,该系统驱动电机使物料间等距排序后再进行分拣,需要对物料间进行距离检测,增加了系统的复杂性。韩瀚[5]提出了一种以RFID(Radio frequency identification)射频技术为基础的智能快递分拣系统,该系统通过扫描RFID电子标签获取快递信息实现快递的分拣,但RFID系统成本高,很多小型分拣中心无力购置。杨丽[6]提出了基于 STM32F103的智能快递分拣控制系统,该系统符合中小城市的分拣中心需求,但该系统以RS485总线作为连接主控系统与分拣系统的桥梁,总线通信容易受外界干扰。针对这些问题,本文从系统复杂性、生产成本和系统稳定性的角度出发,设计了基于STM32F429的快递包裹智能分拣主控系统,将载货小车的车号作为一个分拣标准,解决了因为操作复杂、成本高和通信不稳定所带来的局限性。

1 快递包裹智能分拣主控系统总体方案

快递包裹智能分拣系统的结构如图1所示。轨道上布满载货小车,载货小车承载快递包裹的尺寸不超过500 mm×400 mm×350 mm,都按顺时针方向运动,每个小车上都装有区分车号ID的码盘,如图2所示。相机安装在A点,光电耦合器安装在B点。当有小车经过B点时,主控系统检测到载货小车码盘,延时后触发相机进行拍照,相机通过数据线将图像传送到上位机,然后通过图像处理算法,识别出条形码以及三段码字符,并将结果返回给主模块,主控模块根据三段码信息和车号ID去匹配分拣口,匹配成功后将对应的车号ID通过CAN总线发给分拣模块;当分拣模块检测到该载货小车时,驱动对应电机,转动传送带将货物卸下,若未匹配到分拣口,则将货物运送到人工分拣口。

快递包裹智能分拣主控系统电气结构如图3所示。本系统以ARM作为核心处理器来实现对车号识别、相机使能、串口通信和CAN总线通信的控制。载货小车车号的检测是进行货物分拣的重要环节,车号检测的准确性直接影响分拣的结果。

图1 分拣系统结构模型Fig.1 Structure model of sorting system

图2 载货小车码盘图Fig.2 Schematic diagram of cargo car code plate

图3 分拣系统电气结构图Fig.3 Electrical structure diagram of sorting system

图4 载货小车ID识别装置整体结构Fig.4 Structure of ID identification device of cargo trolley

载货小车ID识别装置整体结构如图4所示,主要包括载货小车码盘和检测装置,载货小车的码盘是具有多个长条型通孔的铁片,检测装置采用光耦红外收发传感器。当载货小车的码盘通过光耦红外收发传感器时,红外接收器将间隔地接收到红外发射器发出的红外光信号,该信号经过滤波后送入ARM核心处理器,由程序生成载货小车的ID。因此,该系统无需在载物小车上安装任何其它电气装置,即可通过分拣口主动识别载货小车ID来判断是否需要对其进行分拣。相机控制电路是由三极管构成的电平转换电路,通过编写主控芯片中断程序来控制IO口输出脉冲,完成对相机的使能控制;主控装置还支持CAN总线接口和RS232串口,CAN总线接口用于连接外部CAN总线设备,RS232串口连接PC机。

2 硬件系统设计

2.1 ARM最小系统电路

考虑涉及的外部电路较多,CPU处理速度以及稳定性等问题,以ARM为核心控制器,设计了ARM最小系统电路,主要由STM32F429IGT6TR芯片、晶振电路和复位电路等构成[7]。其中STM32F429IGT6TR芯片是主控制器,具有176个引脚、内嵌1M字节的FLASH和丰富的内部资源,能够满足本设计需求。

2.2 电源电路

系统是否能够稳定、高效的运行与电源模块有着密切的关联[8]。电源电路设计时要考虑到各个模块的供电,该系统中的模块需要+24 V、+5 V和+3.3 V电压供电,系统外部采用24 V/5 V双路直流开关电源供电。通过MP1584降压芯片将DR_24V电压转换成为串口电路、载货小车ID采样电路和数字隔离器的一端供电的DR_5V电压,该芯片具有输入电压范围宽、开关频率可调、内部软启动、电流过载保护、最大输出电流可达3 A等特点,电路如图5所示。通过MP2143降压芯片将VCC_5V电压转换成为中央处理器和CAN接口电路供电的VCC_3.3V电压,该芯片可在2.5~5.5 V电压下实现高达3 A的连续输出电流,电路如图6所示。

2.3 CAN接口电路

本设计利用CAN总线作为主控模块和分拣模块之间的桥梁,CAN总线的通信距离可达到10 km,悬挂在总线上的节点之间采用截面积为0.5 mm2的双绞线进行连接。STM32F429IGT6TR芯片内部有CAN控制器,本设计选用的CAN收发器的型号为SN65HVD230D,负责将TTL电平转换为CAN总线上的显性和隐性电平,数据传输速率高达1 Mbps,最多支持120个节点。为了保证数据通信的可靠性,在CAN总线终端各连接一个120 Ω的终端反射电阻,进行总线阻抗匹配[9]。STM32的CAN1_TX和CAN1_RX两个引脚与CAN收发器相连,同时将收发器使用CANH及CANL引脚连接到CAN总线网络中。CAN总线接口电路如图7所示。

图5 MP1584降压电路Fig.5 MP1584 buck circuit

图6 MP2143降压电路Fig.6 MP2143 buck circuit

图7 CAN接口电路Fig.7 CAN interface circuit

2.4 相机触发电路

外部拍照相机的触发电压为24 V,其控制信号由主控制器发出,经过数字隔离器后传递给三极管,通过控制三极管的导通与截止,便可实现输出相机需要的触发电压。隔离芯片Si8642BB-BIS需要双端供电[10],左侧为MP2143输出的VCC_3.3V,右侧为MP1584输出的DR_5V,传输速率高达150 Mbps,传输延迟低至10 ns。J8插座用于连接相机的电源端口。相机触发电路如图8所示。

2.5 载货小车车号滤波电路

载货小车车号ID滤波电路由LM2903电压比较器构成。系统通过光电耦合器去检测透光度不同的码盘来实现载货小车ID车号的检测。光电耦合器的输出引脚(ENCODER1和ENCODER2)接到比较器的反向输入端(2脚和6脚)。小车的码盘经过光电耦合器时,光电耦合器输出变化的电压信号,该信号经过滤波后,结果由电压比较器的1脚和7脚传递给中央处理器,经过中央处理器的数字化处理后得到区分载货小车的ID。载货小车ID滤波电路如图9所示。

图8 相机触发电路Fig.8 Camera trigger circuit

2.6 串口通信电路

通用异步收发器UART是目前使用较多的串口数据传输方式,本设计使用UART通讯完成中央处理器与PC机之间的数据交换,选用9帧的DB9接口。stm32f429采用的是TTL电平,需要专用的芯片完成电平的转换。本设计采用TRS3232EIDB作为电平转换芯片,在3 V至5.5 V电源下稳定工作,最高运行速度可达250 kbit/s,可以支持两路串口通信。为了保护器件免受高压危害并消除总线上的接地回流,在stm32f429与TRS3232EIDB之间加入数字隔离器,隔离芯片与相机触发电路所用相同。串口通信电路如图10所示。

图9 载货小车ID滤波电路Fig.9 ID detection circuit for cargo trolley

图10 串口通信电路Fig.10 Serial communication circuit

3 软件系统设计

结合分拣系统的工作流程,对系统软件进行了详细设计。利用外部中断技术实现了载货小车ID的识别,利用系统中断输出相机的拍照控制信号;通过改编ICAN协议实现了与外部CAN设备的通信。

3.1 主程序设计

主程序流程如图11所示。首先进行系统的初始化,包括初始化数据,对定时器、URAT、CAN总线的配置,中断的分配以及操作参数和系统报告的读取。随后,系统进行CAN总线上ID节点的检测,并建立CAN总线上的连接,接着建立与PC机之间的连接,并在CAN总线上发送广播同步命令,此时系统启动完成,等待程序中断到来,完成载货小车的ID检测与分拣口分配。

图11 主程序流程图Fig.11 Main program flow chart

3.2 串口通信程序设计

本设计采用串口作为连接主控系统和PC机之间的桥梁,同时使能串口的DMA提高二者之间的传输速率。如果主控系统先于PC启动,主控模块上电后完成自检,等待PC机查询自检结果命令,应答PC机后主控模块完成与PC端的数据链接。如果系统后于PC启动,PC将一直发送通信自检结果查询命令,直到收到主控模块发送的通信自检结果数据才可以执行后续的应用程序。

主控模块和PC机之间大多数以请求应答的方式进行数据交换,二者间的部分命令如表1所示。

表1 串口通信命令表Tab.1 Serial communication command table

3.3 载货小车ID识别程序设计

本次设计将外部0号中断分配为载货小车码盘中断,载货小车ID的编码信息以结构体的形式进行保存。载货小车的ID为8位二进制数。

载货小车ID编码解析过程如图12所示。载货小车的码盘是具有多个长条型通孔的铁片,主要包括起始遮挡区域,该区域用于产生载货小车码盘识别程序的开始确认信息,除该遮挡区域,剩下的镂空与遮挡区域成对出现,包括成对出现的窄镂空区域、宽遮挡区域、宽镂空区域和窄遮挡区域。每组宽窄组合经过检测装置后产生1位信息。载货小车ID由8位二进制数组成,取值范围在1至254之间。

当遮挡区域经过光耦红外收发器时,主控制器ARM对应引脚为低电平信号,镂空区域经过光耦红外收发器时,主控制器ARM对应引脚为高电平。当高电平持续时间小于低电平时,所对应的镂空和遮挡组合经过主控制器数字化信号处理后表示为0,当高电平持续时间大于低电平时,所对应的镂空和遮挡组合经过主控制器数字化信号处理后表示为1。图12所示的载货小车码盘经过数字化信号处理后为二进制数00000011,即对应的3号车。

3.4 CAN总线程序设计

本设计按照需求对CAN总线进行配置,使能CAN的自动离线管理、报文自动重传、报文优先级判别功能,关闭了CAN的时间触发通信模式、自动唤醒模式,锁定FIFO功能,工作模式选为正常模式,重新同步跳跃宽度1个时间单元,时间段1占用了12个时间单元,时间段2占用了2个时间单元,CAN外设的分频配置为24分频,故CAN总线的比特率为125 kbps。

CAN总线是主控模块与分拣模块通信的桥梁,双方遵循改编的iCAN协议,主控模块可以对分拣模块进行读写、控制分拣模块操作、设置分拣模块的分拣码等。iCAN协议相关定义见表2。

表2 iCAN协议相关定义Tab.2 Definition of iCAN protocol

3.5 分拣流程设计

系统将载货小车的ID号和PC发来的三段码数据作为分拣依据,PC机会将识别处理后的三段码数据通过串口发送给主控系统,系统根据该数据匹配对应的分拣口,随后将装有该快递包裹小车的ID发给对应的分拣模块,分拣模块检测到该小车到来,驱动电机,卸下快递包裹。假设识别到的码段信息为“202 E158 2088”,而一号分拣口的分拣ID为2088,则主模块将该小车ID发给1号分拣模块。分拣流程如图13所示。

4 系统测试

本设计采用的是交叉带式分拣机构,适用于不同形状的物品,且可以进行两侧分拣。实际分拣系统如图14所示。

图13 分拣流程图Fig.13 Sorting flow chart

图14 实际分拣系统Fig.14 Actual sorting system

图像采集软件界面如图15所示。主控系统触发相机拍照后,相机采集到的快递面单图片经过数据线传到图像采集软件,图像采集软件可以对相机的参数进行调节并通过图像识别技术得到快递面单的条码和三段码信息。这两部分信息通过TCP/IP协议传递给物流分拣信息管理系统。

图15 图像采集软件界面图Fig.15 Interface of image acquisition software

图16 物流分拣信息管理系统界面图Fig.16 Interface of logistics sorting information management system

快递面单的条码、三段码以及运载该快递包裹小车的车号ID在物流分拣信息管理系统中汇总,物流分拣信息管理系统界面如图16所示。在系统运行中,载货小车的车号ID、车上快递单的条形码信息、三段码信息和所对应的分拣口完整的显示出来。基于STM32的快递包裹智能分拣系统经过实际的运行和检测,系统能够稳定运行,实现了快递分拣的智能化、高效化。

5 结论

本文设计了基于ARM的快递包裹智能分拣主控系统,通过硬件电路设计与软件程序设计,完成了车号检测、与PC机的通信、相机的拍照控制以及同外部CAN总线设备通信等功能。本设计将载货小车车号作为分拣标准之一,克服了单一扫描条码进行分拣的局限性;采用CAN总线连接分拣模块,使得二者之间通信的稳定性得到保障。通过实际测试,本系统能够高效完成快递包裹的自动分拣控制。该系统有效地切合了市场需求,具有良好的推广价值和广阔的市场前景。

猜你喜欢

载货串口小车
某出口重型载货汽车轮胎偏磨问题分析与解决
2021年第1季度,我国新注册登记载货汽车同比增长100.99%,新注册登记载客汽车同比增长58.53%
火星作业小车
大车拉小车
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
刘老师想开小车
MCS—51单片机中的多串口通讯技术的应用
去修理厂
DMU在载货汽车设计开发中的研究与应用