本文针对伺服电机远程控制接线复杂性、单一性、不稳定性等问题,提出采用开放式通信协议DS301、驱动子协议DSP402实现伺服电机控制的新方法。
前 言
CANopen是一种架构在控制局域网路(CAN)上的高层通讯协定,包括通讯子协定及设备子协定常在嵌入式系统中使用,也是工业控制常用到的一种现场总线。CANopen实现了OSI模型中的网络层以上(包括网络层)的协定。CANopen标准包括寻址方案、数个小的通讯子协定及由设备子协定所定义的应用层。CANopen支援网络管理、设备监控及节点间的通讯,其中包括一个简易的传输层,可处理资料的分段传送及其组合。一般而言数据链结层及物理层会用CAN来实作。除了CANopen外,也有其他的通讯协定(如EtherCAT)实作CANopen的设备子协定。
CANopen由非营利组织CiA进行标准的起草及审核工作,基本的CANopen设备及通讯子协定定义在CiA301中。针对个别设备的子协定以CiA301为基础再进行扩充。如针对I/O模组的CiA401及针对运动控制的CiA402。
针对伺服电机远程控制接线复杂、控制单一、可靠性不高等问题,提出利用CANopen通信协议、驱动子协议实现伺服电机控制的新方法。分析CANopen协议的对象字典和报文格式,详细介绍了CANopen伺服控制状态机各步骤的转换以及实现CANopen协议下PP、PV、HM3钟伺服控制模式的报文设置。利用CAN卡和伺服驱动设备以及伺服驱动设备以及PC机构建了实验平台,在上位机界面通过报文设置成功实现了基于CANopen协议的伺服电机的PP、PV、HM的三种模式的控制。实脸结果表明利用协议的报文设置控制电机简单易操作,通讯数据快速、可靠,用户通过上位机可以很好的实现对伺服电机的监控。
►系统架构搭建
整个控制系统由PC机、CANopen上位机、USBCAN适配器、伺服驱动设备构成。CANopen通讯部分由DS301协议实现,伺服控制部分由DSP402协议实现伺服驱动设备作为的从节点,具有CANopen通讯功能,负责电机的电流、转速、位置等控制对象,它通过通信接口与总线相连,将信息传送给计算机的上位机界面;上位机界面则根据从站的反馈信息通过USBCAN适配器对伺服驱动设备实现控制。如图1所示为开放式通讯协议的伺服控制系统总体架构图。
图1开放式通讯协议伺服控制系统总体架构图
►开放式通讯协议伺服控制原理
1CANopen通讯设备模型
CANopen的设备模型分为以下3个部分:通信单元、对象字典、应用过程。用户可以通过该模型对功能完全不同的设备进行描述。
CANopen的核心概念是对象字典,对象字典包含描述这个设备和它的网络行为的所有参数,应用单元和通信单元都可以问这个参数列表。对象字典中的参数通过一个16位索引和位子索引进行识别和定位。
通信部分由CAN收发器、CAN控制器和CANopen协议栈组成协议栈中定义了实现通讯的通讯对象:NMT(网络管理报文)、PDO(过程数据)SDO(服务数据对象)预定义报文或者特殊能对象(含同步报文、紧急报文、时间标记对象等)通信的所有内容和功能由这些通信对象描述,所有设备之间通信也通过这些通信对象完成。其中NMT用于主站对从站进行状态管理以及从站应答自身所处的通信状态,SDO用于主站对从站的对象字典进行配置和监控。PDO用来传输高速、小型数据。而特殊功能对象则用于同步网络中的通信对象(通常为PDO)的方法。应用部分是对设备的基本功能的定义和描述,它是连接设备与主站上位机的纽带,其核心功能是通过访问设备的对象字典对设备进行参数配置、状态控制和监控,并高速传输设备的过程数据信息。
2伺服控制模式
CANopen驱动及运动控制设备子协议DSP402对特性的描述要求非常准确,它不仅定义了驱动器的运行模式,还定义了用于控制驱动器的状态机。驱动器状态机通过对象字典中的控制字6040来控制,并通过状态字6041来读取驱动器的状态。控制状态机如图2所示。
图2控制状态机图
状态机可以分成以下3个部分:PowerDisabled(主电关闭)、PowerEbabled(主电打开)和Fault。所有状态在发生报警后均进入“Fault”在上电后,驱动器完成初始化,然后再进入SWUTCH_ON_DISABLED状态,在该状态,可以进行CAN通讯,可以对驱动器进行配置。此主电仍然关闭,电机没有被励磁。经过StateTransition(状态传输)2,3,4后,进入OPERATIONENABle此时,主电已开启,驱动器根据配置的工作模式控制电机。StateTransition(状态传输)9完成关闭电路主电。一旦驱动器发生报警,驱动器的状态都进入FAULT。
PP模式(简表位置模式)是典型的定位模式,可通过单步设定与连续设定两种方式控制电机运行到目标位置。PV模式(简表速度模式)是速度控制模式,HM(回零模式)提供多种达到起始位置的方法。
►系统软硬件设计
1系统硬件设计
本文设计采用USBCAN和伺服驱动设备和PC机来搭建硬件平台。伺服驱动控制芯片采用的是DSP的芯片。
系统硬件搭建按以下步骤进行。首先在TI的开发环境中配置好的相关参数,并建立DS301工程项目,完成CANopen协议通信程序的调试运行。项目调试成功之后下载到驱动器中,在上位机界面中设置报文,测试SDO、PDO、NMT等通讯对象。测试结果正确则系统硬件搭建完成。
2系统软件设计
整个伺服控制的软件设计在CCS中建立,主要包括永磁同步电机的闭环控制程序和CANopen协议找的实现两大部分。如图3所示为软件设计流程图。
图3软件设计流程图
初始化部分程序主要完成DSP系统的初始化以及CANopen通讯的初始化。
初始化主要完成的工作如下:
初始化相关变量,使能全局中断,进人伺服电机编码器霍尔传感器反馈UVW三路信号来判断电机初始电角度位置。
初始化通讯的主要完成的工作如下:
设置从站节点地址和CAN通信波特率,初始化各通对象,完成各路的预定义映射,最后进入通信处理程序。
3伺服控制报文设置
CANopen报文结构由11位的COB-ID以及最多8字节的数据域构成。在上位机界面中通过NMT报文设置控制从站进入预作状态或者运行状态,再通过SDO报文设置伺服控制的各个参数(速度、位置等)以及状态机的各个状态可以使电机按照不同控制模式运转起来,最后通过将电机的当前参数映射到PDO中,读取PDO报文的值得到电机当前值,将其与设置值对比得到控制结果的正确性。控制报文全部由SDO实现。
以下为PP模式控制、PV模式控制和HM模式控制报文列表:
1.PP模式控制报文列表
2.PV模式控制报文列表
3.HM模式报文列表
以上三种控制模式报文操作都是首先设置伺服控制模式,然后根据当前模式依次输入相关的目标控制值(如位置、速度、回零方式等),最后按照状态机步骤使用6040h控制电机启动与停止。
►仿真实验
本系统的上位机界面由USBCAN的上位机界面及电机的监控界面两部分构成,其中USBCAN的上位机界面作为CANopen报文数据监控界面,电机的监控界面用VB2008开发。在上位机界面中通信波特率选用1Mbps伺服电机Node-ID设置为1,心跳周期为1s,TPDO发送周期为100ms,同时设置好电机电流环、位置环、速度环的参数,将设置的报文依次输入上位机界面的SDO控制,电机启动并运行到报文中的设定值,电机手动遥控器显示值与设定值一致,同时上位机界面中报文显示值也与设定值一致,成功实现了伺服控制的控制。
1PP模式
电机监控界面中位置控制曲线如下图4所示:
图4电机位置控制曲线
在上位机界面中设置好报文值,电机启动。电机先加速运行,达到设定的目标速度值后开始匀速运行,直至达到设定的目标位置值就不再变化。上位机过程数据与电机监控曲线变化一致。如果需要改变电机的位置值,在上位机界面中依次输人新的控制报文,电机会根据设定值正转或者反转,继续运行到新的位置。
2PV模式
电机首先加速到设定的目标速度值,然后按照设疋值勾速运打。如果需要改变运行的速度,同样可在上位机界面中输人新的速度值,加速时的变化如上所述。减速控制时,电机减速直至速度为则停止。如图5所示为上位机数据变化与电机监控曲线变化一致速度控制曲线。
图5电机速度控制曲线图
3HM模式
电机先加速到设定速度,然后寻找原点位置,找到原点后,电机回零,减速直至这时分别在上位机界面以及电机的手动遥控器伺服电机中査看电机的当前位置值,都可以看到电机的当前设为说明电机回零操作完成。如图6所示为位置控制曲线图。
图6位置控制曲线图
结 论
在实际应用应用过程中,本文所设计的系统运行可靠,数据准确易分析,机先加速运行,达到设定的目标速度值后开始匀速实时性好,协议栈程序易植入。该方法可以扩展适用于多电机控制系统,而且的CANopen通信协议栈适用于所有设备,在工程应用应用领域非常广泛。
-
CAN
+关注
关注
57文章
2742浏览量
463581 -
伺服电机
+关注
关注
85文章
2042浏览量
57789
原文标题:【项目福利】伺服电机远程控制如何实现? 80%的人都不知道
文章出处:【微信号:GKB1508,微信公众号:工控帮】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论