TI中文支持网
TI专业的中文技术问题搜集分享网站

instaSPIN MOTION lab13b 进行位置控制时, 电机定位存在抖动

平台:TMS320F28069M LaunchPad + BOOSTXL-DRV8305EVM

使用的是motorware lab13b例程,编码器为12位(线数4096),电机极对数为14.

更换了自己的电机,在此之前已经用lab2a\2c\12a进行过相关参数识别,并将识别到的参数写入lab13b相关头文件中,现在问题是电机转动一定角度后停下来,会在这个角度来回抖动,也就是稳定精度太差,有时偏差估计会达到10度左右(目测)。电机转动过程中还算是顺畅。通过调整系统带宽#define USER_SYSTEM_BANDWIDTH 宏定义的值会有不同结果:该值太低抖动幅度会变大,但抖动频率较小;该值过高抖动幅度变小,但抖动频率变高,感觉一直在震动一样,该宏定义的值始终调不到一个合适的值。

其他的一些参数也有进行过调整,但始终无法解决定位精度的问题。如USER_PWM_FREQ_kHz、USER_R_OVER_L_EST_FREQ_Hz 等参数;

我想知道这是哪里的问题呢?

Green Deng:

你好,请问你的电机是在转动一定角度后会停下来来回抖动?电机启动的时候会有抖动的情况吗?
另外你这边可以先检查一下接线是否都连接正确

li yh:

回复 Green Deng:

您好!电机启动时无抖动现象。是电机转完一定角度停下来后存在来回抖动。

今天换了个2500线的光电编码器替换原来的12位磁编码器(IIF增量接口输出),同时也修改程序中编码器线数。结果发现将系统带宽值PosCtlBw_raps增大到80左右时,来回抖动几乎消失(肉眼看不出来是否在抖),如将该值调到50或以下时则来回抖动明显。

是12位磁编码器的问题吗?但之前我采用该12位磁编码器+4对极的57BLDC电机组合时却没有出现该问题。

更换不同线数编码器的话是否只需修改USER_MOTOR_ENCODER_LINES 宏定义的值即可?

Green Deng:

回复 li yh:

精确的电机参数(Rs, Ls, Inertia, 和 Friction)和调节控制参数(带宽和控制器的增益)可以提高性能。
相对来说磁编码器在instaSPIN中的应用确实不多,而且算法中的有些参数确实需要多次调整。我建议可以去英文E2E论坛咨询一下这个问题,那边应该是有专门的电机控制工程师为你解答,他们对磁编码器的了解应该会比我更深入一些:
e2e.ti.com/…/171

li yh:

回复 Green Deng:

谢谢!经过实验对比,同样的电机同样的参数,用光电编码器正常,用磁编码器即不正常,后来我发现磁编码器TLE5012B(用的也是增量输出)在电机转向时会有个脉冲滞后,而电机锁定在一个角度时,本身可能会存在一个“抖动”,只是幅度较小,当遇到滞后的连续8个脉冲(200KHz)时,相当于把这抖动幅度放大了,如果不滞后则有可能会提前调回来。

不知我理解是否正确。目前正在解决这脉冲滞后的问题。

Green Deng:

回复 li yh:

主要是我对磁编码器不是很熟,之前碰到的应用几乎没有用磁编码器的案例,所以建议你去英文E2E上咨询看看,英文论坛的电机工程师更加资深一些。

赞(0)
未经允许不得转载:TI中文支持网 » instaSPIN MOTION lab13b 进行位置控制时, 电机定位存在抖动
分享到: 更多 (0)