TI论坛
直播中

凌章致

7年用户 952经验值
私信 关注
[问答]

关于TI的InstaSPIN-FOC评估中User.h的相关配置问题

最近刚刚使用tiInstaSPIN-FOC算法。在调试中遇到些问题,希望大家一起探讨?
1.我的硬件平台是基于:
控制板:LAUNCHXL-F28027F LaunchPad
功率板:BOOSTXL-DRV8305EVM
软件:CCS5.5
实验电机参数:电压:24V 最大空载转速:185rpm 连续电流:3A 峰值电流:6A
该电机属于直流力矩电机(低速)
这里我以该硬件平台支持的project Lab02b为例,开始评估InstaSPIN-foc算法。问题如下:
1.大家帮我参考下我的User.h配置是否合理?
2.是否还需要配置其他参数能够提高参数辨识的精度?
3.#define USER_MOTOR_FLUX_EST_FREQ_Hz     (30.0)//
我使用的电机为低速电机,假如按照185rpm计算,文档中推荐额定最高转速*10%。这样的话USER_MOTOR_FLUX_EST_FREQ_Hz的值很低,我实际中发现改变这个值对电感参数辨识影响较大。这是为什么?还有哪些参数配置对电机参数辨识精度影响较大?
4.我再完成参数辨识进行检查是发现,Flux*full_scale_freq 远大于母线电压24VGUI红色报警,这是怎么一回事?哪里配置不合理?如下图所示
#define USER_IQ_FULL_SCALE_FREQ_Hz        (500.0) //GUI_QSG推荐设置500Hz
#define USER_IQ_FULL_SCALE_VOLTAGE_V      (24.0)  //一般等于母线电压
#define USER_PWM_FREQ_kHz                (30.0) //30K PWM
#define USER_NUM_PWM_TICKS_PER_ISR_TICK        (3) //10k ISR
#define USER_NUM_ISR_TICKS_PER_CTRL_TICK       (1)      // 10k CTRL
#define USER_NUM_CTRL_TICKS_PER_CURRENT_TICK   (1)      // 10k CURRENT
#define USER_NUM_CTRL_TICKS_PER_EST_TICK       (1)      //  10K EST
#define USER_NUM_CTRL_TICKS_PER_SPEED_TICK  (10)   // 1K SPEED
#define USER_NUM_CTRL_TICKS_PER_TRAJ_TICK   (10)   // 1K TRAJ
#define USER_MOTOR My_Motor
#define USER_MOTOR_TYPE                 MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS       (8) //8对极
#define USER_MOTOR_Rr                   (NULL)
#define USER_MOTOR_Rs                   (NULL)
#define USER_MOTOR_Ls_d                 (NULL)
#define USER_MOTOR_Ls_q                 (NULL)
#define USER_MOTOR_RATED_FLUX           (NULL)
#define USER_MOTOR_MAGNETIZING_CURRENT  (NULL)
#define USER_MOTOR_RES_EST_CURRENT      (0.3)//10%*连续电流
#define USER_MOTOR_IND_EST_CURRENT      (-0.3)
#define USER_MOTOR_MAX_CURRENT          (6)  //峰值电流
#define USER_MOTOR_FLUX_EST_FREQ_Hz     (30.0)//

回帖(9)

石建军

2018-9-21 14:16:33
电感是靠识别电机自己激励的反电势,电机转速越高,反电势信号就越大,所以越容易识别。
你的电机最大转速185rpm就意味着 185转速的时候反电势已经接近24V,会超过硬件设计的指标,所以USER_MOTOR_FLUX_EST_FREQ_Hz 不能设置太高,一般是最大转速的10~20%
举报

何丽

2018-9-21 14:30:58
#define USER_MOTOR_TYPE MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS (7)
#define USER_MOTOR_Rr (NULL)
#define USER_MOTOR_Rs (1.679999828338623)
#define USER_MOTOR_Ls_d (NULL)
#define USER_MOTOR_Ls_q (NULL)
#define USER_MOTOR_RATED_FLUX (0.01599999889731407)
#define USER_MOTOR_MAGNETIZING_CURRENT (NULL)
#define USER_MOTOR_RES_EST_CURRENT (0.5)
#define USER_MOTOR_IND_EST_CURRENT (-0.5)
#define USER_MOTOR_MAX_CURRENT (20.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (630.0)


350kv bldc电机   16v电压
举报

凌章致

2018-9-21 14:50:45
引用: 广陵云峰 发表于 2018-9-21 18:16
#define USER_MOTOR_TYPE MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS (7)
#define USER_MOTOR_Rr (NULL)

MOTOR_FLUX_EST_FREQ_Hz设置太大了,电流应该都拉不到这个转速吧。
还是看看手册中的参数辨识策略吧。
举报

何丽

2018-9-21 15:09:09
引用: xf20160629 发表于 2018-9-21 18:35
MOTOR_FLUX_EST_FREQ_Hz设置太大了,电流应该都拉不到这个转速吧。
还是看看手册中的参数辨识策略吧。

不是速度的10%-20%么,转速上升阶段,速度是可以达到6000转的,但是前面几个阶段电机是起不来的,电源会保护,直至转速上升阶段,电流会下来,恢复正常,转速最高达6000以上,随后,flux阶段,直接停转。之后就error了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分