工具/软件:TI C/C++编译器
主席先生,
是否可以使用 lab05将电机运行到90000 rpm。 请给出 最大正速度、这是速度的限制因素。 目前、我能够提高到55000 rpm。
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.
工具/软件:TI C/C++编译器
主席先生,
是否可以使用 lab05将电机运行到90000 rpm。 请给出 最大正速度、这是速度的限制因素。 目前、我能够提高到55000 rpm。
主席先生,
我 正在使用具有2极对的电机、额定转速为95000 、所用的控制算法是使用 instaspin__focc (PROJ_LAB05b)进行速度控制
我给出的 user.H 值 如下所示、
USER_MOTOR_Rs (0.29) //0.411;//0.880;
USER_MOTOR_LS_d (0.00068) // 0.00091;// 0.0000156076342961;// 0.0017259;
USER_MOTOR_LS_q (0.00068) //0.00091;//0.0000156076342961;//0.0017259; USER_MOTOR_RADED_FLUX = 0.006;//0.0276;
USER_MOTOR_NUM_POLE_PAIRS (2) //4;
#define USER_IQ_FULL_SCALE_FREQ_Hz (1386.0)//(1600.0)//(800.0)
#define USER_IQ_FULL_SCALE_VOLTAGE_V (48.0)//(48.0)//(24.0)//针对 boostxldrv8301_RevB 典型用法和 Anaheim 电机的24.0示例
#define USER_ADC_FULL_SCALE_VOLTGE_V (71.3)//(52.368)//(26.314)// 26.314 boostxldrv8301_RevB 电压调节
#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 (20.0)//针对 boostxldrv8301_RevB 典型用法的20.0示例
#define USER_ADC_FULL_SCALE_CURRENT_A (20.625)//(33.0)// 33.0 boostxldrv8301_RevB 电流调节
#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.5226)//(0.849754870)//(0.839922905)//
#define I_B_OFFSET (0.5224)//(0.849754870)//(0.848239481)//(0.84156394)//
#define I_C_OFFSET (0.5214)//(0.849754870)//(0.841061115)//(0.8358885646)//
#define V_A_offset (0.304292381)//(0.1521461905)//(0.4941458106)//
#define V_B_OFFSET (0.303311348)//(0.151655674)//(0.4941235185)//
#define V_C_OFFSET (0.302152455)//(0.151655674)//(0.4918507934)//
//! 简要介绍时钟和计时器
秘书长的报告
#define USER_SYSTEM_FREQ_MHz (60.0)
#define USER_PWM_FREQ_kHz (60.0)//(60.0)//(45.0)//30.0
#define USER_MAX_VS_MAG_PU (1.0)//如果不使用当前重构技术,则设置为1.0。 有关更多信息、请查看 lab10a-x 中的模块 svgen_current。
#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 (3)
#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)
//! 简要限制
秘书长的报告
//! \brief 定义要在 Id 参考中应用的最大负电流
//! \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 (1.0/USER_IQ_FULL_SCALE_FREQ_Hz)// 0.002pu、1-5 Hz 典型值;Hz = USER_ZEROSPEEDLIMIT * USER_IQ_FULL_SCALE_FREQ_Hz
//! \brief 定义力角频率、Hz
//! \brief ForceAngle 对象使用的定子矢量旋转频率
//! \brief 可以是正的或负的
#define USER_FORCE_ANGE_FREQ_Hz (USER_ZEROSPEEDLIMIT * USER_IQ_FULL_SCALE_FREQ_Hz)// 1.0典型强制角启动速度
//! \brief 定义 PowerWarp 期间 Id 轨迹的最大电流斜率
//! 简要介绍仅适用于感应电机、控制在 PowerWarp 控制下 Id 输入的变化速度
#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_MAX_ACCEL_EST_Hzps (5.0)//默认为5.0,请勿更改
#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 默认值,请勿更改
#define USER_IDRATED_FRATE_TOP_RATED_FLUX (1.0)//默认为1.0,请勿更改
#define USER_IDRATED_FRATE_TO_L_IDENT (1.0)//默认为1.0,请勿更改
#define USER_IDRATED_Delta (0.00002)
/
#define USER_SPEEDMAX_SPRATIFLE_TO_L_ident (1.0)//默认为1.0,请勿更改
#define USER_FLUX_分数(1.0)//默认为1.0、请勿更改
#define USER_POWERWARP_GAIN (1.0)//默认为1.0,请勿更改
#define USER_R_OVER L_EST_FREQ_Hz (300)//300 //默认为300
#define USER_VOLTGE_FILTER_POLE_Hz (364.682)// 364.682,bootxldrv8301_RevB 硬件的值
#define USER_VOLTGE_FILTER_POLE_Rps (2.0 * MATH_PI * USER_VOLTGE_FILTER_POLE_Hz)
#define USER_OFFSET_POLE_Rps (20.0)//默认值20.0,请勿更改
#define USER_FLUX_POLE_Rps (100.0)//默认值为100.0,请勿更改
#define USER_DIRECT_POLE_Rps (6.0)//默认值为6.0,请勿更改
#define USER_SPEED_POLE_rps (100.0)//(500.0)//默认值100.0,请勿更改
#define USER_DCBus_POLE_rps (100.0)//默认值为100.0,请勿更改
#define USER_EST_KAPAQ (1.5)//默认值为1.5,请勿更改
正如我在您发布的另一个类似主题中对您的回复。 请参考并关闭此文件。 谢谢。
https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/850257