ZHCUBZ5A September   2021  – April 2024

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2电机控制理论
    1. 2.1 PMSM 的数学模型和 FOC 结构
    2. 2.2 PM 同步电机的磁场定向控制
    3. 2.3 PM 同步电机的无传感器控制
      1. 2.3.1 具有锁相环的增强型滑模观测器
        1. 2.3.1.1 PMSM 的 ESMO 设计
        2. 2.3.1.2 使用 PLL 的转子位置和转速估算
    4. 2.4 电机驱动器的硬件必要条件
      1. 2.4.1 电机相电压反馈
    5. 2.5 额外的控制特性
      1. 2.5.1 弱磁 (FW) 和每安培最大扭矩 (MTPA) 控制
      2. 2.5.2 快速启动
  6. 3在 TI 硬件套件上运行通用实验
    1. 3.1 受支持的 TI 电机评估套件
    2. 3.2 硬件电路板设置
      1. 3.2.1  LAUNCHXL-F280025C 设置
      2. 3.2.2  LAUNCHXL-F280039C 设置
      3. 3.2.3  LAUNCHXL-F2800137 设置
      4. 3.2.4  TMDSCNCD280025C 设置
      5. 3.2.5  TMDSCNCD280039C 设置
      6. 3.2.6  TMDSCNCD2800137 设置
      7. 3.2.7  TMDSADAP180TO100 设置
      8. 3.2.8  DRV8329AEVM 设置
      9. 3.2.9  BOOSTXL-DRV8323RH 设置
      10. 3.2.10 BOOSTXL-DRV8323RS 设置
      11. 3.2.11 DRV8353RS-EVM 设置
      12. 3.2.12 BOOSTXL-3PHGANINV 设置
      13. 3.2.13 DRV8316REVM 设置
      14. 3.2.14 TMDSHVMTRINSPIN 设置
      15.      34
      16.      35
    3. 3.3 实验软件实现
      1. 3.3.1 导入和配置工程
      2.      38
      3.      39
      4. 3.3.2 实验工程结构
      5. 3.3.3 实验软件概述
    4. 3.4 监控反馈或控制变量
      1. 3.4.1 使用 DATALOG 函数
      2. 3.4.2 使用 PWMDAC 函数
      3. 3.4.3 使用外部 DAC 板
    5. 3.5 使用不同的构建级别循序渐进地运行工程
      1. 3.5.1 级别 1 增量构建
        1. 3.5.1.1 构建和加载工程
        2. 3.5.1.2 设置调试环境窗口
        3. 3.5.1.3 运行代码
      2. 3.5.2 级别 2 增量构建
        1. 3.5.2.1 构建和加载工程
        2. 3.5.2.2 设置调试环境窗口
        3. 3.5.2.3 运行代码
      3. 3.5.3 级别 3 增量构建
        1. 3.5.3.1 构建和加载工程
        2. 3.5.3.2 设置调试环境窗口
        3. 3.5.3.3 运行代码
      4. 3.5.4 级别 4 增量构建
        1. 3.5.4.1 构建和加载工程
        2. 3.5.4.2 设置调试环境窗口
        3. 3.5.4.3 运行代码
  7. 4构建定制板
    1. 4.1 构建新的定制板
      1. 4.1.1 硬件设置
      2. 4.1.2 将参考代码迁移到定制电路板
        1. 4.1.2.1 设置硬件板参数
        2. 4.1.2.2 修改电机控制参数
        3. 4.1.2.3 更改引脚分配
        4. 4.1.2.4 配置 PWM 模块
        5. 4.1.2.5 配置 ADC 模块
        6. 4.1.2.6 配置 CMPSS 模块
        7. 4.1.2.7 配置故障保护函数
      3. 4.1.3 向电机控制工程中添加附加功能
        1. 4.1.3.1 添加按钮功能
        2. 4.1.3.2 添加电位器读取功能
        3. 4.1.3.3 添加 CAN 功能
    2. 4.2 支持新的 BLDC 电机驱动器板
    3. 4.3 将参考代码移植到新的 C2000 MCU
  8.   A 附录 A. 电机控制参数
  9.   参考资料
  10.   修订历史记录

附录 A. 电机控制参数

通用电机控制实验定义了许多会影响系统性能的参数。下面列出了 user_mtr1.h 文件中可用于用户操作的参数。其中一些参数被描述为推导参数,通常不应更改,这些参数的值取决于一个或多个其他参数。

  • 硬件参数:
    • USER_M1_NOMINAL_DC_BUS_VOLTAGE_V

      此参数定义了标称直流母线电压,单位为伏特 (V)。

      此参数的值必须大于额定电机电压,并且小于硬件的最大检测直流母线电压。

    • USER_M1_ADC_FULL_SCALE_VOLTAGE_V

      此参数定义了 ADC 输入端的最大电压,单位为伏特 (V)。此值由最大 ADC 读数表示。

      此参数用于缩放 ADC 读数,应设置为 ADC 输入端的最大预期电压。

    • USER_M1_ADC_FULL_SCALE_CURRENT_A

      此参数定义了 ADC 输入端的最大电流,单位为安培 (A)。此值由最大 ADC 读数表示。

      此参数用于缩放 ADC 读数,应设置为 ADC 输入端的最大预期电流。

    • USER_M1_VOLTAGE_FILTER_POLE_Hz

      此参数定义了模拟滤波器极点位置(单位为 Hz)。

      此参数必须设置为与硬件电压反馈滤波器的滤波器极点位置相匹配。

    • USER_M1_VOLTAGE_FILTER_POLE_rps

      该推导参数是 USER_M1_VOLTAGE_FILTER_POLE_Hz 的弧度/秒转换。

    • USER_M1_SIGN_CURRENT_SF

      此参数定义源自 USER_M1_ADC_FULL_SCALE_CURRENT_A 的电流比例因子的符号(正或负)。

      如果运算放大器的同相 (+) 引脚在电流反馈电路中接地,则该参数的值为 -1.0f。如果反相引脚 (-) 接地,则该值为 +1.0f。

    • USER_M1_NUM_CURRENT_SENSORS

      此参数定义硬件中存在的电流传感器的数量。

      本实验中的计算假设使用 2 个或 3 个电流传感器。因此,较高或较低的值将导致编译错误。

    • USER_M1_NUM_VOLTAGE_SENSORS

      此参数定义硬件中存在的电压相位传感器的数量。

      本实验中的计算假设有 3 个电压传感器。因此,较高或较低的值将导致编译错误。

    • USER_M1_Ix_OFFSET_AD

      USER_M1_Ix_OFFSET_AD 参数,其中“x”是 A、B 或 C,表示每个相应相位的 ADC 电流偏移,由硬件定义。

      该值应接近 2048。

      该实验能够通过“flagEnableOffsetCalc”标志自动进行偏移校准。如果设置,则在校准过程完成后,此参数的新值将加载到 motorVars_M1.adcData.offset_I_ad.value[2:0] 中。必须手动更新 user_mtr1.h 中的值。

      USER_M1_IA_OFFSET_AD;USER_M1_IB_OFFSET_AD;USER_M1_IC_OFFSET_AD

    • USER_M1_Vx_OFFSET_SF

      USER_M1_Vx_OFFSET_SF 参数,其中“x”是 A、B 或 C,表示每个相应相位的 ADC 电压偏移,由硬件定义。这些参数仅用于 InstaSPIN-FOC FAST 和 InstaSPIN-BLDC。

      该值应接近 0.5。

      该实验能够通过“flagEnableOffsetCalc”标志自动进行偏移校准。如果设置,校准过程完成后,此参数的新值将加载到 motorVars_M1.adcData.offset_V_sf.value[2:0] 中。必须手动更新 user_mtr1.h 中的值。

      USER_M1_VA_OFFSET_SF;USER_M1_VB_OFFSET_SF;USER_M1_VC_OFFSET_SF

    • USER_M1_IDC_OFFSET_AD

      此参数定义单分流器硬件的 ADC 电流偏移。

      与 USER_M1_Ix_OFFSET_AD 一样,可通过“flagEnableOffsetCalc”标志校准该值。新值加载到 motorVars_M1.adcData.offset_Idc_ad 中。

  • 时序参数:
    • USER_SYSTEM_FREQ_Hz

      此推导参数(位于 user_common.h 中)是器件 SysClk 频率 DEVICE_SYSCLK_FREQ 的浮点转换,以 Hz 为单位。DEVICE_SYSCLK_FREQ 可在 device.h 文件中找到。

    • USER_M1_PWM_FREQ_kHz

      此参数定义了 ePWM 的频率,以 kHz 为单位。更改该值会改变控制中断频率。

    • USER_M1_PWM_PERIOD_usec

      此推导参数是 ePWM 频率 USER_M1_PWM_FREQ_kHz 的周期,以微秒为单位。

    • USER_M1_ISR_FREQ_Hz

      此推导参数定义了控制中断频率(单位为 Hz)。

      此参数源自 PWM 频率 USER_M1_PWM_FREQ_kHz。

    • USER_M1_ISR_PERIOD_usec

      此推导参数是控制中断频率 USER_M1_ISR_FREQ_Hz 的周期,以微秒为单位。

    • USER_M1_NUM_PWM_TICKS_PER_ISR_TICK

      此参数定义每次中断的 PWM 周期数。该值将控制中断频率分频。

      本实验假定此值介于 1 和 3 之间(包括 1 和 3)。

    • USER_M1_NUM_ISR_TICKS_PER_SPEED_TICK

      此参数定义了每个速度控制器时钟节拍的中断时钟节拍数。此值将速度控制器触发速率分频。这会影响系统响应时间。

  • 采样参数:
    • USER_M1_CURRENT_SF

      此导出参数计算电流读数的 ADC 结果位相对于实际电流值(安培 (A))的比例。此计算假定使用 12 位 ADC。

      此参数源自 ADC 满量程电流 USER_M1_ADC_FULL_SCALE_CURRENT_A。

    • USER_M1_VOLTAGE_SF

      这个推导参数计算电压读数的 ADC 结果位相对于以伏特 (V) 为单位的实际电压值的比例。此计算假定使用 12 位 ADC。此参数仅供 InstaSPIN-FOC FAST 和 eSMO 估算器使用。

      此参数是从 ADC 满量程电压 USER_M1_ADC_FULL_SCALE_VOLTAGE_V 推导出的。

    • USER_M1_CURRENT_INV_SF

      对于 12 位 ADC,此推导参数等效于 1 / USER_M1_CURRENT_SF。

      此参数源自 ADC 满量程电流 USER_M1_ADC_FULL_SCALE_CURRENT_A。

    • USER_M1_DCLINKSS_MIN_DURATION

      此参数定义了单分流器 ADC 读数的最短时钟周期。

      motor1_drive.c 文件中介绍了此参数值的计算。

    • USER_M1_DCLINKSS_SAMPLE_DELAY

      该参数定义了在获得单分流器 ADC 读取以考虑信号传播问题之前的时钟周期延迟。

      motor1_drive.c 文件中介绍了此参数值的计算。

  • 电机属性:
    • USER_MOTOR1_TYPE

      此参数定义电机类型。

      此参数的两个有效值为 MOTOR_TYPE_PM(对于 BLDC、PMSM、SMPM 或 IPM 电机)和 MOTOR_TYPE_INDUCTION(对于异步 ACI 电机)

    • USER_MOTOR1_NUM_POLE_PAIRS

      此参数定义了电机极对数。当使用 InstaSPIN-FOC FAST 估算器时,此值被用来计算电机输出功率。

    • USER_MOTOR1_Rr_Ohm

      此参数定义了感应电机的电机转子电阻,单位为欧姆。对于非感应电机,设定为 NULL。此参数仅供 InstaSPIN-FOC FAST 使用。

    • USER_MOTOR1_Rs_Ohm

      此参数定义了电机定子电阻,单位为欧姆。

    • USER_MOTOR1_Ls_d_H

      此参数定义了直接方向上电机的定子电感,单位为亨利 (H)。对于 PM,这是平均定子电感。

    • USER_MOTOR1_Ls_q_H

      此参数定义了正交方向上电机的定子电感,单位为亨利 (H)。对于 PM,这是平均定子电感。

    • USER_MOTOR1_RATED_FLUX_VpHz

      此参数以 V/Hz(或 V*s,韦伯)为单位定义了电机的额定磁通。

    • USER_MOTOR1_MAGNETIZING_CURRENT_A

      此参数定义了直接方向上电机的额定电流值,单位为安培,仅适用于感应电机。对于其他电机,设置为 NULL。此参数仅供 InstaSPIN-FOC FAST 使用。

    • USER_MOTOR1_MAX_CURRENT_A

      此参数定义了电机的最大电流,以 A 表示。这会影响过流处理。

    • USER_MOTOR1_INERTIA_Kgm2

      该参数定义了与电机刚性耦合的质量惯性矩,单位为 kg/m2。这有助于进行速度控制器增益常数计算。

    • USER_M1_VD_SF

      此参数定义 ID 电流控制器 Vd 的初始最大值。请参阅 USER_M1_MAX_VS_MAG_PU 以了解更多详细信息。

      此值必须介于 0.1 到 0.95 之间。

    • USER_M1_MAX_VS_MAG_PU

      此参数定义了标幺 V 中电压矢量 Vs 的最大幅值。

      根据矢量的定义,电压矢量 Vs 的幅度与 Vd 和 Vq 轴分量之间的关系如下:

      Vs = √(Vd2 + Vq2)

      Vd 由最终应用确定,对于某些电机,0 值是有效的选择。在本示例中,根据使用的是闭环控制还是开环控制,对此进行了不同的定义。在任一种情况下,Vs 和 Vd 的计算都在下面提供。

      在开环控制下,在电压-频率表征曲线中将 Vd 设置为 0.3。

      在闭环控制中,Vd 由 PI 控制器动态确定。|Vd| 的最大幅度最初设置为 USER_M1_VD_SF * USER_MOTOR1_RATED_VOLTAGE_V。在电机运行期间,它设为 USER_MOTOR1_RATED_VOLTAGE_V。

      在开环控制中,Vs 设置为 USER_M1_MAX_VS_MAG_PU。所有运算均采用标幺值。

      在闭环控制中,Vs 设置为 USER_M1_MAX_VS_MAG_PU * obj->adcData.VdcBus_V(直流母线电压)。所有操作均以伏特为单位。

    • USER_M1_MAX_ACCEL_Hzps

      此参数定义了估算速度曲线的最大加速幅度(单位为 Hz/s)。仅在 InstaSPIN 电机 ID 期间使用。

      此值通常应保留为默认值。

    • InstaSPIN-FOC FAST 参数:
    • USER_MOTOR1_RES_EST_CURRENT_A

      此参数定义了要用于定子电阻估算的最大电流值,单位为安培。

      该值应设置为电机额定相电流的 10% 至 40%。如果电机在整个斜升过程中不旋转,则以 5% 为增量增大该电流,直至电机在整个斜升过程中旋转。

    • USER_MOTOR1_IND_EST_CURRENT_A

      此参数定义了用于定子电感估算的最大电流值,单位为安培。

      该值应设置为电机额定相电流的 10% 至 20%,刚好能够使电机旋转。

    • USER_MOTOR1_FLUX_EXC_FREQ_Hz

      此参数定义了磁通激励频率,用于估算电机识别期间的定子电感和磁通,单位为 Hz。

      通常,电机额定频率的 5% 至 20% 足够高,足以估算定子电感为 ~10-20 微亨或更高的 PMSM 电机。如果电感为几 µH,建议使用较高频率(高达 60Hz)来估算超低电感。

    • USER_M1_R_OVER_L_EXC_FREQ_Hz

      此参数定义了以 Hz 为单位的 R/L 激励频率,在电机识别期间用于估算定子电阻和电感的初始值。这用于计算电流控制器增益。

      默认情况下,该参数设置为 300Hz。

    • USER_M1_IDRATED_FRACTION_FOR_L_IDENT

      此参数定义要在电感估算期间使用的 Id 额定值(小数表示形式)。

      不应更改此参数的默认值 0.5。

    • USER_M1_SPEEDMAX_FRACTION_FOR_L_IDENT

      此参数定义要在电感估算期间使用的最大速度(小数表示形式)。

      不应更改此参数的默认值 1.0。

    • USER_M1_R_OVER_L_KP_SF

      此参数定义 FOC 电流控制器中 Kp 的比例因子。

      不应更改此参数的默认值 0.02。

    • USER_M1_IDRATED_DELTA_A

      此参数定义了估算期间要使用的 Id 差值电流,单位为 A。

      不应更改此参数的默认值 0.0001。

    • USER_M1_FORCE_ANGLE_FREQ_Hz

      如果启用了强制角启动选项,则此参数定义强制角启动频率,单位为 Hz。此值在电机启动期间使用。

      典型强制角启动速度为 +-1Hz。

    • USER_MOTOR1_FREQ_NEARZEROLIMIT_Hz

      如果启用了强制角启动选项,则此参数定义使用强制角启动过程的速度范围。

      对于大多数应用,默认值 5Hz 就足够了。

    • USER_M1_PW_GAIN

      此参数定义了用于计算感应电机 Id 参考值的 PowerWarp 增益。

      不应更改此参数的默认值 1.0。

    • USER_M1_DCBUS_POLE_rps

      此参数定义了软件直流母线滤波器的极点位置(单位为 rad/s)。

      不应更改此参数的默认值 100。

    • USER_M1_SPEED_POLE_rps

      此参数定义了软件频率估算器滤波器的极点位置(单位为 rad/s)。

      对于大多数应用,默认值 100rps 就足够了。对于高速电机,将该值增加到 500rps 可以提高性能。

    • USER_M1_EST_FLUX_HF_SF

      此参数定义磁通估算的比例因子。

      此参数的范围是 0.1 至 1.25。对于大多数 PMSM 电机,值 1.0 就足够了。对于频率更高、电感更低的电机,可以使用较低的值。

    • USER_M1_EST_BEMF_HF_SF

      此参数定义了估算反电动势 (BEMF) 的比例因子。

      如果使用 InstaSPIN-FOC FAST 估算器,则不应更改此参数的默认值 1。

      否则,此参数的范围是 0.5 至 1.25。对于大多数 PMSM 电机,值 1.0 就足够了。对于频率更高、电感更低的电机,可以使用较低的值。

    • USER_MOTOR1_Ls_d_COMP_COEF

      此参数定义 Ls d 轴补偿系数。电机电感随施加的定子电流的振幅而降低。为了简化计算,假设存在线性关系。

      其中 Ls 是电机定子电感 Ld,Ls1 是补偿后的电机定子电感,

      Ls1 = Ls * (1 -(Ls Compensation Coefficient))

      应根据电机制造商提供的电感与电流模型设置此参数。

    • USER_MOTOR1_Ls_q_COMP_COEF

      此参数与 USER_MOTOR1_Ls_d_COMP_COEF 相同,只不过它引用的是 Lq 而非 Ld。

    • USER_MOTOR1_Ls_MIN_NUM_COEF

      此参数定义了电机的最小电感。

      应根据电机制造商提供的电感与电流模型设置此参数。

    • USER_MOTOR1_RSONLINE_WAIT_TIME

      当电机运行在闭环中时,Rs 在线校准被用来重新校准定子电阻 Rs。但是,考虑到 Rs 随时间缓慢变化,并且 Rs 在线校准过程会注入不会生成扭矩的 d 轴电流,因此该过程只会间歇性地启用。

      此参数定义了 5ms 内 Rs 在线校准周期之间的等待时间。

      此参数的默认值通常就足够了。

    • USER_MOTOR1_RSONLINE_WORK_TIME

      此参数定义了 Rs 在线校准周期的持续时间,以 5ms 为单位。

      此参数的默认值通常就足够了。

  • 开环电压/频率曲线参数:
    • USER_MOTOR1_FREQ_LOW_Hz

      此参数定义了开环电压/频率曲线的低频边界,单位为 Hz。

      此值定义了电机电压/频率曲线线性区域的下限。在线性区域内,计算实现选定电机转速所需的施加电压极其简单。超过下限后,该关系不再是线性的。

      此参数应设置为额定电机频率的大概 10%。

    • USER_MOTOR1_FREQ_HIGH_Hz

      此参数定义了开环电压/频率曲线的高频边界,单位为 Hz。

      此值定义了电机电压/频率曲线线性区域的上限。在线性区域内,计算实现选定电机转速所需的施加电压极其简单。电压的增加不应超过电机的额定电压。

      此参数应设置为电机的额定频率。

    • USER_MOTOR1_VOLT_MIN_V

      此参数定义了在电机中生成 USER_MOTOR1_FREQ_LOW_Hz 速度的电压值,单位为 V。

      此参数应设置为额定电机电压的 15% 左右。

    • USER_MOTOR1_VOLT_MAX_V

      此参数定义了在电机中生成 USER_MOTOR1_FREQ_HIGH_Hz 速度的电压值,单位为 V。

      此参数应设置为额定电机电压。

  • 电机编码器参数:
    • USER_MOTOR1_NUM_ENC_SLOTS

      此参数定义了电机正交编码器中的编码器槽数。

      应根据使用的编码器设置此参数。

    • USER_MOTOR1_ENC_POS_MAX

      此推导参数定义了 eQEP 模块的位置计数器的最大值。

      此参数从编码器插槽数 (USER_MOTOR1_NUM_ENC_SLOTS) 推导得出。

    • USER_MOTOR1_ENC_POS_OFFSET

      此参数定义位置零处编码器的偏移量。

  • eSMO 估算器参数:
    • USER_MOTOR1_KSLIDE_MAX

      此参数定义了时间相关的 eSMO Kslide 增益变量的最大值。

      此参数必须设置为大于最大电机电频率下的最大反电动势(标幺值)。默认值对于大多数应用而言已经足够了。此参数可能在 0.1 和 10 之间变化。

    • USER_MOTOR1_KSLIDE_MIN

      此参数定义了时间相关的 eSMO Kslide 增益变量的初始值。

      此参数必须设置为大于最大电机电频率下的最大反电动势(标幺值)。默认值对于大多数应用而言已经足够了。此参数可能在 0.1 和 10 之间变化。

    • USER_MOTOR1_PLL_KP_MAX

      此参数定义 eSMO PLL 的最大增益。

      此参数必须设置为大于最大电机电频率下的最大反电动势(标幺值)。默认值对于大多数应用而言已经足够了。此参数可能在 0.1 和 10 之间变化。

    • USER_MOTOR1_PLL_KP_MIN

      此参数定义 eSMO PLL 的最小增益。

      此参数必须设置为大于最大电机电频率下的最大反电动势(标幺值)。默认值对于大多数应用而言已经足够了。此参数可能在 0.1 和 5 之间变化。

    • USER_MOTOR1_PLL_KP_SF

      此参数定义应用于每个单元中电机转速的比例因子。这控制 eSMO PLL 的增益。

      此参数应设置为 (USER_MOTOR1_PLL_KP_MAX - USER_MOTOR1_PLL_KP_MIN) / (fscale * fmax)。在大多数情况下、默认值就足够了。

    • USER_MOTOR1_BEMF_THRESHOLD

      此参数定义 eSMO 滑动模式控制器估算电流误差的阈值。

      此参数应等于电机最大反电动势 (BEMF) 除以电机额定电压,范围应在 0.3 到 0.5 之间。在大多数情况下、默认值 0.5 就足够了。

    • USER_MOTOR1_BEMF_KSLF_FC_Hz

      该参数定义 eSMO 估算反电动势的低通滤波器的截止频率。

      此参数等于截止频率 * 2 * PI() * Ts(时间刻度)。在大多数情况下、默认值就足够了。

    • USER_MOTOR1_THETA_OFFSET_SF

      此参数定义应用于反电动势滤波器补偿系数的系数。

      此参数应设置在 0.5 到 1.5 之间(包括 0.5 和 1.5)。大多数情况下,默认值 1 就足够了。

    • USER_MOTOR1_SPEED_LPF_FC_Hz

      此参数设置用于计算速度的低通滤波器的截止频率。如果将此滤波器应用于标幺值,则此参数仅影响噪声非常高的情况下的 eSMO 输出。

      大多数情况下,默认值 200Hz 就足够了。否则,此参数应设置在 100 和 400 之间。

  • InstaSPIN-BLDC 参数:
    • USER_MOTOR1_RAMP_START_Hz

      此参数定义了电机开环运行时的最小速度,单位为 Hz。

      此参数的具体值应基于电机或系统性能要求测试。该值可能为额定电机转速的 0.5%-1%。

    • USER_MOTOR1_RAMP_END_Hz

      此参数定义了何时开始考虑换向的 BEMF 过零点,单位为 Hz。

      此参数的具体值应基于电机或系统性能要求测试。该值可能为额定电机转速的 10%-20%。

    • USER_MOTOR1_RAMP_DELAY

      此参数定义系统在开环中运行电机的时长,单位为秒。

      此参数的具体值应基于电机或系统性能要求测试。该值可以在 5-20s 之间。

    • USER_MOTOR1_ISBLDC_INT_MAX

      此参数定义用于换向点检测的积分电压的最大阈值,以标称值的百分比表示。

      此参数的具体值应基于电机或系统性能要求测试。该值可以介于 0.01-0.15 之间。

    • USER_MOTOR1_ISBLDC_INT_MIN

      此参数定义用于换向点检测的积分电压的最小阈值,以标称值的百分比表示。

      此参数的具体值应基于电机或系统性能要求测试。该值可以介于 0.005-0.1 之间。

    • USER_MOTOR1_ISBLDC_I_START_A

      此参数定义了以开环方式启动电机的电流,单位为 A。

      此参数的具体值应基于电机或系统性能要求测试。该值可能介于额定电流的 5%-20% 之间。

    • USER_MOTOR1_ISBLDC_DUTY_START

      此参数定义了在开环中启动电机的 PWM 占空比,以百分比表示。

      此参数的具体值应基于电机或系统性能要求测试。该值可以介于 5%-20% 占空比之间。

  • 弱磁控制 (FWC) 参数:
    • USER_M1_FWC_KP

      此参数定义了 FWC PI 稳压器的 Kp 增益。

      此参数的具体值应基于电机或系统性能要求测试。该值可以介于 0.01-0.1 之间。

    • USER_M1_FWC_KI

      此参数定义了 FWC PI 稳压器的 Ki 增益。

      此参数的具体值应基于电机或系统性能要求测试。该值可以介于 0.01-0.1 之间。

    • USER_M1_FWC_MAX_ANGLE

      此参数定义了 FWC 的最大矢量角度,单位为度。

      此参数应定义在 0 至 -45 度之间。对于 FWC,d 轴上的较大负值会设置较高的负电流。

    • USER_M1_FWC_MIN_ANGLE

      此参数定义了 FWC 的最小矢量角度,单位为度。

      不应更改此参数的默认值 0。

  • 启动和运行状态参数:
    • USER_MOTOR1_RATED_VOLTAGE_V

      此参数定义了电机的额定电压,单位为 V。

      此参数可以设置为 USER_M1_NOMINAL_DC_BUS_VOLTAGE_V / sqrt(2)。

    • USER_MOTOR1_FREQ_MAX_Hz

      此参数定义了电机的最大转速,单位为 Hz。

      此参数是系统相关的,并且有可能高于电机的额定速度。通常,电机转速为额定转速的 100% 至 150%。应根据系统性能要求确定具体的值。

    • USER_MOTOR1_ALIGN_CURRENT_A

      此参数定义了用于运行电机转子对齐的电流,以 A 表示。

      此参数应设置为电机额定电流的 5%-50%。应根据系统性能要求确定具体的值。

    • USER_MOTOR1_FLUX_CURRENT_A

      此参数定义了用于在强制开环中运行电机的电流,单位为 A。

      此参数应设置为电机额定电流的 5%-50%。应根据系统性能要求确定具体的值。

    • USER_MOTOR1_STARTUP_CURRENT_A

      此参数定义了电流 (A),用于在速度低于定义的启动速度 (USER_MOTOR1_SPEED_START_Hz) 时闭环运行电机。

      此参数应设置为额定电机电流的 10%-100%。

    • USER_MOTOR1_TORQUE_CURRENT_A

      此参数定义了最初为电机启动电流分配的值,单位为 A。

    • USER_MOTOR1_SPEED_START_Hz

      此参数定义了电机启动速度阈值,单位为 Hz。

      此参数应设置为高于电机最低转速,通常下降到额定电机转速的 10%-50% 之间。

    • USER_MOTOR1_SPEED_FORCE_Hz

      此参数定义了电机的强制开环速度阈值,单位为 Hz。

      此参数应设置为高于电机最低转速,通常下降到额定电机转速的 5%-30% 之间。

    • USER_MOTOR1_ACCEL_START_Hzps

      此参数定义启动期间的电机加速度。

      此参数应设置为小于电机的最大加速度 (USER_MOTOR1_ACCEL_MAX_Hzps),否则应根据系统性能要求进行设置。

    • USER_MOTOR1_ACCEL_MAX_Hzps

      此参数定义电机的最大加速度。

      应根据系统性能要求和电机硬件限制设置此参数。

    • USER_MOTOR1_SPEED_FS_Hz

      此参数定义了电机的快速启动速度阈值,单位为 Hz。

      此参数应设置为高于电机最低转速,通常下降到额定电机转速的 0.1%-5% 之间。

    • USER_MOTOR1_BRAKE_CURRENT_A

      启用制动后,此参数定义制动状态期间的电机电流。

      根据系统性能要求,此参数应设置在额定电机电流的 10% 到 50% 之间。

    • USER_MOTOR1_BRAKE_TIME_DELAY

      此参数定义了电机制动状态的延迟,以 5ms 为单位。

      此参数应根据系统性能要求进行设置,通常在 1-300 秒之间,转换为 5ms 周期。

    • USER_M1_STOP_WAIT_TIME_SET

      此参数定义了从停止状态启动电机所需的最短等待时间,周期为 5ms。

      此参数应设置为大于 0.1s,并转换为 5ms 周期。

    • USER_M1_RESTART_WAIT_TIME_SET

      此参数定义了从故障状态启动电机所需的最短等待时间,周期为 5ms。

      此参数应设置为大于 0.1s,并转换为 5ms 周期。

    • USER_M1_START_TIMES_SET

      此参数定义了电机转子对齐状态的持续时间,以 5ms 为单位。

      此参数应设置为 1s-30s 之间,并转换为 5ms 周期。

  • 电机保护参数:
    • USER_M1_IS_OFFSET_AD_DELTA

      此参数定义相电流的 ADC 偏移的误差阈值。如果启用了失调电压校准,系统会检查以确保电流测量电路的所有 ADC 失调值都处于初始定义参数 (USER_M1_Ix_OFFSET_AD) 的差值范围内。如果计算出的 ADC 失调电压超出该相对于初始定义参数的差值,则表明存在软件错误或硬件故障,并且系统进入故障处理状态。使用单分流器测量时,不使用此参数。

      此参数应设置在 0 到 200(包括 0 到 200)之间,以在仍然捕捉错误的同时提供足够的范围。为了实现更低的误差差值,可能需要精度更高的检测电路。

    • USER_M1_VA_OFFSET_SF_DELTA

      此参数定义相电压的 ADC 偏移的误差阈值。如果启用了失调电压校准,系统会检查以确保电压测量电路的所有 ADC 失调值都在相对于初始定义参数 (USER_M1_Vx_OFFSET_SF) 的差值范围内。如果计算出的 ADC 失调电压超出该相对于初始定义参数的差值,则表明存在软件错误或硬件故障,并且系统进入故障处理状态。此参数仅用于 InstaSPIN-FOC FAST 和 InstaSPIN-BLDC。

      此参数应设置在 0 到 200(包括 0 到 200)之间,以在仍然捕捉错误的同时提供足够的范围。为了实现更低的误差差值,可能需要精度更高的检测电路。

    • USER_M1_OVER_VOLTAGE_FAULT_V

      此参数定义了电机和逆变器硬件的过压阈值,单位为伏特。大于该值的直流母线电压表示软件错误或硬件故障导致计算出的直流母线电压超出用户定义的安全或预期范围,系统进入故障处理状态。

      此参数应设置为小于满标量程 ADC 电压 (USER_M1_ADC_FULL_SCALE_VOLTAGE_V) 的硬件相关值。

    • USER_M1_OVER_VOLTAGE_NORM_V

      此参数定义了指示直流母线过压故障(请参阅 USER_M1_OVER_VOLTAGE_FAULT_V)不再存在的下限阈值 (V)。

      此参数应设置为小于过压故障阈值 (USER_M1_OVER_VOLTAGE_FAULT_V) 的硬件相关值。通常,这会比过压故障阈值低几伏特,以确保系统可靠地返回到安全或预期状态。

    • USER_M1_UNDER_VOLTAGE_FAULT_V

      此参数定义了电机和逆变器硬件的欠压阈值,单位为伏特。大于该值的直流母线电压表示软件错误或硬件故障导致计算出的直流母线电压低于用户定义的安全或预期范围,系统进入故障处理状态。

      此参数通常应设置为与硬件相关的值,比使电机旋转所需的最低电压高几伏特。

    • USER_M1_UNDER_VOLTAGE_NORM_V

      此参数定义了用于指示直流母线欠压故障(请参阅 USER_M1_UNDER_VOLTAGE_FAULT_V)不再存在的上限阈值。

      此参数应设置为大于欠压故障阈值 (USER_M1_UNDER_VOLTAGE_FAULT_V) 的硬件相关值。通常,这会比欠压故障阈值高几伏,以确保系统可靠地返回到安全或预期状态。

    • USER_M1_LOST_PHASE_CURRENT_A

      此参数定义了丢失相位故障的电流阈值,单位为 A。超过此错误的最小速度阈值 (USER_M1_FAIL_SPEED_MIN_HZ) 后,任何相电流的绝对值小于该值即表示软件错误或硬件故障,系统进入故障处理状态。

      根据系统性能要求,应将此参数设置为取决于电机的值。通常,该值介于电机额定电流的 0.1% 到 10% 之间。

    • USER_M1_UNBALANCE_RATIO

      此参数定义了指示相位失衡故障的比率阈值。如果最大与最小 RMS 相电流值之比超过该比率,则表示存在软件错误或硬件故障,系统进入故障处理状态。

      根据系统性能要求,应将此参数设置为取决于电机的值。通常,此值是介于 5% 和 25% 之间的百分比值。对于此应用而言,默认值 20% 通常应该足够了。

    • USER_MOTOR1_OVER_CURRENT_A

      此参数定义了电机的过流阈值,以 A 表示。此值用于计算 CMPSS 外设的 DAC 值,进而触发 PWM 的跳闸区故障处理。

      此参数应设置为与电机和系统相关的值,通常为额定电机电流的 50% 至 300%。

      注意:如果此参数的值设置为大于电机的最大峰值电流值(在本例中定义为 ADC 满量程电流的 47.5%),则会忽略此参数,而使用最大峰值电流。

    • USER_M1_OVER_LOAD_POWER_W

      此参数定义了电机和逆变器硬件的过功率阈值,以 W 为单位。在电机运行状态下,如果电机的计算功率高于此值,则表示出现软件错误或硬件故障,系统进入故障处理状态。

      此参数应设置为与电机相关的值,通常为电机额定功率的 50% 至 200%。此值必须小于电机在不超过热额定值的情况下可产生的最大输出功率。

    • USER_M1_STALL_CURRENT_A

      当计算得出的电机转速低于速度阈值 (USER_M1_FAIL_SPEED_MIN_HZ) 时,该参数定义了 RMS 电机定子电流的电流阈值,单位为 A。当电机电流高于故障检查阈值(请参阅 USER_M1_FAULT_CHECK_CURRENT_A)时,这表示电机定子电流的最小值,而低于此参数的值则表示失败的电机启动故障情况。高于此参数的值始终表示存在电机失速故障情况。

      此参数应设置为与电机相关的值,通常为电机额定电流的 50% 至 300%。此值应低于电机的最大峰值电流,在本例中定义为 ADC 满量程电流的 47.5%。

      注: 电机启动失败和电机失速情况不应该都处于活动状态。
    • USER_M1_FAULT_CHECK_CURRENT_A

      此参数定义了多个电机故障的电流阈值,以 A 表示。当 RMS 电机定子电流低于该值时,不会检查不平衡相电流故障、过速故障和启动失败故障。

      根据系统性能要求,应将此参数设置为取决于电机的值。该值通常为额定电机电流的 0.1% 至 20%。

    • USER_M1_FAIL_SPEED_MAX_HZ

      此参数定义了电机的最大速度,单位为 Hz。如果计算得出的速度高于此值,则表示存在软件错误或硬件故障,系统将进入故障处理状态。

      根据系统性能要求,应将此参数设置为取决于电机的值。此值通常为电机额定速度的 200% 至 500%。

    • USER_M1_FAIL_SPEED_MIN_HZ

      此参数定义了电机最小速度阈值,单位为 Hz。仅在电机高于或低于该值时,才会检查某些故障。仅当电机转速低于该值时,才会检查失速电流和电机启动失败故障。仅当电机转速高于此值时,才会检查失相故障。

      根据系统性能要求,应将此参数设置为取决于电机的值。此值通常为电机额定转速的 1% 到 10%,且必须高于电机最低转速。

    • USER_M1_VOLTAGE_FAULT_TIME_SET

      此参数定义了设置或清除过压和欠压故障的持续时间,以 5ms 为周期。如果检测到故障情况的时间超过此时间,则错误标志会被置位。如果未出现故障情况的时间超过此时间,ERROR 标志位被复位。

      应根据系统性能要求设置此参数。该值通常介于 0.02s 到 3.0s 之间。对于大多数应用而言,默认值应该足够了。

    • USER_M1_OVER_LOAD_TIME_SET

      此参数定义了设置过载电源故障的持续时间,以 5ms 为单位。如果检测到故障情况的时间超过此时间,则错误标志会被置位。

      应根据系统性能要求设置此参数。该值通常介于 0.01s 到 1.0s 之间。对于大多数应用而言,默认值应该足够了。

    • USER_M1_STALL_TIME_SET

      此参数定义了设置电机失速电流故障的持续时间,以 5ms 为单位。如果检测到故障情况的时间超过此时间,则错误标志会被置位。

      应根据系统性能要求设置此参数。该值通常介于 0.01s 到 2.0s 之间。对于大多数应用而言,默认值应该足够了。

    • USER_M1_UNBALANCE_TIME_SET

      此参数定义了设置电机不平衡相电流故障的持续时间,周期为 5ms。如果检测到故障情况的时间超过此时间,则错误标志会被置位。

      应根据系统性能要求设置此参数。该值通常介于 0.05s 到 5.0s 之间。对于大多数应用而言,默认值应该足够了。

    • USER_M1_LOST_PHASE_TIME_SET

      此参数定义了设置电机丟相电流故障的持续时间,周期为 5ms。如果检测到故障情况的时间超过此时间,则错误标志会被置位。

      应根据系统性能要求设置此参数。该值通常介于 0.05s 到 5.0s 之间。对于大多数应用而言,默认值应该足够了。

    • USER_M1_OVER_SPEED_TIME_SET

      此参数定义了设置电机超速故障的持续时间,周期为 5ms。如果检测到故障情况的时间超过此时间,则错误标志会被置位。

      应根据系统性能要求设置此参数。该值通常介于 0.05s 到 5.0s 之间。对于大多数应用而言,默认值应该足够了。

    • USER_M1_STARTUP_FAIL_TIME_SET

      此参数定义了设置失败电机启动故障的持续时间,周期为 5ms。如果检测到故障情况的时间超过此时间,则错误标志会被置位。

      应根据系统性能要求设置此参数。此值通常介于 1.0s 至 20.0s 之间。对于大多数应用而言,默认值应该足够了。

    • USER_M1_OVER_CURRENT_TIMES_SET

      此参数定义了设置电机过流故障的持续时间,周期为 5ms。如果检测到故障情况的时间超过此时间,则错误标志会被置位。

      应根据系统性能要求设置此参数。此值通常介于 0.01s 至 0.5s 之间。对于大多数应用而言,默认值应该足够了。

  • PI 稳压器增益调整参数:
    • 通用 PI 调优注意事项

      速度和电流调节器的典型初始 Kp 和 Ki 是根据电机参数计算的。增益的这些运行时值将根据启动后的电机运行速度或矢量电流进行更改。

      PI 稳压器的增益根据以下规则设置:

      Kp 增益 Ki 增益 条件
      Kp* = Kp * G(p_start) Ki* = Ki * G(i_start) 电机启动
      Kp* = Kp * G(p_low) Ki* = Ki * G(i_low) 启动后和条件为低电平
      Kp* = Kp * G(p_high) Ki* = Ki * G(i_high) 启动后和条件为高电平

      Kp* = Kp * (G(p_low) + H(p_low) * (condition state))

      Ki* = Ki * (G(i_low) + H(i_low) * (condition state)) 没有匹配的任何其他条件

      其中:

      • H(p_slope) = (G(p_high) - G(p_low)) / (condition range)
      • H(i_slope) = (G(i_high) - G(i_low)) / (condition range)
      • 条件低电平 =
        • 速度调节器:ω(e) < ω(e_low)
        • 电流调节器:i(s) < i(s_low)
      • 条件高电平=
        • 速度调节器:ω(e) > ω(e_high)
        • 电流调节器:i(s) > i(s_high)
      • 条件状态 =
        • 速度调节器:ω(e) - ω(e_low)
        • 电流调节器:i(s) -i(s_low)
      • 条件范围 =
        • 速度调节器:ω(e_high) - ω(e_low)
        • 电流调节器:i(s_high) -i(s_low)
    • USER_MOTOR1_GAIN_SPEED_LOW_Hz

      此参数定义了用于调整速度 PI 稳压器 Kp* 和 Ki* 的低速阈值。

      根据电机和应用要求,此参数应该被设定在电机额定速度的 10% 至 30% 之间。

    • USER_MOTOR1_GAIN_SPEED_HIGH_Hz

      此参数定义了用于调整速度 PI 稳压器 Kp* 和 Ki* 的高速阈值。

      根据电机和应用要求,此参数应该被设定在电机额定速度的 60% 至 100% 之间。

    • USER_MOTOR1_Kx_SPD_START_SF

      其中 Kx 为 Kp 或 Ki,此参数定义了启动时的增益系数 Gx_start,以调整速度 PI 稳压器的 Kx*。

      根据电机和应用要求,该参数应设置在 0.1 至 2.0 之间,在大多数应用中应低于 Gx_low。

      USER_MOTOR1_Kp_SPD_START_SF;USER_MOTOR1_Ki_SPD_START_SF

    • USER_MOTOR1_Kx_SPD_LOW_SF

      其中 Kx 为 Kp 或 Ki,此参数定义了增益系数 Gx_low,以调整速度 PI 稳压器的 Kx*。

      根据电机和应用要求,该参数应设置在 0.1 至 10.0 之间,并且通常应高于 Gx_high。

      USER_MOTOR1_Kp_SPD_LOW_SF;USER_MOTOR1_Ki_SPD_LOW_SF

    • USER_MOTOR1_Kx_SPD_HIGH_SF

      其中 Kx 为 Kp 或 Ki,此参数定义了增益系数 Gx_high,以调整速度 PI 稳压器的 Kx*。

      根据电机和应用要求,该参数应设置在 0.1 至 5.0 之间,并且通常应低于 Gx_low。

      USER_MOTOR1_Kp_SPD_HIGH_SF;USER_MOTOR1_Ki_SPD_HIGH_SF

    • USER_MOTOR1_GAIN_IQ_LOW_A

      此参数定义低电流阈值 is_low 以调整 q 轴电流 PI 控制器的增益。

      根据系统性能、电机和应用要求,此参数应设置为电机额定电流的 10% 至 50%。

    • USER_MOTOR1_GAIN_IQ_HIGH_A

      此参数定义高电流阈值 is_high,以调整 q 轴电流 PI 控制器的增益。

      根据系统性能、电机和应用要求,此参数应设置为电机额定电流的 50% 至 100%。

    • USER_MOTOR1_Kx_IQ_START_SF

      其中 Kx 为 Kp 或 Ki,该参数定义了增益系数 Gx_start,用于在启动期间调整 q 轴电流 PI 控制器的增益。

      根据系统性能、电机和应用要求,此参数应设置为 0.1 至 5.0。

      USER_MOTOR1_Kp_IQ_START_SF;USER_MOTOR1_Ki_IQ_START_SF

    • USER_MOTOR1_Kx_IQ_LOW_SF

      其中 Kx 为 Kp 或 Ki,该参数定义了增益系数 Gx_low,用于在启动期间调整 q 轴电流 PI 控制器的增益。

      根据系统性能、电机和应用要求,该参数应设置在 0.1 至 10.0 之间,并且应高于 Gx_high。

      USER_MOTOR1_Kp_IQ_LOW_SF;USER_MOTOR1_Ki_IQ_LOW_SF

    • USER_MOTOR1_Kx_IQ_HIGH_SF

      其中 Kx 为 Kp 或 Ki,该参数定义了增益系数 Gx_high,用于在启动期间调整 q 轴电流 PI 控制器的增益。

      根据系统性能、电机和应用要求,该参数应设置在 0.1 至 5.0 之间,并且应低于 Gx_low。

      USER_MOTOR1_Kp_IQ_HIGH_SF;USER_MOTOR1_Ki_IQ_HIGH_SF

    • USER_MOTOR1_Kx_ID_SF

      其中 Kx 为 Kp 或 Ki,此参数定义了增益系数 Gx,用于调整 d 轴电流 PI 控制器的增益。

      根据系统性能、电机和应用要求,此参数应设置为 0.1 至 5.0。

      USER_MOTOR1_Kp_ID_SF;USER_MOTOR1_Ki_ID_SF

  • 电位器控制参数:
    • USER_M1_POT_ADC_MIN

      启用电位器速度控制后,此参数定义电位器允许的最小 ADC 值。如果 ADC 读数低于该值,则将电机转速设置为 0。

      此参数的设置应确保在打算禁用电机时 ADC 噪声不会导致大于此值。

    • USER_M1_POT_ADC_MAX

      启用电位器速度控制后,此参数定义电位器允许的最大 ADC 值。如果 ADC 读数高于此值,则电机转速被设置为最大值。

      此参数应设置为 USER_M1_POT_ADC_MIN 的最大可能 ADC 值(本例中为 4096)偏移。在本例中,即 4096U-200U。

    • USER_M1_POT_SPEED_SF

      启用电位器速度控制后,该推导参数定义 ADC 读数与电机转速之间的精确关系。

      此参数根据最小和最大电位器 ADC 值(USER_M1_POT_ADC_MIN 和 USER_M1_POT_ADC_MAX)以及电机最大速度 (USER_MOTOR1_FREQ_MAX_Hz) 得出。

    • USER_M1_POT_SPEED_MIN_Hz

      启用电位器速度控制后,此推导参数定义了电机的最小频率,单位为 Hz。如果电位器 ADC 读数产生低于此速度的非零值,则电机转速改为该值。

      此参数设置为电机最大速度的 10% (USER_MOTOR1_FREQ_MAX_Hz)。

    • USER_M1_POT_SPEED_MAX_Hz

      启用电位器速度控制后,此推导参数定义了电机的最大频率,单位为 Hz。如果电位器 ADC 读数产生高于此速度的值,则电机转速改为该值。

      此参数设置为电机最大速度的 50% (USER_MOTOR1_FREQ_MAX_Hz)。

    • USER_M1_WAIT_TIME_SET

      启用电位器速度控制时,此参数定义 1ms 内速度更新之间的等待时间。

      此参数应设置为允许快速调整的值,同时不允许噪声对计算产生过度影响。默认值为 500ms,这对于大多数应用而言已经足够了。

  • 速度脉冲控制参数:
    • USER_M1_SPEED_CAP_MIN_Hz

      启用 cmd 脉冲速度控制后,允许通过输入 GPIO 上的速度脉冲计算电机转速,此参数定义了电机的最小频率,以 Hz 为单位。当计算得出的电机转速低于此值时,电机转速改为 0。

      此参数应根据电机的最小转速进行设置,默认情况下不会自动获得。

    • USER_M1_SPEED_CAP_MAX_Hz

      启用 cmd 脉冲速度控制后,允许通过输入 GPIO 上的速度脉冲计算电机转速,此参数定义了电机的最大频率,以 Hz 为单位。当计算得出的电机转速高于此值时,电机转速改为 0。

      此参数应根据最大额定电机转速进行设置,默认情况下不自动获得。

      注: 计算出的速度高于最大值并不会像电位器控制模式下那样将速度设置为最大值,而是会禁用电机。
    • USER_M1_CAP_WAIT_TIME_SET

      启用 cmd 脉冲速度控制后,允许通过输入 GPIO 上的速度脉冲计算电机转速,此参数定义了速度更新之间的等待时间为 1ms。

      此参数应设置为允许快速调整的值,同时不允许噪声对计算产生过度影响。默认值为 200ms,这对于大多数应用而言已经足够了。

  • 开关控制参数:
    • USER_M1_SWITCH_WAIT_TIME_SET

      启用 cmd 开关控制时,为了允许使用开关来启用或禁用电机,此参数定义了 1ms 内开关状态更新之间的最小等待时间。

      此参数应设置为允许快速调整的值,同时不允许噪声对计算产生过度影响。默认值为 50ms,这对于大多数应用而言已经足够了。