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.

[参考译文] DRV8303EVM:直流总线电流测量

Guru**** 679710 points
Other Parts Discussed in Thread: CONTROLSUITE, DRV8303EVM, DRV8329, DRV8323, DRV8303, DRV8328, INSTASPIN-BLDC
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1160949/drv8303evm-dc-bus-current-measurement

器件型号:DRV8303EVM
主题中讨论的其他器件:controlSUITEDRV8329DRV8323DRV8303DRV8328INSTASPIN-BLDC

您好!

我想更好地了解直流总线电流测量对 BLDC 驱动器的工作原理。 我已经购买了 TI 评估模块  DRV8303EVM、并使用 controlSUITE (controlSUITE\development_kits\DRV830x-HC-C2-KIT_V105\InstaSPIN_BLDC)中提供的 CCS InstaSPIN_BLDC 项目进行了一些测试。 我修改了代码、以便能够使用宏 PWM_CNTL_MACRO 来控制 PWM 占空比、但对于固定状态= 0  、这意味着电流从 A 相位->B 相流至电机绕组(断电相位= C)。 然后、我连接了电机绕组、并针对高达0.15的占空比运行一些测试、以便在 绕组中循环一些电流。 我使用带差 分探头的 PicoScope 示波器来测量来自电路板的信号 I-TOTAL、该信号对应于电路板 uC 的直流总线电流信号(请参阅下面的电路板原理图)。

e2e.ti.com/.../0488.DRV8303EVM_5F00_SCH.pdf

下面的快照是 占空比= 0.14时的 I TOTAL。 正如预期的那样、直流总线电流呈现脉冲、根据我的理解、实际电流值应该是中断 周期内该信号的平均值(在本示例中为20kHz)。  

但是、看看 如何在代码中设置 ADC 模块来对电流进行采样、采样窗口看起来非常短(ACQPS = 6、因此需要7个采样周期)。 那么、我想知道、这是否足以捕获足够大的信号部分以进行正确的电流测量?  

我对 BLDC 电机控制非常陌生、在 BLDC 电机控制中、只能测量直流总线电流来实现六步控制、因此我非常希望您能更好地理解这一点。 您是否有我可以阅读的任何文档/应用手册?

谢谢

Giorgio

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

    您好、Giorgio、  

    感谢您将问题发布到 e2e 电机驱动器论坛。  

    我已将此主题分配给一名团队成员、我们将在下周向您提供回复

    此致、  
    Andrew  

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

    您好、Giorgio、

    感谢您耐心等待回复! I-total 是流经低侧分流电阻器的所有总电流之和。 如果一个或多个低侧 MOSFET 导通、则会打开一条电流流经低侧分流电阻 器的路径、流经低侧分流电阻器的所有电流总和将由 I-total 表示。  

    I-total 所关注的是、当低侧 MOSFET 导通时、有多少电流从电机流向地面。 因此、7个采样周期应该可以满足这一要求。  

    通常、在梯形控制等应用中、您始终至少导通1个低侧 MOSFET、因此您不会看到波形中显示的脉冲太多、 但会看到从电机线圈流出并流向地面的电机电流总和。 即使在高侧 MOSFET 关闭时、线圈的电感也会允许电流持续流动一段时间。

    此致、

    Anthony Lodi

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

    您好、Anthony、

    感谢您的回答、很抱歉您迟到了。  

    根据我的理解、PWM 控制方法一次控制2个桥臂(或在给定的输入状态下)、从而使底部 MOSFET 不会一直打开(请参阅下面头文件中的宏"PWM_CNTL_MACROM")。 您是否说有更好的方法来控制 MOSFET、从而使直流总线电流的脉动更小?

    /cfs-file/__key/communityserver-discussions-components-files/38/f2803xpwm_5F00_cntl_5F00_8301.h 

    我注意到的另一点是、在上面的头文件中、有以下行用于对 PWM 中心的电流进行采样:

    /*将 SOCB 脉冲置于 PWM 导通时间的中心,以便进行电流采样*/**/\
    EPwm1Regs.CMPB =(uiPosDuty + uiNegDuty)>1;/*

    如果在 PWM 开始时对电流进行采样、会发生什么情况? 何时还会对电压进行采样? 我猜电流测量值会出错、因为您在电流脉冲之外进行采样、我对吗?

    谢谢

    Giorgio

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

    您好、Giorgio、  

    让我争取在下周中给你一个答复。

    此致、

    Anthony Lodi

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

    您好、Giorgio、

     正确的做法是、PWM 控制方法一次控制2个桥臂、因此始终存在至少一个相位导通的低侧 MOSFET 之一。 在电感负载(电机)连接足够 电流的情况下、电流将继续通过低侧 MOSFET 流回电源、同时使电机旋转。 ITOTAL 查看流经低侧 FET 的所有电流之和。 当 MOSFET 打开时、我看一下具体的 ADC 电流、没有发现任何问题。  

    关于在 PWM 开始时对电流进行采样会发生什么情况的问题、答案是、如果您在 PWM 的边缘进行采样、那么您 将 没有足够的时间允许 MOSFET 切换、 这可能会导致电流采样期间出现不准确、这可能是由于开关期间的电压振铃或采样时 MOSFET 未完全导通造成的。 电流 根据分流电阻器上的压降进行计算、因此如果发生 MOSFET 开关、电压将不会那么精确。

    您是否考虑评估我们的一些较新器件、例如 DRV8329或 DRV8323? DRV8303是一款较旧的器件、您可能会发现较新的器件更适合您的需求。 我们较新 EVM 上的一些控制算法与 DRV8303上的控制算法略有不同。  

    此致、

    Anthony Lodi

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

    您好、Anthony、

    我实际上已经设计好了、现在我将测试一个逆变器、在这里我将 DRV8328用作栅极驱动器。 该应用仍然是 BLDC 电机控制、我仍仅对直流总线电流进行采样。

    关于 PWM 控制、 PWM 模块被配置为使用 PWM 计数器的上-下计数模式。 我创建了一个示例、其中我将占空比设置为0.1。 因此、当 PWM 周期 PWMprd = 1500时、我们将得到:  

    iqPosDuty = _IQmpy (v.Duty、_IQ (0.5))+_IQ (0.5)= 0.55

    uiPosDuty = (uint16)((_IQ18mpy ((_IQ) v.PWMprd<<18、_IQtoIQ18 (iqPosDuty)))>> 18)= 824

    uiNegDuty = v.PWMprd - uiPosDuty = 676

    据我了解、在 EPWM1A 和  EPWM2A 均处于高电平时、两个桥臂都  将打开高侧 MOSFET、而低侧 MOSFET 将关闭。 这是正确的、还是我在这里遗漏了什么?

    谢谢

    Giorgio  

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

    您好、Giorgio、

    让我更详细地了解一下这一点、下周初再见。 如果发生这种情况、这是在电机加速/运行期间控制电机电流的一种不太传统的方法(尽管我认为这仍然是一种可行的选择)。  如果 2个桥臂  同时导通高侧 MOSFET、另一个桥臂处于高阻态(高侧和低侧 MOSFET 均关断)、则电流将通过高侧 MOSFET 再循环。   

    此致、

    Anthony Lodi

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

    完全正确! 这就是我测量该脉冲电流的原因...  

    如果有更好的方法来控制 BLDC 电机的 PWM、您可以向我介绍一下 controlSUITE 中实现此功能的一些资源吗?

    谢谢

    Giorgio

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

    您好、Giorgio、

    我建议深入了解 DRV8329EVM 的传感梯形固件。 该代码使用1个低侧 CSA 来监控 相电流之和、该控制方法在高阻态模式下使用一个桥臂、一个桥臂(低侧 MOSFET 打开)的更常见梯形控制方法、 一个桥臂在所需占空比上同步对高侧和低侧 MOSFET 进行 PWM 处理。 DRV8329EVM 含传感器梯形固件可在 DRV8329EVM 产品页面 的"订购和开始开发"部分下找到。  

    此致、

    Anthony Lodi

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

    您好、Anthony、

    感谢您的观看。 我现在遇到的问题是  DRV8329EVM 的固件是为 f28004x 微控制器系列开发的、我在项目中使用的是 F2803x 系列。 您能否帮助我修改 我一侧的代码以实现相同的 PWM 控制(我复制了下面的.h 文件)?

    /cfs-file/__key/communityserver-discussions-components-files/38/pwm_5F00_cntl_5F00_8301.h

    我想我所拥有的与您的建议不太远、需要更改的主要内容是 仅使用一 条桥臂进行 PWMming、并在 低侧 MOSFET 导通的情况下保持第二条桥臂。 第三个桥臂已 处于高阻态模式。 目前、我 正在进行 PWMming 2个桥臂、而不是仅1个(请参阅 下面代码的屏幕截图)。  

     是否有快速方法在低侧 MOSFET 导通的情况下设置1个桥臂? 只要设置 uiNegDuty = 0、这就足够了、还是有一种更优雅的方法?  

    谢谢

    Giorgio

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

    您好、Giorgio、

    我将把这篇文章转移给 C2000团队、以帮助您 解决这一问题、因为他们在 MCU 代码方面将有更多的经验。  

    此致、

    Anthony Lodi

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

    请查看应用手册 InstaSPIN-BLDC 无传感器 Control.pdf、网址 为 C:\ti\controlSUITE\development_kits\DRV830x-HC-C2-KIT_V105\InstaSPIN_BLDC\~Doc

    您可以尝试根据 使用的电路板来更改 f2803xidc_vemf.h 文件中的 ADC 配置代码。

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

    您好!

    感谢你的参与。  

    实际上、我已经开始根据  DRV830x-HC-C2-KIT_V105\InstaSPIN_BLDC 中提供的内容开发我的代码、但是我想修改 PWM 宏以获得更适合于梯形控制的 PWM 控制、这是 Hi-Z 模式下的一个桥臂、低侧 MOSFET 打开的一个桥臂、 其中一个桥臂在所需的占空比上同步对高侧和低侧 MOSFET 进行 PWM 处理(请参阅 Anthony Lodi 在11月4日的建议)。  DRV830x-HC-C2-KIT_V105\InstaSPIN_BLDC 的具体情况是不同的: 其中一个桥臂处于高阻态模式、另两个桥臂用于为高侧和低侧 MOSFET 供电。  

    我尝试修改 PWM 宏(请参阅下面的屏幕截图、其中我注释了原始 代码的行)、我基本上设置 了 IQPosDuty = Duty (这将控制 PWMming 桥臂)和 uiNegDuty = 0 (这将在 低侧 MOSFET 打开的情况下设置所选桥臂)。  

    您能否告诉我这是正确的实现方式、还是有更好/更优雅的方法?  

    谢谢

    Giorgio

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

    可以、您可以像修改一样修改 PWM 宏、也可以直接将低侧 PWM 强制为高电平。