一种EtherCAT电机驱动器与主站时钟的同步方法与流程

文档序号:12490607阅读:2782来源:国知局
一种EtherCAT电机驱动器与主站时钟的同步方法与流程

本发明涉及实时以太网及电机数字控制技术领域,尤其涉及一种EtherCAT电机驱动器与主站时钟的同步方法。



背景技术:

工业现场总线工控产品至今已占据了较大的工控市场份额,并保持逐年上升的势头;其中,EtherCAT现场总线凭借其接线简单、维护容易、主从同步性能好等优点,是最具代表性的工业现场总线;2014年末被中国国家标准化管理委员会认定为GB/T 31230中国推荐的国家工业现场总线标准。

EtherCAT是一种开放的高实时以太网技术,在利用EtherCAT总线技术构建的工业运动控制网络里,主站可实时的发送位置/速度/转矩数据到EtherCAT驱动器从站,利用抖动性极小的同步信号触发位置/速度/转矩数据到每个从站执行。而在这个过程中,EtherCAT从站控制器(ESC)与电机驱动器控制环路的同步准确性直接影响主站与电机驱动器从站之间的同步性能。

传统处理方法,为了实现从站控制器与电机驱动器控制环路的同步,首先需要在电机驱动器的主控制器程序中额外增加两个中断程序,一个是读取实时位置/速度/转矩控制数据的中断,另一个是同步信号的中断;加上电机驱动器本身的PWM控制环路中断,一共是三个中断程序;这三个中断是这种方法得以实现的基础;然后,还需要保证同步信号产生的中断和PWM控制环路中断严格同步(前者的触发时间决定于主站,后者的时钟决定于电机驱动器的主控芯片);这种方法通常用于载有高性能处理器的EtherCAT电机驱动器上。

上述同步方法存在以下缺陷:电机驱动器主控制器MCU软件构架复杂;中断嵌套处理对主控制器MCU性能要求较高;多中断时序管理存在不可控的可能。如果电机驱动器主控芯片处理性能较弱,巨大的软件开销和多中断嵌套控制可能导致其无法负荷,甚至影响其正常运行。

以上背景技术内容的公开仅用于辅助理解本发明的构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。



技术实现要素:

为解决上述技术问题,本发明提出一种EtherCAT电机驱动器与主站时钟的同步方法,极大地降低了主控MCU的负荷,可适用于低性能主控MCU。

为了达到上述目的,本发明采用以下技术方案:

本发明公开了一种EtherCAT电机驱动器与主站时钟的同步方法,所述EtherCAT电机驱动器包括从站控制器和主控MCU,所述主控MCU包括并口模块、同步模块和PWM模块,电机连接所述EtherCAT电机驱动器,所述同步方法包括以下步骤:

S1:所述EtherCAT电机驱动器接收到主站的要求使能指令后,在SYNC同步信号的中断触发时将所述PWM模块的计数器清零;

S2:所述电机使能;

S3:所述主站将所述从站控制器的时钟与所述主站的参考时钟的漂移值发送给所述从站控制器,所述从站控制器根据所述漂移值调整所述PWM模块的周期计数。

优选地,步骤S3中所述主站是以所述从站控制器的同步信号为周期,周期性地将所述漂移值发送给所述从站控制器。

优选地,步骤S3中所述主站周期性地将所述漂移值发送给所述从站控制器后还将所述漂移值写入到所述从站控制器的漂移寄存器。

优选地,所述主站的参考时钟是指网络中第一台具有同步功能的从站控制器的时钟。

优选地,步骤S2具体为:在下一个或多个所述PWM模块的中断信号周期实现电机使能。

优选地,所述PWM模块的周期计数Cp=2*f*Tp,其中f为所述主控MCU的主频,Tp为所述PWM模块的周期。

优选地,步骤S3具体包括:判定所述漂移值Cr与漂移调整阈值Count的关系;

若|Cr|≥1.5Count,则所述EtherCAT电机驱动器报警处理;

若-1.5Count<Cr<-Count,则将所述PWM模块的周期计数Cp增加PT

若-Count≤Cr≤Count,则所述PWM模块的周期计数Cp保持不变;

若Count<Cr<1.5Count,则将所述PWM模块的周期计数Cp减小PT

其中PT为所述PWM模块的每个周期的计数增量。

优选地,所述漂移调整阈值Count≤10。

优选地,所述计数增量PT与所述漂移值Cr成正比例。

与现有技术相比,本发明的有益效果在于:针对电机驱动器采用较低运算性能,特别是中断嵌套及响应性能较弱的主控制器,本发明提出一种高精度的同步方法,巧妙地根据电机使能前和电机使能后两个阶段对同步性能的要求差异来分开处理:电机使能以前,PWM模块并未输出,电机驱动器的主控MCU处于空闲状态,此时对PWM模块的周期计数值作较大范围地调整,而电机使能后,从站控制器根据漂移值调整PWM模块的周期计数,将偏差均匀地补偿到电机控制器的每一个周期中,即在电机使能后PWM模块的周期计数只作微调,使得同步补偿对电机控制器产生的影响降到最低的程度,防止电机失控。而且在现有的同步方法中,电机驱动器的PWM模块输出后,通常需要三个中断(过程数据中断、同步中断和PWM模块中断),中断嵌套及处理需要较多的资源调度也存在不可预见的问题;而本发明的同步方法中在电机使能后只有一个中断,不需要中断嵌套及管理,极大程度地降低了主控MCU的负荷,可适用于低性能主控MCU。

在进一步的方案中,当主站同步偏差过大时,电机驱动器能够预警处理,防止电机误动作。进一步地,还可以根据同步精度要求优化补偿时间和补偿精度,使同步性能和系统稳定性达到最优水平,从而实现EtherCAT主站与EtherCAT电机驱动器网络之间的精准同步。

附图说明

图1是本发明具体实施例的驱动控制系统的结构图;

图2是本发明具体实施例的PWM模块的中断信号和从站控制器的SYNC同步信号的时钟变化图;

图3是本发明具体实施例的EtherCAT电机驱动器上电但电机没有使能之前的处理过程示意图;

图4是本发明具体实施例的步骤S1的具体处理流程图;

图5是本发明具体实施例的同步微调过程示意图;

图6是本发明具体实施例的步骤S3的具体处理流程图。

具体实施方式

下面对照附图并结合优选的实施方式对本发明作进一步说明。

如图1所示,是本发明具体实施例的驱动控制系统的结构图,驱动控制系统包括EtherCAT主站、EtherCAT电机控制器和电机。其中EtherCAT电机控制器包括从站控制器(本具体实施例中采用ET1100的硬件芯片)和主控MCU,主控MCU包括并口模块、同步模块和PWM模块。

图1所示的箭头1为EtherCAT主站与从站控制器之间的实时数据交互,主要完成实时位置/速度/转矩数据交互及网络中分布时钟(DC)的实时补偿;

箭头2为从站控制器与主控MCU之间的并口模块数据交互,主控MCU通过并口模块读取从站控制器来自EtherCAT主站的实时位置/速度/转矩指令,同时从站控制器也通过此模块读取主控MCU存储的电机实时位置/速度/转矩信息,此反馈信息最终被EtherCAT主站获取用于下一次的控制参考,且此通道也作为本发明用于实时读取EtherCAT主站发送给从站控制器的同步漂移信息用于校准主控MCU中的PWM模块的时钟;

箭头3为PWM模块与并口模块的实时数据交互,并口模块从从站控制器获取的实时控制数据(即实时位置/速度/转矩数据)将最终作为PWM模块的输入,同时电机实时位置/速度/转矩信息为PWM模块的输出;

箭头4为主控MCU的并口模块与同步模块的信息交互通道,并口模块实时读取EtherCAT网络的同步漂移信息作为同步模块的输入,同步模块通过实时补偿算法来保证主控MCU与从站控制器同步,最终实现与主站的同步;

箭头5为主控MCU的PWM模块与同步模块的实时数据交互通道,同步模块的校准输出信息将直接作用于PWM模块;

箭头6为从站控制器输出的主站SYNC同步信息,在主控MCU软件中采用查询方法处理,此信号的产生周期与EtherCAT主站配置的同步周期一直。

在EtherCAT工业网络中,由于EtherCAT主站的控制器芯片和每个从站控制器的芯片(例如ET1100)都具有不同的时间基准,德国倍福(EtherCAT总线的发明者)在处理这种情况时,采用的是“粗同步+偏移补偿”的方式来同步EtherCAT主站和所有具有同步能力的从站控制器,这是倍福发明EtherCAT总线的技术核心,这部分主要实现的是图1中EtherCAT主站与从站控制器之间的同步。

本发明的EtherCAT电机驱动器与主站时钟的同步方法是基于EtherCAT主站与从站控制器的同步已经可行的基础上开发的,目的是实现从站控制器与主控MCU的PWM模块之间的时钟同步,从而实现EtherCAT主站与EtherCAT电机驱动器的时钟同步。由于从站控制器和主控MCU的PWM模块使用不同的时钟,EtherCAT电机驱动器长时间运行后,两者之间的时钟相位上会发生变化,如图2所示,Tp为PWM模块的周期,Ts为SYNC同步信号的周期,在系统上电的运行初期,PWM模块的中断信号与从站控制器的SYNC同步信号的相位相差Δt,但是运行时间的推移,两者的时钟相位会由于各自独立的时钟而发生改变,如图2所示在N个周期后两者之间的相位变化为Δt1,如果继续运行相位可能会越来越大,这不仅使得电机控制的位置/速度/转矩数据在某些时期无法实时获取,出现电机抖动问题,也会导致EtherCAT网络中不同的EtherCAT电机驱动器之间无法准确同步。归根结底,本发明的EtherCAT电机驱动器与主站时钟的同步方法是为解决从站控制器和主控MCU的PWM模块的同步问题,实际就是要保证PWM模块的中断信号与从站控制器的SYNC同步信号保持固定的相位关系。

本发明的EtherCAT电机驱动器与主站时钟的同步方法具体包括以下步骤:

S1:电机不使能之前的处理:

如图3所示,在EtherCAT电机驱动器上电但电机没有使能(PWM模块占空比不调节)之前,当主站切换电机驱动器的EtherCAT通讯状态机从预操作到安全操作后,从站控制器开始以主站设定的同步周期产生SYNC同步信号,同步算法此时并不作调整;当电机驱动器接收到主站要求使能指令后,一旦SYNC同步信号的中断触发,电机驱动器立即清零PWM模块的计数器,此时PWM模块重新开始计数,具体处理流程如图4所示。

S2:电机使能:

在将PWM模块的计数器清零后,可以待下一个或多个PWM模块的中断信号周期实现电机使能。

S3:电机使能后的同步偏移微调:

在将PWM模块的计数器清零后,刚开始,EtherCAT从站控制器时钟和主控MCU时钟相位关系是相对固定的,但是随着时间的推移,EtherCAT主站对从站控制器时钟会不断地进行补偿而导致从站控制器时钟发生变化,而且主控MCU的时钟也会由于晶振本身的精度而产生一定的偏移,从而导致从站控制器的时钟与主控MCU的时钟相位会逐渐变化,本发明通过下述步骤来处理这种时钟变化。

由于从站控制器一旦进入同步模式后,EtherCAT主站会定时发送广播读(BRD)命令来判断每个从站控制器的时钟与参考时钟(通常为网络中第一台具有同步功能的从站控制器的时钟)的漂移值,并将该漂移值写入到从站控制器的漂移寄存器中,本发明将漂移寄存器数据作为同步偏移微调的参考。

结合图5所示,具体同步偏移微调步骤为:

判定漂移值Cr与漂移调整阈值Count的关系,

如果|Cr|≥1.5Count,则说明EtherCAT主站同步存在问题,所述EtherCAT电机驱动器报警处理;

如果-1.5Count<Cr<-Count,则说明从站控制器减慢了时钟的运行,为了保持同步,PWM模块计数也要减慢计数,将PWM模块的周期计数Cp增加PT

如果-Count≤Cr≤Count,则说明从站控制器时钟与PWM模块的时钟同步准确性符合要求,此时不需要补偿,PWM模块的周期计数Cp保持不变;

如果Count<Cr<1.5Count,则说明从站控制器加快了时钟的运行,为了保持同步,PWM模块计数也要加快计数,将PWM模块的周期计数Cp减小PT

其中:

漂移值Cr为从站控制器中主站写入的主站时钟与驱动器从站控制器的时钟偏差值;

漂移调整阈值Count的取值由补偿的精度决定,也与主站性能相关,其中Count的取值在10以内从站控制器的同步性能较好;

周期计数Cp为PWM模块的周期Tp下的计数值,Cp=2*f*Tp,其中f为主控MCU的主频,Tp为PWM模块的周期;

PT为所述PWM模块的每个周期的计数增量,取值与漂移值Cr成正比例。

在实际应用过程中,可根据同步精度要求优化补偿时间和补偿精度,使同步性和系统稳定性达到最优水平,从而实现EtherCAT主站与EtherCAT电机驱动器网络之间的精准同步。

具体流程图如图6所示,如果电机驱动器工作在非同步模式下,程序进行其他模式处理模块;当同步模式时,一旦步骤S1完成,将关闭同步中断,同时执行上述的微调算法,执行完微调算法后,程序开始判断是否主站发送过程数据到电机驱动器,如有,则读取数据;然后判断同步信号是否有效,如果有效,则直接将实施过程数据发送到主控MCU(电机控制模块)执行,最后处理驱动器相关的反馈数据到主站。

本发明将同步漂移微调处理的方式具有以下优点:

1、均分偏差,减小PWM模块的周期抖动;具体地,将每个同步周期的偏差用N个PWM周期均匀调整,N=SYNC同步信号的周期/PWM模块的周期;在电机使能后,电机驱动器要保证电机的正确动作,不再进行大范围计数调整,本发明的处理方法是每个同步周期的偏差均分到N个PWM模块的周期中,每个PWM模块的周期只需要进行微小的调整,对电机控制的影响降低到最小。

2、同步信号用查询方式代替中断,经过步骤S1处理后,如果主站同步算法比较稳定,从站控制器和主控MCU之间的时钟相位关系在同步周期内不会发生骤变,可以不再需要同步中断;而相比现有的同步方法中通常存在多中断并存的情况,这样的方式对电机驱动器的主控MCU的性能要求很高,也存在中断嵌套下不确定的因素。

3、及时避免漂移过大可能导致的不安全问题,如有些主站本身存在不稳定的问题,使得不能保证同步性等情况。

本发明的EtherCAT电机驱动器与主站时钟的同步方法巧妙地根据电机使能前和电机使能后两个阶段对同步性能的要求差异来分开处理:电机使能以前,PWM模块并未输出,电机驱动器的主控MCU处于空闲状态,此时对PWM模块的周期计数值作较大范围地调整,而电机使能后,从站控制器根据漂移值调整PWM模块的周期计数,将偏差均匀地补偿到电机控制器的每一个周期中,即在电机使能后PWM模块的周期计数只作微调,使得同步补偿对电机控制器产生的影响降到最低的程度,防止电机失控。而且在现有的同步方法中,电机驱动器的PWM模块输出后,通常需要三个中断(过程数据中断、同步中断和PWM模块中断),中断嵌套及处理需要较多的资源调度也存在不可预见的问题;而本发明的同步方法中在电机使能后只有一个中断,不需要中断嵌套及管理,极大程度地降低了主控MCU的负荷;由于不需要大量的调度资源,代码量少,低性能的MCU也可以满足要求,因此本发明的同步方法可适用于低性能主控MCU。当主站同步偏差过大时,电机驱动器能够预警处理;其它传统的方法无法预判主站同步偏差过大时导致驱动器的不正常动作,此时电机可能会误动作,而本发明中有效避免了这些情况。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1