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.

[参考译文] CCS/TMS320F280049:电流最大 Instaspin

Guru**** 2589300 points
Other Parts Discussed in Thread: BOOSTXL-DRV8320RS, DRV8320

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/907042/ccs-tms320f280049-current-max-instaspin

器件型号:TMS320F280049
主题中讨论的其他器件:BOOSTXL-DRV8320RSDRV8320

工具/软件:Code Composer Studio

Hellooveller、

我目前使用 Instaspin 通过 lab05控制 BLDC 电机。

我成功控制了电机、但在 CCS Composer 中未成功使用我的参数 lab05。

我遵循了快速入门指南、但我的参数仍然与默认值相同。

能否帮助我更新 instaspin 中的参数(尤其是电流最大值)?

提前感谢您。

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

    实验05用于识别电机参数。 您应该将观察窗口值与新定义的电机参数记录在 user.h 的文件中、如下所示。

    USER_MOTOR_Rs = motorVars.Rs_Ohm 的值

    USER_MOTOR_LS_d = motorVars.LS_D_H 的值

    USER_MOTOR_LS_q = motorVars.LS_q_H 的值

    USER_MOTOR_RAGE_VLUX = motorVars.flux_VpHz 的值

    您也可以在下面更改 user.h 文件中的最大电流。

    B#定义 USER_MOTOR_MAX_CURRENT_A      (6.0)

    然后重新构建 lab07以旋转电机。

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

    您好!

    感谢您的回答。

    我打开了 lab07并使用 motorcontrol SDK Instaspin 实验来参数化实验、但它不起作用。  

    当我将 motorVars.flagEnableOffsetCalc 置为0时,它将停止几秒钟,然后重新启动。  

    您知道如何纠正此问题吗?  

    谢谢你。  

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

    您是否使用 lab05成功识别了电机参数? 然后将识别的参数复制到 user.h 文件中、以运行 lab07?

    您能否使用确定的参数发布 user.h?

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

    您好!  

    这里是我确定的参数:

    #define USER_MOTOR_MY_MOTOR_1
    //#define USER_MOTOR_MY_MOTOR_2

    #if (USER_MOTOR== my_MOTOR_1)
    #define USER_MOTOR_TYPE MOTOR_TYPE_PM
    #define USER_MOTOR_NUM_POLE_PAIRS (4)
    #define USER_MOTOR_RR_Ohm (0)
    #define USER_MOTOR_Rs_Ohm (0.0585)
    #define USER_MOTOR_LS_D_H (0.0397)
    #define USER_MOTOR_LS_q_H (0.0397)
    #define USER_MOTOR_RAGE_VLUX_VpHz (0.0113)
    #define USER_MOTOR_磁 化电流_A (0)
    #define USER_MOTOR_RES_EST_CURRENT_A (2.0)
    #define USER_MOTOR_IND_EST_CURRENT_A (-2.0)
    #define USER_MOTOR_MAX_CURRENT_A (10.0)
    #define USER_MOTOR_FLUX_EXC_FREQ_Hz (40.0)

    //电机正交编码器上的线数
    #define USER_MOTOR_NUM_ENC_SLOTS (1000)

    #define USER_MOTOR_FREQ_MIN_Hz (5.0)// Hz
    #define USER_MOTOR_FREQ_MAX_Hz (600.0)// Hz

    #define USER_MOTOR_FREQ_LOW_Hz (10.0)// Hz
    #define USER_MOTOR_FREQ_HIGH_Hz (600.0)// Hz
    #define USER_MOTOR_VOLT_MIN_V (4.0)//电压
    #define USER_MOTOR_VOLT_MAX_V (24.0)//电压

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

    重新构建并加载 lab07、以使用新识别的参数旋转电机。  并在调用 EST_setParams ()函数之前确保"userParams.flag_BypassMotorId = true;"。

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

    感谢您的回答、这对您有很大帮助。  

    我对最大电流有另一个问题  

    现在、我可以使用 lab07来控制我的电机、但当我超过某个速度时、电机停止运转。  

    过流保护被激活、而我将它放置在20A 并且它没有超过(或者也许只能持续几秒钟?)。  

    此外、根据数据表、我的电机能够远远超过该速度。  

    您知道如何解决此问题吗?

    提前感谢您。

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

    您使用的是什么板? 是 TI EVM 板吗? 哪款 EVM?  user.h 文件中的 USER_ADC_FULL_SCALE_CURRENT_A 是什么?

    如果您使用的是 boostxl-drv8320rs + Launchpad-f280049x、 请更改以下设置。

    drvSPI8320Vars.ctrl_Reg_05.VDS_LVL = DRV8320_VDS_LEVEL_1P300_V;

    2、Incear motorVars.dacValH (mo greater than 4095)和 decrese motorVars.dacValH (不少于1)。

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

    感谢您的回答。

    对于第一条建议、CTRL_Reg_05.VDS_LVL 已经等于它。  

    对于第二部分、我不确定我必须做什么、增加或减少 motorVars.dacValH?

    此外、您能否向我解释一下这些值对应的是什么?  

    我通过更改值类型成功提高了速度限制、我使用了 uint16_t 类型。 您知道它为什么起作用吗?  

    感谢你的帮助。  

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

    抱歉、是一种类型。 相电流是双向的、4096表示正最大峰值电流、0表示负最大峰值电流。  增加 motorVars.dacValH 以更改正峰 值限制 值、并降低 motorVars.dacValL 以更改负峰值。