基于CANopen协议的AGV控制系统设计毕业论文
2020-02-17 19:42:10
摘 要
基于CANopen协议的AGV控制系统设计的关键技术在于完成主控微处理器CANopen通信功能的软硬件准备,进而实现主控微处理器和伺服驱动器之间基于CANopen协议的数据通信。以下是论文重点研究的内容:
(1)分析了CANopen协议,分析了CANopen协议的4种通信对象并将其使用于AGV底层控制系统的通信过程,对CANopen子协议DS402驱动控制协议进行分析,并在通信过程中应用DS402状态机控制伺服电机的工作状态。
(2)设计了STM32F427微处理器在CANopen通信过程中需要用到的主要外设——CAN通讯接口电路,说明了其工作过程。说明了STM32F427微处理器的内部工作电路。
(3)设计了AGV控制系统中CANopen通信的软件部分,实现了SDO报文设置从节点,NMT报文管理从节点,实现了用PDO报文控制电机的程序设计,该程序通过配置从节点的DS402状态机实现。还设计了一些其他的底层控制函数。
(4)使用Kincoservo 软件对伺服驱动器的CANopen通信节点的对象字典进行配置并对关键过程进行了说明,使用Objdictedit软件对微处理器的对象字典进行配置并说明了关键过程。
关键字:AGV;差速驱动;底层控制;CANopen通讯
Abstract
The key technologies of the differential-drive AGV’s underlying control system is to prepare the software and hardware of the CANopen communication function of the main control microprocessor, and then to realize the data communication based on CANopen protocol between the main control microprocessor and the servo driver.The following part is the main content of this research:
(1) Analyzed the CANopen protocol.Analyzed and used the four communication objects of the CANopen protocol in the communication process of the underlying control system, analyzed the CANopen sub-protocol DS402 drive control protocol, and applied the DS402 state machine to control the servo drive in the communication process.
(2) Designed the main peripheral CAN communication interface circuit required by STM32F427 microprocessor in CANopen communication process, and explained the working process, and explained the internal working circuit of STM32F427 microprocessor.
(3) Designed the software part of the CANopen communication inside the differential drive AGV underlying control system. The SDO message is used to set the slave nodes and the NMT message is used to manage the slave nodes. The programming for controlling the motor is implemented by configuring the DS402 state machine from the node and designed some other underlying control functions.
(4)Used a software named Kincoservo to configure the object dictionary of the servo drive and illustrated the key processes. Used a software named Objdictedit to configure the microprocessor's object dictionary and illustrated the key processes
Key Words: AGV;differential drive;underlying control;CANopen communication
目录
摘 要 I
Abstract II
目录
第1章 绪论 1
1.1研究背景和意义 1
1.2国内外研究现状 2
1.2.1AGV研究现状 2
1.2.2CANopen协议研究现状 2
1.3课题研究的目的 3
1.4论文主要内容安排 3
第2章 CANopen协议分析及方案设计 5
2.1CANopen子协议 5
2.2 通信模型 6
2.3 通信方式 7
2.3.1主/从方式 7
2.3.2 用户/服务器方式 7
2.3.3 生产者/消费者方式 8
2.4 通信对象 8
2.4.1网络管理对象 9
2.4.2服务数据对象(SDO) 10
2.4.3过程数据对象(PDO) 11
2.4.4特殊功能对象或预定义报文 12
2.5对象字典 12
2.6 伺服控制协议DS-402 14
2.7 本章小结 16
第3章 主控单元硬件系统设计及实现 17
3.1 主控芯片最小系统 17
3.2CAN1转换电路 18
3.3本章小结 19
第4章 主控单元软件系统设计及实现 20
4.1初始化程序 20
4.2主程序 20
4.3底层驱动函数设计 21
4.3.1从节点配置底层函数 21
4.3.2从节点DS402协议状态机配置底层函数 22
4.3.3 CAN报文读取函数 23
4.4 PDO报文发送函数 24
4.5伺服驱动器对象字典配置 25
4.6 微处理器对象字典配置 27
4.7本章小结 28
第5章 总结与展望 29
5.1 论文总结 29
5.2 工作展望 29
致谢 30
参考文献: 31
附录A 33
主程序部分 33
CAN1.c源文件 40
timer.c源文件 51
pdo1.c源文件 53
key.c源文件 83
define.h头文件 85
key.h 头文件 98
can1.h头文件 98
timer1.h头文件 100
pdo1.h头文件 100
第1章 绪论
研究背景和意义
建国至今,我国的工业化基础积累已相对成熟,但国家工业化的主流形式仍旧是劳动密集型。我国正坚定推进创新驱动发展战略,面向智能化、信息化时代的工业转型则是必然要经历的发展过程。与此同时,我国人口老龄化问题日益凸显,从事工业劳动的人数逐年下降,劳动力成本迅速上升,这要求制造业逐步摆脱对低成本工业劳动者的过度依赖[1]。在这一时代背景下,我国正大力发展工业机器人等战略性新兴产业,但是我国机器人产业起步较晚,自主研发技术薄弱,导致我国在全球产业链中负责技术含量少,附加值低的环节[2]。在经济全球化的浪潮之下,各国工业机器人市场竞争日益激烈,我国工业机器人领域研究水平及产业竞争力亟待提升。
AGV(自动导引车)是一种智能化的搬运设备,具有无人驾驶,自动导引的特性,可从事物料搬运及装配等工作,是轮式移动机器人的一种重要形式。AGV可以自主监测环境路径信息、自动避障及矫正方向,以保证其能够按照预先规划的路径正常行驶,在柔性、安全性及生产效率等方面,AGV较以往的物流输送设备有着更显著的优势[3]。由于其具有灵活、安全、高效等优点,AGV已广泛应用于汽车制造、烟草行业、仓储物流、电子工业等诸多领域,图1.1展示了应用于不同领域的AGV。
- 应用于仓储物流的AGV (b) 应用于烟草行业的AGV
- 应用于港口运输的AGV (d) 应用于电子工业的AGV
图1.1 AGV在不同领域的应用
控制系统是AGV的核心部分,负责收集、分析和处理指令信息以及外界环境信息,依照预先制订的控制程序、环境及本体模型等进行控制策略的规划和决定,输出控制指令实施相应的行为,AGV只有依靠控制系统,才能实现既定的运动要求[4]。
本文研究的基于CANopen协议的AGV的控制系统,需要使用到控制器局域网络(CAN总线)。数据通信的过程中,CAN总线技术具有诸多优点,如错误处理和数据处理能力强大,自由通信模式灵活等[5]。CAN协议只规定了物理层和数据链路层,需要用户自行定义高层协议。本文使用的CAN高层协议为CANopen协议,该协议的蓝本于1993由Bosch公司提出,经过CiA组织的完善与发展,于1995年发布标准版本,随后在现场总线网络系统中的地位得到极大提升[5]。目前国内对CANopen协议栈的开发尚处于研究阶段,因此,设计以及实现基于CANopen协议的AGV控制系统,有巨大的工业应用和理论研究意义。
国内外研究现状
1.2.1AGV研究现状
20世纪初,美国福特汽车公司设计出了第一台AGV的原型,取代了旧式工业运输机在汽车底盘运输、装配过程中的应用[6]。20世纪中期出现了第一台现代意义的AGV,使用了基于真空管技术的控制器,导引器则是悬在空中的钢丝[7]。同时期,电磁导引AGV开始应用于工业生产,之后陆续被引入了欧洲,美国。20世纪后期,德国研制出世界第一台无人叉车,瑞典开发出激光导引控制系统,首次在AGV控制系统中使用了激光技术[8] [9]。21世纪,比利时在激光导引技术的基础上,结合了惯性导引技术并开发了新型控制系统[10]。
我国的AGV研究尚处于起步状态,但在有限的时间内对AGV的技术研究成果迭出[11]。20世纪后期,我国第一台使用了电磁导引技术的AGV由北京起重机机械研究所负责开发,随后北京邮政科学技术研究所开始将AGV技术应用于邮政行业;20世纪末期,中科院沈自所研发了面向汽车装配的AGV电磁导引系统;当世界最先进的AGV激光导引系统由我国研制成功后,国内领军的AGV企业已达到国际先进水平[12]。
1.2.2CANopen协议研究现状
CAN总线是一种可用于多主工作方式的串行总线,因其可以高效可靠地进行数据通信,由ISO国际组织制订成为国际通用标准[5]。CANopen协议是一种CAN的应用层协议,该协议对特定行业中的设备、接口协议以及应用技术规范进行了标准化[13]。国外主要将CANopen协议应用于各个领域,诸如机床控制器、道路交通、船舶航行、军事技术和太阳能技术等;也有许多公司将CANopen协议应用于房屋建造、过程控制和生产过程自动化等领域,用于工业生产的CANopen的软硬件设备也不断得到更新改进[14]。
刘正瑞等人设计了一种数控手轮的驱动方案,此方案采用CANopen协议进行数据通信,其上位机负责对特定信号进行计数分析然后输出补偿值,以提升手轮工作的可靠性、平稳性和准确性[15]。王好焱等人设计了一种基于CANopen总线的大载荷的车载自动调平系统,设计了电动缸支腿、相关控制系统的软硬件并对调平系统进行了相关研究,实现了能快速精确地车载调平系统[16]。唐会成在将CANopen协议应用于煤矿采掘设备,实现了该电气控制系统中数据的高效传输,优化了系统性能,提升了系统稳定性[17]。
将CANopen现场总线技术应用于AGV小车的控制系统,实现STM32F4微处理器和伺服驱动器之间的CANopen协议下的数据通信,建立相应的CANopen主节点并编写通讯过程程序,对研究应用于AGV的CANopen协议有着重要的意义。
1.3课题研究的目的
本研究的主要目的是将CANopen协议应用于AGV运动控制通信过程,建立基于CANopen协议的AGV的控制系统。搭建STM32F4微处理器和伺服驱动控制器之间的CANopen协议栈,通过CiA-DS402实现伺服电机驱动和运动控制通信,通过观察AGV小车的运动控制效果,来验证设计方案的可行性。
1.4论文主要内容安排
基于CANopen协议的AGV是本文研究对象,本文旨在通过CANopen通信实现AGV小车的运动控制。文章重点介绍了CANopen和CiA-DS402协议,RoBoMaster主控板的硬件原理和软件系统的设计还有实现,实现STM32微处理器和步科伺服驱动器之间的CANopen通信,实时控制AGV运动。
文章有五章,各章研究内容如下:
第一章 介绍了AGV和AGV应用的重要性,说明了基于CANopen协议的AGV使用到的通信总线协议,分析了国内外对AGV和CANopen协议的研究情况,简述了说明书的组成部分。
第二章 介绍了CANopen子协议、通信模型、通信方式,介绍了CANopen的四种通信对象,描述了通信协议的对象和入口,简述了本设计用到的DS-402驱动控制通信子协议。
第三章 进行了STM32F427微处理器关键电路设计,介绍了芯片最小工作系统和内部工作电路原理图,说明了CAN1通信端口转换电路工作过程。
第四章 说明了控制系统的程序构成,对各组成部分如初始化程序、主程序、底层驱动函数进行了详细的说明,给出了主程序流程图,从节点底层配置函数和从节点DS402协议状态机配置底层函数的流程图,简要说明了他们的工作原理。
第五章 总结了设计成果,展望了课题的后续发展。
第2章 CANopen协议分析及方案设计
CAN协议只定义了DSI参考模型的物理层、数据链路层,应用层由用户自定义,下图描述CAN总线模型中物理层、数据链路层和应用层之间的关系以及各层的通信协议。
图2.1 CAN总线DSI网络模型
2.1CANopen子协议
CANopen协议是封装在CAN总线模型中的应用层的通信协议,它定义了通讯子协议及设备子协议。通讯子协议对所有的CANopen设备都适用,它定义了对象词典及其相关通讯子协议中的通讯、对象参数,它还描绘了CANopen通讯对象[14],CANopen通信协议由核心子协议CiA DS301规定,CANopen设备的单位、线束、指示安全和框架等内容由其余的通讯子协议补充规定[18],常用通讯子协议如下表:
表2.1 常用通讯子协议
通讯子协议名 | 子协议内容 |
DS301 | 应用层,通信概述 |
DS303 | 电缆、接线、引脚分配,指示灯规范 |
DS304 | 安全通信架构 |
DS305 | 层设置和相关服务 |
DS306 | EDS文件标准 |
CANopen协议也制订了面向不同行业领域的设备子协议,本设计主要涉及到的设备子协议为DS402,其功能主要面向运动控制。常用设备子协议如下表:
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: