Post Go back to editing

如何提高TMCM-1640驱动无刷电机时的闭环控制转速稳定性

Category: Hardware
Product Number: TMCM-1640

一、实现目标与当前问题

使用TMCM-1640进行无刷直流电机转速控制,期望

转速误差 =(实际转速-目标转速) / 目标转速

的计算结果能够降低在1%以下,甚至达到0.1%~0.3%,并能够长时间保持稳定。

当前的调试结果无法达到这个要求,实际转速达到目标转速后,存在一个难以消除的波动区间。因此想询问如何减小这个波动区间以提高转速稳定性。

 

二、基础参数介绍

1.电机类型:无刷直流电机

2.电机极对数:1

3.反馈输出器件:电机自带霍尔传感器、增量式编码器(4000PPR

4.驱动器及固件版本:TMCM-1640V2.11

5.调试软件及版本:TMCL-IDE4.9.0

 

三、现象描述与问题

1、使用TMCM-1640进行速度控制时,实际转速到达目标转速后,实际转速存在一个固有的波动范围。修改电流环PI参数(#172P parameter for current PID#173I parameter for current PID)和电流环调节时间(#134Current regulation loop delay )、速度环PI参数(#234P parameter for velocity PID#235P parameter for velocity PID),速度波动范围并不会发生明显变化,也和设置的目标转速的的大小无明确相关性。仅当修改速度环调节时间(#133PID regulation loop delay )时波动范围会改变,关系为波动范围随速度环调节时间的增大而减少。测试数据见图表1-1、图表1-2、图表1-3。

目前速度环调节时间已经是该参数可设置的最大值(10ms),但转速精度无法达到要求。

除了电流环和速度环各自的PI参数、调节时间外,还可以修改哪些参数以提高转速精度?

 

2、关于电流环的调参方式,TMCM-1640中提出:其余PI参数置零,从小到大提高电流环的比例参数P,直到实际电流(#150Actual motor current)到达目标电流(#155Target current )的50%,再调节积分参数I。而实际调节中,当P增大到一定数值时,电机转动,实际电流发生变化,曲线呈正弦波的形状,无法到达目标电流的50%。测试图表见2-1。

有资料指出,电流环的PI参数可通过计算求出,与电机的电感、电阻、带宽有关,且调参时电机不会转动。

请问TMCM-1640的电流环能否通过计算求得PI参数?调参过程中电机转动时否是正常现象?

此外,请问是否能提供更为详细的TMCM-1640模块PID调参手册?

 

3、当使用编码器作为反馈驱动无刷电机时,需要对编码器/电机进行初始化(ENCODER / INITIALIZATION SETTINGS),但TMCM-1640的固件手册中并未提供详细的初始化步骤,对于初始化相关参数的描述也较为简单,导致使用时会出现初始化失败或初始化错误的情况。

请问能否提供具有详细编码器初始化步骤的手册或资料?

此外,当使用编码器作为反馈时,得到的速度波动范围反而比使用霍尔的更大,见图表3-1。根据相关经验,更高的分辨率应该能够得到更精确的控制精度,请问这是否是初始化错误造成的?还是有其他原因?

 

4、请问贵公司是否有使用TMCM-1640进行速度闭环控制的实例?如果有,请问能达到怎样的控制精度?能否提供达到该精度时的TMCL程序和硬件信息

 

5、能否提供TMCM-1640的硬件电路原理图?

 

附录

图表1-1 基于霍尔时的波动范围、不同速度下的波动范围对应的速度-时间曲线

1540RPM时的整体、局部速度-时间曲线

 

2)不同速度下局部的速度-时间曲线

结论:虽然实际速度的波形各不相同,但波动范围都大致为±25RPM,该波动范围与目标速度的大小无关。

 

目标速度/RPM

局部的速度-时间曲线

540

1000

1500

2000

 

图表1-2 修改电流环、速度环PI参数对波动范围的影响

结论:修改双环的PI参数只会对速度-时间曲线的走向产生影响,比如响应时间、超调量等,并不会减小波动区间。

 

以下是测试数据:

双环PI参数

速度-时间曲线

P_Current = 500,I_Current = 70P_Velocity = 300I_Velocity = 100

P_Current = 500,I_Current = 70P_Velocity = 300I_Velocity = 200

P_Current = 500,I_Current = 70P_Velocity = 200I_Velocity = 200

P_Current = 500,I_Current = 70P_Velocity = 100I_Velocity = 200

P_Current = 500,I_Current = 70P_Velocity = 400I_Velocity = 200

 

P_Current = 500,I_Current = 20P_Velocity = 300I_Velocity = 200

P_Current = 500,I_Current = 100P_Velocity = 300I_Velocity = 200

P_Current = 100I_Current = 70P_Velocity = 300I_Velocity = 200

 

图表1-3 双环调节时间与波动范围的关系

结论:电流环调节时间不会影响波动范围,增大速度环调节时间可以减小波动范围,但该值设为最大值(10ms)时仍无法符合要求。

下面是测试图表

双环调节时间

速度-时间曲线

T_ Current=10*50μs

T_Velocity=10 ms

T_ Current=10*50μs

T_Velocity=5 ms

T_ Current=10*50μs

T_Velocity=1 ms

T_ Current=5*50μs

T_Velocity=10 ms

T_ Current=2*50μs

T_Velocity=10 ms

 

 

图表2-1 电流环调参时的电流-时间曲线

电机状态

电流-时间曲线

未转动

转动

 

图表3-1 使用编码器作为反馈时的速度-时间曲线

Thread Notes

Parents Reply Children
No Data