超级先进的现场总线技术特点实现远程控制伺服电机的神奇CANopen模式
针对伺服电机远程控制的创新方案:基于CANopen协议的高效可靠伺服控制模式实现
引言
为了解决伺服电机远程控制中的复杂接线、单一控制方式和可靠性问题,提出了一种利用CANopen通信协议和驱动子协议的新方法。文章详细分析了CANopen协议的对象字典和报文格式,并介绍了在CANopen环境下实现PP、PV、HM三种钟伺服控制模式所需的报文设置。通过搭建实验平台,成功实现了基于CANopen协议的伺服电机控制。
系统总体架构
整个系统由PC机、上位机软件、USBCAN适配器和伺服驱动设备组成。其中,CANopen通讯部分采用DS301协议,而伺ерв控部分使用DSP402协议。伺服驱动设备作为从节点具备CANopen通讯功能,将信息传送给计算机上的上位机界面,上位机则通过USBCAN适配器对从站进行控制。
CANopen伺服控制原理
a. CANopen通讯设备模型
可以将任何类型的设备描述为包含三个部分:通信单元(网络管理)、对象字典(参数集合)和应用过程(操作流程)。用户可以通过这个模型来描述不同功能完全不同的设备。
b. 服务数据对象(SDO)
SDO用于主站与从站之间进行配置和监控,可以访问对象字典中的参数并进行修改或读取。
c. 过程数据对象(PDO)
PDO用于高速、小型数据传输,如实时传递过程数据到主站。
d. 网络管理(NMT)
NMT用于主站在向从站在发送命令以及查询其状态,以及处理来自从站的一些应答消息。
e. 特殊功能对象(FOx)
包括同步报文(SYN)、紧急停止(STOP)及时间标记(TM)等,以便于网络中其他设备能够协调其行为以保持同步或响应紧急情况。
服务器状态转换图
5-7步骤分别代表:
PowerDisabled 主电关闭阶段。
PowerEnabled 主电打开阶段,但尚未进入运行状态。
Fault 报警阶段。
PreOperational 预启动准备阶段,其中包括初始化及检查环节。
Operational 运行状态。在这一步骤中,根据配置工作模式开始实际运动。
8步骤是关闭操作,当检测到故障时会直接跳入Fault状态。此外,每个新的启动都会先经过PreOperational,然后才能进入Operationenabling phase.
6.PP(HOMING), PV(Velocity Control), HM(Homing Mode)
PP: 定位模式,可分为两种设定方式—连续设定与单步设定;PV:速度模式;HM:回零模式提供多种达到起始位置方法
7.SOFTWARE DESIGN AND IMPLEMENTATION
硬件搭建主要涉及以下步骤:
在TI开发环境中配置好相关参数并建立DS301工程项目完成CANOpen通信程序调试运行;
下载到驱动器中,在上位机界面测试SDO/PDO/NMT等通讯对象测试结果正确,则系统硬件搭建完成;
软件设计主要包括永磁同步电机闭环控制程序与CANOpen protocol implementation两个部分,
初始化:
完成DSP系统初始化以及CANOpen通讯初始化;
通信处理:
设置从节点地址及波特率;
初始化各类通用报告;
完成预定义映射;
最后进入通信处理程序;
3.Pseudo Code of SDO Command Structure:
SdoCommand = {
COB_ID : {
DTC : [DTC_1, DTC_2, ...],
PDO : [PDO_1, PDO_2, ...]
}
}
COB_ID 是一个11-bit值,它指示这条消息属于哪个特定的服务请求或者响应。如果该字段是一个有效值,它就表示这是一个标准化请求/响应,这样的话DTC就应该被忽略,而PDO则需要被解析。但如果它不是一个有效值,那么DTC应该被解析,而PDO应该被忽略。这意味着每条消息都有可能包含多个DTC,但是只有最大的那个会得到执行,并且只有一次 PDO 会得到执行,如果存在多个相同大小的事务,那么最后一次的事务将会生效。