基于STM32的智能物料小车设计_第1页
基于STM32的智能物料小车设计_第2页
基于STM32的智能物料小车设计_第3页
基于STM32的智能物料小车设计_第4页
基于STM32的智能物料小车设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IV摘要随着科技水平技术的发展,社会的经济的提高,越来越多工业业务需求不断涌现了出来。与此同时,伴随各行各业生产水平的提高,各个国家都在积极的投入智能物料配送小车的研究,通过先进的信息技术、电子技术、电子通讯技术等推动智能物料配送小车技术的进步,尽可能实现的目标是逐步实现机械化、智能化、高度自动化。智能物料小车采用基于STM32系列的芯片作为主控。该系列芯片结合了多个寄存器,具有丰富的中断逻辑、时钟配置使能控制等概念,以及多样的硬件外部接口,如复位电路、RS232、RTC电路、SD卡接口等,同时STM32系列芯片的固件库有很多实用结构体和指针变量,该系列芯片结构精简,能够实现对电机、传感器以及其他外设的控制。小车的硬件由最小系统、电源电路、电机驱动电路、循迹电路、避障电路和语音播报电路等组成,使用C语言编程,然后结合路线规划进行设计验证。本设计代替工厂设计了一款生产车间专用智能物料和半成品配送小车。本设计采用模块化的思想进行设计,将每一个模块的硬件和软件模块设计好,然后进行车体的组装和系统测试,基本实现预期效果。关键词:循迹,STM32,避障AbstractWiththedevelopmentofscienceandtechnologyandtheimprovementofsocialeconomy,moreandmoreindustrialbusinessneedscontinuetoemerge.Atthesametime,withtheimprovementoftheproductionlevelofallwalksoflife,countriesaroundtheworldareactivelyinvestingintheresearchofintelligentdistributionvehicles,throughtheapplicationofadvancedelectronictechnology,informationtechnology,electroniccommunicationtechnology,etc.topromotetheprogressofintelligentdistributionvehicletechnology,asfaraspossibletoachievethegoalofgraduallyrealizingmechanization,intelligence,andhighautomation.TheintelligentmaterialtrolleyadoptsachipbasedontheSTM32seriesasthemaincontrol.Thisseriesofchipscombinesmultipleregisters,withrichinterruptlogic,clockconfigurationenablecontrolandotherconcepts,aswellasavarietyofhardwareexternalinterfaces,suchasresetcircuit,RS232,RTCcircuit,SDcardinterface,etc.,whilethefirmwarelibraryofSTM32serieschipshasmanypracticalstructuresandpointervariables,theseriesofchipshaveastreamlinedstructure,whichcanrealizethecontrolofmotors,sensorsandotherperipherals.Thehardwareofthetrolleyiscomposedofaminimumsystem,apowersupplycircuit,amotordrivecircuit,atrackingcircuit,anobstacleavoidancecircuitandavoicebroadcastcircuit,etc,programmedinClanguage,andthencombinedwithrouteplanningfordesignverification.Thisdesignreplacesthefactorytodesignaspecialintelligentmaterialandsemi-finishedproductdistributiontrolleyfortheproductionworkshop.Thisdesignadoptstheideaofmodularity,thehardwareandsoftwaremodulesofeachmodulearedesigned,andthentheassemblyandsystemtestingofthecarbodyarecarriedouttobasicallyachievetheexpectedresults.Keywords:Followthetrail,STM32,Obstacleavoidance-目录TOC\o"1-3"\u摘要 IAbstract II第1章绪论 41.1论文研究背景与意义 41.2论文研究内容与方法 41.3国内外研究现状 5第2章关键技术介绍 62.1关键性开发技术的介绍 62.1.1 STM32单片机 62.1.2电机驱动原理 62.1.3PWM原理 7第3章系统分析 83.1构架概述 83.1.1系统构架 83.1.2模块需求描述 93.2系统开发环境 123.3系统技术安全与经济可行性分析 123.3.1系统技术可行性 123.3.2系统安全性分析 133.3.3系统经济可行性 13第4章系统设计 144.1硬件电路设计 144.1.1最小系统电路 144.1.2调试电路 154.1.3电源电路 154.1.4超声波避障电路 164.1.5语音播报电路 174.1.6驱动电路 174.1.7循迹电路 184.1.8按键电路 184.2软件设计 184.2.1主程序设计 194.2.2避障程序设计 194.2.3循迹程序设计 204.2.4语音播报程序设计 20第5章系统实现 225.1PCB和原理图的实现 225.2电机驱动实现 235.3超声波避障实现 245.4语音播报和泊车实现 255.5红外循迹实现 265.6附加模块OLED的实现 27第6章系统测试 286.1测试方案 286.1.1驱动测试 286.1.2电源测试 296.1.3循迹测试 296.1.4语音播报测试 306.1.5超声波避障测试 316.1.6OLED测试 326.1.7整机测试 32第7章结论 33参考文献 34致谢 35第1章绪论1.1论文研究背景与意义自动控制和传感器的发展与创新具有重要的意义。在人工智能技术的支持下,它们已经实现了更高效、更精确、更节能的自动控制和传感功能,并取得了巨大进步。例如,现在智能小车产品已经成为一种趋势。同时,自动控制和传感器在医疗领域也有广泛应用。这些发展和创新使得自动控制和传感器对现代社会的发展具有重要作用。在这个背景下,基于STM32的智能小车的研究应运而生。近年来,随着全国经济的发展以及人们生活需求的提高,人工运货已经不能完全适应工厂车间的工作进度,伴随市场需求量的剧增,各大工厂车间面临着巨大的挑战,他们不仅要保证产品的质量,还得保证生产的速度,因此衍生出了各式各样的智能物料配送小车,它们也逐渐成为人们关注和研究的热点之一。传统工厂车间工作模式在智能物料配送小车的引导之下进入了新的发展阶段。工厂车间科技发展中的明珠——智能配送小车设备,能够适用于各种不同的配送任务,并受到各大企业的青睐。随着客户需求的增加,智能物料配送小车的效率不断提高,未来还将出现更加智能化、更加人性化的配送技术。通过智能物料小车的辅助,大大提高了工厂车间的工作效率,更进一步的带动了企业工厂车间的发展。1.2论文研究内容与方法基于STM32的车间智能配送物料小车方案设计。智能物料配送小车能够按照指定的循迹[1]路线行驶并承载物料,同时能有效的检测途中出现的障碍物、以及当物料小车到达指定位置时进行智能语音播报并且停车等功能。车间智能物料配送小车的硬件模块由单片机、电源电路、电机驱动、红外循迹、避障、语音播报等模块组成[2]。本设计的软件设计遵循软件开发流程使用C语言实现。智能物料配送小车拟解决的关键问题。STM32系列主控芯片能够控制多个电机、和不同功能模块的实现。小车能够按照指定路线循迹、行驶过程中能够检测障碍物等。小车到达指定地点进行语音播报。智能物料配送小车软件代码设计。根据小车需要实现的功能模块,制作对应的流程图,然后根据流程图编写程序。智能物料配送小车的实现与测试。将每个硬件模块进行电路连接,完成小车每个功能模块的调试,最后固定好智能物料小车的车体,并设计智能物料小车的路线,让物料小车可以在粘有黑色引导线的白色跑道上进行调试。1.3国内外研究现状在国外研究领域中,智能移动小车已经成为热门研究课题之一。通过应用先进的传感器技术和机器学习算法,智能移动小车能够感知并适应外部环境,以达到自主控制和导航的目的。目前,国外研究机构已经取得了一些重要成果,如自主导航、目标识别、避障等方面。同时,智能移动小车的应用领域也越来越广泛,包括物流运输、环境监测、农业生产等。未来,智能移动小车的研究和应用将不断拓展,在科技创新和智能制造等领域中发挥重要作用。在国内,有关智能移动车的研究已逐步趋于成熟,但是由于起步晚,我们的研究还没有取得突破性的进展,国内最早研究智能汽车相关方面的是清华大学,他们在传感技术、自动避障、超声波测距等技术上开展了相关研究,在理论研究和实际应用中取得了瞩目的成果。第2章关键技术介绍2.1关键性开发技术的介绍STM32单片机STM32F103C8T6是一款微控制器,这种微型电子芯片可被广泛应用于许多不同的电子设备中。它的主要特点是高性能和低功耗,这意味着它可以在节约能源的同时执行各种复杂的操作。该芯片还可以提供各种有用的功能和接口,根据需求进行定制。它的存储器容量为128KB,足以存储许多数据,而主频能够达到72MHz,使得其响应能力更加敏捷迅速可以同时支持多个任务,实现多核心运算。它还拥有多种接口,如SPI、USART、I2C等,方便与其他外设进行通信。STM32F103C8T6还内置了模拟数字转换器,可实现模拟信号的转换和控制。此外,它还拥有可扩展的GPIO口,可实现多种外设的接入,如LED灯、传感器、驱动等。该微控制器支持Keil和IAR两种开发平台,开发人员可根据需求进行选择。此外,它还支持在线编程和调试,方便开发和测试。总之,STM32F103C8T6集成功能十分强大、是一种使用普遍的微控制器,在各种领域的电子设计和控制中都有被应用。它具有高性能、低功耗、丰富的接口和功能,是电子行业中不可或缺的重要组成部分。图2.1STM32F103C8T6微控制器2.1.2电机驱动原理在设计智能小车的电机驱动[3]中,需要考虑诸多因素,包括电机类型、所需驱动功率、控制方式和控制精度等。一般情况下,直流电机是作为智能小车驱动的首选之一,因为它们具有结构精简、响应速度快、体积小、可逆和可调速等特点,并且容易与电机控制器搭配使用。为了实现智能小车的驱动控制,通常需要采用现代的电机驱动技术。其中,基于功率半导体器件的电机驱动技术是最常用的。此外,对于智能小车电机驱动的开发还需要注意电机驱动器的抗干扰性强、噪声小、控制精度高等特点。总之,智能小车的电机驱动是智能小车系统中非常重要的组成部分,它需要充分考虑到小车控制需求、电机类型和驱动功率、现代的驱动技术以及其他方面的因素,才能实现高效准确的驱动和控制。2.1.3PWM原理PWM(脉冲宽度调制)是基于数字信号的控制具有精准度高和可编程性强等优点。在PWM技术中,信号的波形由一个固定频率的载波和波形频率小于载波频率的调制信号组成。通过调制信号的脉宽来控制载波的占空比,进而控制电路的输出电压、电流等参数。这一技术在控制直流电机、交流电机、LED等电路上有着广泛的应用。通过调整PWM信号的占空比,可以实现电机或LED灯的精确控制,从而达到更加稳定且精确的输出效果。此外,该技术还能提高电路效率,减少功耗,应用前景广阔。因此,对这样的电子原理的掌握是学习大学电子学及控制理论的必备基础,对未来工作和学术研究都有着重要的帮助和应用价值。第3章系统分析3.1构架概述本设计代替工厂“蜘蛛人”,设计了一款生产车间专用智能物料和半成品配送小车,通过智能物料配送小车来避免在生产流水线时由于工序间调配的配送不及时导致工序间衔接不当,出现时间等待的浪费,同时可以以此来减少人工工作强度,解放人的双手,以达到提高企业生产效率的目的。功能模块如下。1)主控模块:STM32F103系列的芯片,具有大内存和高运行速度,该系列芯片结构精简,操作简单,能够实现对电机的控制。2)驱动模块:STM32实现对电机的控制,是通过改变脉冲宽度调制,实现电机转动的速度,进而控制小车的运动速度,同时可根据改变引脚的高低电平来控制小车的转向。3)红外循迹模块:促使车间智能物料配送小车按照车间的物料配送路线前进。4)避障模块:智能物料配送小车在行驶的过程中及时检测障碍物,防止碰到周围障碍,导致货物掉落。5)语言播报模块:智能物料小车在到达目的位置时,发出语音鸣叫,提醒工人及时将货物取下,以此来提高工作效率。3.1.1系统构架本设计主要有六个部分组成,分别是STM32系列单片机模块控制外设、红外循迹模块负责车体在地面沿着路线行走、超声波避障模块负责检测路线中出现的障碍物、语音播报模块负责货物送到的语音提示、电源模块负责给其他外设模块提供所需的工作电压、驱动模块负责车体的前进、后退等行为,结构如下图3.1所示。图3.1系统结构图3.1.2模块需求描述(1)红外循迹模块TCRT5000是一种传感器,用于检测物体是否在其探测范围内。TCRT5000是一种非常常用的红外线传感器,用于检测红外线的反射信号。其工作原理是利用发射红外线的LED和接收红外线的光电二极管(光敏电阻)构成一个红外光测距模组,将所反射回来的红外光信号通过比较光敏电阻的电阻值来判断被测物体的距离。物体靠近时,光敏电阻的电阻值会发生相应的变化,从而输出相应的距离信号,即当红外线被反射回来且强度足够大时,指示二极管被点亮,红外接收管打开,模块的输出端为低电平。反之,当反射回来的光强度不够大时,指示二极管熄灭,红外接收管关闭,模块的输出端为高电平。由于TCRT5000灵敏度高、成本低,精度较高、体积小,因此在智能小车、红外线遥控等应用场景中十分常见。如图3.2所示。图3.2TCRT5000(2)超声波避障模块HC-SR04是一种超声波传感器,它可以通过发射超声波脉冲来检测物体的距离。当传感器发出一个超声波脉冲,脉冲经过空气向前传播,直到遇到一个障碍物。一旦脉冲与障碍物相遇,一部分声波就会返回传感器。这样的反射声波会被传感器接收到,然后被处理器计算出来反射回来的时间。因为声波的传播速度在空气中是已知的,所以根据反射时间,我们可以很容易地计算出物体和传感器之间的距离。这种传感器可以通过多次发射和接收超声波脉冲,得出更准确的距离估计值。同时,HC-SR04工作频率高,能够在比较长的距离范围内工作。在实际应用中,这样的传感器通常用于障碍物检测、门禁系统、智能小车、以及机器人导航等领域。它们的精度可达数毫米,因此非常适用于需要精确定位的应用场景。总之,HC-SR04的工作原理简单直观,且应用广泛,为智能制造和物联网应用提供了可靠的测距解决方案。如图3.3所示。图3.3HC-SR04(3)电源模块由于干电池的电池容量可以更换且方便,所需的成本不高,与此同时,干电池还可以进行再次利用,很大程度上提高了系统模块的性能需求,因此本设计选择采用干电池供电,接入干电池电源再通过降压芯片转换为系统和外设需要的5V电压,此外,由于其他的模块所需的工作电压不同,如最小系统需要的工作电压是3.3V,所以,本设计采用以LDO线性稳压芯片AMS1117构成的稳压电路,工作原理为将5.5V的电压转换为3.3V给最小系统和其他外设使用,以此确保系统工作的稳定性。(4)电机驱动模块方案选型:常用的驱动模块有L298N、TB6612、L293D等。L298N是一个电机控制器。其工作原理为当输入触点接收到信号时,它会通过内部的晶体管来放大信号,然后控制所连接的电机的行为,L298N最多可以控制两个电机,支持2A电流的输出,所以非常适合控制直流电机和步进电机。该控制器还包括一个保护功能,当温度过高或电流过大时,它可以自动关闭电流输出以保护电机。TB6612是一种双路直流电机驱动器,可用于控制小型电机的转速和转向。它包含一个H桥驱动器,可以使用户轻松控制电机的方向,并且还提供了PWM控制电机速度的功能。TB6612支持1.2A的电流,工作电压为2.7V至5.5V[4],因此非常适合用于单片机或其他微控制器系统中。TB6612的工作原理是通过外部电压或单片机的PWM输出来控制电机。当输入信号给出时,H桥将使电机停止、向前或向后运动。同时,可以通过改变PWM信号的频率和占空比来控制电机的转速。此外,该驱动器还可提供保护功能,包括过热、欠压和短路保护等。这些保护功能大大增加了电机运行的稳定性和可靠性。L293D是一种常见的双H桥电机驱动芯片,可以实现不同种类电机方向和速度的控制。该芯片具有多种功能,包括方向控制、速度控制和保护功能等,下面分别介绍:方向控制:L293D可以通过输入控制信号,将输出通道上的电压转换为正向或反向,从而控制电机正反转。通过输入逻辑电平的控制,可以达到十分高效的方向控制效果。速度控制:L293D可以根据PWM输入的信号从而控制输出通道的占空比,从而实现调节电机转速的效果。这样,电机可以在不同的载荷下运行,保证了电机的稳定性和性能。保护功能:L293D还具有多种保护功能,如反电动势保护、过载保护等。在电机运行时,如出现反电动势或过载等情况,L293D可以自动将输出通道断开,从而保护芯片和电机的安全。总之,L293D通过控制电压、电流和PWM信号等手段,可以实现电机的方向和速度控制,并具有多种保护功能,广泛应用于机器人、小型车辆、工业自动化等领域。综上三种方案对比来说,L298N的发热严重,外接元件比较多,体积较大,使用相对复杂,增大了物料小车的载重,从而降低小车的运动质量,而L293D的驱动能力比较有限,所以本设计采用TB6612作为智能物料小车的电机驱动芯片。(5)主控模块方案选型:常见的主控模块STM32系列单片机和51。STM32系列的芯片具备卓越的工作能力。具有多种特点,如高速、低功耗、多功能和高扩展性等。它们适用于各种应用领域,如智能制造、工业控制、医疗设备和汽车电子等,能够满足各种应用的需求。该系列的芯片功能强大,能够最高运行到168MHz的主频,并且内置了1MB嵌入式闪存,支持各种通信接口、外部存储器和中断。此外,开发者可以使用多种开发软件和调试工具,以提高开发效率。除此之外,它们配备了多种安全机制、安全传输接口和外围存储器保护机制等。总之,STM32系列的芯片是一种非常强大的微控制器,具有灵活性、可扩展性和可靠性,广泛应用于各种应用领域。51系列芯片是一种集成精简、上手简单的单片机,最开始由Intel公司推出,并在中国得到广泛应用。这种芯片具有良好的基础性能,易于学习和应用,成本低廉。因此,它被广泛应用于各种场合,例如电子制作、自动化控制、智能家居和嵌入式系统等领域。这种芯片基于8051的体系结构,集成了微处理器、内存、时钟控制器和各种外设等元件。具有频率高、存储容量大、输入输出灵活等特点。经过不断的升级和改进,51系列芯片现在已经具有可靠性和稳定性,并且支持多种通信和扩展接口。虽然其他芯片现在具有更高的性能和更多的特性,但这种芯片已经成为一种非常成熟的技术,并且仍在各个领域得到广泛应用。综上两种单片机方案,相较于51系列单片机,STM32系列芯片使用的寄存器更多,具有更强大的配置功能,且具备丰富的外设功能。STM32芯片在时钟配置、中断逻辑以及使能控制等方面均具备卓越的优势,相比之下51单片机则存在一些功能不足的问题。此外,STM32还具备一些51单片机所没有的功能,如USB、FSMC等,能够更好地满足电子设备的需求,外围接口丰富,同时,STM32固件库有很多实用结构体和指针变量,而且STM32比51处理速度快,外设功能丰富强大。综上所述,将STM32系列芯片作为主控芯片能够为本项目带来更强大的性能和更丰富的功能。(6)语音播报模块JQ8400语音播报模块的工作原理本质上是将预先录制的语音信息存储在模块内部的闪存中,并通过外部的控制信号触发相应的语音播放。通常情况下,JQ8400语音播报模块的引脚包括供电引脚、数据接收引脚、控制脉冲引脚、输出口引脚等。其中,数据接收引脚用于接收外部传输的语音信息,供电引脚则用于为模块提供电源。控制脉冲引脚和输出口引脚则用于触发语音播放功能并输出相应的语音信号。它的工作原理基本上都是通过控制信号来触发闪存中储存的语音信息,从而控制语音播放。3.2系统开发环境开发环境:Windows11专业版开发语言:C语言软件开发工具:KeiluVision5/AltiumDesigner硬件开发:STM323.3系统技术安全与经济可行性分析3.3.1系统技术可行性本项目前期可通过知网平台,万方数据知识服务平台查阅相关的参考文献,针对性的解析本设计所实现的每一个模块原理。主控采用STM32F103系列的芯片,具有大内存和较高的运行速度,该系列芯片结构精简,能够实现对电机、传感器以及其他外设的控制。开发环境使用Keil,开发语言使用C语言,硬件原理图和PCB设计采用AltiumDesigner电子产品开发系统。使用TB6612芯片控制智能配送小车的转向及转速,采用TCRT5000红外传感器进行路线循迹。通过前期的调查和分析,网上有很多论文和期刊可供参考,包括每个模块的传感器都有详细的软硬件分析,其中硬件部分有许多相似的优秀案例,如驱动、循迹和避障的原理图及PCB等,软件部分在网上的资源教程众多,总的来说,本次设计具有可行性。3.3.2系统安全性分析基于STM32的车间智能物料配送小车具有多个传感器和执行器设备,可以实现复杂的任务和功能。在进行系统安全性分析时,需要考虑系统运行环境和焊接各个电路系统的安全性、以及上电调试的安全性等,需要针对系统的整体设计和需求进行全面的安全需求分析。并且需要了解系统功能和其安全性需求,比如小车避障机制、数据传输及存储过程、传感器通讯等,为后续安全架构设计提供依据,以确保系统的安全运行。3.3.3系统经济可行性本设计所涉及的相关经济支出包括前期的各个硬件模块打板,以及每个模块所需的器件购买和各类焊接工具,这些可以利用现有的设备,不用进行另外的设备投资。第4章系统设计4.1硬件电路设计本设计的硬件开发采用AltiumDesigner19,AltiumDesigner19是一款强大的电路板设计软件,其提供多种原理图设计的支持,并且提供了PCB转换的功能,能够将原理图转换为PCB图形。此外,在设计过程中,AltiumDesigner19还提供了3D视图预览的功能,帮助设计师加深对电路板设计的理解和模拟。AltiumDesigner19还具有强大的设计工具和管理功能,如批量修改、封装管理等,极大地提高了设计效率和生产率。总之,AltiumDesigner19是现代电路板设计师不可或缺的实用软件。4.1.1最小系统电路最小系统是本设计工作的基本要求核心。它主要包含电源、时钟、复位[5]和控制芯片。电源:用于供给整个系统的工作,需要的供电电压为3.3V。晶振:晶振在单片机系统中扮演着至关重要的角色。本系统设计采用含有外部8MHz高速晶振和内部32.768KHz晶振的晶体振荡器电路,分别为系统提供时钟信号和RTC时钟信号。外部高速晶振能够提供高频稳定的时钟信号,确保系统正常运行,而内部32.768KHz晶振则更为精准地提供时钟信号定时,以满足实时时钟RTC的需求。在设计晶振电路时,我们需要精细选择外部晶振的频率和内部晶振的时钟周期,并对其外围电路进行精心设计和控制,以确保整个电路的稳定性和可靠性。复位:为保证单片机正常启动,本系统采用了低电平复位的方式,包括上电复位和按键复位。其中NRST是芯片(STM32)自带的复位引脚,一般用于上电复位与按钮复位当按键按下NRST引脚直接低电平复位,单片机上电后,由于电容两端电压不能突变特性,上电后一瞬间,NRST端电位近似为GND,即低电平,单片机复位。经过几个ms后,电容充电完毕,电容两端电压近似为VCC,电阻两端电压近似0V,相当于导线,从而NRST端电位近似于VCC,单片机开始正常工作。整个复位过程需要通过精准的电路设计和控制来实现,以确保复位过程的稳定性和可靠性。最小系统中还包含了滤波电路,它的目的是去除电路中的杂波和噪音,以确保电线中传输的信号变得更加稳定。这可以有效避免因杂波和噪音而导致的电路故障和输出信号的失真问题。通过这种方法,滤波电路可以显著提高C8T6电路的性能和稳定性,从而使得设备运行得更加稳定可靠,同时也可以有效延长电路部件的寿命。这些部分构成了完整的最小系统,确保了单片机具备正常工作所需的基本功能。如图4.1所示。图4.1最小系统4.1.2调试电路在本设计中,需要将编写的代码烧录到核心板,才能让硬件和软件结合起来完成每个模块的功能调试。本设计提供了TTL和ST-Link两种程序下载方式,本设计新增TTL,所需接口。USB-TTL下载代码的工作原理是将编写好的程序代码通过计算机与USB-TTL串口转换器相连,通过串口通信协议将代码发送到目标设备中,进而完成程序的烧写。通过使用USB-TTL串口转换器进行代码的烧写,可以大大提高效率和准确性,是常用的下载方式之一。如图4.2所示。图4.2调试电路4.1.3电源电路稳压电路的作用是为了确保输出电压的稳定性。因为交流电网的供电电压不稳定,整流滤波电路输出的直流电压就会有所不同。由于本设计使用的外设都需要提供5V电压,所以本设计需要采用5V的稳压电路。其工作原理为,端口接入电源,按下开关以后,输入的电压通过AMS1117降压芯片转换为本设计外设需要的5V电压。如图4.3所示。图4.35V稳压电路3V3稳压电路是根据AMS1117系列中的3V3稳压芯片构成的稳压电路,主要作用是给单片机和传感器供电。其工作原理为:接入5V电压,然后通过线性电源转换芯片AMS1117将5V电压转换为3.3V电压,为最小系统供电。AMS1117是一种稳压电路芯片,它的作用是调整电压并保持稳定。它的稳压调整管是由一种叫PNP的管和另一种叫NPN的管组成的。其中PNP管用于控制电路的电流,而NPN管则用于调整电路的电压。这种芯片能够提供稳定的电源,因为它的漏失电流非常低。输出端的滤波电容是为了防止震荡和稳压性能下降。如图4.4所示。图4.43V3稳压电路4.1.4超声波避障电路第一步是将超声波模块的1号和4号引脚分别连接到电源的GND和VCC,2号和3号引脚连接到控制器。接下来,控制端和接收端都需要与单片机相连。当端口发出高电平超过10微秒时,接收口就会等待高电平的输出。一旦接收到输出,就可以开始开启定时器进行计时。端口变成低电平时,可以通过读取定时器的值来获取测距时间,从而算出距离。通过不断重复此步骤,就可以实现移动测量并获取一系列的距离值。如图4.5所示。HC-SRO4特点:(1)典型工作用电压:5v

(2)超小静态工作电流:小于2mA

(3)感应角度:不大于十五度

(4)探测距离:2cm~400cm

(5)高精度可达0.3cm图4.5超声波避障电路接口4.1.5语音播报电路JQ8400语音播报模块的重要引脚和原理如下:DC-5V和GND引脚为电源正负极,给模块供电;RX和TX引脚为串行通信传输数据,可与单片机等其他设备进行通信;SPK+和SPK-引脚为扬声器正负极,连接扬声器实现语音播报。其中ONELINE为一线串口引脚,只需与MCU连接一根线,也可实现语音播报。如图4.6所示。图4.6语音播报电路接口4.1.6驱动电路本设计采用TB6612作为驱动芯片,TB6612包含16引脚,其中VM引脚为电机的供电引脚,VCC引脚为芯片逻辑电平输入端,AO1\A02\BO1\BO2引脚为控制电机的输出端口,AIN1\AIN2\BIN1\BIN2引脚为控制电机转向的输入端口,PWMA\PWMB引脚接入MCU的PWM口,用于调速,STBY引脚用于芯片工作或待机状态的控制,四个端子MOT1\MOT2\MOT3\MOT4为电机接入端口。如图4.7所示。图4.7电机驱动电路接口4.1.7循迹电路本设计的循迹模块采用TCRT5000,本设计采用两个红外模块,来实现循迹,该模块包含三个引脚,分别为5V、GND和信号输出引脚,如图4.8所示。图4.8循迹电路接口4.1.8按键电路本项目一共设计了三个按键,其中RESET引脚为最小系统的复位引脚。如图4.9所示。图4.9按键电路4.2软件设计KeiluVision5是一款为ARM芯片架构设计的集成开发环境(IDE),用于编译、调试和烧录程序。它提供了一个可视化的界面,包含了多种功能模块,如程序编辑器、编译器、调试器、仿真器等,可以实现代码开发、调试、仿真和下载的全流程。其中,该编辑器可实现代码高亮、代码提示等功能,编译器可以将C语言等高级语言转换为机器语言,调试器可以对程序进行优化和调试,仿真器可以模拟程序运行环境。此外,KeiluVision5还支持多种外围设备及嵌入式系统的编程与调试,如串口通讯、中断处理、PWM控制等,支持多种芯片型号,可满足不同开发需求,因此本设计的软件开发采用KeiluVision5。4.2.1主程序设计基于STM32的车间智能物料配送小车的主流程。当小车通电后,程序会首先进行系统初始化操作,其中包括对定时器、中断、端口等重要部件的初始化配置操作,使这些部分能够正常工作。小车初始化完成后,进行循迹、避障、语音播报、泊车等。如图4.10所示。图4.10主流程图4.2.2避障程序设计智能物料配送小车避障流程。执行避障程序,首先进行初始化,然后进行超声波测距检测,当检测到障碍物,智能物料配送小车就停下,当障碍物移走,驱动电机智能物料配送小车继续行驶。如图4.11所示。图4.11避障流程图4.2.3循迹程序设计智能物料配送小车循迹流程。执行循迹程序,首先进行系统初始化,小车直行循迹时,当小车发生偏移,传感器检测到黑线,红外接收端输出不同的电平,通过差速的方式来控制小车转向。如图4.12所示。图4.12循迹流程图4.2.4语音播报程序设计本设计进行了三次语音播报,分别为第一次遇到障碍物、第二次到达终点、再次回到起点进行语音播报,如图4.13所示。图4.13语音播报流程图第5章系统实现5.1PCB和原理图的实现画PCB的流程涉及到很多环节,其中PCB布局和走线是具有决定性作用的步骤,需要特别注意以下事项。首先,需要在PCB布局中合理安排元器件的位置,以实现尽可能小的PCB面积。同时,还需要保证元器件之间的信号互不干扰、电气性能稳定。对于高速/高频电路,布局的固有规律也需要特别考虑,其次,走线时需要注意引脚分配的连接长度,应该尽量缩短。此外,信号线、电源线和地线应该分别为电路的主要部分。在布线时需要注意阻抗的控制。最后,在制图输出之前,需要对PCB布局和走线进行全面的检查,以确保没有错误和矛盾之处。检查包括两个方面,一是检查所有元器件是否被正确、完整地布局,二是调整走线、优化布局,并注意保持轨道的清晰、合理和简洁,不重叠、不交叉。由于本设计是分模块做的,只需要在安装上注意整车的规范性。如图5.1与5.2所示。图5.1PCB布局图5.2PCBA图AD设计原理图的基本步骤包括创建新工程、选择器件、建立电路原理图、连线、电源设计、网络分析等。在选择器件时,我们需要对所需器件的类型、特性、规格等信息进行全面的了解。然后,我们需要将器件添加到设计原理图中,并对其进行合适的排列和布局。紧接着,建立电路原理图是设计过程中不可或缺的步骤,要遵循正确的设计与画图规范。在图中,我们还需要对各个器件之间的连接进行正确的设计与规划。这个过程涉及到拖动器件、选择画线类型、分配引脚等。随后,我们要进行连线操作。在连线时,需要注意器件之间的连线不产生短路或漏电,同时还要选择合适的线宽和颜色。在完成连线之后,我们需要进行电源设计。电源设计是为了保障整个电路系统的稳定性与可靠性。常见的电源设计包括电容、电感、稳压二极管等元件的选型和连接。最后,进行网络分析,查看电路的性能指标。通过网络分析,我们可以清楚地了解电路的频率响应、功率消耗等方面的特性,从而判断电路的稳定性和适用性。5.2电机驱动实现驱动是本设计最基本也是最重要的环节,小车的运动完全依赖于电机驱动,因此在实现电机驱动上,本设计着重了解驱动芯片每个引脚的功能,以及如何与主控相连接,引脚如何分配,到最后的软件如何调试。TB6612是一款常用的直流电机驱动芯片,其原理为使输入的电信号实现电机的正转/反转、转速控制等功能。其中TB6612的引脚主要分为两组:控制输入和驱动输出。控制输入包括AIN1\AIN2\BIN1\BIN2,而驱动输出则包括输出端(AO1\AO2\BO1\BO2)和电源端(VCC\GND),设计代码如下。voidCar_Go(void)\\小车前进函数{TIM_SetCompare1(TIM3,SPEED_DUTY);TIM_SetCompare2(TIM3,0);TIM_SetCompare3(TIM3,SPEED_DUTY);TIM_SetCompare4(TIM3,0)}voidCar_Back(void){TIM_SetCompare1(TIM3,0);TIM_SetCompare2(TIM3,SPEED_DUTY);TIM_SetCompare3(TIM3,0); TIM_SetCompare4(TIM3,SPEED_D UTY); }voidCar_Stop(void){TIM_SetCompare1(TIM3,0); TIM_SetCompare2(TIM3,0);TIM_SetCompare3(TIM3,0);TIM_SetCompare4(TIM3,0);}voidCar_right_round(void){TIM_SetCompare1(TIM3,SPEED_DUTY);TIM_SetCompare2(TIM3,0);TIM_SetCompare3(TIM3,0);TIM_SetCompare4(TIM3,SPEED_DUTY);}5.3超声波避障实现因为作为智能物料配送小车,在物料配送途中,为防止小车遇到障碍物,导致物料掉落,所以需要采用避障功能,使得小车可以智能的避开障碍物,顺利的将物料送达目的地。本设计采用超声波,使得小车在行驶过程中避开障碍物。HC-SRO4共有四个引脚,VCC引脚:用于传感器的电源供应,支持5V到20V的不同电压范围。一般采用直流电源供电,传感器内部通过稳压电路将电压稳定为5V。Trig引脚:用于触发发射器发送超声波信号。当Trig引脚被拉低时,发射器开始发射超声波信号,并计时器开始计时。发射器的工作时间一般为10微秒。Echo引脚:用于接收超声波信号。当超声波信号被接收时,Echo引脚的电平将从低变为高,同时传感器内部计时器停止计时。利用Trig和Echo之间的时间差进行计算,可以得到被测物体与传感器之间的距离。传感器的GND引脚连接至地线,将HC-SRO4的四个引脚与主控相连,设计代码如下。intSR04_Distance(void){SR04=1; delay_us(13); SR04=0; if(TIM2CH2_CAPTURE_STA&0X80)//成功捕获到了一次上升沿 { time=TIM2CH2_CAPTURE_STA&0X3F;time*=65536;//溢出时间总和time+=TIM2CH2_CAPTURE_VAL;//得到总的高电平时间 Distance=time*0.033/2; TIM2CH2_CAPTURE_STA=0;//开启下一次捕获 }returnDistance;}voidUltraSoundInit(void) { GPIO_InitTypeDefGPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //使能PA端口时钟 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9; //PB9端口配置,推挽输出 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOB,&GPIO_InitStructure); //推挽输出,IO口速度为50MHz GPIO_SetBits(GPIOB,GPIO_Pin_9); TIM2_Cap_Init(0XFFFF,72-1); //以1Mhz的频率计数} 5.4语音播报和泊车实现本设计中,由于小车到达目的后,及时停下并且有相应的语音提示,确保货物被及时取下,因为本设计采用JQ8400作为语音播报模块,使得小车将货物送到指定的位置停下之后,通过该模块实现一个语音提示的效果,JQ8400的工作原理基于录音、存储和播放三个部分。它包括了一个录音芯片、一个控制电路、一组音频放大电路及一个扬声器。JQ8400需要在外面存储一个预先录好的音频文件,用户可以将它连接到某个播放设备上,通过控制端输出高低电平,来触发它播放对应的音频文件。本设计采用了一个红外传感器与之结合,当红外传感器检测到前方在一定高度,需要小车停下时,此时JQ8400就会及时的进行一个语音提示,设计代码如下。voidSendData(u8addr){u8i;sda=1;/*开始拉搞*/delay_us(1000);sda=0;/*开始引导码*/delay_us(3200);/*此处延时最少要大于2ms,此参数延时为3.2ms*/for(i=0;i<8;i++)/*总共8位数据*/{sda=1;if(addr&0x01)/*3:1表示数据位1,每个位用两个脉冲表示*/{delay_us(600);sda=0;delay_us(200);}else/*1:3表示数据位0,每个位用两个脉冲表示*/{delay_us(200);sda=0;delay_us(600);}addr>>=1;}sda=1;}5.5红外循迹实现本设计是基于车间物料小车的配送,所以在物料配送时,就需要给小车设置一个指定的路线[10],使得小车可以安装指定的路线行驶,所以本设计采用了TCRT5000红外循迹模块,使用黑线给物料小车模拟一个行驶路线,TCRT5000红外模块置于小车的前端,TCRT5000[11]一共有三个引脚分别是VCC引脚用于连接电源正极、GND引脚连接电源负极、OUT引脚作为光敏信号输出引脚,输出抗干扰能力强的比较电平,一般为低电平(0V)或高电平(VCC),通过该模块对地面的黑线的检测[6],输出高低电平,驱使小车按照指定的路线行驶,设计关键代码如下。elseif(SEARCH_L_IO==WHITE_AREA&&SEARCH_R_IO==WHITE_AREA)//两边白线,小车前进{Car_Go();SR04_flag=0;}elseif(SEARCH_L_IO==BLACK_AREA&&SEARCH_R_IO==WHITE_AREA)//左边黑线,说明小车偏右,需要调用左转函数{Car_left_round(); SR04_flag=0; delay_ms(10);}elseif(SEARCH_R_IO==BLACK_AREA&&SEARCH_L_IO==WHITE_AREA)//右黑线,说明小车偏左,需要调用右转函数Car_right_round();SR04_flag=0;delay_ms(10); }elseif(SEARCH_R_IO==BLACK_AREA&&SEARCH_L_IO==BLACK_AREA)//两边黑线,小车停,语音播报5.6附加模块OLED的实现本设计采用7针OLED模块,可显示小车名、车间和工序以及超声波测距信息。该模块采用SPI方式进行通信,首先初始化OLED模块,进行写函数的编写,以及字模的生成与添加,最后通过voidOLED_ShowChinese(u8x,u8y,u8num,u8size1)函数,将内容显示在OLED屏上,设计关键代码如下。voidOLED_WR_Byte(u8dat,u8cmd){ u8i; if(cmd)OLED_DC_Set();elseOLED_DC_Clr();OLED_CS_Clr();for(i=0;i<8;i++){OLED_SCLK_Clr();if(dat&0x80)OLED_SDIN_Set();elseOLED_SDIN_Clr();OLED_SCLK_Set();dat<<=1;} OLED_CS_Set();OLED_DC_Set(); }a=SR04_Distance();OLED_ShowNum(72,18,a,2,16);OLED_ShowChinese(0,0,0,16);OLED_ShowChinese(18,0,1,16);OLED_ShowChinese(36,0,2,16);OLED_ShowChinese(54,0,3,16);OLED_ShowChinese(72,0,4,16);OLED_ShowChinese(90,0,5,16);OLED_ShowChinese(0,18,6,16);OLED_ShowChinese(18,18,7,16);OLED_ShowChinese(36,18,8,16);OLED_ShowChinese(54,18,9,16);第6章系统测试系统测试环节是指对整个系统进行功能和性能测试,同时也是整个开发流程中最主要的一个环节。本设计为基于STM32的车间智能物料配送小车,如图6.1所示,通过各个模块的系统测试,使得小车可以稳定的行驶,利用这些测试手段,同时可以确保智能物料配送小车的系统质量和稳定性。整机如图6.1所示。图6.1小车整体结果展示6.1测试方案本设计的测试方案主要围绕驱动测试、电源测试、循迹测试、避障测试[7]、语音播报测试等。结合软硬件的开发流程,首先对硬件进行线路连接测试,然后将软件和硬件结合调试,逐一的对每一个模块进行测试。6.1.1驱动测试本设计的车体主要采用智能小车底盘和四个直流减速电机和四个轮胎组成,自主拼装构成。驱动测试主要检测上电以后,电机是否能驱动滚轮,完成前进、后退、左转、右转、停止,如图6.2所示,小车可按照路线前进、左转、停止等,符合预期效果。图6.2驱动测试6.1.2电源测试本设计采用两节3.7V的锂电池为系统供电[8],经过降压芯片AMS1117转换为5V和3.3V为每个功能模块供电,上电和断电观察,最小系统的指示灯和电源指示灯是否正常亮灭,从而判断供电模块是否正常,如图6.3所示,指示灯正常亮灭,电源模块测试符合预期效果。图6.3电源测试6.1.3循迹测试TCRT5000红外循迹传感器主要检测小车能否按照预先设定的黑色路线行驶[9],当右边的TCRT5000传感器遇到黑线时,由于黑线不会反射红线,此时传感器输出高电平,发光二极管处于熄灭状态,反之,左边的传感器接收管接收到红外线饱和,输出低电平,发光二极管亮,如图6.4所示,循迹符合预期效果。图6.4循迹6.1.4语音播报测试在本设计中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论