CANopen协议在伺服电机控制系统中的实现

发布者:xi24最新更新时间:2006-07-12 来源: 单片机及嵌入式系统应用关键字:报文  伺服  缓冲器 手机看文章 扫描二维码
随时随地手机看文章

基于现场总线的网络技术的研究是自动化领域发展的一个热点,CANopen协议是目前流行于欧洲的基于CAN总线应用层的标准协议,对工程设计者来说,研究现场总线的核心任务就是对控制节点进行开发,本文就是通过实现伺服电机控制模块的CANopen为协议,说明一个基于CANopen协议的控制网络的组态。

伺服电机控制器在自动控制领域里有着广泛的应用,如纺织机械和印刷机等,为了得到理想的速控效果,伺服电机模块除了要在分辨率、线性程度以及转换速率上达到一定的要求外,还应具有良好的在线可控性和实时在线状态检测功能,为此,利用CAN总线高层通信协议CANopen,结合陕西省教育厅“并条机自调匀整”项目对伺服电机控制模块参数的要求,开发了一个具有硬件可重用性、软件可重配置特点的伺服电机控制模块。

1 CANopen协议概述[1-2]

CANopen协议是由CiA协会针对CAN协议的不完整性而定义出的一个更高层次的协议——应用层协议。一个CANopen设备模块可分为3部分,如图1所示,通信接口和协议软件用于提供在总线上收发通信对象的服务,不同CANopen设备间的通信是通过交换通信对象来完成的。这一部分直接面向CAN控制器进行操作,对象字典描述了设备使用的所有数据类型、通信对象和应用对象,对象字典位于通信程序和应用程序之间,用于向应用程序提供接口,应用程序对对象字典进行操作,即可实现CANopen通信。它包括功能部分和通信部分,通信部分通过对对象字典进行操作实现CANopen通信,而功能部分则根据应用要求来实现。

在CANopen网络系统中每个节点都有唯一的一个对象字典,而且每个节点的对象字典都具有相同的结构,但具体的内容要根据不同的设备而定,包含了描述该设备及其网络行为的所有参数,CANopen协议还定义了4种报文(通信对象),用于对不同作用的信息进行处理,分别为管理报文(NMT)、服务数据对象(SDO),过程数据对象(PDO)和预定义报文或特殊功能对象。具体的CANopen协议内容可参考相关文档。

2 伺服电机模块的硬件实现

伺服电机模块应用Microchip公司生产的带有CAN总线功能模块的主频为40M赫兹的PIC18F258单片机进行控制[3]。根据并条机自调匀整系统对伺服电机的要求(9V-3000r/min,即3mV-1r/min),以及从总线上以1ms为周期发送来的D/A转速控制数据,使用ADI公司的12位AD7243芯片进行D/A转换,它具有300K赫兹转换速率,3种可选择的输出电压,分别是0~+10V、0~+5V和-5~+5V,采用串行端口通信。

图2为硬件电路简图,根据系统需求,设置AD7243电压输出为±5V,将AD7243芯片的ROFS引脚与REFIN引脚相连实现,在AD7243的输出端接有OP07运算放大器,用于调整输出电压到±10V,以控制电机正反方向和调节转速,图中继电器FDLL4148用于控制电机的启动和停止,光耦TL521用于对伺服电机状态采集时的隔离器,为实时了解伺服电机运行状态,根据CANopen协议分别设计了用于指示系统当前状态和错误的LED(绿色和红色)指示灯。J1为与伺服控制器的接口插件。

图2中,在OP07上接有调节零输出偏置电压的可调电位器R3;用ADuM1100高速数字隔离器代替传统的光电耦合器,以降低功耗,提供精确的信号,MCP2551是一种可容错的高速CAN收发器,具有差分发射和接收能力,可将许多节点与同一网络相连接并采用非屏蔽线部署网络,从而降低系统成本。

3 伺服电机模块的CANopen协议实现

(1)CANopen协议实现

伺服电机模块在CANopen网络中作为从节点发挥作用,完成属于自己范围内的特定任务,进行实时数据传输,并对其负责的底层设备进行数据采集和控制,在实现CANopen协议之前,必须先了解它在网络中的具体功能:通过CAN总线接收控制伺服电机的数据(包括转速控制、启动和停止),采样伺服Ready信号和电机当前状态回送到CAN总线。

CANopen协议的核心内容是对象字典,完成各种机器CANopen协议通信的实质是在对象字典的基础上进行操作,通过映射的关系实现对各种报文数据的处理,根据伺服电机模块的功能并结合CANopen协议各类报文的特征,定义了如表1和表2所列的属性。


表1和表2定义的SDO报文和PDO报文分别用于读/写对象字典和传送实时数据,PDO报文映射参数子索引的内容代表PDO报文中各字节的用途,比如:RxPDO报文映射参数子索引0x64110110L指对象字典索引0x6411和子索引0x01,占16位的数据内容,即控制电机转速数据,此外,系统还定义了一个接收NMT报文,用于实现主节点对从结点的组态;一个 Heartbeat(心跳)报文,以5000ms为周期发送,使主节点实时监测从节点状态并在发生错误时及时进行处理。

除了上述用于实现伺服电机模块预定义功能的报文外,还根据CANopen协议的指示灯规范设计了状态(绿色)和错误(红色)指示灯,通过定时器周期性地检查CAN总线状态寄存器和CANopen通信状态标志,设置指示灯的常亮、闪亮和闪烁等状态,可使用户直观地判断当前机器所处的状态,从而提高工作效率,具体的CANopen协议和指示灯规范可以参考相关文档[4]。

伺服电机控制模块的设计是基于CANopen协议对象字典的模块化设计,它可以方便地进行功能扩展,只须修改对象字典中报文映射参数,添加相应的功能模块即可实现。与以往的基于CAN数据传送协议相比,大大提出了系统效率,节约了有限的硬件资源,为功能的扩展和用途的延伸提供了方便。

(2)应用程序流程

伺服电机模块上电以后,根据CANopen协议从节点的性质,系统在进行完初始化参数配置后,发送Boot-up报文通知主节点已进入预操作(preoperational)状态,并在主循环中等待各种类型中断的到来,在预操作状态中,可接收主节点的SDO报文读/写对象字典。比如当无法使DA零点输出偏置电压达到标准值时,可以通过修改对象字典的电压偏置值相来进行调整。NMT报文也可在预操作状态中接收,用于改变节点状态,进入伺服电机模块实时传输PDO报文的操作(operational)状态,开始系统的正常工作,一旦系统进入预操作状态,就会以5000ms为周期发送Heartbeat报文使主节点实时监控伺服电机模块的状态,当从节点发生错误时主节点就可以立刻采取措施,实现实时在线监控的功能,图3为中断程序流程图。

(3)基于PIC18F258微控制器的邮箱动态分配的实现

邮箱动态分配的任务是在不固定某个邮箱具体特性的同时,实现对邮箱中报文作用的判断,通过邮箱的动态分配,可以节约系统资源,提高软件灵活性,便于今后系统扩展。

在系统初始化过程中,实现了邮箱的动态分配,具体方法是:PIC18F258微控制器具有2个接收缓冲器和6个接收滤波器,其中:接收缓冲器0对应于接收滤波器0和1;接收缓冲器1对应于接收滤波器2、3、4和5。通过定义常数标志数组_uCANRxHndls[i](0≤i≤5),依次将要接收的报文COB-ID定义到接收滤波器中,当产生CAN总线接收中断时,根据中断标志寄存器PIR3的Bit0(RXB0IF,接收缓冲器0中断标志位)和Bit1(RXB1IF,接收缓冲器1中断标志位)来判断产生中断的接收缓冲器。

当接收缓冲器0中断时,则有:

_uCAN_ret=*(_uCANRxHndls+(RXB0CON&0x01)) (1)

其中:_uCAN_ret为标识某报文接收中断数组常数标志;接收缓冲器0控制寄存器(RXB0CON)的Bit0为接收滤波器0、1的选择位。

接收缓冲器1中断时,则有:

_uCAN_ret=*(_CANRxHndls+(RXB1CON&0x07)) (2)

其中:接收缓冲器1控制寄存器(RXB1CON)的Bit2-Bit0为接收滤波器2、3、4和5的选择位。

通过式(1)和式(2)可得代表某种报文中断的数组常数标志,实现对接收报文类型的判断,完成邮箱动态分配和相应报文处理。

4 实验验证

为方便实现实验室监测,直观地观察伺服电机模块的工作状态,判断D/A转化的线性特征,使用LabView软件设计了PC监控面板[5],如图4所示。

图4中的amplitude和phase分别用于设置发送正弦波的幅度和相位,正弦波数据以占用两字节的形式发送,结合继电器1和2占用的一个字节组成3字节的TPDO报文,光耦1、2表示从RPDO报文接收到的数据状态,在此监控面板的基础上,使系统的调试更加方便。

在示波器上观察到的D/A输出波形如图5所示,因为D/A输出为瞬间波形,所以在示波器上看到的波形光线只有一部分。此外,由于LabView软件的限制,最高输出数据周期只能达到1ms,因此,在示波器上看到的波形有折线存在,每个转折点代表一个输出点,通过设置相位值来决定转折点的个数,即输出多少个数据来表示一个波形,例如图5中的相位为18,则会输出36个点来表示一个周期波形。将此D/A输出至伺服控制器即可实现对伺服电机的控制,这一点已在现场试验中得到验证。

5 结论

通过对并条机自调匀整系统的其他控制节点采用相同的方法进行CANopen协议开发,实现了网络化的控制系统。除了伺服电机外一个完整的控制系统还应有:主控模块如(DSP或单片机)、PLC模块和键盘显示模块等。和伺服电机模块一样,可将每个控制模块都作为一个节点进行开发。每个节点都有各自的节点ID,所接收和发射的数据在总线上进行交流,通过改变伺服电机控制的低速罗拉转速来调节牵伸倍数,从而达到自调匀整的目的。

自动控制系统的网络化,标准化是现代工业发展的一个必然趋势,将CAN总线应用层协议CANopen应用于该领域有着广阔的应用前景,本文通过将伺服电机控制模块做成符合CANopen协议的标准化装置,并应用于并条机自调匀整系统中,使其具有了即插即用和在线监控特性,增强了设备的可扩展性,提高了数据传输的可靠性。这种基于现场总线应用层标准的协议的开发和使用,对提高系统的工作效率,特别是对复杂系统的研制具有一定的指导意义。

关键字:报文  伺服  缓冲器 引用地址:CANopen协议在伺服电机控制系统中的实现

上一篇:ADSL低噪声前置放大接收器的设计
下一篇:基于PXA255和嵌入式QT的IP视频电话设计

推荐阅读最新更新时间:2024-05-07 15:53

Diodes 公司推出PI6ULS5V9511A I2C/SMBus 缓冲器
Diodes 公司 (Nasdaq:DIOD) 为领先业界的高质量特定应用标准产品全球制造商与供货商,其产品涵盖广泛领域,包括独立、逻辑、模拟及混合讯号半导体市场。该公司今日推出 PI6ULS5V9511A I2C/SMBus 缓冲器,允许于「保持开启」的网络中使用热插入线路卡,且提供各种封装选择。 机架式系统支持使用 PCI/cPCI、VME、AdvancedTCA 等标准的网页服务器、网络、电信产品应用。这些重要系统须维持 99.999% 以上的可用性,因此不允许长时间维护和计划外的停机。热插入可在不关闭电源的情况下插入或拔除线路卡,维持系统运作,因此受到广泛应用;然而,现今敏感、高速的串行通讯汇排流并不支持热插入。
[电源管理]
Diodes 公司推出PI6ULS5V9511A I2C/SMBus <font color='red'>缓冲器</font>
伺服系统组成
由于伺服系统服务对象很多,如计算机光盘驱动控制、雷达跟踪系统、进给跟踪系统等,因而对伺服系统的要求也有所差别。工程上对伺服系统的技术要求很具体,可以归纳为以下几个方面:   ⒈对系统稳态性能的要求;   ⒉对伺服系统动态性能的要求;   ⒊对系统工作环境条件的要求;   ⒋对系统制造成本、运行的经济性、标准化程度、能源条件等 方面的要求。   虽然伺服系统因服务对象的运动部件、检测部件以及机械结构等的不同而对伺服系统的要求也有差异,但所有伺服系统的共同点是带动控制对象按照指定规律做机械运动。从自动控制理论的角度来分析,伺服控制系统一般包括控制器、被控对象、执行环节、检测环节、比较环节等五部分。 伺服系统组成原理框图如图
[嵌入式]
<font color='red'>伺服</font>系统组成
伺服电机接线相序错了会怎么样
伺服电机相序接错的反应 伺服电机的三根动力线如果接错,在静止状态下可能没有报警。但是一旦手动或自 动运转一下电机,电机就会或者猛地蹿动-下,或者开始抖动,如速度加的过高时会跳动,系统出现轮廓误差等报警。 在电机测试时, 不要放在桌子上,-般放在地面比较保险,开机时速度不要调的太高,低速的话,电机-般只是抖动。这样就知电机线接错了,换相试试。 在有的驱动有电位器调节的,参数不对也可能会出现这样的问题,那只有调节电位器参数来修正参数。 电机处于静止时,以安全的方式扳动一下电机轴,正常的情况下,手会感受到电机的静止力矩;而如果电机相序接反,不用费很大的劲就可以扳动电机轴,然后马。上系统报警,且电机失去力矩。 伺服电机接线
[嵌入式]
基于交流永磁同步电机的全数字伺服控制系统
摘要:根据永磁同步电机的数学模型和矢量控制原理,通过仿真和实验研究,开发出一套基于DSP控制的伺服系统,并给出了相应的实验结果验证该系统的可行性。 关键词:永磁同步电机;矢量控制;数字信号处理器 引言 目前,交流伺服系统广泛应用于数控机床,机器人等领域,在这些要求高精度,高动态性能以及小体积的场合,应用交流永磁同步电机(PMSM)的伺服系统具有明显优势。PMSM本身不需要励磁电流,在逆变器供电的情况下,不需要阻尼绕组,效率和功率因数都比较高,而且体积较同容量的异步电机小。近几年来,随着微电子和电力电子技术的飞速发展,越来越多的交流伺服系统采用了数字信号处理器(DSP)和智能功率模块(IPM),从而实现了从模拟控制到数字控制
[工业控制]
利用低成本高速放大器实现灵活的时钟缓冲器
 与典型的时钟缓冲应用相比,消费类电子应用的工作频率较低,需求较少,采用低成本的高速运算放大器(~100MHz带宽)可以提供比传统的时钟缓冲器更具吸引力的替代方案。高速放大器比传统的时钟缓冲器更便宜,同时也能适应更多种类的设计配置。   对于低成本的时钟缓冲器而言,ADA4850 (-1/-2)、ADA4851 (-1/-2/-4)、ADA4853 (-1/-2/-3)和AD8061单电源运算放大器都是很好的选择。这些放大器都具有低电源电压、低电源电流、支持功耗敏感应用的省电模式,以及轨对轨输出等特性,可以实现宽动态范围。   与传统的时钟缓冲器相比,运算放大器的一个优点是具有灵活性。运算放大器可以将时钟脉冲进行缓冲、放大、失调
[电源管理]
利用低成本高速放大器实现灵活的时钟<font color='red'>缓冲器</font>
时光伺服控制器在定长剪切系统的应用
定长剪切系统(钢筋、钢板、钢管、瓦楞纸、保温材料、密封材料等定长剪切设备) 概述: 定长剪切是一个涵盖行业非常广泛的应用领域,在冶金、造纸、包装、纺织、印刷、建材等多种工业场合都有广泛的应用。定长剪切按照工作方式的不同,大体分为:停剪、追剪和飞剪三种。停剪主要依靠进给系统的精确进给确保剪切精度,是静态剪切。追剪和飞剪都是动态剪切,剪切过程要保证位置与速度的双精确。不同的是:追剪有反向回零动作,而飞剪采取位置开关消除单向累计误差。时光伺服控制器以其卓越的位置精度以及高速的响应性被广泛的应用于以上的三种剪切方式中!目前在钢筋、钢板、钢管、瓦楞纸、保温材料、密封材料、龙骨加工等行业都有着广泛的应用。 功能: 时光伺服控制器应用于定长剪切
[嵌入式]
音频缓冲器具低噪声和谐波失真
  美国国家半导体推出一款专业级音频系统缓冲器,具有低噪声及谐波失真。这款型号为LME49600的缓冲器芯片可驱动多个低阻抗耳机,而且电压摆幅也可驱动多个高阻抗耳机。这款缓冲器除了适用于线路驱动器、模拟/数字转换器输入驱动器以及频率范围较广的低噪声稳压器之外,也可用来驱动混频器控制台的耳机放大器输出级以及低功率音频放大器的电容负载。   LME49600芯片具有高保真度,不但对动态范围较广的输入有快速的响应,而且保证可以准确复制这些信号,不会产生任何噪声,令信号失真。这款芯片可提供180MHz的带宽,压摆率达2000V/us,输入参考电压噪声密度为3nV/rtHz。闭环电路配置若采用这款芯片搭配美国国家半导体的LME49710单
[新品]
Trinamic伺服驱动器TMCM-1636—三相BLDC和DC电机的理想平台
现已隶属于Maxim Integrated的TRINAMIC运动控制有限公司宣布推出TMCM-1636。TMCM-1636专为功率高达1000W和60A RMS的驱动器而开发,非常适合用于机器人、实验室和工厂自动化、制造业,病人护理设备(如机动床椅)以及工业驱动器。 通过嵌入Trinamic的TMC4671和TMC6100 集成电路,该新模块可实现高电流环路频率,以最大限度地减小电流纹波,实现具有极高动态特性的强大驱动。通过带有TMCL或CANopen协议的CAN接口进行通信,其中TMCL版本可提供多达1024条独立操作命令的内存。所有这些都可以使用简单直观的TMCL-DIE,Trinamic的免费编程环境进行编程,以便
[工业控制]
Trinamic<font color='red'>伺服</font>驱动器TMCM-1636—三相BLDC和DC电机的理想平台
小广播
最新网络通信文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved