两只袜子 发表于 2022-9-22 09:52

L6470H驱动参数问题

目前在调试L6470H的驱动参数,遇到高转速失步后停止的问题,单片机使用的是STM32F4
情况如下:我在使用1100-1200 STEPS/S这个速度时,电机容易失步,然后就停止转动了。造成失步的现象有2方面原因:

1、因为电机安装在机壳上,可能机壳结构件对电机的内部机械产生了形变或者应力,我这里做了一个功率测试,如果没把电机安装上去,我测得的工作功率是13w左右,而安装上外壳功率就一直上升,目前基本上升到17、18w左右就失步停止了;

2、我当前的代码也是官方例程里的,包括调试的工具和参数,里面有好多参数不太理解什么意思,目前就是把自己产品里想要的转速调通了。现在的话我是在0-600 STEPS/S 这个速度内是稳定的,但是1100-1200这个速度就没调好

各位大神看看有什么好解决的办法没?


我配置的参数

[*]/**************************** FLUSH Speed Profile *********************************/
[*]
[*]      /* Register : ACC */
[*]      /* Acceleration rate in step/s2, range 14.55 to 59590 steps/s2 */
[*]//    #define dSPIN_CONF_F_PARAM_ACC (3504.082)
[*]    #define dSPIN_CONF_F_PARAM_ACC (3504.082)
[*]
[*]      /* Register : DEC */
[*]      /* Deceleration rate in step/s2, range 14.55 to 59590 steps/s2 */
[*]//    #define dSPIN_CONF_F_PARAM_DEC (3504.082)
[*]    #define dSPIN_CONF_F_PARAM_DEC (3504.082)
[*]
[*]      /* Register : MAX_SPEED */
[*]      /* Maximum speed in step/s, range 15.25 to 15610 steps/s */
[*]//    #define dSPIN_CONF_F_PARAM_MAX_SPEED (1556.396)
[*]                #define dSPIN_CONF_F_PARAM_MAX_SPEED (1556.396)
[*]
[*]      /* Register : MIN_SPEED */
[*]      /* Minimum speed in step/s, range 0 to 976.3 steps/s */
[*]//    #define dSPIN_CONF_F_PARAM_MIN_SPEED (0)
[*]                #define dSPIN_CONF_F_PARAM_MIN_SPEED (0)
[*]
[*]      /* Register : FS_SPD */
[*]      /* Full step speed in step/s, range 7.63 to 15625 steps/s */
[*]//    #define dSPIN_CONF_F_PARAM_FS_SPD (15624.985)
[*]                #define dSPIN_CONF_F_PARAM_FS_SPD (15624.985)
[*]
[*]/************************ Phase Current Control *****************************/
[*]
[*]/* Register : KVAL_HOLD */
[*]      /* Hold duty cycle (torque) in %, range 0 to 99.6% */
[*]//    #define dSPIN_CONF_F_PARAM_KVAL_HOLD (1.95)
[*]                #define dSPIN_CONF_F_PARAM_KVAL_HOLD (1.95)
[*]
[*]
[*]      /* Register : KVAL_RUN */
[*]      /* Run duty cycle (torque) in %, range 0 to 99.6% */
[*]//    #define dSPIN_CONF_F_PARAM_KVAL_RUN (4.3)
[*]                #define dSPIN_CONF_F_PARAM_KVAL_RUN (4.3)
[*]
[*]      /* Register : KVAL_ACC */
[*]/* Acceleration duty cycle (torque) in %, range 0 to 99.6% */
[*]//    #define dSPIN_CONF_F_PARAM_KVAL_ACC (8)
[*]                #define dSPIN_CONF_F_PARAM_KVAL_ACC (8)
[*]
[*]      /* Register : KVAL_DEC */
[*]      /* Deceleration duty cycle (torque) in %, range 0 to 99.6% */
[*]//    #define dSPIN_CONF_F_PARAM_KVAL_DEC (8)
[*]                #define dSPIN_CONF_F_PARAM_KVAL_DEC (8)
[*]
[*]      /* Register : CONFIG - field : EN_VSCOMP */
[*]      /* Motor Supply Voltage Compensation enabling , enum dSPIN_CONFIG_EN_VSCOMP_TypeDef */
[*]    #define dSPIN_CONF_F_PARAM_VS_COMP (dSPIN_CONFIG_VS_COMP_ENABLE)
[*]
[*]      /* Register : MIN_SPEED - field : LSPD_OPT */
[*]      /* Low speed optimization bit, enum dSPIN_LSPD_OPT_TypeDef */
[*]    #define dSPIN_CONF_F_PARAM_LSPD_BIT (dSPIN_LSPD_OPT_OFF)
[*]
[*]      /* Register : K_THERM */
[*]      /* Thermal compensation param, range 1 to 1.46875 */
[*]//    #define dSPIN_CONF_F_PARAM_K_THERM (1)
[*]                #define dSPIN_CONF_F_PARAM_K_THERM (1.375)
[*]
[*]      /* Register : INT_SPEED */
[*]      /* Intersect speed settings for BEMF compensation in steps/s, range 0 to 3906 steps/s */
[*]//    #define dSPIN_CONF_F_PARAM_INT_SPD (138.402)
[*]                #define dSPIN_CONF_F_PARAM_INT_SPD (138.402)
[*]
[*]      /* Register : ST_SLP */
[*]      /* BEMF start slope settings for BEMF compensation in % step/s, range 0 to 0.4% s/step */
[*]//    #define dSPIN_CONF_F_PARAM_ST_SLP (0.06104)
[*]                #define dSPIN_CONF_F_PARAM_ST_SLP (0.06104)
[*]
[*]      /* Register : FN_SLP_ACC */
[*]      /* BEMF final acc slope settings for BEMF compensation in % step/s, range 0 to 0.4% s/step*/
[*]//    #define dSPIN_CONF_F_PARAM_FN_SLP_ACC (0.09155)
[*]                #define dSPIN_CONF_F_PARAM_FN_SLP_ACC (0.09155)
[*]
[*]      /* Register : FN_SLP_DEC */
[*]      /* BEMF final dec slope settings for BEMF compensation in % step/s, range 0 to 0.4% s/step */
[*]//    #define dSPIN_CONF_F_PARAM_FN_SLP_DEC (0.09155)
[*]                #define dSPIN_CONF_F_PARAM_FN_SLP_DEC (0.09155)
[*]
[*]      /* Register : CONFIG - field : F_PWM_INT */
[*]      /* PWM Frequency Integer division, enum dSPIN_CONFIG_F_PWM_INT_TypeDef */
[*]    #define dSPIN_CONF_F_PARAM_PWM_DIV (dSPIN_CONFIG_PWM_DIV_1)
[*]
[*]      /* Register : CONFIG - field : F_PWM_DEC */
[*]      /* PWM Frequency Integer Multiplier, enum dSPIN_CONFIG_F_PWM_INT_TypeDef */
[*]    #define dSPIN_CONF_F_PARAM_PWM_MUL (dSPIN_CONFIG_PWM_MUL_1_25)
[*]
[*]/******************************* Others *************************************/
[*]      /* Register : OCD_TH */
[*]    /* Overcurrent threshold settings via enum dSPIN_OCD_TH_TypeDef */
[*]//    #define dSPIN_CONF_F_PARAM_OCD_TH (dSPIN_OCD_TH_3000mA)
[*]                #define dSPIN_CONF_F_PARAM_OCD_TH (dSPIN_OCD_TH_6000mA)
[*]
[*]      /* Register : STALL_TH */
[*]      /* Stall threshold settings in mA, range 31.25mA to 4000mA */
[*]//    #define dSPIN_CONF_F_PARAM_STALL_TH (3000)
[*]                #define dSPIN_CONF_F_PARAM_STALL_TH (4000)
[*]
[*]      /* Register : ALARM_EN */
[*]      /* Alarm settings via bitmap enum dSPIN_ALARM_EN_TypeDef */
[*]    #define dSPIN_CONF_F_PARAM_ALARM_EN (dSPIN_ALARM_EN_OVERCURRENT | dSPIN_ALARM_EN_THERMAL_SHUTDOWN | dSPIN_ALARM_EN_THERMAL_WARNING | dSPIN_ALARM_EN_UNDER_VOLTAGE | dSPIN_ALARM_EN_STALL_DET_A | dSPIN_ALARM_EN_STALL_DET_B | dSPIN_ALARM_EN_SW_TURN_ON | dSPIN_ALARM_EN_WRONG_NPERF_CMD)
[*]
[*]      /* Register : STEP_MODE - field : STEP_MODE */
[*]    /* Step mode settings via enum dSPIN_STEP_SEL_TypeDef */
[*]//    #define dSPIN_CONF_F_PARAM_STEP_MODE (dSPIN_STEP_SEL_1_128)
[*]                #define dSPIN_CONF_F_PARAM_STEP_MODE (dSPIN_STEP_SEL_1)
[*]
[*]          /* Register : STEP_MODE - Field : SYNC_MODE and SYNC_EN */
[*]    /* Synch. Mode settings via enum dSPIN_SYNC_SEL_TypeDef */
[*]    #define dSPIN_CONF_F_PARAM_SYNC_MODE (dSPIN_SYNC_SEL_DISABLED)
[*]
[*]    /* Register : CONFIG - field : POW_SR */
[*]    /* Slew rate, enum dSPIN_CONFIG_POW_SR_TypeDef */
[*]    #define dSPIN_CONF_F_PARAM_SR (dSPIN_CONFIG_SR_110V_us)
[*]
[*]      /* Register : CONFIG - field : OC_SD */
[*]    /* Over current shutwdown enabling, enum dSPIN_CONFIG_OC_SD_TypeDef */
[*]    #define dSPIN_CONF_F_PARAM_OC_SD (dSPIN_CONFIG_OC_SD_DISABLE)
[*]
[*]      /* Register : CONFIG - field : SW_MODE */
[*]    /* External switch hard stop interrupt mode, enum dSPIN_CONFIG_SW_MODE_TypeDef */
[*]    #define dSPIN_CONF_F_PARAM_SW_MODE (dSPIN_CONFIG_SW_HARD_STOP)
[*]
[*]      /* Register : CONFIG - field : OSC_CLK_SEL */
[*]      /* Clock setting , enum dSPIN_CONFIG_OSC_MGMT_TypeDef */
[*]    #define dSPIN_CONF_F_PARAM_CLOCK_SETTING (dSPIN_CONFIG_INT_16MHZ_OSCOUT_2MHZ)
[*]
[*]/* Exported types ------------------------------------------------------------*/
[*]
[*]/* Exported macro ------------------------------------------------------------*/
[*]
[*]/* Exported functions ------------------------------------------------------- */
[*]#endif /* __DSPIN_CONFIG_H */
[*]
[*]/******************* (C) COPYRIGHT 2013 STMicroelectronics *****END OF FILE****/

复制代码


页: [1]
查看完整版本: L6470H驱动参数问题