请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28069M 主题中讨论的其他器件:DRV8301、 MOTORWARE
工具/软件:Code Composer Studio
你(们)好
我们正在尝试使用 TI instaspin 解决方案运行20kW PMSM 电机。我们开发了自己的逆变器、最大可承载150A 电流、我们提供48V 电池作为电源。该电路包含3个霍尔效应传感器(L31S050S05FS)、用于测量相电流。
我们使用 TI Boostxldrv-8301RevB 识别了电机参数。 当我们尝试使用自己的逆变器板运行电机时,电机正在尝试旋转,但调试窗口中的参考速度显示负值。在运行电机时,转矩不好。问题出在哪里??
提前感谢您。
这是我的 user_j1.h 文件
#ifndef _USER_J1_H_ #define _USER_J1_H_ /*--版权所有-- BSD *版权所有(c) 2012、德州仪器(TI)公司 *保留所有权利。 * * 只要 符合以下条件*、允许以源代码和二进制形式重新分发和使用: * *源代码的重新分发必须保留上述版权 声明*、此条件列表和以下免责声明。 * ***二进制形式的再发行必须在 *随发行提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。 * ***未经 事先书面许可、不得使用德州仪器公司的名称或*其贡献者的名称认可或推广从本软件衍生的产品*。 * *本软件由版权所有者和贡献者"按原样"提供 *、 不承担任何明示或暗示的保证、包括但不限于*适销性和特定用途适用性的暗示保证*。 在任何情况下、版权所有者或 *贡献者都不对任何直接、间接、偶然、特殊、 *模范、 或相应的损害(包括但不限于 *采购替代产品或服务;丧失使用、数据或利润; *或业务中断)、但出于任何责任理论 、*无论是在合同中、严格责任还是由于 使用本软件而以任何方式产生的侵权行为(包括疏忽或*其他) 、*即使已获悉可能会发生此类损坏。 *--/copyrights-*//! \file solutions/instaspin_foc/boards/boostxldrv8301_revB/F28x/f2806xF/src/user_j1.h //! \brief 包含用于 CTRL、HAL 和 EST 模块的用户初始化数据的公共接口 //! //! (C)版权所有2012、Texas Instruments、Inc. 秘书长的报告 //包括 //! //! //! defgroup 用户// ! //@{ #ifdef __cplusplus extern "C"{ #endif //********* //定义 //! 简要介绍电流和电压 // //! \brief 定义 IQ 变量的满量程频率、Hz //! \brief 根据与该值的比率// 将所有频率转换为(pu)! \brief 此值必须大于您期望电机 #define USER_IQ_FULL_SCALE_FREQ_Hz 的最大速度 (800)//带有缓冲器的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 (113)//针对 boostxldrv8301_RevB 典型用法和 Anaheim 电机的24.0示例 //#define USER_IQ_FULL_SCALE_VOLTAGE_V (24) //! \brief 定义 AD 转换器输入端的最大电压 //! 将由最大 ADC 输入(3.3V)和转换(0FFFh)表示的值简述 //! 简要说明硬件相关、这应基于 ADC 输入的电压检测和调节 //#define USER_ADC_FULL_SCALE_VOLTGE_V (26.314) // 26.314 boostxldrv8301_RevB 电压调节 #define USER_ADC_FULL_SCALE_VOLT_V (113)/! \brief 定义 IQ 变量的满量程电流、a //! \brief 根据与该值的比率// 将所有电流转换为(pu)! \brief 警告:此值必须大于预期的电机最大电流读数、否则读数将回滚至0、从而产生控制问题 //#define USER_IQ_FULL_SCALE_CURRENT_A (20)// boostxldrv8301_revB 典型用法 #define USER_IQ_FULL_SCALE_CURRENT_A 的20.0示例 (150)// ! \brief 定义 AD 转换器的最大电流 //! 将由最大 ADC 输入(3.3V)和转换(0FFFh)表示的值简述 //! 简要说明硬件相关、这应基于 ADC 输入的电流感应和缩放 //#define USER_ADC_FULL_SCALE_CURRENT_A (33)// 33.0 boostxldrv8301_RevB 电流调节 #define USER_ADC_FULL_SCALE_CURRENT_A (300) //! \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.8331743479) #define I_B_offset (0.8355930448) #define I_C_offset (0.8392037153) //! \简述 A、B 和 C 相的 ADC 电压偏移 //! 简要说明与硬件相关的一次性、但也可以在运行时进行校准 //! \brief 在电路板初始校准后、应针对您的特定硬件更新这些值、以便在编译为二进制文件后将其加载到控制器 #define V_A_offset (0.5271264911) #define V_B_offset (0.5257175565) #define V_C_offset (0.5249399543) //! 简要时钟和计时器 //********* //! \brief 定义脉宽调制(PWM)频率、kHz //! 简单的 PWM 频率可以直接在这里安全地设置为30KHz (在某些情况下最大值为60KHz) //! 简要对于更高的 PWM 频率(对于低电感、高电流纹波电机、典型值为60 KHz 以上)、建议使用 ePWM 硬件 //! 简要介绍可调节的 ADC SOC、以抽取控制系统的 ADC 转换完成中断、或使用软件请求示例。 //! \brief 否则您可能会丢失中断并中断控制状态机#define USER_PWM_FREQ_kHz 的时序 (45.0)//30.0示例、典型值8.0 - 30.0 KHz;极低电感、高速电机可能需要45-80 KHz //! \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 定义每个 ISR 时钟节拍的 PWM 时钟节拍数 //! 注意:有效值仅为1、2或3 #define USER_NUM_PWM_TICKS_PER_ISR_TICK (3) //! \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 定义要在 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 定义 R/L 估算频率、Hz //! 简要介绍用户低电感电机的较高值和较低电感值 //! 简要介绍电机。 这些值的范围为100Hz 至300Hz。 #define USER_R_OVER L_EST_FREQ_Hz (300) //默认为300 //! \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 定义模拟电压滤波器极点位置、Hz //! \brief 必须与 VPH 的硬件过滤器相匹配 //#define USER_VOLTGE_FILTER_POLE_Hz (364.682)// 364.682,boostxldrv8301_RevB 硬件 #define USER_VOLTGE_FILTER_POLE_Hz (811.69) //! 简要介绍用户电机和 ID 设置 // //! \brief 使用唯一的名称和 ID 号// BLDC & SMPM 电机 #define Estun_EMJ_04APB22定义每个电机 101 #define Anaheim_BLY172S 102 #define Tamagawa A0100103 #define Teknic_M2310PLN04K 104 #define Drone _A2212_1000KV105 #define Drone _A2313_960KV106 // IPM 电机 //如果用户提供单独的 Ls-d、Ls-q //否则用用户或识别的平均 Ls #define Belte_Drive_Pilker_IPM 处理 201 #define Anaheim_F凸 极 202 // ACIM 电机 #define Marathing_5K33GN2A 301 //! \brief 取消注释编译 //时应包含的电机! \brief 然后、这些电机 ID 设置和电机参数可供控制系统使用 //! \brief 确定理想设置和参数后、请更新此处的电机部分、以便在二进制代码 //#define USER_MOTOR_Estun_EMJ_04APB22 #define USER_MOTOR_MY_MOTOR//#define USER_MOTOR_Tamagawa A0100 //#define USER_MOTOR_Drone_A2313_IPM KV // define USER_MOTOR_INALE_AMENT_MOTOR_INA0232_MOTOR_MOTOR_INA#define AMENT_UN_MOTOR_MER #define AMENT_UN_MOTOR_INAINET_LE_INAINALE_EMJ/#define AMENT_MOTOR_LE_MOTOR_INAINAINA023220_MOTOR_ //名称必须与电机#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.303403) // Y 等效电路中识别的相位到中性点电阻(欧姆、浮点) #define USER_MOTOR_LS_d (0.008464367)//对于 PM、确定的平均定子电感(亨利、浮点数) #define USER_MOTOR_LS_q (0.008464367)//对于 PM、识别出的平均定子电感(亨利、浮点数) #define USER_MOTOR_RATGED_FLUX (0.38) //确定转子和定子之间的总磁链(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== Anaheim _BLY172S) #define USER_MOTOR_TYPE 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) #define IPD_HFI EXC_FREQ_Hz (750.0) //激励频率、Hz #define IPD_HFI LP_SPD_FILT_Hz (35.0) //低通滤波器截止频率、Hz #define IPD_HFI_HP_IQ_FILT_Hz (100.0) //高通滤波器截止频率、Hz #define IPD_HFI_KSPD (15.0) //速度增益值 #define IPD_HFI_EXC_MAG_粗略_pu (0.13) //粗 IPD 激励幅度、PU #define IPD_HFI_EXC_MAG_FEL_PU (0.12) //精细 IPD 激励幅度、PU #define IPD_HFI_EXC_TIME_粗略_S (0.5) //粗等待时间、秒最大值0.64 #define IPD_HFI_EXC_TIME_FEL_S (0.5) //精细等待时间、秒最大值0.4 #define AFSEL_FREQ_HIGH_PU (_IQ (15.0/USER_IQ_FULL_SCALE_FREQ_Hz) )#define AFSEL_FREQ_LOW_PU (_IQ (10.0 / USER_IQ_FULL_SCALE_FREQ_Hz) )#define AFSEL_IQ_SLOW_EST (_IQ (((float)(1.0/0.1/USER_ISR_FREQ_Hz)) )#define AFSEL_IQ_SLOW_HFI (_IQ (((float)(1.0/10.0/USER_ISR_FREQ_Hz)) )#define AFSEL_IQ_SLOW_THROTTLE_DWN (_IQ (((float)(1.0/0.05/USER_ISR_FREQ_Hz)) )#define AFSEL_MAX_IQ_REP_EST (_IQ (0.6) )#define AFSEL_MAX_IQ_REF_HFI (_IQ (0.6) #define USER_MOTOR_FREQ_LOW(10.0)// Hz -建议设置为额定电机频率 的10%#define USER_MOTOR_FREQ_HIGH(100.0)// Hz -建议设置为额定电机频率 的100%#define USER_MOTOR_FREQ_MAX(120.0)// Hz -建议设置为 额定电机频率的120%#USER_MOTOR_FREQ_MIN(3.0V)// Hz)VOLT -建议设置为额定电机电压 #define USER_MOTOR_VOLT_MAX(18.0)//伏特-建议设置为额定电机电压 #Elif (USER_MOTOR== Tamagawa A0100) #define USER_MOTOR_TYPE 的100% Motor_Type_Pm #define USER_MOTOR_NUM_POLE_PAIRS (4) #define USER_MOTOR_RR (空) #define USER_MOTOR_Rs (0.262230158) #define USER_MOTOR_LS_d (0.000459346687) #define USER_MOTOR_LS_q (0.000459346687) #define USER_MOTOR_RAVEND_FLUX (0.0484918393) #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) #define IPD_HFI EXC_FREQ_Hz (750.0) //激励频率、Hz #define IPD_HFI LP_SPD_FILT_Hz (35.0) //低通滤波器截止频率、Hz #define IPD_HFI_HP_IQ_FILT_Hz (100.0) //高通滤波器截止频率、Hz #define IPD_HFI_KSPD (15.0) //速度增益值 #define IPD_HFI_EXC_MAG_粗略_pu (0.13) //粗 IPD 激励幅度、PU #define IPD_HFI_EXC_MAG_FEL_PU (0.12) //精细 IPD 激励幅度、PU #define IPD_HFI_EXC_TIME_粗略_S (0.5) //粗等待时间、秒最大值0.64 #define IPD_HFI_EXC_TIME_FEL_S (0.5) //精细等待时间、秒最大值0.4 #define AFSEL_FREQ_HIGH_PU (_IQ (15.0/USER_IQ_FULL_SCALE_FREQ_Hz) )#define AFSEL_FREQ_LOW_PU (_IQ (10.0 / USER_IQ_FULL_SCALE_FREQ_Hz) )#define AFSEL_IQ_SLOW_EST (_IQ (((float)(1.0/0.1/USER_ISR_FREQ_Hz)) )#define AFSEL_IQ_SLOW_HFI (_IQ (((float)(1.0/10.0/USER_ISR_FREQ_Hz)) )#define AFSEL_IQ_SLOW_THROTTLE_DWN (_IQ (((float)(1.0/0.05/USER_ISR_FREQ_Hz)) )#define AFSEL_MAX_IQ_REP_EST (_IQ (0.6) )#define AFSEL_MAX_IQ_REF_HFI (_IQ (0.6) )#Elif (USER_MOTOR==无人机_A2212_1000KV) #define USER_MOTOR_TYPE 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) #define IPD_HFI EXC_FREQ_Hz (750.0) //激励频率、Hz #define IPD_HFI LP_SPD_FILT_Hz (35.0) //低通滤波器截止频率、Hz #define IPD_HFI_HP_IQ_FILT_Hz (100.0) //高通滤波器截止频率、Hz #define IPD_HFI_KSPD (15.0) //速度增益值 #define IPD_HFI_EXC_MAG_粗略_pu (0.13) //粗 IPD 激励幅度、PU #define IPD_HFI_EXC_MAG_FEL_PU (0.12) //精细 IPD 激励幅度、PU #define IPD_HFI_EXC_TIME_粗略_S (0.5) //粗等待时间、秒最大值0.64 #define IPD_HFI_EXC_TIME_FEL_S (0.5) //精细等待时间、秒最大值0.4 #define AFSEL_FREQ_HIGH_PU (_IQ (15.0/USER_IQ_FULL_SCALE_FREQ_Hz) )#define AFSEL_FREQ_LOW_PU (_IQ (10.0 / USER_IQ_FULL_SCALE_FREQ_Hz) )#define AFSEL_IQ_SLOW_EST (_IQ (((float)(1.0/0.1/USER_ISR_FREQ_Hz)) )#define AFSEL_IQ_SLOW_HFI (_IQ (((float)(1.0/10.0/USER_ISR_FREQ_Hz)) )#define AFSEL_IQ_SLOW_THROTTLE_DWN (_IQ (((float)(1.0/0.05/USER_ISR_FREQ_Hz)) )#define AFSEL_MAX_IQ_REP_EST (_IQ (0.6) )#define AFSEL_MAX_IQ_REF_HFI (_IQ (0.6) )#Elif (USER_MOTOR==无人机_A2313_960KV) #define USER_MOTOR_TYPE 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) #define IPD_HFI EXC_FREQ_Hz (750.0) //激励频率、Hz #define IPD_HFI LP_SPD_FILT_Hz (35.0) //低通滤波器截止频率、Hz #define IPD_HFI_HP_IQ_FILT_Hz (100.0) //高通滤波器截止频率、Hz #define IPD_HFI_KSPD (15.0) //速度增益值 #define IPD_HFI_EXC_MAG_粗略_pu (0.13) //粗 IPD 激励幅度、PU #define IPD_HFI_EXC_MAG_FEL_PU (0.12) //精细 IPD 激励幅度、PU #define IPD_HFI_EXC_TIME_粗略_S (0.5) //粗等待时间、秒最大值0.64 #define IPD_HFI_EXC_TIME_FEL_S (0.5) //精细等待时间、秒最大值0.4 #define AFSEL_FREQ_HIGH_PU (_IQ (15.0/USER_IQ_FULL_SCALE_FREQ_Hz) )#define AFSEL_FREQ_LOW_PU (_IQ (10.0 / USER_IQ_FULL_SCALE_FREQ_Hz) )#define AFSEL_IQ_SLOW_EST (_IQ (((float)(1.0/0.1/USER_ISR_FREQ_Hz)) )#define AFSEL_IQ_SLOW_HFI (_IQ (((float)(1.0/10.0/USER_ISR_FREQ_Hz)) )#define AFSEL_IQ_SLOW_THROTTLE_DWN (_IQ (((float)(1.0/0.05/USER_ISR_FREQ_Hz)) )#define AFSEL_MAX_IQ_REP_EST (_IQ (0.6) )#define AFSEL_MAX_IQ_REF_HFI (_IQ (0.6) )#Elif (USER_MOTOR== Anaheim 凸极) //使用 IPD_HFI 时、将抽取设置为1、将 PWM 设置为15.0KHz #define USER_MOTOR_TYPE Motor_Type_Pm #define USER_MOTOR_NUM_POLE_PAIRS (4) #define USER_MOTOR_RR (空) #define USER_MOTOR_Rs (0.1215855) #define USER_MOTOR_LS_d (0.0002298828) #define USER_MOTOR_LS_q (0.0002298828) #define USER_MOTOR_RATed_FLUX (0.04821308) #define USER_MOTOR_磁 化电流(NULL) #define USER_MOTOR_RES_EST_CURRENT (2.0) //输入安培(浮点) #define USER_MOTOR_IND_EST_CURRENT (-0.5) //输入负安培(浮点) #define USER_MOTOR_MAX_CURRENT (10.0) #define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0) #define IPD_HFI EXC_FREQ_Hz (750.0) //激励频率、Hz #define IPD_HFI LP_SPD_FILT_Hz (35.0) //低通滤波器截止频率、Hz #define IPD_HFI_HP_IQ_FILT_Hz (100.0) //高通滤波器截止频率、Hz #define IPD_HFI_KSPD (15.0) //速度增益值 #define IPD_HFI_EXC_MAG_粗略_pu (0.13) //粗 IPD 激励幅度、PU #define IPD_HFI_EXC_MAG_FEL_PU (0.12) //精细 IPD 激励幅度、PU #define IPD_HFI_EXC_TIME_粗略_S (0.5) //粗等待时间、秒最大值0.64 #define IPD_HFI_EXC_TIME_FEL_S (0.5) //精细等待时间、秒最大值0.4 #define AFSEL_FREQ_HIGH_PU (_IQ (15.0/USER_IQ_FULL_SCALE_FREQ_Hz) )#define AFSEL_FREQ_LOW_PU (_IQ (10.0 / USER_IQ_FULL_SCALE_FREQ_Hz) )#define AFSEL_IQ_SLOW_EST (_IQ (((float)(1.0/0.1/USER_ISR_FREQ_Hz)) )#define AFSEL_IQ_SLOW_HFI (_IQ (((float)(1.0/10.0/USER_ISR_FREQ_Hz)) )#define AFSEL_IQ_SLOW_THROTTLE_DWN (_IQ (((float)(1.0/0.05/USER_ISR_FREQ_Hz)) )#define AFSEL_MAX_IQ_REP_EST (_IQ (0.6) )#define AFSEL_MAX_IQ_REF_HFI (_IQ (0.6) )#Elif (USER_MOTOR== Teknic_M2310PLN04K) #define USER_MOTOR_TYPE Motor_Type_Pm #define USER_MOTOR_NUM_POLE_PAIRS (4) #define USER_MOTOR_RR (空) #define USER_MOTOR_Rs (0.3918252) #define USER_MOTOR_LS_d (0.00023495) #define USER_MOTOR_LS_q (0.00023495) #define USER_MOTOR_RATed_FLUX (0.03955824) #define USER_MOTOR_磁 化电流(NULL) #define USER_MOTOR_RES_EST_CURRENT (1.0) #define USER_MOTOR_IND_EST_CURRENT (-0.5) #define USER_MOTOR_MAX_CURRENT (7.0) #define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0) #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.832002) #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 #define USER_MOTOR_NUM_POLE_PAIRS (2) #define USER_MOTOR_RR (02064561) #define USER_MOTOR_Rs (9.171844) #define USER_MOTOR_LS_D (#define EST_MOTOR_CURRENT ) #define (#define #define #define EST_FR_TR_TR_TR_MER)#define 0_MOTOR_MER (#define #.0_MOTOR_CURRENT)#define #define #define #.0_MOTOR_TR_TR_IN_IN_MER (#.0155_MOTOR_MER)#define #define #define #.0_MOTOR_CURRENT (#define #define #define #.IN_MOTOR_MOTOR_MOTOR_MOTOR_MER)#. 要定义#USER_MOTOR_TYPE MOTOR_Type_PM #define USER_MOTOR_NUM_POLE_PAIRS (5)#define USER_MOTOR_RR (NULL)#define USER_MOTOR_Rs (.215310246)#define USER_MOTOR_LS_D (2.5940768e-05)#define USER_MOTOR_RATE FREQ (#define)#define USER_MOTOR_MOTOR_RAMENT_REGENT (#FR40.0_MOTOR_CURRENT)#define)#define (#define #define 0_MOTOR_INT_FR_TR_INT_FR40.0%(#define)#FR_MOTOR_CURRENT (#define)#define 0_MOTOR_MOTOR_FR_FR_INT_FR_INT_FR_MOTOR_FR_TR_TR_INT_FR_MOTOR_TRIGN)#define #define #define (#define # 频率 #define USER_MOTOR_FREQ_HIGH(100.0)// Hz -建议设置为额定电机频率的100% #define USER_MOTOR_FREQ_MAX(120.0)// Hz -建议设置为额定电机频率 的120%#define USER_MOTOR_VOLT_MIN(20)//伏特-建议设置为额定电机电压的15% (#define USER_MOTOR_VOLT_MAX)/USER_VOLT_VOLTAIN (20)// VOLT) VOLT -建议设置为额定电机电压 的100%#else #error 未指定电机类型 #endif #ifdef _cplusplus } #endif // extern "C" //@}// ingroup #endif //_user_J1_H_定义的末尾