主题中讨论的其他器件:C2000WARE-MOTORCONTROL-SDK、 TMS320F280039C、TMS320F280025C 、 TMS320F2800137、 LAUNCHXL-F28069M、BOOSTXL-DRV8305EVM
您好!
今天我遇到了一个我以前没有遇到过的奇怪的问题。 我有一款具有14个磁极和12个线圈的定制外转式电机。 它是一款相对较小的电机、可以在我们当前的系统电压(16V)下产生大约0.5Nm 的扭矩。
我曾尝试运行识别算法(实验2c)、但无法在估算器中实现斜升阶段-因此也无法识别磁通和电感。 我尝试了几个电机和几块 PCB、但它们的结果都是一样的。 电机在加速过程中无法旋转、只会产生轻微的振动。 但是、当我转动USER_MOTOR_RES_EST_CURRENT
= 10A 时、它有时会开始旋转、但并不总是如此。 它在斜升结束时也突然停止移动。 不过、系统中的电阻很小、应该不需要这么大的电流即可使其移动。 Rs 值一致估计为0.004-0.007左右。
我觉得这很奇怪、因为我测试的电机与我之前使用 InstaSPIN 的电机并无很大不同。 但是、有一个主要区别:之前的电机的 Rs~=0.058 -高出大约十倍。
我使用了定制 PCB、在该系统电压下、ADC 分辨率很差。 它专为26V 电压而设计、但目前限制为16V
我的问题是: 为什么我无法在开环中运行电机、我该怎么做才能使其工作?
以下是基于类似电机的默认参数:
#define USER_MOTOR_TYPE MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS (7)
#define USER_MOTOR_Rr (NULL)
#define USER_MOTOR_Rs (0.005)
#define USER_MOTOR_Ls_d (9.5e-06)
#define USER_MOTOR_Ls_q (9.5e-06)
#define USER_MOTOR_RATED_FLUX (0.018)
#define USER_MOTOR_MAGNETIZING_CURRENT (NULL)
#define USER_MOTOR_RES_EST_CURRENT (3.0)
#define USER_MOTOR_IND_EST_CURRENT (-3.0)
#define USER_MOTOR_MAX_CURRENT (16.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (76.0)
#define USER_MOTOR_ENCODER_LINES (5.0)
#define USER_MOTOR_MAX_SPEED_KRPM (6.5)
#define USER_SYSTEM_INERTIA (0.121264)
#define USER_SYSTEM_FRICTION (0.30)
#define USER_SYSTEM_BANDWIDTH_SCALE (20)
#define USER_ENC_SAMPLE_PERIOD \
(USER_ISR_FREQ_Hz / USER_NUM_PWM_TICKS_PER_ISR_TICK) / \
(USER_MOTOR_MAX_SPEED_KRPM * 1000 / 60 * 2)