超级先进的现场总线技术之神奇实践如何通过CANopen实现远程控制伺服电机开启无缝伺服控制新纪元

  • 天文图吧
  • 2024年12月21日
  • 1、引言 针对伺服电机远程控制面临的复杂接线、单一控制方式和可靠性问题,我们提出了一种基于CANopen通信协议和驱动子协议的新方法来实现伺服电机的控制。我们详细分析了CANopen协议中的对象字典和报文格式,并介绍了在CANopen环境下的PP、PV、HM三种模式的伺服控制状态机及其实现。通过搭建实验平台,利用CAN卡、伺服驱动设备及PC机构

超级先进的现场总线技术之神奇实践如何通过CANopen实现远程控制伺服电机开启无缝伺服控制新纪元

1、引言

针对伺服电机远程控制面临的复杂接线、单一控制方式和可靠性问题,我们提出了一种基于CANopen通信协议和驱动子协议的新方法来实现伺服电机的控制。我们详细分析了CANopen协议中的对象字典和报文格式,并介绍了在CANopen环境下的PP、PV、HM三种模式的伺服控制状态机及其实现。通过搭建实验平台,利用CAN卡、伺服驱动设备及PC机构,我们成功地通过上位机界面实现了基于CANopen协议的伺服电机控制。

2、系统总体架构

整个控制系统由PC机、CANopen上位机、USBCAN适配器以及伺服驱动设备组成。其中,CANopen通讯部分采用DS301协议,而伺服控制部分则使用DSP402协议。作为从节点,伺服驱动设备具备CANopen通讯功能,它通过通信接口与总线相连,将信息传送给计算机上的上位机界面;上位机界面则通过USBCAN适配器对伺服驱动设备进行控制。

3.CANopen伺服控制原理

1) CANopen通讯设备模型

在此模型中,我们将设备分为通信单元(Communication Unit)、对象字典(Object Dictionary)以及应用过程(Application Process)。用户可以利用这个模型描述完全不同功能的设备。核心概念是对象字典,它包含描述该设备及其网络行为参数的一系列数据项,这些参数可以被应用单元和通信单元访问。此外,对象字典中的每个参数都有一个16位索引和8位位置索引用于识别定位。

2) 服务数据对象 (SDO) 和过程数据对象 (PDO)

SDO用于主站对从站配置或监控其操作指令,而PDO则用于高速、小型数据传输,如同步网络中的PDO传输。在我们的设计中,我们主要使用SDO来设置并获取相关参数,以及 PDO 来高速传输过程数据信息。

3) 服务特征 (Service Characteristics)

根据需要,可以定义特殊功能,如同步报文以确保所有节点同时处理同一事件,或紧急报文以应对紧急情况等。此外,还有时间标记对象用作时间戳,以便追踪消息发送顺序或时间间隔。

系统软硬件实现

系统硬件搭建:

首先,在TI开发环境中配置好相关参数并建立DS301工程项目,然后完成CANOpen通信程序调试运行。一旦调试成功,该程序将下载到驱动器中,上位机会设置正确的报文测试SDO/PDO/NMT等通讯对象。如果测试结果正确,则表示硬件搭建已经完成。

系统软件设计:

软件设计主要包括永磁同步电机会话闭环 控制程序与 CANOpen 通信两大部分。在CCS开发环境下建立项目,其中初始化部分负责DSP系统初始化以及启动编码器霍尔传感器反馈UVW三路信号读取初始角度位置;而初始化通讯涉及设置从站节点地址及波特率,初始化各类通道,以及预定义映射至最后进入通信处理程序。

服务器报告设置:

PP模式:简易位置模式,可通过单步设定或连续设定使电机关于目标位置。

PV模式:速度模式,为精确速度控室提供支持。

HM回零模式:提供多种达到起始位置方法。

对于每个模式,都会首先设置相应工作状态,然后依次输入目标值,最终按照状态转换步骤使用6040h开始/停止电流循环以实施命令执行。这涉及到多个不同的报文结构,每种类型都有其独特需求,比如PP/HM需关注的是PID放大因子P, I, D, 而PV则更侧重于速度反馈值V.

验证实验:

验证阶段涉及创建两个关键界面:USBCAN上的监控窗口与自定义VB2008脚本制作的一个图形化用户界面。在USBCAN监视窗口里,可以看到实时更新的情况。而在自制图形化UI中,你可以直接调整各种变量,并且看到即时变化效果。当你改变这些数值后,对应变量也会发生改变。这是一个非常强大的工具,因为它允许你不仅能查看当前情况,还能直接影响它,使得实际操作更加直观有效。但如果想要更进一步的话,就需要把这个东西放到生产环境或者其他可能遇到的场景去做一些深入探究。