0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于STM32的磁导航自主导引车通用驱动器设计

电子工程师 来源:《单片机与嵌入式系统应 作者:卢超月 夏继强 叶 2021-04-06 17:36 次阅读

引言

AGV系统在当前柔性制造系统(FMS)和自动化仓储系统中扮演着重要的角色。AGV具有适应性好、柔性程度高、可靠性好、可实现生产和搬运功能的集成化和自动化等优点[1]。

AGV的导航方式主要有激光导航、电磁导航、视觉导航、GPS(全球定位系统)导航、磁导航等,本文主要针对磁导航方式的AGV进行深入探讨,磁导航AGV主要是基于磁导航传感器感应贴在路面上的磁条进行路径跟踪并完成其自主行驶的功能。

磁导航传感器通过检测铺设在地面上的磁条来判断AGV与目标路径的偏差,然后输出电压模拟量[2]。对于磁导航AGV驱动器的设计,为更好地满足通用性需求,需要对现有驱动器的组成单元进行总结和归纳,并且结合实际需求,找出共同点和不同点,为磁导航AGV通用驱动器的设计找到突破口。

通过查阅相关文献,对磁导航AGV驱动器的组成有了一个总体认识,主要包括单片机单元、供电单元、手动控制单元、声光报警单元、站点识别单元、工位检测单元、电机驱动单元、CAN总线单元、避障单元、磁导航单元、姿态反馈单元、通信单元、安全辅助单元等 [35]。

1 驱动器硬件电路设计

在对磁导航AGV驱动器的组成单元进行分析之后,本文提出了一种基于STM32F103芯片为控制核心的通用驱动器,它包含以下模块:单片机模块、电源模块、DI/DO模块、RFID读写模块、DAC输出模块、ADC采集模块、CAN总线通信模块、高速编码器,安全模块以及串口通信模块,这些模块与磁导航AGV驱动器的组成单元之间的对应关系如表1所列。

由表1可以看出,提出的通用驱动器设计方案可以满足磁导航AGV对主要组成单元的需求。该驱动器可同时控制两个电机以及采集相应的速度,还可同时采集两路磁条传感器输出的模拟电压,对于执行复杂功能的AGV而言,可以增加驱动器的数量以满足要求,各驱动器之间可以通过CAN总线保持动作协调一致,共同完成指定的动作。

o4YBAGBsKWWAXyo4AADKUDWtqpo249.png

各个模块对应不同的功能和作用,各司其职,互相配合,完成指定的功能。各模块的主要作用如表2所列。

pIYBAGBsKXaAMBhVAAD6lUmrJbc882.png

1.1 单片机模块

本设计采用STM32作为控制芯片,此芯片基于ARM CortexM3内核,具有高性能、低成本、低功耗的特点。另外,此芯片的可移植性很好,并有许多官方函数库可以直接调用,大大缩短了开发周期。STM32F103系列有80个可以自由操控的芯片引脚,为通用驱动器的设计提供了良好的条件。此驱动器采用模块化设计,有利于驱动器功能扩展和升级。本驱动器控制板是由STM32F103的最小系统、电源电路实时时钟系统、时钟电路、JTAG接口电路、复位电路、用户LED和按键电路、串口电路等组成。

1.2 电源模块

AGV大多数通过铅酸蓄电池供电,通过将小电压大容量的铅蓄电池串联起来就可以构成高电压大容量的电池组,通常所用电池组为24 V,因此通过电压转换芯片将24 V转换为5 V电压,再将5 V转换为3.3 V,为STM32芯片、MAX3232等供电。电路中需要加入多组电容,用于消除低频和高频的电源波动。

1.3 DI/DO模块

手动操作器和必要的输入/输出信号需要多路DI/DO,因此本驱动器引出了多达16路的数字量输入和16路的数字量输出,输入和输出电压为24 V。为了消除外界对驱动板的影响,在信号输入部分采用光电耦合器进行隔离,由于电信号传输具有单向性等特点,可以达到良好的电绝缘能力和抗干扰能力;在信号输出部分采用继电器控制输出24 V,并达到物理隔离的效果。根据光电耦合器二极管允许压降1.15 V和允许电流10 mA,可以计算出输入端接入的电阻阻值,公式为:

pIYBAGBsKdyAbAAgAAAWAdRjoiQ657.png

依据标称电阻表选择电阻的阻值为2.2 kΩ。

1.4 CAN总线模块

由于高性能、高可靠性、及独特的设计,CAN总线(控制器局域网络)越来越受到人们的重视。它可以多主站方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从;通信方式灵活,可以添加多达255个节点。本驱动器中STM32自带有CAN控制器,只需要接入一个CAN收发器即可完成CAN模块的设计。

1.5 DAC模块

DAC模块主要用于控制电机的转速,这与电机驱动器的选型有关,电机的控制需要输入0~10 V的模拟量来控制电机的速度,电机速度的可调节范围是70~4 096 rpm,因此DAC输出的电压和电机速度存在一定的对应关系,其对应关系如下所示:

pIYBAGBsKfOAVJDTAAASWhFuqw4851.png

其中,n为电机的转速大小(单位为r/min),U为DAC输出的电压大小(单位为 V)。

为了能够更好地控制电机,需要输出的电压稳定且有一定的驱动能力,由此在原理图设计时,首先通过电压转换芯片把24 V转换为±12 V,再将产生的+12 V的电压转换为5 V模拟量,最后将5 V转换为+1.25 V和+2.5 V的标准参考电压,其中+2.5 V的参考电压接入STM32的 VREF+引脚,作为DAC和ADC的参考电压。

由于芯片输出的DAC模拟量的带负载能力较弱且电压输出范围只有0~2.5 V,因此,加入运算放大器以提高带负载能力,在参考电压+1.25 V的参考下,将0~2.5 V的输出范围变为-1.25~+1.25 V的输出范围,再放大8倍即可达到设计要求的0~+10 V的输出范围。

放大倍数可以通过调节运算放大器外围电路中的4个电阻的阻值来改变,另外在设计时,考虑到电阻阻值的不精确,用可调电阻替换其中一个电阻,最后调试PCB板时,通过调节这个可调电阻,使输出电压可以达到10 V。

1.6 ADC模块

磁导航AG V中的磁条传感器输出来的偏差信号是通过电压反映出来的,具体的比例关系如图1所示。由图1可以看出偏差与传感器输出的电压在一定范围内成正比,GATE用于指示传感器是否在磁条上。ADC的参考电压为+2.5 V,传感器输出电压范围是0~+10 V,采用电阻分压的方法将0~10 V变为0~2.5 V,将测量范围扩大4倍,如果想改变测量范围,可以改变分压电阻的阻值。

o4YBAGBsKg2AWEK_AACLJ96XHG8646.png

1.7 高速编码器模块

高速编码器主要依靠STM32上的高速计时器来完成,采集电机输出来的脉冲信号,将脉冲信号转换为速度值,可以和DAC形成一个速度闭环控制。另外,对实时速度在时间上积分就可以得到行走的距离,对AGV的实时控制和显示有用。脉冲信号和速度的具体对应关系如下:

o4YBAGBsKiKABgtgAAASLeN6mBo908.png

n为电机的转速大小(单位为r/min),tp为高速编码器采集到的信号高电平的时间(单位为μs)。

2 系统软件设计

系统软件设计采用C语言进行编写,编译器采用IAR 5.3,底层驱动器软件控制流程如图2所示,中断流程如图3所示。

pIYBAGBsKoSAP6mKAAHVNt8Q_wE100.png

pIYBAGBsKpSAG6PqAACHAgSDcXA816.png

程序采用模块化编程,将各个模块分别写到不同的子函数中,这样便于调试、移植和修改。本文采用中断模式来协调实现AGV各项功能,中断模式中的中断优先级根据任务的重要程度来确定,紧急信号中断的优先级最高,CAN总线和串口中断次之,定时器4的中断优先级最低。定时器4每隔50 ms溢出一次,整个程序执行一次,执行的过程中读取磁条传感器状态值,确定当前的偏差,根据纠偏算法控制AGV车的运行状态。在纠偏算法中,根据不同的车型、不同的传感器位置,建立不同的控制模型,进而更好地控制AGV按照设定好的路线行进。

对于不同功能的AGV,软件控制也不相同,上文中的控制流程图只针对一种车型,对其他车型,控制方式只需加入相应功能的程序模块即可。

3 试验测试

该通用驱动器目前已在3种车型上进行过试验,这3种车型分别是:差速AGV、单舵轮AGV叉车和双转向架全向AGV,实物图如图4所示。前两种AGV车只需一个驱动器,双转向架全向AGV车则需要两个驱动器来控制,根据不同AVG建立不同的数学模型[6],完成试验。

o4YBAGBsKqaARlbtAAPlKPaj1lQ784.png

为了测试硬件设计和软件设计是否合理,铺设了一段环形磁条测试三种AGV,测试的路径示意图如图5所示。图5中1、2、3、4处分别放置编号为1、2、3、4的RFID标签

pIYBAGBsKryAUwkJAACn0a-PTBE676.png

测试过程如下:

① 将AGV置为手动模式,通过手操器控制AGV运动,能够快速地完成指定的动作。

② 将AGV置为自动模式,AGV沿着铺设的轨迹行走,完成在指定点处执行相应的动作。

③ 在自动模式下,按下急停按钮,保证车在紧急状态下停止运行。

④ 在自动模式下,在轨迹上放上杂物,AGV在接触到物品时会自动停止运行。

经过测试,3种AGV车都可以沿着铺设的磁条稳定行进,并在指定的工位执行相应的动作,实现基本功能。

结语

本文设计的磁导航AGV通用驱动器采用STM32F103作为主控芯片实现AGV基本功能,在3种车型上能够稳定地工作,实现基本功能,并且模块化设计给硬件调试和检测提供了很大的方便,可扩展性很高。后期可以根据功能的需求增加或删减相应的模块,从而降低成本,增强产品的竞争力。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    52

    文章

    8149

    浏览量

    145946
  • 电路设计
    +关注

    关注

    6664

    文章

    2426

    浏览量

    203203
  • 导航
    +关注

    关注

    7

    文章

    521

    浏览量

    42370
  • AGV
    AGV
    +关注

    关注

    27

    文章

    1277

    浏览量

    41000
收藏 人收藏

    评论

    相关推荐

    具有IO-link的8通道驱动器

    电子发烧友网站提供《具有IO-link的8通道驱动器.pdf》资料免费下载
    发表于 09-03 10:55 0次下载
    具有IO-link的8通道<b class='flag-5'>磁</b>阀<b class='flag-5'>驱动器</b>

    国产规级智能隔离栅极驱动器概述

    电机控制是新能源汽车中的重要组成部分,负责控制电机的运转,而栅极驱动器则是电机控制中的关键元件之一。今天就给大家推荐一款国产规级智能隔离栅极
    的头像 发表于 08-01 15:30 550次阅读
    国产<b class='flag-5'>车</b>规级智能隔离栅极<b class='flag-5'>驱动器</b>概述

    Agv无人叉车常见的5种导航方式大盘点!优缺点分析 哪种更适合你?

    AGV(自动导引)叉车作为自动化物流运输的重要工具,其导航方式多种多样,每种方式都有其独特的优缺点。以下是几种主流的AGV自动化叉车导航方式及其优缺点分析:  1.
    的头像 发表于 07-02 14:50 638次阅读
    Agv无人叉车常见的5种<b class='flag-5'>导航</b>方式大盘点!优缺点分析 哪种更适合你?

    agv叉车怎么运行的?速度受哪些因素影响?有哪些不确定因素?

    AGV叉车(自动导引叉车)的运行主要基于其内置的导航系统和传感,通过智能化控制实现自主导航和作业。  一、AGV叉车的运行方式 定位与
    的头像 发表于 06-28 11:21 244次阅读
    agv叉车怎么运行的?速度受哪些因素影响?有哪些不确定因素?

    什么是驱动器

    什么是驱动器 驱动器,又称为驱动程序或驱动软件,是计算机系统中用于控制和管理硬件设备的软件。它作为操作系统与硬件设备之间的桥梁,负责将操作系统的指令转换为硬件设备能够理解和执行的信号。
    的头像 发表于 06-10 16:07 6134次阅读

    HIP4086DEMO1Z通用三相BLDC电机驱动器套件

    电子发烧友网站提供《HIP4086DEMO1Z通用三相BLDC电机驱动器套件.rar》资料免费下载
    发表于 06-04 17:14 0次下载
    HIP4086DEMO1Z<b class='flag-5'>通用</b>三相BLDC电机<b class='flag-5'>驱动器</b>套件

    SN74ALVCH16835 18位通用总线驱动器数据表

    电子发烧友网站提供《SN74ALVCH16835 18位通用总线驱动器数据表.pdf》资料免费下载
    发表于 06-03 14:27 0次下载
    SN74ALVCH16835 18位<b class='flag-5'>通用</b>总线<b class='flag-5'>驱动器</b>数据表

    SN74ALVC162835通用总线驱动器数据表

    电子发烧友网站提供《SN74ALVC162835通用总线驱动器数据表.pdf》资料免费下载
    发表于 06-03 14:10 0次下载
    SN74ALVC162835<b class='flag-5'>通用</b>总线<b class='flag-5'>驱动器</b>数据表

    SN74AVC16834 18位通用总线驱动器数据表

    电子发烧友网站提供《SN74AVC16834 18位通用总线驱动器数据表.pdf》资料免费下载
    发表于 06-03 11:36 0次下载
    SN74AVC16834 18位<b class='flag-5'>通用</b>总线<b class='flag-5'>驱动器</b>数据表

    SN74AVC16835 18位通用总线驱动器数据表

    电子发烧友网站提供《SN74AVC16835 18位通用总线驱动器数据表.pdf》资料免费下载
    发表于 06-03 11:27 0次下载
    SN74AVC16835 18位<b class='flag-5'>通用</b>总线<b class='flag-5'>驱动器</b>数据表

    集成微流控功能模块的可重编程控柔性驱动器制备工艺

    控柔性驱动器通常由具备响应变形能力的柔性复合材料制备获得,在外加磁场的驱动、控制、引导下,可实现非接触式的连续形变、灵活运动、物质递送等功能。
    的头像 发表于 03-11 13:58 782次阅读
    集成微流控功能模块的可重编程<b class='flag-5'>磁</b>控柔性<b class='flag-5'>驱动器</b>制备工艺

    【LicheeRV-Nano开发套件试用连载体验】+ 实现三麦克纳姆轮小车自主导航

    【LicheeRV-Nano开发套件试用连载体验】+ 实现三麦克纳姆轮小车自主导航 非常感谢被选中成为Sipeed矽速科技、电子发烧友论坛组织的此次试用体验幸运儿,有机会参与
    发表于 03-03 14:20

    自动导引(AGV)控制系统的实现过程

    本文介绍自动导引(AGV)控制系统的实现过程,分为硬件搭建和软件设计两部分。
    的头像 发表于 01-16 11:02 982次阅读
    自动<b class='flag-5'>导引</b><b class='flag-5'>车</b>(AGV)控制系统的实现过程

    驱动器的分类及应用

    驱动器是电机控制系统中至关重要的一部分,它负责将控制信号转化为电能输出,驱动电机正常运行。根据电机的不同类型和应用场景,驱动器可以分为有刷电机驱动器、无刷电机
    的头像 发表于 12-07 15:22 3289次阅读
    <b class='flag-5'>驱动器</b>的分类及应用

    基于STM32CUBEMX驱动低压步进电机驱动器STSPIN220(2)----驱动STSPIN220

    本文档的目标是提供关于使用STM32CubeMX驱动低压步进电机驱动器STSPIN220的详尽信息和操作指南。通过本文档,将深入了解如何利用STM32CubeMX来配置电机
    的头像 发表于 12-01 15:25 919次阅读
    基于<b class='flag-5'>STM32</b>CUBEMX<b class='flag-5'>驱动</b>低压步进<b class='flag-5'>器</b>电机<b class='flag-5'>驱动器</b>STSPIN220(2)----<b class='flag-5'>驱动</b>STSPIN220