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.

[参考译文] DRV8301-HC-C2-Kit:InstaSpin BLDC库源代码

Guru**** 2595780 points
Other Parts Discussed in Thread: CONTROLSUITE, INSTASPIN-BLDC, DRV8301, DRV8305

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/666149/drv8301-hc-c2-kit-instaspin-bldc-library-source-code

部件号:DRV8301-HC-C2-Kit
主题中讨论的其他部件:controlSUITEINSTASPIN-BLDCDRV8301DRV8305

我有兴趣了解每个InstaSpin BLDC模块中发生的情况。   

编译的库位于控制套件中的此处

"\ti\controlSUITE\libs\app_libs\motor_control\libs\InstaSPIN-BLDC\V100\lib\C28x_InstaSPIN_BLDC_Lib.lib"

源代码是否可供查看?  我是否需要签署NDA或其他内容?

我需要了解的原因是我们需要分离PWM和ISR频率。  我们违反了DRV芯片参数,过度使用充电泵调节器GVDD来驱动MOSFET栅极电容器的频率为35kHz。  方程式为I =频率x 6 x门限,仅30mA可用。  我们使用了大约45mA的电流,并且已经损坏了一些芯片。

20kHz是在不损坏DRV芯片的情况下运行PWM的最大值。  问题是,您的RPM限制在~10k RPM,我们需要大约1.2万 RPM。

现在的下一个问题是,我们已将ISR和PWM分离,但现在,您有一个运行频率为40kHz的ISR和一个运行频率为20kHz的PWM。  您只需在6个步骤中的每个步骤的PWM关闭时间内对BEMF进行采样。  在两倍频率下,您在关闭时间获得1份样本,在准时获得1份样本。  这会混淆BEMF积分波形,从而打乱换向计时。

是否有办法将"准时"读数转换为等效的"休息时间"读数?  

接通时间基本上是中性点处的1/2 PVDD。

关闭时间基本上是空档点的1/2电动机电压。  所以如果你是50 % 占空比,它是1/4 PVDD。   

如能就图书馆或解决这一问题提供任何帮助,我们将不胜感激。

我的设置是

设置:
DRV8301-HC-C2套件修订版D
CC2803x ISO DIMM反向1.3 控制卡
CCS 6.2 和最新的控制套件安装。

PWM:35kHz
ISR:  35kHz

电机:
KDE600XF-530-G3
极= 10,通过计数磁铁验证
电压= 22V - 52V
电流= 88A连续,170A峰值
kV = 530 RPM/V
L = 15uH -由LCR测量
R = 17m欧姆

静态止推支架上的14 x 7支撑

 

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

    1.抱歉。 我们可能无法发布instaSPIN-BLDC库的源代码,即使签署了NDA。 实际上,您可以使用库完美地运行BLDC,而无需对其进行修改。
    2. instaSPIN-BLDC通过bemf零品脱进行换向,该电压是根据采样相位电压计算的,这对于使用ADC模块感应未执行相位的电压非常重要。 您可以使用不同的频率运行控制环路和PWM。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Yanming,

    我们确实分离了两个频率,但它不起作用。

    您现在在PWM打开和关闭时间进行采样,它提供不同的BEMF读数。  一个与另一个有一个偏移,因此它打破了一体化计划,以找到零交叉点。

    我不确定如何计算两者之间的偏移量,以使两个ADC样本相互关联。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用比PWM频率更快的控制环路频率可能不是更好的主意,因为ADC由instaSPIN-BLDC项目中的PWM事件触发。 在低侧PWM打开且高侧PWM关闭时,必须对ADC进行采样,PWM计数器等于零。 bemf零点通过bemf电压集成进行检查,不能在两种模式下使用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,这就是问题所在。 我们需要加快采样速度,但不能将PWM推至超过20kHz,因为它过度使用其充电泵调节器来驱动MOSFET栅极,从而损坏DRV芯片。但如果采样速度不超过20kHz,则RPM限制为10k。 我们需要12k RPM。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您使用的是哪个DRV设备? DRV8301或DRV8305可支持高达200kHz的PWM输入频率,因此30~45KHz不会影响DRV设备。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是DRV8301。
    我知道PWM频率可以但是很高。
    请参阅数据表的第26页8.2 部分。2.1 门驱动器平均电流负载。
    栅极驱动RMS电流= MOSFET Qg×开关MOSFET数量×开关频率

    部件最大30mA。
    我们的MOSFET为220nC
    6个MOSFET
    20kHz

    这消耗30mA的最大值约26.5mA,但将RPM限制为10k。

    如果您有极低栅电荷MOSFET,您可以以200kHz的频率旋转电机。

    如果我可以分离PWM和ADC采样,那么我可以按我想要的速度进行采样。
    问题再次是,当您的采样速度比PWM快时,有时发生的采样发生在控制方框处理不好的时候。
    专门设计用于在MOSFET关闭时间采样。 将样品频率加倍表示一半的样品在打开时间内,这会产生不同的BEMF电压读数。 我不知道如何关联两个读数。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是无传感器BLDC控制的一个挑战,我们必须为高频电机使用更高的PWM频率,因为BEMF零交叉点在低侧打开时由ADC进行采样。 也许,这是一种更改MOSFET以启用更高PWM频率的简单方法,我在DRV8301-HC-kit上尝试了30kHz PWM频率,这对于电动机在轻负载下运行是可以的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是一个很好的建议。  不幸的是,我找不到一个既能满足功率要求,又能降低门电容的FET。

    很遗憾,我无法查看源代码。  我相信它很容易被控制算法中的一个块的调节所修复。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    instaSPIN-BLDC库中的算法使用bemf积分器方法来检查换流时间,因此您可以在每个PWM周期调用该函数两次,您只需要更改阈值(InstaSPIN_BLDC1.Int_Threshold),但您需要确保相位电压可以正确采样。