主题中讨论的其他器件: DRV8316REVM、 C2000WARE、 LAUNCHXL-F280049C、 BOOSTXL-DRV8320RS、 DRV8316、 DRV8323、 MOTORWARE、 DRV8320
我正在为具有磁性轴向悬架的非常小的定制 PMSM 泵电机开发无传感器 FOC 驱动器。 我已将 LAUNCHXL-F280025C 连接到 DRV8316REVM、我正在尝试遵循通用电机控制实验室文档(SPRUJ26)。 我已经完成了第3步的所有工作、该步骤使用闭环控制、但使用通用斜坡发生器作为角度信号、而不是使用 FAST 或 eSMO 角度估算方案。 使用构建3、泵旋转正常。 我将 IQD_SET_A 设置为0.5、以将驱动电流降低至170mA 左右、一切看起来都很棒。 估算器波形似乎正确。 下面是数据记录图输出、其中强制角发生器位于顶部、估算器位于底部:
motorVars_M1.speed_Hz 确实能够很好地跟踪 speedRef_Hz 并保持在几 Hz 以内。 以下是驱动波形的示波器捕获、其中前三个通道位于三个电机相位上、而红色通道是电流探针上的夹子:
在这里、电机以350Hz 电气频率(10500 RPM)运行。 它不是很正弦-这是个问题吗? 如果是、我应该调整什么?
我 的 user_mtr1.h 设置为:
#define USER_MOOST1_RR_Ohm (5.7)//测得的直流电阻相间
#define USER_MOOST1_Rs_Ohm (5.7)
#define USER_MOALE1_LS_D_H (0.000223)//测得的 L 系列相间相位
#define USER_MOH1_LS_q_H (0.000223)
#define USER_MOALE1_RATed_VACK_VpHz (0.04)//
#define USER_MOALE1_FREQ_LOW_Hz (100.0f)// Hz
#define USER_MOOST1_FREQ_HIGH_Hz (800.0f)// Hz
#define USER_MOOST1_VOLT_MIN_V (16.0f)//电压
#define USER_MOOST1_VOLT_MAX_V (24.0f)//电压
测量 R 和 L 值、并通过试验和误差计算磁通值、直到估算器和速度读数看起来正确。 我包括了 V/f 比值、尽管我很确定它们对于闭环驱动没有影响。
基于所有这些、我似乎准备继续构建4、其中使用了角度估算器。 但是、当我运行构建4时、驱动器会到处运行。 它在不同的驱动电平之间不断抖动、示波器上的波形变得疯狂。 消耗大约1.5A。 这对我来说是有道理的、因为据我所知、它直接依赖于估算的转子角度、而不是先在开环中旋转。 对吗? 在电机已经旋转之前、估算角度是否无用? 我的印象是、在切换到闭环操作之前、任何 FOC 方案都必须经过对齐和开环旋转。 此代码中是否有相关规定?
编辑:
在这里的论坛上搜索时、我 遇到 了这篇文章 、其中提到了作为一个因素的电机的 R/L 比率。 对于我的电机、比率为5.7/0.000223 = 25560。 我认为这将其限定为"低电感"电机、因此需要更高的 PWM 频率(以及控制频率?)。 它似乎是在 user_mtr1.h 中设置的:
//! \brief 定义脉宽调制(PWM)频率、kHz
//!
#define USER_M1_PWM_FREQ_kHz ((float32_t)(60.0f)
#define USER_M1_PWM_TBPRD_NUM (uint16_t)(USER_SYSTEM_FREQ_MHz * 1000.0f / USER_M1_PWM_FREQ_kHz / 2.0f)
我发现、您还必须更改 USER_M1_NUM_PWM_TICKS_PER_ISR_TICK、以便 ISR 不会尝试太快地运行。 我将其设置为3、将 PWM 频率设置为100kHz、这意味着 ISR 控制环路频率从30kHz 略微增加到33.3kHz、两者都高于我的25560 R/L 似乎没有任何变化。 第3步仍然正常、第4步仍然疯狂。 我在步骤4中尝试了自动电机参数识别、它的值为 R=15.29、L=9.99e-07、磁通量=2.95、R/L ~ 15000。 当我跑完跑步时仍然很疯狂。
编辑2:
我是否甚至使用了正确的实验室指南? 查看 motorcontrol SDK 文件、我会看到 一 个名称类似但完全不同的实验指南、位于 C:\ti\c2000Ware_MotorControl_SDK_4_00_00_00\solutions\con\sensorless_focs\docs\labs\MotorControl SDK InstaSPIN Lab Guide.pdf。 从内部来看、它似乎仅支持我拥有的 LAUNCHXL-F280049C 和 我没有的 BOOSTXL-DRV8320RS。 是否可以让该实验与我使用的 DRV8316配合使用? 我应该尝试遵循哪一个实验室指南? 其他论坛帖子似乎引用了该实验指南、而不是我使用的"通用"指南。 GUI 有什么关系? 我有点困惑。