摘  要

随着科技的进步,自动化和智能化成为物流行业的发展趋势。传统的物流分拣控制方式大多依赖于人工操作,效率低下且容易出错。而基于单片机的物流分拣系统可以实现自动化和智能化的分拣,大大提高分拣效率和准确性,降低人工成本和错误率。

针对上述问题,基于条形码识别的原理设计一种物流分拣控制系统,该系统由单片机、扫码识别模块、皮带传送控制模块、红外传感器、液晶显示模块以及电源等部分组成。由不同的条形码标记不同的物品,然后通过扫描识别条形码来识别不同的物品,控制多个皮带传送控制模块来控制不同的物流通道实现分拣功能,还利用红外传感器检测的原理模拟了物品正确通过,然后自动关闭通道,确保了分拣的正确无误,此外还通过蓝牙模块与手机APP交互,实现手机查看系统的历史分拣记录。经过实际功能测试,本次设计达到了预计设计要求。

关键词:物流分拣控制系统,STM32,扫码识别,液晶显示,手机APP

Abstract

With the progress of science and technology, automation and intelligence have become the development trend of the logistics industry. The traditional logistics sorting control methods mostly rely on manual operation, which is inefficient and prone to errors. The logistics sorting system based on single chip microcomputer can realize automatic and intelligent sorting, greatly improve the sorting efficiency and accuracy, and reduce the labor cost and error rate.

To solve the above problems, a logistics sorting control system is designed based on the principle of bar code recognition. The system consists of single chip microcomputer, scanning code recognition module, belt transfer control module, infrared sensor, liquid crystal display module and power supply. Different bar codes mark different items, and then identify different items by scanning the barcode to identify different items, control multiple belt transfer control modules to control different logistics channels to achieve sorting functions, and also use the principle of infrared sensor detection to simulate the correct passage of items, and then automatically close the channel to ensure the correct sorting. In addition, it also interacts with the mobile APP through the Bluetooth module to realize the mobile phone to view the historical sorting records of the system. After the actual functional test, the design has reached the expected design requirements.

Key Words: logistics sorting,STM32,scanning identification, liquid crystal display,mobile APP

目  录

第1章 绪论 1

1.1 研究的背景及意义 1

1.2 国内外现状 1

1.3 研究的主要内容 1

1.4报告结构安排.......................................................................................................................3

第2章 系统的总体设计 5

2.1 系统的方案设计 5

2.2 主控模块的选择 5

2.3 显示模块的选择 6

2.4 扫码模块的选择 7

2.5 设计的可行性分析 8

第3章 硬件电路设计 9

3.1 系统硬件原理图 9

3.2 单片机最小系统 9

3.3 扫码识别模块 10

3.4 液晶显示模块 11

3.5 红外传感器 11

3.5 皮带传送控制模块 12

第4章 软件程序设计 13

4.1 开发环境介绍 13

4.2 主程序设计 13

4.2.1 扫码识别程序设计 14

4.2.2 液晶显示流程设计 15

4.3  APP程序设计 16

第5章 系统实现 17

5.1 总体实现 17

5.2 模块介绍 17

5.3 扫码功能实现 18

5.4 皮带控制实现 19

5.5 液晶显示功能实现 20

5.6 红外检测功能实现 20

第6章 系统测试 2

6.1 测试方法 22

6.2 功能测试 25

6.3 测试结论 25

第7章 结论 27

参考文献 28

致  谢 30

附  录 31

1章 绪论

1.1 研究的背景及意义

随着全球化和电子商务的飞速发展,物流行业正面临着前所未有的挑战和机遇。作为物流链条中的关键环节,分拣系统的效率直接影响到整个物流过程的运作速度和成本。因此,对物流分拣系统的研究不仅具有重要的理论价值,还具有广阔的应用前景。从理论层面来看,物流分拣系统的研究涉及到运筹学、计算机科学、机械工程等多个学科领域的知识融合。通过对分拣算法的优化、自动化设备的研发以及信息技术的应用,可以推动相关学科理论的发展和创新。从实践层面来看,高效的物流分拣系统对于提升物流行业的整体竞争力具有重要意义。一方面,它可以显著提高分拣速度和准确率,降低人工成本和货物损耗率;另一方面,通过优化分拣流程和提高资源利用效率,有助于实现物流行业的绿色可持续发展。

综上所述,物流分拣系统的研究不仅有助于推动相关学科理论的发展和创新,还能为物流行业的转型升级提供有力支撑。因此,深入开展物流分拣系统的研究具有重要的学术价值和现实意义。

1.2 国内外现状

在国内,随着电子商务和物流行业的迅猛发展,物流分拣控制系统成为研究的热点之一。国内研究者积极探索自动化和智能化技术在物流分拣控制系统中的应用。例如,通过引入机器视觉、机器学习等技术,提高分拣系统的自动化程度和分拣准确性。分拣系统优化方面,国内学者针对分拣算法、路径规划等问题进行了深入研究,以提高系统的运行效率和稳定性。随着环保意识的提高,国内研究也开始关注物流分拣控制系统的绿色环保和可持续发展。例如,研究如何通过减少能源消耗、降低排放等方式,实现分拣系统的绿色化。

在1960年代初,自动化分拣控制系统首先在美国和欧洲的邮政部门得到采用,此后逐渐扩展到各个行业,比如,物流配送中心、运输公司等。到了1980年代后期,发达国家的物流分拣控制系统发展的极其快速,各类行业开始采用简单的自动化分拣设备。相比之下,国内依然很多企业行业使用人工分拣,对于物流分拣控制系统的研究暂时落后于发达国家。但是随着中国电子商务行业的迅速发展和快递业务量的不断增加,我国也开始引进国外先进物流分拣控制技术并且持续进行创新。京东物流企业是这一领域的探索者和创新者,他们2017年在昆山建立了全球首家全程无人分拣中心,通过无人化技术实现货物的快速中转和分拣,物流分拣速率得到了大幅提升,作业失误率也同时降低了。

发达国家如美国、日本和欧洲广泛采用自动化分拣系统进行物流配送。由于对自动分拣系统进行了大量研究投入,因此在很多地方都能看到自动化分拣系统的应用。这些系统出错率极低,基本实现了无人化分拣作业。在自动分拣系统中,需要人工的地方很少,大大减少了人工分拣操作,提高了分拣效率和准确性,同时减少了劳动力成本和人为因素对分拣质量的影响。这正好符合国外企业减少人力、减轻员工劳动强度、提高效率的要求,因此受到了国内外研究人员的关注和重视。

相比之下,国外在物流分拣控制系统方面的研究起步较早,技术相对成熟,主要体现在以下几个方面:

(1)先进技术的应用:国外研究者广泛采用先进的自动化技术、数据驱动的优化方法以及人工智能和机器学习等技术,以实现分拣系统的高效、准确和智能化。

(2)大规模系统研发:在国外,尤其是日本和欧美等国家,由于物流需求量大,物流量也大,因此制造了很多各种类型的分拣设备与系统。这些系统规模庞大,分拣能力强,应用范围广泛。

(3)跨学科合作:国外的研究机构和企业注重跨学科合作,整合运筹学、计算机科学、机械工程等多个学科领域的知识资源,共同推动物流分拣控制系统的技术创新和应用发展。

综上所述,国内外在物流分拣控制系统研究方面均取得了一定的进展,但国外在技术应用和系统规模方面相对领先。未来,随着技术的不断进步和应用需求的增长,物流分拣控制系统的研究将更加深入和广泛。

1.3 研究的主要内容

主要基于条形码识别的原理实现一种物流分拣系统。研究的主要内容如下:

(1)系统总体设计:首先,需要确定系统的整体架构和功能需求。这包括条形码识别模块、数据处理模块、分拣控制模块等。同时,还需要考虑系统的输入和输出接口,以及与外部设备的通信方式。

(2)硬件设计:硬件设计是系统实现的基础。这包括选择合适的单片机型号、条形码扫描器、电机驱动器等硬件设备,并进行电路设计和搭建。此外,还需要考虑硬件设备的接口定义、电路板的布局和布线等问题。

(3)软件设计:软件设计是实现系统功能的关键。这包括条形码识别算法的实现、数据处理逻辑的编写、分拣控制程序的开发等。同时,还需要考虑软件的可读性、可维护性和可扩展性。

(4)系统测试与优化:在系统开发完成后,需要进行全面的测试和优化。这包括对系统的功能、性能、稳定性等方面进行测试,并根据测试结果对系统进行优化和改进。同时,还需要考虑系统的可扩展性和可维护性。

1.4 报告结构安排

第一章为绪论部分。首先,介绍了本文的研究背景意义;其次,阐述了目前物流分拣控制系统的国内外研究现状,总结了本文的研究内容;最后,给出本文的结构安排。

第二章对系统的选择进了方案论证。首先,提出了物流分拣控制系统的基本功能和要求;其次,针对主控芯片进行了多方比对,做出了最终选择;最后,根据系统要求对条码识别系统的摄像头进行了比对,选择出了最适合本系统的摄像头。并且做出了设计的可行性分析。

第三章为硬件电路设计,做出了系统的电路原理图以及各个模块的设计进行了介绍。

第四章为软件程序设计部分,主要介绍了开发环境,主程序,扫码识别程序以及液晶显示流程的设计。

第五章为系统实现部分,主要对系统总体实现了那些功能以及对各个模块的功能分别进行了介绍。

第六章为系统测试部分,首先进行了测试方法的介绍,然后对每一个功能进行测试,最后得出测试结论。

第七章是本文的总结部分,概要性总结本文对物流分拣控制系统关键技术的设计和研究,指出了不足之处和未来的应用前景。

第2章 系统的总体设计

2.1 系统的方案设计

基于条形码识别的原理设计一种物流分拣系统,该系统由单片机、扫码识别模块、皮带传送控制模块、红外传感器、液晶显示模块以及电源等部分组成。由不同的条形码标记不同的物品,然后通过扫描识别条形码来识别不同的物品,控制多个皮带传送控制模块来控制不同的物流通道实现分拣功能,此外还利用红外传感器检测的原理模拟了物品正确通过,然后自动关闭通道,确保了分拣的正确无误。系统的设计框图如图2.1所示:

2.1 系统设计框图

2.2 主控模块的选择

在物流分拣控制系统的设计中,有以下单片机可供选择:

方案一:STC89C52单片机,作为STC公司出品的一款51系列单片机,充分继承了该系列一贯的低功耗和高性能特点。这款单片机特别采用了CMOS-8位微控制器,以及8K内部可编程存储器,使其在维持高性能的同时,也保证了低功耗的运行状态,非常适合在各种需要长时间运行和节能的应用场景中使用。STC89C52单片机的8位微控制器是其核心部分,提供了强大的数据处理和控制能力。同时,其8K的内部可编程存储器为用户提供了丰富的编程空间,可以根据实际需求进行灵活的程序设计和数据存储。此外,STC89C52单片机还继承了51系列单片机的丰富外设接口和指令系统,使得用户在进行硬件设计和软件开发时能够更加便捷和高效。这使得STC89C52单片机在工业自动化、智能家电、消费电子等领域有着广泛的应用。STC89C52单片机都是一个值得深入研究和应用的优秀选择。

方案二:使用STM32系列单片机,凭借其出色的性能和多功能特性,成为众多开发者的首选。首先,STM32单片机具备高速运行能力,这确保了系统能够快速响应和处理来自传器采集设备的数据。其32位处理能力保证了复杂的算法和图像处理技术能够在单片机上流畅运行,为物流分拣系统提供准确、及时的分析结果。其次,STM32单片机拥有丰富的外设接口,如GPIO、UART、SPI、I2C等,这些接口使得单片机能够轻松与各种传感器、通信模块和显示设备连接,从而构建出功能全面的物流分拣系统。此外,STM32还内置了多种功能模块,如ADC、DAC、PWM等,进一步减少了外部扩展的需求,降低了系统设计的复杂度。再者,STM32单片机系列在功能和扩展性、稳定性、安全性方面均表现出色。

综上所述,STM32单片机在本次设计的物流分拣系统中的应用具有显著优势。其高速处理能力、丰富的外设接口以及内置功能模块使得系统设计更为高效和便捷。同时,其在功能和稳定性方面的出色表现也使得STM32单片机成为追求高性能物流分拣系统的理想选择。 选择的主控模块STM32F103C8T6芯片实物如图2.1所示:

图2.1 STM32F103C8T6单片机

2.3 显示模块的选择

方案一:选用LCD1602显示模块来设计,该模块可以显示很好显示图形、文字、数字和字符等效果,即使在条件比较恶劣的情况下,其都能很好的进行显示。在数据的显示上,众多的开发者把他当作了首选,该模块的封装比较好,开发者可以通过其接口来直接进行使用,而且该款显示屏的抗压性和性能都是比较好,面对不同环境可以灵活使用,LCD1602是性价比很高的一款显示屏,但是其缺点也很明显,就是其运行的功耗是比较高的。如果在不考虑功耗的前提下,显示有能符合要求的,这无疑是一款很好的显示屏。

方案二:选用OLED显示屏。OLED具备很好的显示效果,它的显示效果是丰富的,它具备了128*64的分辨率,不仅能够对图形、文字、字符以及数字等效果进行显示,还能具备了彩色效果,很好的满足了视觉感受。通常它的连接方式有两种,分别为IIC和SPI,这是两种不同的通信方式,都可以对该模块来进行设计开发,可以通过十六进制来对显示内容的控制,通过亮灭像素来达到显示效果。但是其显示效果好的代价无疑是具备了高的成本。在不考虑成本的前提下,如果设计是为了极佳的显示效果,那么OLED显示屏无疑是一款很好的显示屏。

通过方案梳理比较,OLED显示清晰度高,显示内容丰富,更能满足蓝牙设计的开发需求,因此,以OLED模块为此次设计的核心显示模块,实物如图2.2所示:

图2.2 OLED液晶

2.4 扫码模块的选择

主要通过是二维码的原理来分拣物流,因此可有以下两种方案来选择:

方案一:GM65模块是一款采用高性能处理器和先进通信技术的模块,具备稳定可靠的数据传输和通信连接能力。具备二维码识别功能,能够通过命令控制进行二维码的扫描和识别。在模块参数及扫描区域分布方面,它采用特定的命令格式进行操作,包括头部、类型、长度、地址、数据和校验码等字段。用户可以通过发送相应的命令来控制模块进行二维码的扫描和识别。

方案二:E4000Y扫码识别模块,支持一维和二维条码的扫描,具有高速扫码性能,可以满足多种应用场景的扫码需求。具备手机屏幕码自动感应读取功能,无需手动对准,提高了扫码的便捷性和效率。提供开放接口和二次开发支持,方便用户根据具体需求进行定制开发,满足特定应用场景的要求。

通过比较上述两种扫码识别模块,结合设计的具体方案需求,出于实现的简易性和成本考虑,选择方案一GM65模块实现二维码的识别。GM65模块实物如图2.3所示:

图2.3 GM65模块

2.5 设计的可行性分析

本次设计的物流分拣系统具备技术可行性、经济可行性以及操作可行性三方面的条件。

技术可行性:本次设计的物流分拣系统,在技术层面具备充分的可行性。系统采用C语言进行单片机编程,这是一种在大学期间广泛学习的编程语言,具有丰富的资源和广泛的应用基础。在信息时代的背景下,无论是网上还是书籍中,都有大量的成功案例和技术资料可供参考和学习,这为系统的开发提供了充足的技术储备。

经济可行性:物流分拣系统的设计开发成本低,硬件要求相对较低,使用的元器件性价比高,这使得系统在经济层面具备可行性。这样的物流分拣系统不仅功能实用,而且价格适中,能够被广泛接受。此外,系统的设计和开发周期短,能够满足实际应用中的需求,进一步增强了系统的经济可行性。

操作可行性:在操作层面,本次设计的物流分拣系统充分考虑了用户的使用习惯和需求。系统操作简易方便,符合操作可行性的条件。在系统设计之前,就本着实用、简洁和规范的原则进行规划,确保用户能够轻松上手,快速掌握使用方法,进一步提升的操作体验。

  1. 硬件电路设计

3.1 系统硬件原理图

基于条形码识别的原理设计一种物流分拣系统,该系统由单片机、扫码识别模块、皮带传送控制模块、红外传感器、液晶显示模块以及电源等部分组成。系统的硬件原理图如图3.1所示:

3.1 系统原理图

3.2 单片机最小系统

设计的物流分拣系统主控芯片选择STM32F103C8T6单片机.STM32F103C8T6是一款基于ARM Cortex-M3内核的32位微控制器,属于STM32系列。这款微控制器内置了高性能、低功耗的ARM Cortex-M3处理器。内置ARM Cortex-M3 32位RISC处理器,提供高性能和低功耗的计算能力,具有64KB的Flash程序存储器,用于存储程序代码,以及20KB的SRAM,用于存储数据和变量。提供了丰富的外设接口,包括GPIO、USART、SPI、I2C、定时器、PWM控制器、ADC等,方便与外部设备或模块进行通信和控制。最小系统由时钟电路、复位电路、单片机三部分组成。

单片机最小系统是指能够独立完成特定功能的单片机系统,最小系统电路图如图3-1所示,设计的最小系统主要包括以下几个部分:

(1)单片机核心芯片:采用STM32系列单片机作为主控;

(2) 时钟电路:提供单片机运行所需的时钟信号,利用晶振搭建时钟电路;

(3) 复位电路:用于在系统上电或外部复位信号到来时,将单片机复位到初始状态,支持系统上电自动复位和按键触发复位的功能;

(4)电源电路:为整个系统提供稳定的直流电源,采用线性电源进行供电;

(5)与外设连接的接口电路:采用I/O口、UART、SPI等协议控制外部的功能模块,包括传感器、通信模块、执行器模块、显示屏和人机交互按键模块等。

单片机最小系统原理图如图3.2所示:

3.2 单片机最小系统

3.3 扫码识别模块

    

物流分拣系统中,通过GM65扫码识别模块来识别物品,然后控制三个皮带传送控制模块开启不同的通道,从而识别了对物品的分拣。GM65模块是一款采用高性能处理器和先进通信技术的模块,具备稳定可靠的数据传输和通信连接能力。具备二维码识别功能,能够通过命令控制进行二维码的扫描和识别。在模块参数及扫描区域分布方面,它采用特定的命令格式进行操作,包括头部、类型、长度、地址、数据和校验码等字段。用户可以通过发送相应的命令来控制模块进行二维码的扫描和识别。GM65模块在设计中的原理图如图3.3所示:

3.3 GM65模块

3.4 液晶显示模块

通过OLED显示物流分拣系统的液晶界面。OLED,即有机发光二极管显示器,与传统的显示器不同,OLED无需背光灯支持,具有众多显著优势。其启动电压低,响应迅速,能主动发光,且具备可折叠性和轻巧便携等特点。这些特性使得OLED在显示领域脱颖而出,成为现代电子设备中的理想选择。OLED显示器不仅能够同时呈现多数据,还允许用户通过简单的逻辑编程轻松定制数据的展示方式。这一创新的设计省去了复杂的硬件接口设置,仅需通过电信号的处理和主芯片的逻辑运算,即可灵活控制各种字符的输出和显示。无论是文字、数字还是图形,OLED都能以清晰、鲜艳的方式呈现出来。本次在使用时,将信号端口分别连接到单片机上的端口,运行时将按照程序设定到的逻辑进行数据信息的获取并显示。OLED屏使用到的4个引脚分别为GND、VCC(3.3-5V)、SCL和SDA,其中GND端接地,VCC端接3.3V,SCL和SDA与模拟的I2C端口连接。液晶显示电路如图3.4所示:

3.4 OLED显示模块

3.5 红外传感器

通过红外传感器来检测物品是否通过,当检测到通过后,关闭皮带传送控制模块。红外传感器可以通过测量物体对红外线的阻挡,来识别物品是否通过物流线。其基本原理就是当物品遮挡红外线时,传感器会收到信号。

3.5 皮带传送控制模块

由三个皮带传送控制模块控制三个物流通道,当根据识别到不同的物品后,控制对应的皮带传送控制模块打开通道,实现物流分拣。皮带传送控制模块是一种位置伺服驱动器,适用于需要角度不断变化并可以保持的控制系统。皮带传送控制模块上有三根线,分别是GND、VCC和SIG,分别对应地线、电源线和信号线。通过给控制脚输入不同的调制信号来控制皮带传送控制模块转动。皮带传送控制模块在设计中的接口电路如图3.5所示:

3.6 皮带传送控制模块

第4章 软件程序设计

4.1 开发环境介绍

单片机编程软件在嵌入式系统开发中扮演着至关重要的角色。这些软件通过编写、编译、调试和部署代码,从而控制单片机的行为。在众多单片机编程软件中,Keil和IAR无疑是两个备受推崇的选择。Keil软件是一款综合性编程工具,特别适用于C语言和汇编语言的开发。它集成了C语言编辑器、汇编语言编辑器、调试器、连接器以及丰富的库文件,为开发人员提供了一个一站式的解决方案。在单片机软件开发过程中,Keil提供了从代码编写到编译、调试、部署的全流程支持。开发人员可以利用其强大的调试功能,逐步执行代码,查看变量值,设置断点等,从而有效地定位和解决问题。此外,Keil还提供了丰富的库文件,使得开发人员能够轻松地访问和处理单片机的各种外设和功能。

4.2 主程序设计

在单片机控制的天气智能安防系统中,主程序是整个系统的核心,控制着系统的运行流程,确保各个功能模块能够协同工作。主程序的存在为系统提供了一个明确的执行起点,确保了程序的有序执行。主程序具有独立性,它并不依赖于其他子程序来启动或执行。主程序首先是初始化流程,然后识别条形码,控制皮带传送控制模块,检测红外传感器的信号以及刷新液晶屏。由不同的条形码标记不同的物品,然后通过扫描识别条形码来识别不同的物品,控制多个皮带传送控制模块来控制不同的物流通道实现分拣功能。主程序的流程如图所示:

图4.1 主程序流程图

4.2.1 扫码识别程序设计

通过GM65模块识别条形码是整个程序中的额关键部分,识别条形码的流程主要由以下流程组成。首先启动GM65模块,然后激光扫描GM65模块内部的激光扫描头发出一束激光束,通过扫描窗口照射到条形码上捕获码制信息识别码制类型解码然后输出结果。扫码识别流程如图4-2所示:

图4.2 扫码识别流程

4.2.2 液晶显示流程设计

显示屏功能,主要用于显示物流分拣系统的界面。液晶显示的方式比较固定化,根据该液晶模块对应的字符库就可完成。在显示之前,需要进行系统的初始化,以完成数据的显示准备工作。然后,通过程序设定对应的显示地址,包括行地址和列地址。然后通过程序指令就可以在对应的地址位置显示相关数据信息。需强调的是,在显示时,只需要在第一个字节处进行定位,该位置显示完成后,系统自动移动到下一位置,无需重复定位。显示屏程序流程设计如图4-2所示

图4.3 液晶显示流程图

4.3  APP程序设计

4.3.1 Android客户端的登录界面设计

设计Android客户端的登录界面过程之中时,按照以下三个步骤进行设计:

1. 界面布局:根据需求分析,设计登录界面的整体布局。考虑到手机屏幕尺寸和比例,选择合适的布局方式。确定各个组件(如输入框、按钮等)的位置和大小。

2. UI设计:根据应用程序的整体风格和品牌形象,设计登录界面的UI元素。选择合适的颜色、字体、图标等来传达应用程序的风格和定位。保持简洁、清晰且易于辨识。

3. 错误处理:考虑用户输入错误时的处理方式。为输入框添加验证逻辑,检查用户名和密码是否符合要求,并在界面上显示错误提示信息。可以使用颜色、图标或文字等方式来突出错误提示。

4.3.2 程序的功能实现

建立Socket连接:首先,在布局文件中添加一个按钮和一个文本视图,用于显示连接状态。例如,可以使用一个Button控件和一个TextView控件。其次,在Activity或Fragment中找到按钮和文本视图的引用,并设置点击事件监听器。最后,在点击事件监听器中执行Socket连接操作。这涉及到创建一个新的线程来执行网络操作,以避免阻塞主线程。在Socket连接成功后可以进行其他操作,如发送和接收数据等。这样,当用户点击连接按钮时,就会执行Socket连接操作,并将连接状态显示在文本视图中。记得在AndroidManifest.xml文件中添加网络访问权限,以允许应用程序进行网络通信

4.3.3 页面展示

页面展示程序初始化步骤如下所示:

1. 在布局文件中定义页面结构:使用XML或代码方式创建布局文件,并在其中定义需要展示的控件和它们的属性。

2. 创建Activity或Fragment类:在Java或Kotlin中创建对应的Activity或Fragment类,作为页面展示的容器。

3. 绑定布局文件:在Activity或Fragment中通过setContentView()方法将布局文件与对应的视图关联起来。

4. 启动页面:最后,在应用程序的入口处或其他适当的位置,启动该Activity或Fragment,使页面展示出来。

通过手机APP可选择查询的时间段,查看系统的历史记录,查看单号,以及识别的时间等。APP界面如图所示:

图4.4  APP界面图

第5章 系统实现

5.1 总体实现

基于条形码识别的原理设计一种物流分拣系统,该系统由单片机、扫码识别模块、皮带传送控制模块、红外传感器、液晶显示模块以及电源等部分组成。由不同的条形码标记不同的物品,然后通过扫描识别条形码来识别不同的物品,控制多个皮带传送控制模块来控制不同的物流通道实现分拣功能,此外还利用红外传感器检测的原理模拟了物品正确通过,然后自动关闭通道,确保了分拣的正确无误。

5.2 模块介绍

(1)单片机

单片机作为系统的核心控制器,负责接收扫码识别模块的数据、处理逻辑判断,并根据处理结果控制皮带传送控制模块以及液晶显示模块。单片机通过编程实现系统的自动化运行和智能管理。

(2)扫码识别模块

扫码识别模块负责读取物品上的条形码信息,将条形码转换成数字信号,并传输给单片机进行识别。此模块需要具有高速、准确的扫码能力,以应对大量物品的快速分拣。 

(3)皮带传送控制模块

皮带传送控制模块根据单片机的指令,控制不同的皮带传送机进行物品的运输和分拣。通过控制皮带的启动、停止和速度调节,实现物品在不同通道之间的准确传送。

(4)红外传感器

红外传感器用于检测物品是否正确通过分拣通道。当物品通过时,红外传感器会发出信号给单片机,单片机根据信号判断物品是否分拣正确,并控制相应通道的关闭。

(5)液晶显示模块

液晶显示模块用于显示系统的运行状态、分拣结果等信息。通过直观的界面展示,方便操作人员监控系统的运行情况。

(6)电源

电源为整个系统提供稳定的工作电压,确保各模块的正常运行。

5.3 扫码功能实现

   通过GM65模块实现识别条形码,GM65模块是一款采用高性能处理器和先进通信技术的模块,具备稳定可靠的数据传输和通信连接能力。当识别成功后,该模块会通过通信端口发送数据给单片机,单片机接收到后,控制程序实现后续流程。扫码识别功能实现如图5.1所示:

图5.1 扫码识别

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)

{

    if(huart->Instance == USART1) {

        flag_rx=1;

        rx_cnt=0;

        if(USART1_RX_STA<1024) //还可以接收数据

        {

            USART1_RX_BUF[USART1_RX_STA++]=uart1_RxBuffer; //记录接收到的值

        } else

        {

            //USART3_RX_OK=0;

            USART1_RX_STA=0; //强制标记接收完成

        }

        HAL_UART_Receive_IT(&huart1, &uart1_RxBuffer, 1);

    }

}

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

{

    if(htim->Instance == TIM2)

    {

        if(flag_rx>0)//说明在收数据

        {

            rx_cnt++;

            if(rx_cnt>20)

            {

                flag_rx=0;

                rx_cnt=0;

                USART1_RX_OK=1; // 标记接收完成

            }

        }

5.4 皮带控制实现

由三个皮带传送控制模块控制三个物流通道,当根据识别到不同的物品后,控制对应的皮带传送控制模块打开通道,实现物流分拣。扫码识别成功后,控制不同的控制模块打开不同的通道。皮带控制实现如图5.2所示:

图5.2 皮带控制

HAL_UART_Receive_IT(&huart1, (uint8_t *)&uart1_RxBuffer, 1);

    HAL_TIM_Base_Start_IT(&htim2);// 开启定时器 用来判断 信号结束

    HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);     HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_2);

    HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_3);

5.5 液晶显示功能实现

通过OLED显示物流分拣系统的液晶界面。OLED,即有机发光二极管显示器,与传统的显示器不同,OLED无需背光灯支持,具有众多显著优势液晶显示实现功能如图5.3所示:

图5.3 液晶显示

5.6 红外检测功能实现

通过红外传感器来检测物品是否通过,当检测到通过后,关闭皮带传送控制模块。红外传感器可以通过测量物体对红外线的阻挡,来识别物品是否通过物流线。其基本原理就是当物品遮挡红外线时,传感器会收到信号。红外检测功能实现如图5.3所示:

图5.4 红外检测

 if(HAL_GPIO_ReadPin(IR_GPIO_Port, IR_Pin)==RESET)

        {

            if(flagKD1==1)

            {

                flagKD1=0;

                Set_Control1(90);

                OLED_ShowString(0,32,(uint8_t *)"                  ",8,1);

                OLED_Refresh();

            }

            if(flagKD2==1)

            {

                flagKD2=0;

                Set_Control2(90);

                OLED_ShowString(0,32,(uint8_t *)"                  ",8,1);

                OLED_Refresh();

            }

            if(flagKD3==1)

            {

                flagKD3=0;

                Set_Control3(90);

                OLED_ShowString(0,32,(uint8_t *)"                  ",8,1);

                OLED_Refresh();

            }

        }

第6章 系统测试

6.1 测试方法

硬件调试在电子系统设计过程中占据至关重要的地位,它是验证设计方案正确性、可靠性和性能稳定性的关键环节。在通电调试之前,仔细检查所有连接是至关重要的。这包括确保每个组件、芯片、接口等都按照设计方案的指定位置正确安装,并没有遗漏或错误的连接。检查电源连接,确保正负电源极性正确,避免短路或电源反接导致设备损坏。确认所有的地线都正确连接,以避免出现接地不良或信号干扰的问题。目视检查焊接点,确保没有虚焊、冷焊或短路现象。检查线路板上是否有明显的损坏、烧焦或爆裂的元器件。确保所有接口、插座和跳线都安装正确,没有松动或错位。在通电之前,使用万用表等测试工具检查关键电路节点的电压和电阻值,以验证电路的基本连通性和功能。逐步增加电源,观察设备是否有异常反应,如冒烟、过热或异常声音。使用示波器、逻辑分析仪等工具测试信号波形和时序,确保信号传递正确无误。如果在测试过程中发现问题,使用万用表检查电压和电流,确定故障的大致位置。在解决了所有明显的问题后,对系统进行全面的性能验证,包括功耗测试、稳定性测试、温度测试等。

本次设计采用C语言为单片机的编程语言,相比较与汇编语言的复杂性、可维护性差,可读性差等问题,采用C语言编程具有较好的移植性,更加的简单方便。在系统的软件设计初步完成后,需要对软件进行检查、测试,初步排除一些由于软件设计带来的问题。因此需要对系统的整个工作逻辑,程序结构、软件的独立性健壮性等方面测试,严格按照软件测试的原则,在系统设计的性质、需求和资源可用性基础上选择适当的测试方法,确保筛查出软件设计中存在的问题。在KEIL软件上进行总体程序的仿真器模拟仿真测试,完成测试环节后进行独立功能检测测试,检查其中的框架结构;后通过软件的编译窗口程序进行编译,最后再连接下载接口。将主要的程序下载到单片机中,如果最后系统提示烧录成功,那么就表示系统初始化完成。在烧录的过程中,需要烧录的是编译好的 HEX文件。随后启动系统观察各个子模块是否能够完全正确的运行。如果发现问题,那么将需要进行程序的修改。

6.2 功能测试

在完成物流分拣系统的硬件和软件测试,并确保各自稳定运行后,接下来关键的步骤是进行软硬件的联合调试分析。联合调试是为了确保系统作为一个整体能够协同工作,各个组件之间能够无缝对接,实现预期的功能。物流分拣系统实物如图6-1所示:

图6.1 物流分拣系统实物

(1)扫码识别模块:由不同的条形码标记不同的物品,然后通过扫描识别条形码来识别不同的物品,控制多个皮带传送控制模块来控制不同的物流通道实现分拣功能。

图6.2 识别的条形码

(2)液晶显示模块:扫码成功后,液晶屏中显示中扫码物流名称。

图6.3 识别功能测试

(3)红外传感模块:当红外传感器检测的原理模拟了物品正确通过,然后自动关闭通道,测试如图6.4以及6.5所示:

图6.4 红外传感模块

:

图6.5 识别功能测试

6.3 测试结论

基于条形码识别的原理设计一种物流分拣系统,由不同的条形码标记不同的物品,然后通过扫描识别条形码来识别不同的物品,控制多个皮带传送控制模块来控制不同的物流通道实现分拣功能,此外还利用红外传感器检测的原理模拟了物品正确通过,然后自动关闭通道,确保了分拣的正确无误。本系统共能够识别三条的二维码如图所示:

图6.6 二维码一

图6.7 识别功能测试

图6.8 识别功能测试

表6.1 测试结果

二维码

标识

结果

二维码一

KD0115465465

通过

二维码二

KD0215465465

通过

二维码三

KD0315465465

通过

二维码四

KD0415465465

不通过

测试结果表明:

(1)实现了二维码的识别,物流的分拣控制;

(2)实现了液晶显示功能;

(3)实现了红外传感器检测的原理模拟了物品正确通过,然后自动关闭通道;

  

7章 结论

随着物流行业的快速发展,高效、准确的分拣系统对于提高物流效率和降低运营成本具有重要意义。基于单片机条形码识别的物流分拣系统,以其低成本、高效率和易于实现的特点,成为了当前研究的热点之一。基于单片机的条形码识别技术能够实现对条形码的快速、准确识别。通过优化算法和硬件设计,系统可以在短时间内完成条形码数据的采集和处理,满足物流分拣的实时性要求。

在设计过程中,我们充分考虑了系统的稳定性和可靠性。通过合理的电路设计、软件编程和故障处理机制,系统能够在恶劣的工作环境下稳定运行,有效减少故障率和维护成本。与传统的人工分拣相比,基于单片机条形码识别的物流分拣系统能够大大提高分拣效率。通过自动化识别和分类,系统可以准确地将货物分配到指定的位置,减少人工操作的时间和误差。该系统的设计充分考虑了成本控制。通过选择性价比高的单片机和外围设备,以及优化系统结构和算法,我们成功降低了系统的整体成本,使其更适合于中小型物流企业的应用。该系统设计具有一定的可扩展性和灵活性。通过增加识别模块、扩展通信接口或升级软件,系统可以适应不同规模的物流分拣需求,为企业的未来发展提供有力支持。

由于时间和经历有限,实现的物流分拣系统存在问题,皮带系统无法通过实物展示出来,下一步将优化设计方案,做到不仅能够分拣物流,还能够通过液晶显示分拣的物品信息,未来可以增加物流称重功能来更好的优化物流分拣控制系统。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐