This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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

Other Parts Discussed in Thread: BOOSTXL-DRV8305EVM, TMS320F28069M, MOTORWARE

平台: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 等参数;

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

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

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

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

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

  • 精确的电机参数(Rs, Ls, Inertia, 和 Friction)和调节控制参数(带宽和控制器的增益)可以提高性能。
    相对来说磁编码器在instaSPIN中的应用确实不多,而且算法中的有些参数确实需要多次调整。我建议可以去英文E2E论坛咨询一下这个问题,那边应该是有专门的电机控制工程师为你解答,他们对磁编码器的了解应该会比我更深入一些:
    e2e.ti.com/.../171
  • 谢谢!经过实验对比,同样的电机同样的参数,用光电编码器正常,用磁编码器即不正常,后来我发现磁编码器TLE5012B(用的也是增量输出)在电机转向时会有个脉冲滞后,而电机锁定在一个角度时,本身可能会存在一个“抖动”,只是幅度较小,当遇到滞后的连续8个脉冲(200KHz)时,相当于把这抖动幅度放大了,如果不滞后则有可能会提前调回来。

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

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