一种伺服驱动器绝对位置和速度检测方法技术

技术编号:30331070 阅读:35 留言:0更新日期:2021-10-10 00:35
本发明专利技术公开了一种伺服驱动器绝对位置和速度检测方法,能够降低电路设计复杂性和硬件成本,减少CPU计算任务,提高伺服电机控制的实时性。本发明专利技术使用带有控制率加速器CLA的DSP,通过串行SPI总线半双工方式与ENDAT绝对值编码器通信;采用双周期电流环控制策略,有效提高转矩响应;为保持转子位置采样与矢量控制任务同步,采用ePWM4模块的上升和下降计数的比较匹配中断来触发CLA任务,在CLA任务中按照ENDAT协议使用SPI读取编码器转子位置;对转子位置进行相位补偿,更精确地进行转子磁场定向控制;使用环形缓冲区存储转子位置采样值,使用当前拍采集的编码器位置与缓冲区当前指针对应的位置的差值经过定标和低通滤波后作为速度反馈进行速度环运算,实现速度控制。实现速度控制。实现速度控制。

【技术实现步骤摘要】
一种伺服驱动器绝对位置和速度检测方法


[0001]本专利技术涉及一种伺服驱动器绝对位置和速度检测方法,具体地说是一种用于使用绝对值编码器的伺服系统中电机转子位置和速度检测的电路设计和计算方法。

技术介绍

[0002]绝对值编码器具有“断电记忆”功能、无旋转测量积累误差、灵活的可编程特性、更好的抗电噪声性能以及极高的位置分辨率等众多优秀的特点,在高精度伺服控制系统中得到了广泛的应用。目前大多数绝对值编码器(以最常见的德国海德汉HEIDENHAIN绝对值编码器为例)使用同步串行格式传输编码器数据,也就是ENDAT接口协议。这是一种半双工的同步串行通讯协议,必须在通信过程中改变通信的方向,因此常用的SPI串行通信DMA直接存储器访问的方式不能处理该通信,使用CPU操作SPI串行通信又会占用CPU的执行周期,导致CPU负载上升,实时性变差,可能会导致伺服系统的动态响应和精度变差。为了解决这个问题,现有的方案通常使用外部扩展CPLD或FPGA来处理编码器信号,主CPU使用并行通信方式与CPLD或FPGA通信获取编码器数据,但是这种方式又增加了电路设计复杂性和硬件成本。
[0003]为了解决该问题,本专利技术提出了一种基于CLA(控制率加速器)的绝对值编码器位置和速度采集解决方案。使用带有CLA的DSP作为主控CPU执行伺服电机实时控制任务,CLA作为协处理器操作SPI同步串行通信与ENDAT绝对值编码器通信,并进行相位补偿和速度定标计算,整个过程无需CPU参与,因而即简化了电路设计,节省硬件成本,又提高了伺服系统的实时性,具有实际的应用价值。

技术实现思路

[0004]本专利技术的目的在于提供一种测量精确,实时性高,计算量小,电路设计简单的伺服驱动器位置和速度检测方法,用于伺服系统的绝对值编码器位置检测和速度检测,实现位置和速度反馈。与现有技术相比,本专利技术使用串行通信直接与ENDAT编码器接口,节省电路设计的成本和PCB面积;使用DSP芯片的CLA处理与编码器的接口任务,完全不用中断主CPU的控制任务,因此电机控制的实时性更强;采用循环缓冲区的方式存储转子位置并计算转速,大大减少了计算量,减轻CPU的负载,提高了系统的实时性。
[0005]为实现上述目的,本专利技术采取的技术方案如下:
[0006]一种伺服驱动器绝对位置和速度检测方法,该方法包括以下步骤:
[0007](1)使用带有控制率加速器CLA的DSP芯片,通过串行SPI总线半双工方式与ENDAT绝对值编码器通信,并采用数字信号隔离,简化电路硬件设计;
[0008](2)在DSP中使用ePwm模块1~3生成SVPWM空间电压矢量波形,ePwm模块4与ePwm模块1~3时钟同步,使用ePwm4模块中断触发CLA任务;在CLA任务中使用SPI模块与ENDAT绝对值编码器通信,获取电机实时位置;
[0009](3)为了进行更加准确的转子磁场定向(FOC)控制,在矢量控制坐标变换环节使用
以下公式对电机转子位置进行补偿:
[0010][0011]其中,ΔPos=Pos
(i)

Pos
(i

1)
表示两次采样之间的位置误差;T
prd
表示PWM周期,单位为时钟个数;T
read
表示CLA通过SPI读取电机转子位置所需时间,单位为时钟个数;
[0012](4)在CLA中,使用环形缓冲区存储电机转子位置采样值,环形缓冲区的长度代表了计算速度时的时长,使用当前拍采集的编码器位置与缓冲区当前指针对应的位置的差值经过定标和低通滤波后作为速度反馈进行速度环运算,实现速度控制。
[0013]进一步地,伺服驱动器的矢量控制采用双周期电流环控制策略,有效提高转矩响应,具体为:在PWM的周期中断和下溢中断中均触发ADC进行定子电流采样,在ADC采样结束后触发ADC转换结束中断,在该中断响应函数中运行矢量控制策略。
[0014]进一步地,为保持转子位置采样与矢量控制任务同步,采用ePwm4模块的上升和下降计数的比较匹配中断来触发CLA任务,在CLA任务中按照ENDAT协议使用SPI读取编码器转子位置。
[0015]进一步地,所述ENDAT绝对值编码器可以为旋转变压器、Sin/Cos编码器或BISS编码器。
[0016]进一步地,所述ePwm模块4与ePwm模块1~3保持时钟和相位同步,且ePwm模块4的比较寄存器的值设置如下:
[0017]CMPA=T
prd

T
read
+t2[0018]CMPB=T
read

t2[0019]其中,T
prd
是载波周期,t2是ADC采样时间加中断延时,T
read
是CLA通过SPI读取电机转子位置所需要时间,即CLA任务的执行时间;CMPA为上升沿的比较数值,CMPB为下降沿的比较数值。
[0020]进一步地,速度定标和低通滤波公式如下:
[0021][0022]V
i
=(1f_k1*V
i
‑1+1f_k2*V
rpm
)>>14
[0023]其中,ΔP为在计算周期内转子转过的圈数,2
u
代表编码器为u位;f
s
为DSP的时钟频率,单位为兆赫;T
prd
为PWM周期,单位为时钟个数;K为环形缓冲区的长度;V
rpm
为当前拍计算的转速;Vel
Norm
为转子位置变化量到转速变换的定标系数;V
i
为当前拍经过低通滤波的转速;1f_k1,1f_k2为低通滤波系数,可根据下式确定:
[0024]1f_k1=(2
14
*2
14
)/(1f_Hz+2
14
)
[0025]1f_k2=2
14

1f_k1[0026]其中,1f_Hz为低通滤波器的截止频率。
[0027]进一步地,DSP的ePwm4模块与CLA相连,使用ePwm4模块的上升计数匹配CMPA和下降计数匹配CMPB事件触发CLA任务,CLA与外设SPI模块相连,负责操作SPI总线与ENDAT编码器通信,同时控制一个IO端口切换数据传输的方向;SPI模块的相应管脚与数字隔离收发芯片连接,分别将时钟信号和数据信号由TTL电平转换为RS485电平信号,以提高传输距离和抗干扰能力;数字隔离收发芯片需要使用隔离电源模块供电;数字隔离收发芯片与ENDAT编码器连接,按照ENDAT协议从编码器中读取转子位置。
[0028]进一步地,在CLA任务中,首先设置SPI的方向为发送,并发送读取位置模式指令,编码器锁存当前的转子位置,经过T
cal
计算时间后,设置通信方向为接收,从编码器中读取当前转子位置,整个过程需要的时间计算如下:T
...

【技术保护点】

【技术特征摘要】
1.一种伺服驱动器绝对位置和速度检测方法,其特征在于,包括以下步骤:(1)使用带有控制率加速器CLA的DSP芯片,通过串行SPI总线半双工方式与ENDAT绝对值编码器通信;(2)在DSP中使用ePwm模块1~3生成SVPWM空间电压矢量波形,ePwm模块4与ePwm模块1~3时钟同步,使用ePwm4模块中断触发CLA任务;在CLA任务中使用SPI模块与ENDAT绝对值编码器通信,获取电机实时位置;(3)对电机转子位置进行补偿,公式如下:其中,ΔPos=Pos
(i)

Pos
(i

1)
表示两次采样之间的位置误差;T
prd
表示PWM周期,单位为时钟个数;T
read
表示CLA通过SPI读取电机转子位置所需时间,单位为时钟个数;(4)在CLA中,使用环形缓冲区存储电机转子位置采样值,环形缓冲区的长度代表了计算速度时的时长,使用当前拍采集的编码器位置与缓冲区当前指针对应的位置的差值经过定标和低通滤波后作为速度反馈进行速度环运算,实现速度控制。2.根据权利要求1所述的方法,其特征在于,伺服驱动器的矢量控制采用双周期电流环控制策略,有效提高转矩响应,具体为:在PWM的周期中断和下溢中断中均触发ADC进行定子电流采样,在ADC采样结束后触发ADC转换结束中断,在该中断响应函数中运行矢量控制策略。3.根据权利要求1所述的方法,其特征在于,为保持转子位置采样与矢量控制任务同步,采用ePwm4模块的上升和下降计数的比较匹配中断来触发CLA任务,在CLA任务中按照ENDAT协议使用SPI读取编码器转子位置。4.根据权利要求1所述的方法,其特征在于,所述ENDAT绝对值编码器可以为旋转变压器、Sin/Cos编码器或BISS编码器。5.根据权利要求1所述的方法,其特征在于,所述ePwm模块4与ePwm模块1~3保持时钟和相位同步,且ePwm模块4的比较寄存器的值设置如下:CMPA=T
prd

T
read
+t2CMPB=T
read

t2其中,T

【专利技术属性】
技术研发人员:孙志锋马风力
申请(专利权)人:杭州力超智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1