目 录
第1章 绪论 1
1.1 研究目的及意义 1
1.2 国内外研究现状 2
1.3 主要研究内容 3
第2章 系统的总体结构 4
2.1 总体方案设计 4
2.2 功能需求分析 4
2.2.1 技术路线 4
2.3 单片机型号选择 5
第3章 系统的硬件部分设计 6
3.1 系统总体设计 6
3.2 系统的主要功能模块设计 6
3.2.1 蜂鸣器电路模块设计 6
3.2.2 YX4055AM驱动电路模块设计 7
3.2.3 按键电路模块设计 7
3.2.4 颜色识别传感器模块设计 8
3.2.5 USB单目摄像头模块设计 8
3.2.6 舵机模块设计 9
3.2.7 WiFi通讯模块 9
第4章 系统的软件设计 10
4.1 系统的总体流程 10
4.2 蜂鸣器报警电路模块软件设计 11
4.3 驱动电路软件模块设计 12
4.4 按键电路模块设计 13
4.5 颜色识别模块软件设计 14
4.6 摄像机模块软件设计 15
4.7 舵机模块软件设计 16
4.8 WIFI通讯模块软件设计 17
第5章 系统测试 18
5.1 系统实物图 18
5.2 测试原理 19
5.2.1 硬件实物测试 20
5.2.2 软件调试——树莓派系统的基本操作 21
第6章 总结与展望 22
6.1 总结 22
6.2 展望 22
参考文献 23
致 谢 24
附 录 25
第1章 绪论
1.1 研究目的及意义
随着工业自动化、智能化和信息化的加速,自动控制正在逐步取代传统人工控制[1]。物料搬运的需求增大,无论是建筑工地的建材搬运还是物联网的仓储管理,都离不开物料搬运[2]。小车搬运系统已经融入了社会生活的方方面面[3]。然而,传统的小车搬运系统存在着操作繁琐,人工成本较高等问题[4]。采用增量式PID算法设计了一种分拣搬运机器人,通过控制X轴和Y轴减速电机实现物体的搬运,采用树莓派4B为控制核心,结合抗干扰黑线提取算法、轨迹图像采集算法及PID转向控制算法,设计了一种智能搬运小车的结构,结果表明设计的智能小车能根据自身的位置、速度及方向适时调节,稳定、快速的到达指定位置[5]。
我国物流与采购联合会的《中国物流年鉴(2003)》中对自动化物流系统定义为:自动化物流是集光电信息技术为一体的系统工程,随着信息技术的发展,它具有更广阔的外延,典型的自动化物流技术主要包括自动化立体仓库系统、自动输系统、自动引导车系统AGVS机器人作业系统和自动控制系统等。这些自动化物流系统涉的相关的技术,主要包括自动仓库技术、分拣自动化技术、自动引导车(AGV)技术等。自动引导小车,是指装配了传感器,能够感知工作环境沿规定的路径行驶,并且可以设置运行参数的全自动小车[6]。随着科学技术的进步,物资仓储管理也有了更多的选择性,通过电子信息化建设,能够更好地提高物资仓储管理效率[7]。因此,自动引导小车在智能制造领域的应用越来越广泛。能够大量节省人力物力,人们在日常生活中,也切实地享受到了其带来的便捷,例如,快递分拣小车、火灾现场寻路、扫地机器人等等[8]。对于人力搬运而言,以往会使用人工叉车进行搬运,工作效率较低,而且存在危险[9]。使用自动引导小车不仅可以在无人监控的状态下正常运行,同时也可以通过在车的四周装上一些避障传感器来有效地躲避障碍物,有效地将人员的伤害降到了最低点[10]。
近年来,随着我国自动化技术的不断发展,智能搬运小车的发展主要由机械结构部分和硬件控制电路部分组成,具有场地目标位置识别、自主路径规划、自主移动、二维码读取、物料颜色识别或形状识别、物料抓取和搬运等功能[11]。
1.2 国内外研究现状
随着社会经济的迅速发展,工业搬运小车逐渐发展起来,进一步提高生产与分拣效率正成为行业的发展趋势,同时具有庞大的市场需求[12]。
2022年,杨日容在《基于直流电机的智能搬运小车设计与实现》文中谈到设计了基于单片机控制的智能搬运小车,融合了计算机、传感器、自动控制原理、通信技术和人工智能等多个学科为一体。能够通过各类传感器对物料、路径以及外部环境进行多方位的感知与识别[13]。
2021年,叶昊宸,王会良,张志高在《基于单片机控制的智能物料搬运小车的设计》文中介绍了小车整体由电路硬件系统、机械系统和软件系统三个系统构成。软件系统通过程序编写并烧录至单片机,控制主控模块芯片与ArduinoNano单片机,从而用于小车整体识别、通信与控制等过程的实现。机械系统负责执行相关运动任务,实现任务目标[14]。
2020年,林健全,刘浩捷,孙伟卿在《基于STM32的智能物料搬运小车》文中讲到,文以智慧工厂中常见的搬运小车为研究对象,给出了小车总体结构、硬件设计、软件设计、系统联调四个主要设计内容,最终实现了智能搬运小车常见的沿线走、避障、站点设计、到站停、显示路程等功能[15]。
2023年,Vlachos Ilias P.,Pascazzi Rodrigo Martinez,Zobolas George在《Lean manufacturing systems in the area of Industry 4.0: a lean automation plan of AGVs/IoT integration》文章中讲到将自动导引车(AGV)和物联网(IoT)来制定计划,帮助管理者将工业4.0技术集成到他们的制造系统中,实现精益自动化,通过自动化提高效率[17]。
2023年,Demir Mehmet Hakan,Demirok Mehmet在《Designs of Particle-Swarm-Optimization-Based Intelligent PID Controllers and DC/DC Buck Converters for PEM Fuel-Cell-Powered Four-Wheeled Automated Guided Vehicle》文中指出对于自动导引车(AGV),以最大的能源效率最大化运行时间是提高工作效率的最重要因素。将开发基于粒子群优化(PSO)的智能PID和I控制器,以最大限度地提高AGV的路由跟踪性能和DC/DC转换器的电压跟踪性能,同时降低功耗[18]。
2022年,Steclik Tomasz,Cupek Rafal,Drewniak Marek在《Automatic grouping of production data in Industry 4.0: The use case of internal logistics systems based on Automated Guided Vehicles》文中提出一种基于流信息的AGV工作类型自动检测方法。通过K-meanss和DBScan两种不同经典聚类算法得到的结果比较。结果表明可用这两种方法之一自动检测AGV所执行的工作类型,并检测新的、以前未知的类型[19]。
2021年,Prabowo Y A,Imaduddin R I,Pambudi W S在《 Identification of automatic guided vehicle (agv) based on magnetic guided sensor for industrial material transfer》中对采用磁导式传感器的AGV设计一种控制器,来精准控制AGV运作[20]。
2019年,Alexander A S Gunawan,Valdi Stevanus,Albertus Farley在《Development of Smart Trolley System Based on Android Smartphone Sensors》中通过使用IOIO微控制器和Android智能手机作为传感器和控制器设计的智能小车[21]。
综上所述,近年来,随着工业AGV小车和汽车电子的迅速发展,智能小车得到了广泛的研究,所以对于搬运小车的控制研究也越来越多[16]。
1.3 主要研究内容
通过PYTHON3等软件进行编程,同时不断进行实物调试测试,小车可以实现对任务的读取和不同颜色物料的识别。准确完成按照指令进行物料的抓取、物料的搬运,满足搬运小车运行的设计目标。
该系统应完成的主要功能有:
1.使用WIFI通信技术,手机端上位机;
2.用户可在手机端进行功能选择切换:手机遥控、颜色识别;
3.用户可在手机端接收搬运小车回传来的画面;
4.用户可在手机端控制搬运小车移动;
5.搬运小车可通过摄像头实时采集画面并回传到手机;
6.搬运小车可接收手机端指令控制;
7.搬运小车可完成物体抓取,搬运功能;
8.搬运小车可完成颜色识别追踪功能;
第2章 系统的总体结构
2.1 总体方案设计
为实现搬运不同颜色的物料,响应智能制造发展的要求,设计了一款远程视像搬运小车控制系统设计。该小车采用模块化设计,由主控模块、摄像头模块、颜色识别传感器模块、电机驱动与机械臂等模块组成。主控模块芯片采用树莓派4B,能够用于处理各传感器收集到的数据,控制或驱动各个模块的工作。
图2.1 系统模块框图
主控模块以树莓派4B为核心,发布的指令通过树莓派传输至舵机和小车,操控二者上下(左右)运动。摄像头装在舵机上,采集周围图像信息后传输至上位机。数据通过WIFI模块上传至云端,上位机在通过WIFI连接获取云端数据,使得能够实时查看摄像头拍取的画面。同时上位机也可通过WiFi模块完成远程操控。
2.2 功能需求分析
2.2.1 技术路线
(1)硬件部分需要树莓派4B控制系统、高清摄像头、高性能总线舵机、编码器电机;
(2)软件平台程序用PYTHON3等软件;
(3)画原理图用AD;
(4)编程语言用Python;
(5)用户信息通过手机显示查看;
2.3 单片机型号选择
主芯片可以选择树莓派4B、51单片机或32单片机。
树莓派确实是一种嵌入式计算机,但与传统的台式机或笔记本电脑相比,它更加灵活、可定制化。除了使用TF卡作为存储介质外,树莓派的处理器、内存等硬件也不同于传统计算机,但其所能完成的任务却相当广泛。在树莓派上可以安装各种操作系统,包括Linux系统和Windows 10 IoT Core等。通过不同的软件和编程语言,树莓派可以用于各种不同的应用场景,例如物联网设备、媒体中心、智能家居等等。在树莓派上搭建一个迷你的Web服务器,搭建一个智能家居系统,制作一个机器人等等,这些都是非常有趣而且有意义的项目。总的来说,树莓派是一个非常有用和多才多艺的工具,可以让人们尝试不同的技术和项目,以及实现一些有趣的想法。
51单片机/STC单片机是一种基于哈佛结构的8位单片机,是一种低成本、高性能、易于掌握和广泛应用的微控制器。它们通常使用汇编语言或C语言进行编程,具有低功耗、稳定性高等特点,常用于各种家电控制、工业控制、汽车电子、安防系统、智能家居等应用领域。其主要优势是价格低廉、易于掌握、开发资料丰富、外设资源齐全、内部Flash可编程等。而其主要缺点是运行速度慢、片上资源有限、缺少先进的外设资源和通信接口、不适用于高性能要求的场合。
STM32是一种基于ARM架构的32位微控制器,在嵌入式系统的领域应用非常广泛。其通讯接口丰富,GPIO数量多,定时器数量多,中断系统完善,可用于读取大量传感器等,因此非常适合用于复杂逻辑的应用中。同时,STM32也存在着一些缺点,如价格较高,上手有一定难度等。
所以综上所述,我选择树莓派4B单片机,其原理图如下。
图2.2 树莓派4B原理图
第3章 系统的硬件部分设计
3.1 系统总体设计
为实现搬运不同颜色的物料,响应智能制造发展的要求,设计了一款远程视像搬运小车控制系统设计。该小车采用模块化设计,由主控模块、摄像头模块、颜色识别传感器模块、电机驱动与机械臂等模块组成。主控模块芯片采用树莓派4B,能够用于处理各传感器收集到的数据,控制或驱动各个模块的工作。
总原理图如下图:
图3.1 系统总体原理图
3.2 系统的主要功能模块设计
3.2.1 蜂鸣器电路模块设计
蜂鸣器是一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。结构一般为:
1、蜂鸣器:发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电流、驱动方式(直流方波)等。这些都需要根据需要进行选择。
2、续流二极管:蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏三极管,并干扰整个电路系统的其他部分。
3、滤波电容:其作用是滤波,滤除蜂鸣器电流对其他部分的影响,也可以改善电源的交流阻抗,如果可能,最好是再并联一个220uF的电解电容。
4、三极管:起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声。其原理图为:
图3.2 蜂鸣器原理图
3.2.2 YX4055AM驱动电路模块设计
通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作。内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。原理图如下。
图3.3 驱动电路模块设计
3.2.3 按键电路模块设计
本系统用到了俩个独立按键,其中一个用作系统的开始,另外一个用作系统的关闭,该种接法查询简单,程序处理简单,可节省CPU资源,2个独立按键分别与单片机的两个接口相连。原理图如下所示。
图3.4 按键电路模块设计
3.2.4 颜色识别传感器模块设计
TCS34725传感器模块的工作原理是利用L ED发光照射到被测物体后,检测其返回的RGB比例值,进而进行颜色识别。其具有功耗小、体积小、安装方便等优点,可以通过串口UART或者 IIC进行数据读取和控制。此外,TC S34 725还具有7种颜色识别功能,并且可以设置单独传感器芯片工作模式,作为简单传感器模块,MC U不参与数据处理工作。这使得T CS3 472 5能够适应不同的工作环境,与单片机及电脑连接原理图如下。
图3.5 颜色识别传感器模块原理图
3.2.5 USB单目摄像头模块设计
USB单目摄像头具有30万像素(640x480像素),其采用OV7725摄像头,其具有体积小、工作电压低,高效的特点。由于处理图像时使用的电流小于200MA,其又拥有USB接口,便于与树莓派4B进行连接。
树莓派中,有俩个摄像头接口,一个USB和CSI接口,USB摄像头有比较长,比较灵活的USB线,方便灵活,所以采用树莓派USB2.0将树莓派4B与摄像头连接。
模块图如下。
图3.6 USB单目摄像头模块
3.2.6 舵机模块设计
舵机(英文叫Servo):它由直流电机、减速齿轮组、传感器和控制电路组成的一套自动控制系统,通过发送信号,指定输出轴旋转角度。舵机一般而言都有最大旋转角度(比如180度)与普通直流电机的区别主要在,直流电机是一圈圈转动的,舵机只能在一定角度内转动,不能一圈圈转(数字舵机可以在舵机模式和电机模式中切换,没有这个问题)。普通直流电机无法反馈转动的角度信息,而舵机可以。用途也不同,普通直流电机一般是整圈转动做动力用,舵机是控制某物体转动一定角度用(比如机器人的关节)。原理图如下。
图3.7 舵机模块原理图
3.2.7 WiFi通讯模块
ESP8266模块是以单核32位mcuwifi芯片为主。其特点是拥有高性能无线soc,是一个完整且自成体系的wifi网络方案,能够独立运行,也可以作为slave搭载其他host运行。
ESP8266 WIFI串口通信模块应该是使用最广泛的一种WIFI模块之一了,因为ESP8266模块是一款高性能的WIFI串口模块。Esp8266WiFi模组原理图如下图。
图3.8 Esp8266WiFi模组原理图
第4章 系统的软件设计
4.1 系统的总体流程
系统的软件部分主要进行小车前进设计,颜色识别设计等。程序开始运行后首先要进行初始化,将单片机的各引脚的状态按程序中的初始化命令进行初始化,单片机初始化完成后继电器控制电路导通,随后用上位机发布指令通过WIFI模块控制小车进行移动或者控制舵机左右移动。系统的总体流程图如下所示。
图4.1 系统总体流程图
4.2 蜂鸣器报警电路模块软件设计
程序开始运行后,首先进行单片机的初始化,初始化成功后,执行小车移动或其他程序,程序运行完成后,蜂鸣器报警,发声0.5秒。由于树莓派主板上含有有源蜂鸣器,其内置振荡源,所以通电即可发出声音,其流程图如下所示。
图4.2 蜂鸣器工作流程图
4.3 驱动电路软件模块设计
当单片机初始化完成后,驱动电路电路导通。随后电机驱动模块开始运行,小车随即开始运动。上位机通过WiFi模块控制树莓派4B,随后控制电机驱动模块对小车进行移动。其工作流程图如下所示。
图4.3 驱动电路工作流程图
4.4 按键电路模块设计
当单片机初始化完成后,通过俩个按键传感器,系统可正常开始工作。其中分别负责开始和停止功能。按一号键开始,电源通电,单片机初始化,单片机初始化成功后,电路导通,即可开始完成各个程序的运行。如完成程序后,想关闭程序,即可直接按二号键结束,其可以直接关闭电源,停止通电。
通过控制按键电路执行程序,其流程图如下。
图4.4 按键模块工作流程图
4.5 颜色识别模块软件设计
当系统初始化完成后,开始正常工作。上位机选择颜色识别,下位机颜色识别传感器开始工作。上位机可以选择一个颜色,通过WiFi模块对主控模块下达命令,随后传感器识别到该颜色后会发送信号给单片机,单片机发送指令控制舵机向颜色传感器识别出颜色的方位转动。流程图如下。
图4.5 颜色识别传感器流程图
4.6 摄像机模块软件设计
当单片机初始化完成后,开始正常工作。摄像机模块将开始工作,对前方的画面进行实时拍摄,并将画面信号发送给单片机。单片机可以对画面信号进行处理,发送给传感器可以进行颜色识别功能,发送给上位机可以进行对目标物体进行夹取或进行其他操作。流程图如下。
图4.6 摄像机模块流程图
4.7 舵机模块软件设计
当系统初始化完成后,开始正常工作。下位机的PWM舵机将接受来自于上位机的信号,随后不同位置的舵机将根据指令做不同的转动。以此来完成手臂的运动工作。例如,完成颜色识别功能,对目标颜色物体位置进行转动。流程图如下。