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.

[参考译文] 无法使电机旋转 TMDSHVMTRINSPIN

Guru**** 2536920 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/593833/unable-to-get-motor-to-spin-tmdshvmtrinspin

我更正了 gmake 错误。 谢谢你

似乎 CCS 确实连接到电路板、如果我拔下并重新插入 USB、通用 GUI 启动良好。

我已根据 lab02a 修改了 user.h 文件。 遗憾的是、通过 CCS 或 GUI 运行时、我无法使电机旋转。 查找进一步故障排除的一些指导。

每次使用相同的.out 运行程序时、电机电感和电阻的识别方式都有显著不同  

以下是 PMSM 电机参数...

FREQ_LOW = 3.0、FREQ_High = 30.0、Freq Max = 36.0、Volt Min = 80、VolT_Max = 240

PolePairs = 16、 Rs = 1.23、 Ls_d Ls_q = .00106、 RES 估算电流= 2 /-2、 最大电流= 10

谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您正在从事哪一个实验项目? 启动/运行电机会发生什么情况? 任何电流波形来显示故障。
    如果不更改 user.h 中的识别电流和频率、请确保电机在使用 lab02a/b 识别参数期间平稳运行
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我正在处理实验项目02a。 Rs_Ohm 值非常关闭、显示为2e38欧姆

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Lab2a 未使用 lab1b/1c 中所需的 V/Hz 系统配置、因此不要担心 lab2a 的频率最小值/最大值、伏特混合值/最大值 user.h 条目。 您似乎遇到了电流/电压反馈问题。 您能否在运行时检查 CCS 监视窗口中的 ADCRESULT 寄存器、以查看这些值是否适合实际电压/电流反馈?

    您是否在任何 EST_States 处发生错误?

    肖恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    运行时无错误、ADCRESULT 0-3为~2000、4-6为~70、7为~1600、8-15为~80
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请发布您的 user.h、以便我们可以推断出有关您显示的值的更多信息。 它们是基于 user.h 中设置的 ADC 值的标量

    肖恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    #define USER_IQ_FULL_SCALE_FREQ_Hz (500.0)  

    hvkit_rev1p1典型用法的#define USER_IQ_FULL_SCALE_VOLTAGE_V (450.0)// 450.0示例

    #define USER_ADC_FULL_SCALE_VOLTGE_V (409.6)// 409.6 hvkit_rev1p1电压调节

    #define USER_VOLTAGE_SF ((float_t)((USER_ADC_FULL_SCALE_VOLTAGE_V)/(USER_IQ_FULL_SCALE_VOLTAGE_V)))

    #define USER_IQ_FULL_SCALE_CURRENT_A (12.0)//针对 hvkit_rev1p1典型用法的10.0示例

    #define USER_ADC_FULL_SCALE_CURRENT_A (19.89)// 19.89 hvkit_rev1p1电流调节

    #define USER_CURRENT_SF ((float_t)((USER_ADC_FULL_SCALE_CURRENT_A)/(USER_IQ_FULL_SCALE_CURRENT_A)))

    #define USER_NUM_CURRENT_SENSORS (3)// 3首选设置、以在整个速度范围内实现最佳性能、允许100%占空比

    需要#define USER_NUM_VOLTGE_SENSORS (3)// 3

    #define I_A_offset (0.9980847836)
    #define I_B_OFFSET (0.9969834685)
    #define I_C_OFFSET (0.9974584579)

    #define V_A_offset (0.2433366776)
    #define V_B_OFFSET (0.2432493567)
    #define V_C_OFFSET (0.2434823513)

    #define USER_SYSTEM_FREQ_MHz (90.0)

    #define USER_PWM_FREQ_kHz (15.0)//30.0示例、典型值为8.0 - 30.0 KHz;极低电感、高速电机可能需要45-80 KHz

    #define USER_MAX_VS_MAG_PU (0.5)//如果不使用电流重构技术,则设置为0.5。 有关更多信息、请查看 lab10a-x 中的模块 svgen_current。

    #define USER_CTRL_Handle_ADDRESS (0x13C40)

    #define USER_EST_Handle_ADDRESS (0x13840)

    #define USER_VD_SF (0.95)

    #define USER_PWM_PERIOD_USEC (1000.0/USER_PWM_FREQ_kHz)


    #define USER_ISR_FREQ_Hz ((float_t) USER_PWM_FREQ_kHz * 1000.0 /(float_t) USER_NUM_PWM_TICKS_PER_ISR_TICK)

    #define USER_ISR_PERIOD_USEC (USER_PWM_PERIOD_USEC *(float_t) USER_NUM_PWM_TICKS_PER_ISR_TICK)


    #define USER_NUM_PWM_TICKS_PER_ISR_TICK (1)

    #define USER_NUM_ISR_TICKS_PER_CTRL_TICK (1)// 2示例、控制器时钟速率(CTRL)以 PWM/2运行;例如30 KHz PWM、15 KHz 控制

    #define USER_NUM_CTRL_TICKS_PER_CURRENT_TICK (1)// 1典型值、正向 FOC 电流控制器(IQ/ID/IPART/SVPWM)以与 CTRL 相同的速率运行。

    #define USER_NUM_CTRL_TICKS_PER_EST_TICK (1)// 1典型值,FAST 估算器以与 CTRL 相同的速率运行;

    #define USER_NUM_CTRL_TICKS_PER_SPEED_TICK (15)// 15 (典型值)以匹配 PWM、例如15kHz PWM、控制器和电流环路、1KHz 速度环路

    #define USER_NUM_CTRL_TICKS_PER_TRAJ_TICK (15)// 15 (典型值)以匹配 PWM、例如:10kHz 控制器和电流环路、1KHz 速度环路、1KHz 轨迹

    #define USER_CTRL_FREQ_Hz (uint_least32_t)(USER_ISR_FREQ_Hz/USER_NUM_ISR_TICKS_PER_CTRL_TICK)

    #define USER_EST_FREQ_Hz (uint_least32_t)(USER_CTRL_FREQ_Hz/USER_NUM_CTRL_TICKS_PER_EST_TICK)

    #define USER_TRAJ_FREQ_Hz (uint_least32_t)(USER_CTRL_FREQ_Hz/USER_NUM_CTRL_TICKS_PER_TRAJ_TICK)

    #define USER_CTRL_PERIOD_USEC (USER_ISR_PERIOD_USEC * USER_NUM_ISR_TICKS_PER_CTRL_TICK)

    #define USER_CTRL_PERIOD_sec ((float_t) USER_CTRL_PERIOD_USEC/(float_t) 1000000.0)



    #define USER_MAX_NEW_ID_REF_CURRENT_A (-0.5 * USER_MOTOR_MAX_CURRENT)//-0.5 * USER_MOTOR_MAX_CURRENT 示例,进行调整以满足电机的安全需求


    #define USER_ZEROSPEEDLIMIT (0.5 / USER_IQ_FULL_SCALE_FREQ_Hz)// 0.002pu、1-5 Hz 典型值;Hz = USER_ZEROSPEEDLIMIT * USER_IQ_FULL_SCALE_FREQ_Hz

    #define USER_FORCE_ANGE_FREQ_Hz (2.0 * USER_ZEROSPEEDLIMIT * USER_IQ_FULL_SCALE_FREQ_Hz)// 1.0典型强制角启动速度

     
    #define USER_MAX_CURRENT_SLOW_POWERWARP (0.3*USER_MOTOR_RES_EST_CURRENT_USER_IQ_FULL_SCALE_CURRENT_A/USER_TRAJ_FREQ_Hz)// 0.3*RES_EST_CURRENT / IQ_FULL_SCALE_CURRENT / TRAJ_FREQ (典型值),用于产生1秒斜坡/下降


    #define USER_MAX_ACCEL_Hzps (20.0)//默认值20.0

    #define USER_IDRATED_Delta (0.00002)

    #define USER_R_OVER L_EST_FREQ_Hz (100)//默认为100


    //短极
    #define USER_VOLTGE_FILTER_POLE_Hz (372.5)// 372.5、hvkit_rev1p1硬件的值

    #define USER_VOLTGE_FILTER_POLE_Rps (2.0 * MATH_PI * USER_VOLTGE_FILTER_POLE_Hz)

    //结束定义


    //简单用户电机和 ID 设置
    秘书长的报告

    //使用唯一的名称和 ID 号来定义每个电机
    #define My_Motor 104

    //brief 取消对编译时应包括的电机的注释
    #define USER_MOTOR_My_Motor

    #define USER_MOTOR_FREQ_LOW (3.0)// Hz -建议将电机额定频率设置为10%
    #define USER_MOTOR_FREQ_HIGH (30.0)// Hz -建议设置为额定电机电频率的100%
    #define USER_MOTOR_FREQ_MAX (36.0)// Hz -建议将电机额定频率设置为120%
    #define USER_MOTOR_VOLT_MIN (80.0)//伏特-建议设置为额定电机电压的~20%
    #define USER_MOTOR_VOLT_MAX (240.0)//伏特-建议设置为额定电机电压的100%

    #Elif (USER_MOTOR== My_Motor)
    #define USER_MOTOR_TYPE MOTOR_Type_PM
    #define USER_MOTOR_NUM_POLE_PAIRS (16)
    #define USER_MOTOR_RR (空)
    #define USER_MOTOR_Rs (1.2304)
    #define USER_MOTOR_LS_d (0.00106188)
    #define USER_MOTOR_LS_q (0.00106188)
    #define USER_MOTOR_RAGED_FLUX (空)
    #define USER_MOTOR_磁 化电流(空)
    #define USER_MOTOR_RES_EST_CURRENT (2.0)
    #define USER_MOTOR_IND_EST_CURRENT (-2.0)
    #define USER_MOTOR_MAX_CURRENT (12.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (3.0)

    //InstaSPIN 运动电机参数

    #Elif (USER_MOTOR== my_MOTOR")
    #define USER_MOTOR_TYPE MOTOR_Type_PM
    #define USER_MOTOR_NUM_POLE_PAIRS (16)
    #define USER_MOTOR_RR (空)
    #define USER_MOTOR_Rs (1.23040)
    #define USER_MOTOR_LS_d (0.00106188)
    #define USER_MOTOR_LS_q (0.00106188)
    #define USER_MOTOR_RAGED_FLUX (空)
    #define USER_MOTOR_磁 化电流(空)
    #define USER_MOTOR_RES_EST_CURRENT (2.0)
    #define USER_MOTOR_IND_EST_CURRENT (-2.0)
    #define USER_MOTOR_MAX_CURRENT (12.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (3.0)
    #define USER_MOTOR_ENCODER_LINESS(1.0)
    #define USER_MOTOR_MAX_SPEED_KRPM (0.12)
    #define USER_SYSTEM_INER惯性(0.02)
    #define USER_SYSTEM_FRIC滑动(0.01)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    #ifndef _user_H_
    #define _USER_H_
    
    
    //模块
    #include "sw/modules/types/src.h"
    #include "sw/modules/est/motor/sr/sr/src_states.h"
    #include "sw/modules/est/states/src/states/srs/states/srs/states/srs/states/srs/rs/states/srs/es/srs/states/srs/es/srs/states/srs/es/srs/states/srs/es/srs/es/srs/es/srs/es/srs/es/srs/es/srs/es/sr.b/est/states/srs/states/srs/states/srs/es/srs/es/srs/es/srs/es/srs/es/srs/states/srs/es/srs/es/srs/es/srs/es/srs/es/sr.b/states/sr.b/states
    
    
    
    
    
    
    
    
    
    
    
    //!
    //! defgroup 用户//
    !
    //@{
    
    
    #ifdef __cplusplus
    extern "C"{
    #endif
    
    //*********
    //定义
    
    
    //! 简要介绍电流和电压
    //
    //! \brief 定义 IQ 变量的满量程频率、Hz
    //! \brief 根据与该值的比率//
    将所有频率转换为(pu)! \brief 此值必须大于您期望电机
    #define USER_IQ_FULL_SCALE_FREQ_Hz 的最大速度 (500.0)// 800示例、具有缓冲器、用于8极6 krpm 电机在磁场减弱时运行至10 krpm;Hz =(RPM *极)/ 120
    
    //! \brief 定义系统内部 IQ30电压变量的满量程值
    //! \brief 根据与该值的比率//
    将所有电压转换为(pu)! \brief 警告:此值必须满足以下条件:USER_IQ_FULL_SCALE_VOLTAGE_V > 0.5 * USER_MOTOR_MAX_CURRENT * USER_MOTOR_LS_d * USER_VOLTAGE_FILTER_POLE_Rps、
    //! \brief 警告:否则该值可能会饱和并翻转、导致值不准确
    //! \brief 警告:此值通常大于测得的最大 ADC 值、尤其是在运行速度高于额定速度
    的高反电动势电机中//! \brief 警告:如果您知道反电动势常数的值、并且您知道由于磁场减弱而以多种速度运行、请确保将此值设置为高于预期反电动势电压
    //! 简要建议从比 USER_ADC_FULL_SCALE_VOLTGE_V 大~3倍的值开始、如果 Bemf 计算可能超过这些限制、则增加到4-5倍
    //! \brief 此值也用于计算最小磁通值:USER_IQ_FULL_SCALE_VOLTAGE_V/USER_EST_FREQ_Hz/0.7
    #define USER_IQ_FULL_SCALE_VOLTAGE_V (450.0)// 450.0 hvkit_rev1p1典型用法示例
    
    //! \brief 定义 AD 转换器输入端的最大电压
    //! 将由最大 ADC 输入(3.3V)和转换(0FFFh)表示的值简述
    //! 简要说明与硬件相关、这应基于 ADC 输入
    #define USER_ADC_FULL_SCALE_VOLTGE_V 的电压检测和缩放 (409.6) // 409.6 hvkit_rev1p1电压调节
    
    //! \brief 定义系统的电压换算系数
    //! 针对整个系统中使用的换算系数(比率)的编译时间简短计算
    #define USER_VOLTGE_SF ((float_t)((USER_ADC_FULL_SCALE_VOLTAGE_V)/(USER_IQ_FULL_SCALE_VOLTAGE_V)))
    
    //! \brief 定义 IQ 变量的满量程电流、a
    //! \brief 根据与该值的比率//
    将所有电流转换为(pu)! \brief 警告:此值必须大于预期的电机最大电流读数、否则读数将回滚至0、从而导致控制问题
    #define USER_IQ_FULL_SCALE_CURRENT_A (12.0)// hvkit_rev1p1的10.0示例典型用法
    
    //! \brief 定义 AD 转换器的最大电流
    //! 将由最大 ADC 输入(3.3V)和转换(0FFFh)表示的值简述
    //! 简要说明硬件相关、这应基于 ADC 输入
    #define USER_ADC_FULL_SCALE_CURRENT_A 的电流感应和缩放 (19.89) // 19.89 hvkit_rev1p1电流调节
    
    //! \brief 定义系统的当前比例因子
    //! \brief 编译时间计算,用于系统中使用
    的换算系数(比率)#define USER_CURRENT_SF ((float_t)((USER_ADC_FULL_SCALE_CURRENT_A)/(USER_IQ_FULL_SCALE_CURRENT_A)))
    
    //! \brief 定义使用的电流传感器数量
    //! \brief 由硬件功能确定//
    ! \brief 可以是(2)或(3)
    #define USER_NUM_CURRENT_SENSORS (3)//为在全速范围内实现最佳性能而首选的3种设置,允许100%占空比
    
    //! \brief 定义电压(相位)传感器的数量
    //! \brief 必须为(3)
    #define USER_NUM_VOLTGE_SENSORS (3)//需要3
    
    //! \简述 A、B 和 C 相的 ADC 电流偏移
    //! 简要说明与硬件相关的一次性、但也可以在运行时进行校准
    //! \brief 在电路板初始校准后,这些值应针对您的特定硬件进行更新,以便在以二进制文件进行编译后可用于加载到控制器
    #define I_A_offset (0.9980847836)
    #define I_B_offset (0.9969834685)
    #define I_C_offset (0.9974584579)
    
    //! \简述 A、B 和 C 相的 ADC 电压偏移
    //! 简要说明与硬件相关的一次性、但也可以在运行时进行校准
    //! \brief 在电路板初始校准后、应针对您的特定硬件更新这些值、以便在编译为二进制文件后将其加载到控制器
    #define V_A_offset (0.2433366776)
    #define V_B_offset (0.2432493567)
    #define V_C_offset (0.2434823513)
    
    
    //! 简要时钟和计时器
    //*********
    //! \brief 定义系统时钟频率、MHz
    #define USER_SYSTEM_FREQ_MHz (90.0)
    
    //! \brief 定义脉宽调制(PWM)频率、kHz
    //! 简单的 PWM 频率可以直接在这里安全地设置为30KHz (在某些情况下最大值为60KHz)
    //! 简要对于更高的 PWM 频率(对于低电感、高电流纹波电机、典型值为60 KHz 以上)、建议使用 ePWM 硬件
    //! 简要介绍可调节的 ADC SOC、以抽取控制系统的 ADC 转换完成中断、或使用软件请求示例。
    //! \brief 否则您可能会丢失中断并中断控制状态机#define
    USER_PWM_FREQ_kHz 的时序 (15.0)//30.0示例、典型值8.0 - 30.0KHz;极低电感、高速电机可能需要45-80KHz
    
    //! \brief 定义允许的最大电压矢量(Vs)幅度。 该值设置
    //!的输出的最大幅度 简要介绍 ID 和 IQ PI 电流控制器。 Id 和 Iq 电流控制器输出为 Vd 和 Vq。
    //! 简要说明 Vs、Vd 和 VQ 之间的关系为:Vs = sqrt (Vd^2 + Vq^2)。 在此 FOC 控制器中
    、//! \brief Vd 值设置为等于 USER_MAX_VS_MAG_USER_VD_MAG_FACTOR。 Vq = sqrt (USER_MAX_VS_MAG^2 - Vd^2)。
    //! \brief 对于 SQRT (3)/2 = 86.6%占空比时峰值为正弦波、将 USER_MAX_VS_MAG 设置为0.5。 这种情况不需要电流重构。
    //! 简要设置 USER_MAX_VS_MAG = 1/SQRT (3)= 0.5774、用于峰值为100%占空比的纯正弦波。 这种情况下(Lab10a-x)需要电流重构。
    //! \brief 设置 USER_MAX_VS_MAG = 2/3 = 0.6666以生成梯形电压波形。 这种情况下(Lab10a-x)需要电流重构。
    //! \brief 有关空间矢量过调制的信息,请参阅实验10以了解有关使 SVM 发生器能够一直运行到梯形的系统要求的详细信息。
    #define USER_MAX_VS_MAG_PU (0.5)//如果不使用电流重构技术,则设置为0.5。 有关更多信息、请查看 lab10a-x 中的模块 svgen_current。
    
    //! \brief 定义控制器句柄的地址
    //!
    #define USER_CTRL_Handle_ADDRESS (0x13C40)
    
    //! \brief 定义估算器句柄的地址
    //!
    #define USER_EST_Handle_ADDRESS (0x13840)
    
    //! \brief 定义直流电压(Vd)比例因子
    //!
    #define USER_VD_SF (0.95)
    
    //! \brief 定义脉宽调制(PWM)周期、单位为微秒
    //! \brief 编译时间计算
    #define USER_PWM_PERIOD_USec (1000.0/USER_PWM_FREQ_kHz)
    
    //! \brief 定义中断服务例程(ISR)频率、Hz
    //!
    #define USER_ISR_FREQ_Hz (((float_t) USER_PWM_FREQ_kHz * 1000.0 /(float_t) USER_NUM_PWM_TICKS_PER_ISR_TICK)
    
    //! \brief 定义中断服务例程(ISR)周期、单位为 ec
    //!
    #define USER_ISR_PERIOD_USEC (USER_PWM_PERIOD_USEC *(float_t) USER_NUM_PWM_TICKS_PER_ISR_TICK)
    
    
    //! 简要抽取
    率//
    //! \brief 定义每个 ISR 时钟节拍的 PWM 时钟节拍数
    //! 注意:有效值仅为1、2或3
    #define USER_NUM_PWM_TICKS_PER_ISR_TICK (1)
    
    //! \brief 定义每个控制器时钟节拍(软件)的 ISR 节拍数(硬件)
    //! \brief 控制器时钟节拍(CTRL)是用于软件中所有时序
    的主时钟//! \brief 通常情况下、PWM 频率触发器(可由 ePWM 硬件抽取以减少开销) ADC SOC
    //! \brief ADC SOC 触发 ADC 转换完成
    //! \brief ADC 转换完成触发 ISR
    //! \brief 这会将硬件 ISR 速率与软件控制器速率//相关联
    ! \brief 典型地想考虑16KHz ISR 上的某种形式的抽取(ePWM 硬件、电流或 EST)、以确保中断完成并为后台任务留出时间
    #define USER_NUM_ISR_TICKS_PER_CTRL_TICK (1) // 2示例、控制器时钟速率(CTRL)以 PWM/2运行;例如30KHz PWM、15KHz 控制
    
    //! \brief 定义每个电流控制器时钟节拍
    的控制器时钟节拍数//! 控制器时钟速率与电流控制器(FOC)速率
    的简要关系#define USER_NUM_CTRL_TICKS_PER_CURRENT_TICK (1) // 1典型的正向 FOC 电流控制器(IQ/ID/IPark/SVPWM)以与 CTRL 相同的速率运行。
    
    //! \brief 定义每个估算器时钟节拍的控制器时钟节拍数
    //! 控制器时钟速率与估算器(FAST)速率之间的简要关系
    //! 简要取决于所需的动态性能、FAST 可提供低至1KHz 的良好结果、而更动态或高速的应用可能需要高达15KHz
    的#define USER_NUM_CTRL_TICKS_PER_EST_TICK (1) // 1个典型的 FAST 估算器以与 CTRL 相同的速率运行;
    
    //! \brief 定义每个速度控制器时钟节拍
    的控制器时钟节拍数//! 控制器时钟速率与速度环路速率之间的简要关系
    #define USER_NUM_CTRL_TICKS_PER_SPEED_TICK (15)// 15典型值以匹配 PWM、例如:15kHz PWM、控制器和电流环路、1KHz 速度环路
    
    //! \brief 定义每个轨迹时钟节拍的控制器时钟节拍数
    //! \控制器时钟速率与轨迹环路速率之间的简短关系
    //! \brief 通常与速度速率
    #define USER_NUM_CTRL_TICKS_PER_TRAJ_TICK (15)// 15典型值相同、以匹配 PWM、例如:10kHz 控制器和电流环路、1KHz 速度环路、1KHz 轨迹
    
    //! \brief 定义控制器频率、Hz
    //! \brief 编译时间计算
    #define USER_CTRL_FREQ_Hz (uint_least32_t)(USER_ISR_FREQ_Hz/USER_NUM_ISR_TICKS_PER_CTRL_TICK)
    
    //! \brief 定义估算器频率、Hz
    //! \brief 编译时间计算
    #define USER_EST_FREQ_Hz (uint_least32_t)(USER_CTRL_FREQ_Hz/USER_NUM_CTRL_TICKS_PER_EST_TICK)
    
    //! \brief 定义轨迹频率、Hz
    //! \brief 编译时间计算
    #define USER_TRAJ_FREQ_Hz (uint_least32_t)(USER_CTRL_FREQ_Hz/USER_NUM_CTRL_TICKS_PER_TRAJ_TICK)
    
    //! \brief 定义控制器执行周期、usec
    //! \brief 编译时间计算
    #define USER_CTRL_PERIOD_USEC (USER_ISR_PERIOD_USEC * USER_NUM_ISR_TICKS_PER_CTRL_TICK)
    
    //! \brief 定义控制器执行周期、秒
    //! \brief 编译时间计算
    #define USER_CTRL_PERIOD_sec (((float_t) USER_CTRL_PERIOD_usec/(float_t) 1000000.0)
    
    
    //! 简要限制
    //
    //! \brief 定义要在 Id 参考
    中应用的最大负电流//! \brief 仅用于磁场减弱、这是一个安全设置(例如防止退磁)
    //! \brief 用户还必须注意、总体电流幅度[sqrt (ID^2 + IQ^2)]应保持在任何机器设计规格
    #define USER_MAX_NEW_ID_REF_CURRENT_A 之下 (-0.5 * USER_MOTOR_MAX_CURRENT)//-0.5 * USER_MOTOR_MAX_CURRENT 示例,调整以满足电机的安全需求
    
    //! \brief 定义磁通积分器的低速限值、pu
    //! \brief 这是 ForceAngle 对象处于活动状态的速度范围(CW/CCW),但仅当启用
    //时! \brief 在该速度之外-或者如果禁用- ForcAngle 将永远不会被激活、并且该角度仅由 FAST 提供
    #define USER_ZEROSPEEDLIMIT (0.5/USER_IQ_FULL_SCALE_FREQ_Hz) // 0.002pu、1-5 Hz 典型值;Hz = USER_ZEROSPEEDLIMIT * USER_IQ_FULL_SCALE_FREQ_Hz
    
    //! \brief 定义力角频率、Hz
    //! \ForceAngle 对象使用的定子矢量旋转频率
    //! \brief 可以是正或负
    #define USER_FORCE_ANGE_FREQ_Hz (2.0 * USER_ZEROSPEEDLIMIT * USER_IQ_FULL_SCALE_FREQ_Hz) // 1.0典型强制角启动速度
    
    //! \brief 定义 PowerWarp 期间 Id 轨迹的最大电流斜率
    //! \brief 仅限于感应电机,控制 Id 输入在 PowerWarp 控制
    #define USER_MAX_CURRENT_SLOW_POWERWARP (0.3*USER_MOTOR_RES_EST_CURRENT/USER_IQ_FULL_SCALE_CURRENT_A/USER_TRAJ_FREQ_Hz)// 0.3*RES_CURRENT/IQ_FULL_FREQ_FREQ/ RAP/ RAP/ FAST_FREP/ RAMULL_FREQ/ RAP/ RAP/ RAP/ RAP/ RAP/ RAP/ RAP/ RAP/ RAP/ RAP
    
    \brief 定义速度系统配置的启动最大加速度和减速度、Hz/s
    //! \brief 在运行时通过用户函数进行了更新
    //! 简要介绍逆变器、电机、惯性和负载将限制
    实际加速能力#define USER_MAX_ACCEL_Hzps (20.0) //默认值20.0
    
    //! \brief 定义估算速度系统配置的最大加速度、Hz/s
    //! \brief 仅在电机 ID (佣金)
    #define USER_MAX_ACCEL_EST_Hzps 期间使用 (2.0) //默认为2.0,请勿更改
    
    //! \brief 定义估算
    期间 Id 轨迹的最大电流斜率#define USER_MAX_CURRENT_SLOPE (USER_MOTOR_RES_EST_CURRENT_USER_IQ_FULL_SCALE_CURRENT_A/USER_TRAJ_FREQ_Hz) // USER_MOTOR_RES_EST_CURRENT_USER_IQ_FULL_SCALE_CURRENT_A/USER_TRAJ_FREQ_Hz 默认值,请勿更改
    
    //! \brief 定义在额定磁通估算期间要使用的 IdRated 比例
    //!
    #define USER_IDRATED_FRATE_TO_RATED_FLUX (1.0) //默认为1.0,请勿更改
    
    //! \brief 定义在电感估算过程中要使用的 IdRated 比例
    //!
    #define USER_IDRATED_FRATE_TO_L_IDENT (1.0) //默认为1.0,请勿更改
    
    //! \brief 定义要在估算过程中使用的 IdRated 增量
    //!
    #define USER_IDRATED_DELTA (0.00002)
    
    //! \brief 定义在电感估算过程中要使用的 SpeedMax 的比例
    //!
    #define USER_SPEEDMAX_分数_for_L_ident (1.0) //默认为1.0,请勿更改
    
    //! \brief 定义在电感识别过程中使用的磁通比例
    //!
    #define USER_FLUX_FRA分数 (1.0) //默认为1.0,请勿更改
    
    //! \brief 定义用于计算 ID 参考
    的 PowerWarp 增益//! 简要介绍感应电机仅
    #define USER_POWERWARP_GAIN (1.0) //默认为1.0,请勿更改
    
    //! \brief 定义 R/L 估算频率、Hz
    //! 简要介绍用户低电感电机的较高值和较低电感值
    //! 简要介绍电机。 这些值的范围为100Hz 至300Hz。
    #define USER_R_OVER L_EST_FREQ_Hz (100) //默认为100
    
    
    //! 简要杆
    数//
    //! \brief 定义模拟电压滤波器极点位置、Hz
    //! \brief 必须与 VPH
    #define USER_VOLTGE_FILTER_POLE_Hz (372.5)// 372.5的硬件过滤器匹配,hvkit_rev1p1硬件的值
    
    //! \brief 定义模拟电压滤波器极点位置、rad/s
    //! \brief 编译时间计算从 Hz 到 rad/s
    #define USER_VOLTGE_FILTER_POLE_Rps (2.0 * MATH_PI * USER_VOLTGE_FILTER_POLE_Hz)
    
    //! \brief 定义电压和电流偏移估算的软件极点位置、rad/s
    //! 不应将\brief 从默认值(20.0)
    #define USER_OFFSET_POLE_rps 中更改 (20.0)//默认值20.0、请勿更改
    
    //! \brief 定义磁通估算的软件极点位置、rad/s
    //! 不应将\brief 从默认值(100.0)
    #define USER_FLUX_POLE_rps 中更改 (100.0)//默认值100.0,请勿更改
    
    //! \brief 定义方向滤波器的软件极点位置、rad/s
    #define USER_DIRECTION _pole rps (6.0)//默认为6.0,请勿更改
    
    //! \brief 定义速度控制滤波器的软件极点位置、rad/s
    #define USER_SPEED_POLE_rps (100.0)//默认值100.0,请勿更改
    
    //! \brief 定义直流总线滤波器的软件极点位置、rad/s
    #define USER_DCBus_pole rps (100.0)//默认值100.0,请勿更改
    
    //! \brief 定义估算器的收敛因子
    //! \brief 不要更改 FAST
    #define USER_EST_KAPAQ 的默认值 (1.5)//默认值1.5,请勿更改
    
    //*********
    //结束定义
    
    
    //! 简要介绍用户电机和 ID 设置
    //
    
    //! \brief 使用唯一的名称和 ID 号//
    BLDC & SMPM 电机
    #define Estun_EMJ_04APB22定义每个电机 101
    #define Anaheim_BLY172S 102
    #define Anaheim_BLWS235D 103
    #define My_Motor 104
    #define GE_PUMP 105
    #define FRAGE_COMPENSOR 106
    #define VFWM_Puer6p5L1107
    #define VFWM_WLBW420P08108
    #define VFWM_GJ2BA003A109
    
    // IPM 电机
    //如果用户提供单独的 Ls-d、Ls-q
    //否则使用用户或识别的平均 Ls
    #define Belte_Drive_洗衣机_IPM 处理为 SPM 201
    
    // ACIM 电机
    #define Marathing_5K33GN2A 301
    #define Marathing_56H17T2011A 302
    #define Selni_AHV242N06 303
    #define Dayton_3N352C_230 304
    #define Dayton_3N352C_460 305
    #define Weg_00118ET3E143T_W22_230 306
    #define Weg_00118ET3E143T_W22_460 307
    #define Oriental_4IK25A_SH_230 308
    #define Dayton_2N865T 309
    
    //! \brief 取消注释编译
    //时应包含的电机! \brief 然后、这些电机 ID 设置和电机参数可供控制系统使用
    //! \brief 确定理想设置和参数后、请更新此处的电机部分、以便以二进制代码
    //#define USER_MOTOR_Estun_EMJ_04APB22
    //#define USER_MOTOR_Anaheim_BLY172S
    //#define USER_MOTOR_BLWS235D
    #define USER_MOTOR_My_MOTOR/#define WM_GURAM/#define
    VBWM/#define VBWM_MOTOR_GURAMENT/
    
    
    define VBWM/#FWM_MOTOR_GURAMENT/ define VBWM/#define VBWM_MOTOR_GURAMENT/ FAV5MP_GURAM/#define VBWM/#BR_MOTOR_MOTOR_GURAM/#define VBATER
    
    USER_MOTOR 皮带_Driver_洗衣机_IPM
    //#define USER_MOTOR MARGIN_5K33GN2A
    //#define USER_MOTOR MARGIN_56H17T2011A
    //#define USER_MOTOR Selni_EIV242N06
    //#define USER_MOTOR_DETAY_3N352C_DETAYET24_MOTOR/#define ET24_ETRY_ETRY_ETOTOR_ETRY_ETRY_ETRY_ETRYTP_430_TRYT/#define
    ETRY_ETRY_TRY_TRY_TRY_TRY_TRY_TRY_TRY_TRY_3U_TRIGN
    
    
    
    
    
    
    //名称必须与电机#define
    #USER_MOTOR_TYPE 相匹配 Motor_Type_Pm // Motor_Type_Pm (全部同步:BLDC、PMSM、SMPM、IPM)或 Motor_Type_Induction (异步 ACI)
    #define USER_MOTOR_NUM_POLE_PAIRS (4) //对、而不是总极数。 仅用于根据转子 Hz 计算用户 RPM
    #define USER_MOTOR_RR (空) //仅感应电机,否则为 NULL
    #define USER_MOTOR_Rs (2.200221) // Y 等效电路中识别的相位到中性点电阻(欧姆、浮点)
    #define USER_MOTOR_LS_d (0.008721023)//对于 PM、确定的平均定子电感(亨利、浮点数)
    #define USER_MOTOR_LS_q (0.008721023)//对于 PM、确定的平均定子电感(亨利、浮点数)
    #define USER_MOTOR_RATGED_FLUX (0.3846985)//确定转子和定子之间的总磁链(V/Hz)
    #define USER_MOTOR_磁 化电流(NULL) //仅感应电机、否则为 NULL
    #define USER_MOTOR_RES_EST_CURRENT (1.0) //在电机识别期间、用于 Rs 估算的最大电流(安培、浮点数)、10-20%额定电流
    #define USER_MOTOR_IND_EST_CURRENT (-1.0) //在电机识别期间、用于 LS 估算的最大电流(负安培、浮点数)、只需足够的时间即可启用旋转
    #define USER_MOTOR_MAX_CURRENT (3.82) //严重:在 ID 和运行时使用、设置所提供速度 PI 控制器到 IQ 控制器
    #define USER_MOTOR_FLUX_EST_FREQ_Hz 的最大电流命令输出的限制 (20.0) //在电机识别期间、最大指令速度(Hz、浮点)、 ~10%额定
    
    #define USER_MOTOR_FREQ_LOW(3.0)// Hz -建议设置为额定电机频率
    
    
    的10%#define USER_MOTOR_FREQ_HIGH (30.0)// Hz -建议设置为额定电机频率的100%#define USER_MOTOR_FREQ_MAX (36.0)// Hz -建议设置为 USER_MOTOR_FREQ_MIN (80.0)额定电机频率的120%//伏特-建议设置为额定电机电压#define
    USER_MOTOR_VOLT_MAX(240.0)的~20%//伏特-建议设置为额定电机电压
    
    #Elif (USER_MOTOR== Anaheim _BLY172S)
    #define USER_MOTOR_TYPE 的100% Motor_Type_Pm
    #define USER_MOTOR_NUM_POLE_PAIRS (4)
    #define USER_MOTOR_RR (空)
    #define USER_MOTOR_Rs (0.4110007)
    #define USER_MOTOR_LS_d (0.0007092811)
    #define USER_MOTOR_LS_q (0.0007092811)
    #define USER_MOTOR_RATed_FLUX (0.03279636)
    #define USER_MOTOR_磁 化电流(NULL)
    #define USER_MOTOR_RES_EST_CURRENT (1.0)
    #define USER_MOTOR_IND_EST_CURRENT (-1.0)
    #define USER_MOTOR_MAX_CURRENT (5.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0)
    
    #Elif (USER_MOTOR== Anaheim_BLWS235D)
    #define USER_MOTOR_TYPE Motor_Type_Pm // Motor_Type_Pm (全部同步:BLDC、PMSM、SMPM、IPM)或 Motor_Type_Induction (异步 ACI)
    #define USER_MOTOR_NUM_POLE_PAIRS (4) //对、而不是总极数。 仅用于根据转子 Hz 计算用户 RPM
    #define USER_MOTOR_RR (空) //仅感应电机,否则为 NULL
    #define USER_MOTOR_Rs (5.310565) // Y 等效电路中识别的相位到中性点电阻(欧姆、浮点)
    #define USER_MOTOR_LS_d (0.02047198)//对于 PM、确定的平均定子电感(亨利、浮点数)
    #define USER_MOTOR_LS_q (0.02047198)//对于 PM、确定的平均定子电感(亨利、浮点数)
    #define USER_MOTOR_RATGED_FLUX (0.6824858)//确定的转子和定子之间的总磁链(V/Hz)
    #define USER_MOTOR_磁 化电流(NULL) //仅感应电机、否则为 NULL
    #define USER_MOTOR_RES_EST_CURRENT (1.0) //在电机识别期间、用于 Rs 估算的最大电流(安培、浮点数)、10-20%额定电流
    #define USER_MOTOR_IND_EST_CURRENT (-1.0) //在电机识别期间、用于 LS 估算的最大电流(负安培、浮点数)、只需足够的时间即可启用旋转
    #define USER_MOTOR_MAX_CURRENT (3.82) //严重:在 ID 和运行时使用、设置所提供速度 PI 控制器到 IQ 控制器
    #define USER_MOTOR_FLUX_EST_FREQ_Hz 的最大电流命令输出的限制 (20.0) //电机识别期间、最大指令速度(Hz、浮点)、~10%额定
    
    
    #elif (USER_MOTOR== My_Motor)
    #define USER_MOTOR_TYPE Motor_Type_Pm
    #define USER_MOTOR_NUM_POLE_PAIRS (16)
    #define USER_MOTOR_RR (空)
    #define USER_MOTOR_Rs (1.2304)
    #define USER_MOTOR_LS_d (0.00106188)
    #define USER_MOTOR_LS_q (0.00106188)
    #define USER_MOTOR_RATed_FLUX (空)
    #define USER_MOTOR_磁 化电流(空)
    #define USER_MOTOR_RES_EST_CURRENT (5.0)
    #define USER_MOTOR_IND_EST_CURRENT (-5.0)
    #define USER_MOTOR_MAX_CURRENT (12.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (3.0)
    
    #Elif (USER_MOTOR== GE_PUMP)
    #define USER_MOTOR_TYPE Motor_Type_Pm
    #define USER_MOTOR_NUM_POLE_PAIRS (4)
    #define USER_MOTOR_RR (空)
    #define USER_MOTOR_Rs (0.1931403)
    #define USER_MOTOR_LS_d (0.0001903657)
    #define USER_MOTOR_LS_q (0.0001903657)
    #define USER_MOTOR_RATIVE_FLUX (0.06034314)
    #define USER_MOTOR_磁 化电流(NULL)
    #define USER_MOTOR_RES_EST_CURRENT (1.0)
    #define USER_MOTOR_IND_EST_CURRENT (-1.0)
    #define USER_MOTOR_MAX_CURRENT (8.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0)
    
    #Elif (USER_MOTOR== FRAGE_COMPUTERN)
    #define USER_MOTOR_TYPE Motor_Type_Pm
    #define USER_MOTOR_NUM_POLE_PAIRS (2)
    #define USER_MOTOR_RR (空)
    #define USER_MOTOR_Rs (4.707864)
    #define USER_MOTOR_LS_d (0.1728041)
    #define USER_MOTOR_LS_q (0.1728041)
    #define USER_MOTOR_RATed_FLUX (0.418879)
    #define USER_MOTOR_磁 化电流(NULL)
    #define USER_MOTOR_RES_EST_CURRENT (0.3)
    #define USER_MOTOR_IND_EST_CURRENT (-0.3)
    #define USER_MOTOR_MAX_CURRENT (5.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (40.0)
    
    #elif (USER_MOTOR== VFWM_Puer6p5L1
    )#define USER_MOTOR_TYPE Motor_Type_Pm// Motor_Type_Pm (全部同步:BLDC、PMSM、SMPM、IPM)或 Motor_Type_Induction (异步 ACI)
    #define USER_MOTOR_NUM_POLE_PAIRS (6)//对、而不是总极数。 仅用于根据转子 Hz 计算用户 RPM
    #define USER_MOTOR_RR (空)//仅感应电机,否则为 NULL
    #define USER_MOTOR_Rs (5.918501)// Y 等效电路中识别的相位到中性点电阻(欧姆、浮点)
    #define USER_MOTOR_LS_d (0.02258026)//对于 PM、确定的平均定子电感(亨利、浮点数)
    #define USER_MOTOR_LS_q (0.02258026)//对于 PM、确定的平均定子电感(亨利、浮点数)
    #define USER_MOTOR_RATed_FLUX (1.09489)//确定的转子和定子之间的总磁链(V/Hz)
    #define USER_MOTOR_磁 化电流(NULL)//仅感应电机、否则为 NULL
    #define USER_MOTOR_RES_EST_CURRENT (1.5)//在电机识别期间、用于 Rs 估算的最大电流(安培、浮点数)、10-20%额定电流
    #define USER_MOTOR_IND_EST_CURRENT (-1.25) //在电机识别期间、用于 LS 估算的最大电流(负安培、浮点数)、只需足够的时间即可启用旋转
    #define USER_MOTOR_MAX_CURRENT (4.0)//严重:在 ID 和运行时使用、设置所提供速度 PI 控制器到 IQ 控制器
    #define USER_MOTOR_MAX_START_CURRENT(3.5)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz 的最大电流命令输出的限制 (40.0)//电机识别期间、最大命令速度(Hz、浮点)、~10%额定
    
    电压#define USER_MOTOR_MAX_FWC_CURRENT(-1.0)// 1.0A
    
    
    #Elif (USER_MOTOR== VFWM_WLBW420P08)
    #define USER_MOTOR_TYPE Motor_Type_Pm// Motor_Type_Pm (全部同步:BLDC、PMSM、SMPM、IPM)或 Motor_Type_Induction (异步 ACI)
    #define USER_MOTOR_NUM_POLE_PAIRS (4)//对、而不是总极数。 仅用于根据转子 Hz 计算用户 RPM
    #define USER_MOTOR_RR (空)//仅感应电机,否则为 NULL
    #define USER_MOTOR_Rs (2.283941)// Y 等效电路中识别的相位到中性点电阻(欧姆、浮点)
    #define USER_MOTOR_LS_d (0.0160190)//对于 PM、确定的平均定子电感(亨利、浮点数)
    #define USER_MOTOR_LS_q (0.0160190)//对于 PM、确定的平均定子电感(亨利、浮点数)
    #define USER_MOTOR_RATGED_FLUX (0.4474692)//确定的转子和定子之间的总磁链(V/Hz)
    #define USER_MOTOR_磁 化电流(NULL)//仅感应电机、否则为 NULL
    #define USER_MOTOR_RES_EST_CURRENT (1.0)//在电机识别期间、用于 Rs 估算的最大电流(安培、浮点数)、10-20%额定电流
    #define USER_MOTOR_IND_EST_CURRENT (-1.0)//在电机识别期间、用于 LS 估算的最大电流(负安培、浮点数)、只需足够的时间即可启用旋转
    #define USER_MOTOR_MAX_CURRENT (4.5)//严重:在 ID 和运行时使用、设置所提供速度 PI 控制器到 IQ 控制器
    #define USER_MOTOR_MAX_START_CURRENT(2.5)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz 的最大电流命令输出的限制 (40.0)//电机识别期间、最大命令速度(Hz、浮点)、~10%额定
    
    电压#define USER_MOTOR_MAX_FWC_CURRENT(-3.0)// 1.0A
    
    
    #Elif (USER_MOTOR== VFWM_GJ2BA003A)
    #define USER_MOTOR_TYPE Motor_Type_Pm // Motor_Type_Pm (全部同步:BLDC、PMSM、SMPM、IPM)或 Motor_Type_Induction (异步 ACI)
    #define USER_MOTOR_NUM_POLE_PAIRS (3) //对、而不是总极数。 仅用于根据转子 Hz 计算用户 RPM
    #define USER_MOTOR_RR (空) //仅感应电机,否则为 NULL
    #define USER_MOTOR_Rs (2.931377) // Y 等效电路中识别的相位到中性点电阻(欧姆、浮点)
    #define USER_MOTOR_LS_d (0.008306248)//对于 PM、确定的平均定子电感(Henry、float)
    #define USER_MOTOR_LS_q (0.008306248)//对于 PM、确定的平均定子电感(亨利、浮点数)
    #define USER_MOTOR_RATGE_FLUX (0.2193068)//确定的转子和定子之间的总磁链(V/Hz)
    
    #define USER_MOTOR_磁 化电流(NULL) //仅感应电机、否则为 NULL
    #define USER_MOTOR_RES_EST_CURRENT (1.0) //在电机识别期间、用于 Rs 估算的最大电流(安培、浮点数)、10-20%额定电流
    #define USER_MOTOR_IND_EST_CURRENT (-1.0) //在电机识别期间、用于 LS 估算的最大电流(负安培、浮点数)、只需足够的时间即可启用旋转
    #define USER_MOTOR_MAX_CURRENT (4.0) //严重:在 ID 和运行时使用、设置所提供速度 PI 控制器到 IQ 控制器
    #define USER_MOTOR_MAX_START_CURRENT(3.5)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz 的最大电流命令输出的限制 (40.0) //电机识别期间、最大指令速度(Hz、浮点)、~10%额定
    
    电压#define USER_MOTOR_MAX_FWC_CURRENT(0.0)// 1.0A
    
    
    #Elif (USER_MOTOR==皮带驱动垫圈_IPM)
    #define USER_MOTOR_TYPE Motor_Type_Pm
    #define USER_MOTOR_NUM_POLE_PAIRS (4)
    #define USER_MOTOR_RR (空)
    #define USER_MOTOR_Rs (2.70544)
    #define USER_MOTOR_LS_d (0.0115)
    #define USER_MOTOR_LS_q (0.0135)
    #define USER_MOTOR_RAVEND_FLUX (0.5022156)
    #define USER_MOTOR_磁 化电流(NULL)
    #define USER_MOTOR_RES_EST_CURRENT (1.0)
    #define USER_MOTOR_IND_EST_CURRENT (-1.0)
    #define USER_MOTOR_MAX_CURRENT (4.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0)
    
    #Elif (USER_MOTOR== Marathing_5K33GN2A) //名称必须与电机#define
    #USER_MOTOR_TYPE 相匹配 Motor_Type_Induction // Motor_Type_PM (全部同步:BLDC、PMSM、SMPM、IPM)或 Motor_Type_Induction (异步 ACI)
    #define USER_MOTOR_NUM_POLE_PAIRS (2) //对、而不是总极数。 仅用于根据转子 Hz 计算用户 RPM
    #define USER_MOTOR_RR (5.574939) //在 Y 等效电路中确定的相位到中性点(欧姆、浮点)
    #define USER_MOTOR_Rs (10.71121) //在 Y 等效电路中确定的相位到中性点(欧姆、浮点)
    #define USER_MOTOR_LS_d (0.04282236) //对于感应、确定的平均定子电感(亨利、浮点数)
    #define USER_MOTOR_LS_q USER_MOTOR_LS_d //对于感应、确定的平均定子电感(亨利、浮点数)
    #define USER_MOTOR_RATed_磁 通 (0.8165*220.0/60.0)// sqrt (2/3)*额定电压(线路)/额定频率(Hz)
    #define USER_MOTOR_磁 化电流(1.514201) //为感应电机识别的磁化电流、否则为 NULL
    #define USER_MOTOR_RES_EST_CURRENT (1.0) //在电机识别期间、用于 Rs 估算的最大电流(安培、浮点数)、10-20%额定电流
    #define USER_MOTOR_IND_EST_CURRENT (空) //不用于归纳
    #define USER_MOTOR_MAX_CURRENT (2.0) //严重:在 ID 和运行时使用、设置所提供速度 PI 控制器到 IQ 控制器
    #define USER_MOTOR_FLUX_EST_FREQ_Hz 的最大电流命令输出的限制 (5.0) //在电机识别期间、最大指令速度(Hz、浮点)。 应始终使用5Hz 进行感应。
    
    #Elif (USER_MOTOR== Marathing_56H17T2011A)
    #define USER_MOTOR_TYPE Motor_Type_Induction
    #define USER_MOTOR_NUM_POLE_PAIRS (2)
    #define USER_MOTOR_RR (5.076565)
    #define USER_MOTOR_Rs (7.777135)
    #define USER_MOTOR_LS_d (0.02756402)
    #define USER_MOTOR_LS_q USER_MOTOR_LS_d
    #define USER_MOTOR_RAGED_FLUX (0.8165*230.0/60.0)
    #define USER_MOTOR_磁 化电流(1.130457)
    #define USER_MOTOR_RES_EST_CURRENT (1.0)
    #define USER_MOTOR_IND_EST_CURRENT (空)
    #define USER_MOTOR_MAX_CURRENT (5.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (5.0)
    
    #Elif (USER_MOTOR== Selni_AHV242N06)
    #define USER_MOTOR_TYPE Motor_Type_Induction
    #define USER_MOTOR_NUM_POLE_PAIRS (1)
    #define USER_MOTOR_RR (0.6519378)
    #define USER_MOTOR_Rs (1.863846)
    #define USER_MOTOR_LS_d (0.01710425)
    #define USER_MOTOR_LS_q USER_MOTOR_LS_d
    #define USER_MOTOR_RAGED_FLUX (0.8165*190.0/2000.0)
    #define USER_MOTOR_磁 化电流(1.246659)
    #define USER_MOTOR_RES_EST_CURRENT (1.0)
    #define USER_MOTOR_IND_EST_CURRENT (空)
    #define USER_MOTOR_MAX_CURRENT (5.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (5.0)
    
    #Elif (USER_MOTOR== Dayton_3N352C_230)
    #define USER_MOTOR_TYPE Motor_Type_Induction
    #define USER_MOTOR_NUM_POLE_PAIRS (2)
    #define USER_MOTOR_RR (2.064656)
    #define USER_MOTOR_Rs (2.858907)
    #define USER_MOTOR_LS_d (0.02556416)
    #define USER_MOTOR_LS_q USER_MOTOR_LS_d
    #define USER_MOTOR_RAGED_FLUX (0.8165*230.0/60.0)
    #define USER_MOTOR_磁 化电流(2.938731)
    #define USER_MOTOR_RES_EST_CURRENT (1.0)
    #define USER_MOTOR_IND_EST_CURRENT (空)
    #define USER_MOTOR_MAX_CURRENT (5.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (5.0)
    
    #Elif (USER_MOTOR== Dayton_3N352C_460)
    #define USER_MOTOR_TYPE Motor_Type_Induction
    #define USER_MOTOR_NUM_POLE_PAIRS (2)
    #define USER_MOTOR_RR (9.077622)
    #define USER_MOTOR_Rs (11.106)
    #define USER_MOTOR_LS_d (0.0713708)
    #define USER_MOTOR_LS_q USER_MOTOR_LS_d
    #define USER_MOTOR_RAGED_FLUX (0.8165*460.0/60.0)
    #define USER_MOTOR_磁 化电流(1.462848)
    #define USER_MOTOR_RES_EST_CURRENT (1.0)
    #define USER_MOTOR_IND_EST_CURRENT (空)
    #define USER_MOTOR_MAX_CURRENT (4.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (5.0)
    
    #Elif (USER_MOTOR== Weg_00118ET3E143T_W22_230)
    #define USER_MOTOR_TYPE Motor_Type_Induction
    #define USER_MOTOR_NUM_POLE_PAIRS (2)
    #define USER_MOTOR_RR (1.067204)
    #define USER_MOTOR_Rs (2.406377)
    #define USER_MOTOR_LS_d (0.05482391)
    #define USER_MOTOR_LS_q USER_MOTOR_LS_d
    #define USER_MOTOR_RAGED_FLUX (0.8165*230.0/60.0)
    #define USER_MOTOR_磁 化电流(2.17855)
    #define USER_MOTOR_RES_EST_CURRENT (1.0)
    #define USER_MOTOR_IND_EST_CURRENT (空)
    #define USER_MOTOR_MAX_CURRENT (6.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (5.0)
    
    #Elif (USER_MOTOR== Weg_00118ET3E143T_W22_460)
    #define USER_MOTOR_TYPE Motor_Type_Induction
    #define USER_MOTOR_NUM_POLE_PAIRS (2)
    #define USER_MOTOR_RR (2.934001)
    #define USER_MOTOR_Rs (9.537757)
    #define USER_MOTOR_LS_d (0.2160697)
    #define USER_MOTOR_LS_q USER_MOTOR_LS_d
    #define USER_MOTOR_RAGED_FLUX (0.8165*460.0/60.0)
    #define USER_MOTOR_磁 化电流(1.086798)
    #define USER_MOTOR_RES_EST_CURRENT (1.0)
    #define USER_MOTOR_IND_EST_CURRENT (空)
    #define USER_MOTOR_MAX_CURRENT (5.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (5.0)
    
    #Elif (USER_MOTOR== Oriental_4IK25A_SH_230)
    #define USER_MOTOR_TYPE Motor_Type_Induction
    #define USER_MOTOR_NUM_POLE_PAIRS (2)
    #define USER_MOTOR_RR (64.00807)
    #define USER_MOTOR_Rs (128.2861)
    #define USER_MOTOR_LS_d (0.6856454)
    #define USER_MOTOR_LS_q USER_MOTOR_LS_d
    #define USER_MOTOR_RAGED_FLUX (0.8165*230.0/60.0)
    #define USER_MOTOR_磁 化电流(0.166837)
    #define USER_MOTOR_RES_EST_CURRENT (0.1)
    #define USER_MOTOR_IND_EST_CURRENT (空)
    #define USER_MOTOR_MAX_CURRENT (0.3)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (5.0)
    
    #Elif (USER_MOTOR== Dayton_2N865T)
    #define USER_MOTOR_TYPE Motor_Type_Induction
    #define USER_MOTOR_NUM_POLE_PAIRS (2)
    #define USER_MOTOR_RR (2.540533)
    #define USER_MOTOR_Rs (4.681129)
    #define USER_MOTOR_LS_d (0.02621018)
    #define USER_MOTOR_LS_q USER_MOTOR_LS_d
    #define USER_MOTOR_RAGED_FLUX (0.8165*230.0/60.0)
    #define USER_MOTOR_磁 化电流(1.838921)
    #define USER_MOTOR_RES_EST_CURRENT (1.0)
    #define USER_MOTOR_IND_EST_CURRENT (空)
    #define USER_MOTOR_MAX_CURRENT (5.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (5.0)
    
    
    #else
    #error 未指定电机类型
    #endif
    
    #ifndef USER_MOTOR#ERROR
    未在 user.h
    中定义电机#endif
    
    #ifndef USER_MOTOR_TYPE
    #ERROR 未在 user.h
    中定义电机类型#endif
    
    #ifndef USER_MOTOR_NUM_TOTOR_PAIRS
    #ERROR 未在 user.h 中定义电机极对数#def_ENDIVER_ERROR
    
    
    错误
    未在 user.h
    中定义#endif
    
    #ifndef USER_MOTOR_Rs
    #ERROR 未在 user.h
    中定义定子电阻#endif
    
    #ifndef USER_MOTOR_LS_d
    #ERROR 未在 user.h
    中定义直流定子电感#endif
    
    #ifndef USER_MOTOR_LS_q
    #ERROR 未在 user.h #def_MOTOR_RADEV
    
    
    
    中定义正交定子电感#ifndef #def_MOTOR_RADED #ERROR 中定义 电机电流
    
    
    
    未在 user.h 中定义#endif #ifndef USER_MOTOR_磁 化电流#ERROR 磁化电流未在 user.h
    中定义#endif #endif
    
    #ifndef USER_MOTOR_RES_EST_CURRENT
    #ERROR 电阻估算电流未在 user.h
    中定义#endif
    
    #ifndef USER_MOTOR_IND_CURRENT
    #ERROR 未在 user.h
    
    
    中定义电感估算电流#endif #endif #def_MOTOR_EST_CURRENT 中定义
    最大电流未在 user.h
    #endif
    
    #ifndef USER_MOTOR_FLUX_EST_FREQ_Hz
    #ERROR user.h
    #endif
    
    
    //并未定义磁通估算频率
    //函数
    
    
    //! \brief 设置用户参数值
    //! \param[in] pUserParams 指向用户 param 结构
    extern void user_setParams (user_Params * pUserParams)的指针;
    
    
    //! \brief 检查用户参数值
    //!中的错误 \param[in] pUserParams 指向用户 param 结构
    外部的指针 void user_checkForErrors (user_Params * pUserParams);
    
    
    //! \brief 获取用户参数
    //!中的错误代码 \param[in] pUserParams 指向用户参数结构的指针
    //! 返回 错误代码
    extern USER_ErrorCode_e USER_getErrorCode (USER_Params * pUserParams);
    
    
    //! \brief 设置用户参数
    //!中的错误代码 \param[in] pUserParams 指向用户参数结构的指针
    //! \param[in] errorCode 错误代码
    extern void USER_setErrorCode (USER_Params * pUserParams、const USER_ErrorCode_e errorCode);
    
    
    //! \brief 使用正确的 Q 格式重新计算电感
    //! \param[in]句柄 控制器(CTRL)处理
    外部空 USER_softwareUpdate1p6 (CTRL_Handle handle);
    
    
    //! \brief 更新 Id 和 Iq PI 增益
    //! \param[in]句柄 控制器(CTRL)处理
    外部空 USER_calcPIGains (CTRL_Handle handle);
    
    
    //! \brief 计算将 Ld、Lq、Id 和 Iq 创建的转矩从标么值转换为 Nm
    //! 返回 将转矩从(LD - LQ)* Id * Iq 从标么值转换为 Nm 时所使用的换算系数、IQ24格式
    为 extern _Iq USER_computeTorte_LS_ID_Iq_pu_TO_Nm_SF (void);
    
    
    //! \brief 计算将磁通和 Iq 产生的转矩从标么值转换为 Nm
    //时所需的换算系数! 返回 将磁通* Iq 中的扭矩从标么值转换为 Nm 时所使用的换算系数、IQ24格式
    extern _Iq USER_computeTorte_Flux_Iq_pu_TO_Nm_SF (void);
    
    
    //! \brief 计算将标幺值转换为 Wb
    所需的换算系数//! 返回 将磁通从标么值转换为 Wb 中磁通的换算系数、IQ24格式
    为 extern _IQ USER_computeFlux_pu_TO_WB_SF (void);
    
    
    //! \brief 计算将标么值转换为 V/Hz
    //! 返回 以 V/Hz 为单位将磁通转换为磁通的换算系数、IQ24格式
    为 extern _IQ USER_computeFlux_pu_TO_VpHz_SF (void);
    
    
    //! \brief 根据作为参数//发送
    的换算系数、以 WB 或 V/Hz 计算磁通量! \param[in]句柄 控制器(CTRL)句柄
    //! \param[in] SF 将磁通从标么值转换为 Wb 或 V/Hz
    //!的换算系数 返回 WB 或 V/Hz 中的磁通、具体取决于作为参数发送的换算系数、IQ24格式
    extern _IQ USER_computeFlux (CTRL_Handle handle、const _IQ SF);
    
    
    //! \brief 计算扭矩、单位为牛米
    //! \param[in]句柄 控制器(CTRL)句柄
    //! \param[in]扭矩_磁通_SF 将转矩从(LD - LQ)* Id * Iq 从标么值转换为 Nm
    //! \param[in]扭矩_Ls_SF 用于将磁通* Iq 中的扭矩从标么值转换为 Nm
    //! 返回 以 Nm 为单位的扭矩、IQ24格式
    extern _IQ USER_computeTorture_Nm (CTRL_Handle handle、const _IQ Torture_Flux_SF、const _IQ Torture_Ls_SF);
    
    
    //! \brief 计算 lbin 中的扭矩
    //! \param[in]句柄 控制器(CTRL)句柄
    //! \param[in] til扭 矩_磁通_SF 用于将转矩从(LD - LQ)* Id * Iq 从标么值转换为 lbin
    //! \param[in]扭矩_Ls_SF 将磁通* Iq 中的扭矩从标么值转换为 lbin
    //! 返回 lbin 中的扭矩、iQ24格式
    extern _iq user_computeTorit_lbin (CTRL_Handle handle、const _IQ tify_Flux_SF、const _IQ tify_LS_SF);
    
    
    #ifdef __cplusplus
    }
    #endif // extern "C"
    
    //@}// ingroup
    #endify_h_ defendiforme__h_定义 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    更改此项
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (3.0)

    更改为
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (18.0)


    电机识别开始时、您是否仍能获得较大的 Rs 值? 这是电机端子或电机内部缺少连接时的典型情况。 否则、您应该会找到一个正常的电阻。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复 Chris、我更改了电机磁通频率最平方赫兹。 是的、电机 ID 上的 Rs 值@ e+38较大。 使用万用表检查时、两相到中性点的电阻在1.2欧姆时相同。 相间电阻也是一致的。 电阻不正确识别的任何其他潜在原因?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    检查有效编译器是否不是6.2.0 - 6.2.2

    检查硬件是否未损坏、尤其是在 IPM 或电机相位连接器上。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我没有使用6.2.0或6.2.2。 我已经使用具有相同结果的不同电机试用了该板。 从电路板的外观来看、是否有任何方法可以测试硬件是否损坏? 谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否检查了软件硬件匹配中使用的 ADC 通道/引脚?