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.

[参考译文] DRV8876N:已获得 PH/EN 控制模式设置't work

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1233792/drv8876n-ph-en-control-mode-setting-won-t-work

器件型号:DRV8876N
主题中讨论的其他器件:DRV8876、DRV8874

大家好!

我在以下 PH/EN 控制模式配置中独立使用 drv8876:

在下面的原理图中、我将向您展示我的设计:

在 PH/EN 模式下、DRV8876应从"上电"开始工作。
我使用 PH/EN ,因为我只有来自另一个设备的 PWM 信号 。

*我将 PMODE=GND 连接(选择 PH/EN 模式)。
* I tied nSleep =高电平 (Out1和 Out2已启用)

问题:

问题是、 如果我将 nSleep 绑定到+5V、DRB8876的输出(OUT1和 OUT2)不会正常工作。
我认为这是因为 nSleep 在选择 PMODE 信号时需要一个低脉冲?
因此、我将 R1/C19组合设置 为 nSleep、以便在上电后生成低脉冲至 nSleep。 将其放置仅用于测试目的。

当我没有随后更改 nSleep 引脚状态的可能时、是否有其他方法可以从上电选择 PH/EN 模式?


提前感谢

沃尔夫

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

    您好、Wolf、

    我注意到您已经将同一问题发布了两次。 我将回复并关闭另一个主题。

    此致、

    巴勃罗·阿梅特

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

    您好、Wolf、

    MODE 引脚在上电期间锁存(nSLEEP =高电平且 VM>UVLO)。 nSLEEP 不需要从低电平切换到高电平。 只要它始终连接到外部 VCC 电源、它就会开启。 您的原理图很好。

    您要进行 PWM 处理的是什么信号? EN 还是 PH 引脚?

    此致、

    巴勃罗·阿梅特

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

    您好 Pablo:

    感谢您的回答。 我希望这会对我有所帮助。
    对不起我的双重帖子。 我想我把它擦了。

    >您写入:MODE 引脚在上电期间锁存(nSLEEP= HIGH 且 VM>UVLO)。 nSLEEP 不需要从低电平切换到高电平。

    现在、我在 SPICE 中再次对它进行了测试。 我在这里采用了 Spice 模型: https://www.ti.com/lit/zip/slvmcq2
    遗憾的是、SPICE 中 DRV8876的 OUT1和 OUT2 仅在 SPICE 中加电期间通过 RC (黄色)延迟了 nSleep 上的切换时才起作用。
    如果我将 NSleep 连接到 VCC、输出将不会起作用。 该错误函数是否会在 DRV8876的 SPICE 模型中出现错误?

    是否可能在 DRV8876的 SPICE 模型中未实现上电期间 PMODE 的锁存?

    >您正在进行哪种信号 PWM 处理? EN 还是 PH 引脚?
    是的、我将 PWM 置于 PH 引脚上并将 EN=逻辑高电平。

    我在数据表的最后几天内阅读了
    https://www.ti.com/lit/ds/symlink/drv8876.pdf?ts=1685915003450&ref_url=https%253A%252F%252Fwww.google.com%252F
    第10页:
    "PMODE 引脚状态会在通过 nSLEEP 引脚启用器件后锁存。 通过设置 nSLEEP 引脚逻辑低电平、等待 tSLEEP 时间、更改 PMODE 引脚输入、然后将 nSLEEP 引脚恢复为逻辑高电平以启用器件、可以更改 PMODE 的状态。"
    我找不到有关上电和 nSleep 行为的任何信息。

    提前感谢

    沃尔夫

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

    您好、Wolf、

    让我在内部调查一下 nSLEEP 引脚上是否存在任何压摆率限制、以准确锁定 MODE 引脚。  

    我会在24小时内回复您并作出回复。

    此致、

    巴勃罗·阿梅特

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

    您好 Pablo:

    感谢您的帮助。 我不知道如何解决这个问题、

    此致 Wolfi

     

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

    您好 Pablo:

    发送我的 Spice 仿真文件是否有用? 很遗憾、我无法将 Spice 仿真上传到此论坛。

    或者我的 Spice 仿真的图片是否足够有助于

    此致 Wolf

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

    嗨、wolf:

    请向我发送 PSPICE 仿真。  

    我仍在内部进行调查。 请给我更多的时间来回答。  

    此致、

    巴勃罗·阿梅特

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

    您好 Paböo 我如何向您发送 SPICE 仿真? 我在论坛中找不到上传文件的附件

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

    Pablo 你好

    我不知道在哪里上传我的 Spice 模拟. 我将这里的代码放入下面的框中。
    我正在使用 LTSpice。 Spice 模型 I 取自 TI 网站: https://www.ti.com/lit/zip/slvmcq1

    以下是我的 Spice 仿真代码

    Version 4
    SHEET 1 1552 680
    WIRE -816 -304 -992 -304
    WIRE -128 -272 -496 -272
    WIRE -16 -272 -128 -272
    WIRE 48 -272 -16 -272
    WIRE -992 -256 -992 -304
    WIRE 752 -224 624 -224
    WIRE -16 -208 -16 -272
    WIRE 48 -208 48 -272
    WIRE -752 -176 -752 -192
    WIRE -1072 -144 -1104 -144
    WIRE -992 -144 -992 -176
    WIRE -992 -144 -1008 -144
    WIRE -608 -144 -992 -144
    WIRE -1104 -128 -1104 -144
    WIRE -160 -128 -160 -144
    WIRE 624 -96 624 -224
    WIRE 976 -96 624 -96
    WIRE -144 -64 -800 -64
    WIRE 48 -64 48 -144
    WIRE 160 -64 48 -64
    WIRE 64 0 -32 0
    WIRE 240 0 64 0
    WIRE -32 16 -32 0
    WIRE -32 16 -256 16
    WIRE 64 16 64 0
    WIRE -592 32 -624 32
    WIRE -480 32 -528 32
    WIRE -32 48 -256 48
    WIRE -16 48 -16 -144
    WIRE -16 48 -32 48
    WIRE 0 48 -16 48
    WIRE -1056 64 -1200 64
    WIRE -800 64 -800 -64
    WIRE -800 64 -1056 64
    WIRE -624 64 -624 32
    WIRE -480 64 -624 64
    WIRE -208 80 -256 80
    WIRE -160 80 -208 80
    WIRE -32 80 -32 48
    WIRE 784 80 448 80
    WIRE 1104 80 784 80
    WIRE -480 96 -736 96
    WIRE 240 96 240 0
    WIRE 288 96 240 96
    WIRE 976 96 976 -96
    WIRE -1200 112 -1200 64
    WIRE -208 112 -208 80
    WIRE -208 112 -256 112
    WIRE -160 112 -160 80
    WIRE 624 112 624 -96
    WIRE 624 112 448 112
    WIRE 864 112 672 112
    WIRE -736 128 -736 96
    WIRE -736 128 -800 128
    WIRE -528 128 -672 128
    WIRE -480 128 -528 128
    WIRE 64 128 64 96
    WIRE 176 128 64 128
    WIRE 288 128 192 128
    WIRE -736 144 -736 128
    WIRE -144 144 -144 -64
    WIRE -144 144 -256 144
    WIRE 64 144 64 128
    WIRE 64 144 32 144
    WIRE 576 144 448 144
    WIRE -672 160 -672 128
    WIRE -528 160 -528 128
    WIRE -480 160 -528 160
    WIRE 288 160 240 160
    WIRE 576 160 576 144
    WIRE 672 160 672 112
    WIRE 672 160 576 160
    WIRE 720 160 720 144
    WIRE -208 176 -208 112
    WIRE -208 176 -256 176
    WIRE 32 176 32 144
    WIRE 64 176 64 144
    WIRE 528 176 448 176
    WIRE -528 192 -528 160
    WIRE -480 192 -528 192
    WIRE 864 192 864 112
    WIRE 976 192 976 176
    WIRE 976 192 864 192
    WIRE -224 208 -256 208
    WIRE -128 208 -128 -272
    WIRE -128 208 -160 208
    WIRE 976 208 976 192
    WIRE -736 224 -768 224
    WIRE -480 224 -736 224
    WIRE -128 240 -128 208
    WIRE -128 240 -256 240
    WIRE -112 240 -128 240
    WIRE -32 240 -48 240
    WIRE 240 240 240 160
    WIRE 576 240 576 160
    WIRE 576 240 240 240
    WIRE -800 256 -800 128
    WIRE -656 256 -800 256
    WIRE -608 256 -608 -144
    WIRE -480 256 -608 256
    WIRE -32 256 -32 240
    WIRE 192 256 192 128
    WIRE 224 256 192 256
    WIRE -96 272 -256 272
    WIRE 224 272 224 256
    WIRE 32 288 32 240
    WIRE 64 288 64 256
    WIRE 64 288 32 288
    WIRE -176 320 -224 320
    WIRE 0 320 0 48
    WIRE 64 320 64 288
    WIRE 64 320 0 320
    WIRE 160 320 160 -64
    WIRE 160 320 64 320
    WIRE 176 320 176 128
    WIRE 528 320 528 176
    WIRE 528 320 176 320
    WIRE -656 352 -656 256
    WIRE -224 352 -224 320
    WIRE -224 352 -656 352
    WIRE -96 432 -96 272
    FLAG -160 -128 0
    FLAG 752 -144 0
    FLAG 224 272 0
    FLAG -880 336 0
    FLAG -496 -192 0
    FLAG -1200 192 0
    FLAG -672 160 0
    FLAG -160 112 0
    FLAG 720 240 0
    FLAG 976 288 0
    FLAG 784 80 Output_CurrentMeasurement
    FLAG -1056 64 PWN_INPUT
    FLAG -176 400 0
    FLAG -96 512 0
    FLAG -32 256 0
    FLAG -1104 -128 0
    FLAG -816 -224 0
    SYMBOL AD8210 368 128 R0
    SYMATTR InstName U1
    SYMBOL ind 48 160 R0
    SYMATTR InstName L2
    SYMATTR Value 27mH
    SYMATTR SpiceLine Rser=78 Rpar=3000
    SYMBOL res 48 0 R0
    SYMATTR InstName R1
    SYMATTR Value 0.3
    SYMBOL voltage -1200 96 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V2
    SYMATTR Value PULSE(0 5 0 1n 1n 0.5m 1m)
    SYMBOL voltage 752 -240 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V1
    SYMATTR Value 5V
    SYMBOL voltage -496 -288 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V4
    SYMATTR Value 24V
    SYMBOL voltage -176 304 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V5
    SYMATTR Value 5V
    SYMBOL diode 0 -144 R180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D1
    SYMBOL diode 64 -144 R180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D2
    SYMBOL voltage 720 144 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V6
    SYMATTR Value 2.5V
    SYMBOL res 960 192 R0
    SYMATTR InstName R2
    SYMATTR Value 10k
    SYMBOL res 960 80 R0
    SYMATTR InstName R3
    SYMATTR Value 10k
    SYMBOL cap 16 176 R0
    SYMATTR InstName C1
    SYMATTR Value 18nF
    SYMATTR SpiceLine Rser=52
    SYMBOL cap -160 192 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C2
    SYMATTR Value 100nF
    SYMATTR SpiceLine Rser=52
    SYMBOL cap -528 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C3
    SYMATTR Value 22nF
    SYMATTR SpiceLine Rser=52
    SYMBOL voltage -96 416 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V8
    SYMATTR Value 5V
    SYMBOL res -752 128 R0
    SYMATTR InstName R4
    SYMATTR Value 10k
    SYMBOL AutoGenerated\\DRV8876_TRANS -368 144 R0
    SYMATTR InstName U2
    SYMBOL cap -48 224 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C4
    SYMATTR Value 100nF
    SYMATTR SpiceLine Rser=52
    SYMBOL cap -1008 -160 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C5
    SYMATTR Value 100nF
    SYMATTR SpiceLine Rser=52
    SYMBOL res -1008 -272 R0
    SYMATTR InstName R5
    SYMATTR Value 10k
    SYMBOL voltage -816 -320 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V7
    SYMATTR Value 5V
    TEXT -1312 344 Left 2 !.tran 0 30m 0 0.001m startup
    TEXT 208 384 Left 2 ;Current Measurement
    TEXT -480 440 Left 2 ;H-Bridge
    TEXT -112 352 Left 2 ;Motor 

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

    您好 Pablo:

    DRV8876Symbol 文件"DRV8876_TRANS.asy"我从 TI*的"DRV8876PSpice 瞬态仿真"中的"DRV8876_TRANS.lib"生成

    这可以帮助您从上面的 Spice-simulation -file ?

    谨致问候

    沃尔菲

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

    您好、Wolf、

    我可以尝试一下。 目前、PSpice 存在一些技术问题、但一旦解决、我将加载您的仿真。  

    我与我们的内部团队进行了核实、但得到的反馈是、我们仍不确定根本原因是什么。 我将转到实验、并尝试使用评估板进行复制。 我将在24小时内向您提供结果的最新信息。

    此致、

    巴勃罗·阿梅特

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

    您好 Pablo:

    感谢您的调查和回答。
    我停止了 PCB 设计、直到您找到解决方案。

    1.) 我在数据表中找到了两张在加电时 nsleep 的行为。  在数据表第3页:

    "睡眠模式输入。 逻辑高电平用于启用器件。 逻辑低电平用于进入低功耗睡眠模式
    测试模式。 请参阅器件功能模式。 内部下拉电阻。'

    如果我即使使用 此上拉电阻器也让 nSleep 保持开路、OUT1将在 Spice 仿真中切换为 contanz 5V。

    2.) 数据表的第27页显示了"器件加电":

    我在 Spice 中使用 PH/IN2上的有源 PWM 信号对这些图片输入进行了测试。
    上电后会发生的唯一情况("nSLEEP = HIGH "和"VM>UVLO"以及"PH/IN2上的 PWM 信号"和"PMODE=Low")
    是 OUT1切换至恒定24V 信号。 但在 OUT1/OUT2处不进行开关 、但 IN2上有一个 PWM 输入信号。


    感谢您在评估板上进行了 DRV8876 nSleep 在加电时的加电行为测试。

     希望能发现 PMODE 引脚在上电期间被锁存(nSLEEP =高电平且 VM>UVLO)。
    提前感谢

    沃尔夫

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

    您好、Wolf、

    我不会太信任仿真。 DRV8874具有可在仿真期间导致异常行为的已知错误。 在您实际的硬件上试用它。

    请给我更多的时间来运行我自己的测试。 我已经忙于其他任务、因此没有时间运行测试。

    此致、

    巴勃罗·阿梅特

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

    你好,巴勃罗,

    感谢您的最后一个 答案。

    我在"我的硬件上"和" 为什么我要进行 SPICE 测试"中对其进行了测试。

    在我的硬件中 、 仅当我通过 RC 组合提供从0到1的延迟切换时、才会在上电时输入 pmode = pH/EN1。  则输出 OUT1和 OUT2将工作。 但我认为 RC 组合不是一个安全的设计.

    您还能测试一下吗?  感谢 Mandy 的帮助。

    沃尔菲  

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

    您好、Wolf、

    我曾尝试在实验室中运行测试、但未能重现问题。 我尽量让设置尽可能接近你。 显然硬件不同、但我将来自 LDO 的 nSLEEP 连接到了3V3、并将 VM 作为输入。 我已使用9V 启用 VM。 我不确定导致该问题的原因是 nSLEEP 是否为5V、而不是3V3。 您是否尝试过使用3V3进行休眠?  

    此致、

    巴勃罗·阿梅特

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

    您好 Pablo:

    非常感谢您测试它。  
    我已在上电时将 nSleep 连接到3.3V。 但与以前的行为相同。 输出开关控制为24V、但无 PWM。

     NSleep 连接至3.3V

    仅当我在 VM (on)和 nSleep 信号(通过 RC 组合)之间施加较小的延迟(例如1ms)(10kOhm/100uF)时、PMODE=0V 才会被锁存、OUT1/OUT2将起作用。

     NSleep 连接到 RC 延迟

    你的情况是一样的吗?
    如果在 LDO 上放置9V VM 电压、也可能会有延迟? 直到3.3V 输出(LDO)达到标称输出电压。

    这是我无法理解的。 在本例中、 nSLEEP = HIGH 和 VM>UVLO 之间必须有1ms 的延迟  
    但数据表指出、 之前当 nSleep = High 时、VM 可能会有斜坡。

    您还有什么想法吗?

    提前感谢

    沃尔夫

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

    您好、Wolf、

    VM 斜坡是从开启 VM 电源到处于编程电压的时间。 nFAULT 一开始会从检测到 UVLO 故障开始切换、但一旦 VM > UVLO、它会自行清除。 1ms 的延迟是从驱动器可以正确检测到 INx 信号并切换输出之前的唤醒时间开始的。 如果您尝试在该唤醒时间内切换输出、则输出上不会发生任何情况。  

    在测试中、我使用了 LDO 的3V3外部电源。 LDO 上的延迟可能与您从 RC 时间常数延迟中获得的延迟相匹配、并解释了我无法复制的原因。 当我星期一返回到实验室时、我可以使用 nSLEEP 的外部3V 电源重新测试。

    我想确认一些事情。 当 nSLEEP 未添加延迟时、输出是否即使在等待唤醒时间到期和 INx 切换后也不会切换? 或者它们在唤醒时间过期后会发生什么情况?

    此致、

    巴勃罗·阿梅特

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

    您好 Pablo:  

    我可以确认、当我没有延迟时、输出从不切换。 即使我等待唤醒时间结束、也不会发生任何情况。 只有在 RC 延迟时、输出才会开始切换。

    正如我在数据表中看到 的、在 nsleep 时会有施密特触发输入。因此、如果我组合使用 RC、nsleep 上的输入信号会有良好的低电平到高电平信号。

    所有其他情况将无法正常工作  

    • 此致  

     沃尔夫

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

    您好、Wolf、

    我懂了。 感谢您的澄清。

    nSLEEP 引脚上的输入施密特触发似乎可能有一个压摆率规格。 我相当肯定、正如您所测试的、这就是原因。 您能否向我发送一个示波器、说明有无 RC 延迟时的 nSLEEP 引脚压摆率。  

    由于根本原因已知、我将关闭此 TT、但在了解有关此行为的更多信息后会回复。  

    我建议在您的设计中添加此 RC 延迟、并对其进行调整、使延迟足够长、以启用驱动器。

    此致、

    巴勃罗·阿梅特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在以下 PH/EN 控制模式配置中使用独立的 drv8876:

    您好!

    原理图错误、外部 PWM 应连接到 EN 而不是 PH。 如果 PWM 连接到 PH、那么电机将在高频下振动、因为 PH 在任何 PWM 频率下改变电机方向。 请先修复此问题。  

    此外、6天前发布的波形没有控制输入 PWM 和 EN、因此我们无法判断输出行为是否正确。

    布赖恩

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

    Brian、您好!

    控制有刷直流电机的模式有两种:

    符号幅度模式  
    以及 针对直流电机控制的锁定反相模式

    请原谅我,但这不是真的:
    "如果 PWM 连接到 PH、那么电机将以高频率振动、因为 PH 会以任何 PWM 频率改变电机方向"

    在这里,您可以在以下位置找到反相模式的描述:
    https://www.pcb-3d.com/wordpress/tutorials/what-is-a-h-bridge-sign-magnitude-and-locked-anti-phase-control-of-a-dc-motor/
    https://www.acmesystems.it/pcb_pwm
    https://www.ti.com/lit/an/snoa170c/snoa170c.pdf?ts=1686648391182&ref_url=https%253A%252F%252Fwww.google.com%252F
    https://www.ti.com/lit/ds/symlink/lmd18200.pdf

    在德州仪器(TI)的帮助下:

    锁相反相 PWM 由一个单个可变占空比信号组成,该信号在其中被编码为方向和振幅信息。 占空比为50%的 PWM 信号表示零驱动、因为传递给负载的电压净值(一个周期内的积分)为零。

    我使用 DRV8876 的设计可在"锁定反相模式" n PH/EN 控制模式下工作、PH=PWM 且 EN=Enabled
    我使用"锁止反相"模式 来控制电机方向和电压振幅以控制电机。  在此模式下、只使用一个 PWM 信号来控制直流电机。


    1.) 在占空比为50%时、电机将停止;

    2.) 对于51...100%之间的占空比、我的电机将在100%占空比下以全正向速度运转

    3.) 或占空比介于0...49%之间、我的电机将在0%占空比下以全反转速度旋转。
    以下图片显示了当电机在50%占空比时停止的情况:

    50%占空比这是空闲状态、因为电机在其端子上不会看到(平均)电压差。

    如果在51...100%之间增加占空比:
    如果占空比增加、Q1和 Q4的导通时间将比 Q2和 Q3的导通时间长。 ‘‘B 侧的平均电压将高于 A 侧的平均电压、因此它将开始正向旋转。

    ‘‘、 占空比降至50%以下、" A 侧"门槛的平均电压高于" B "、因此电机将反向旋转。



    我希望这是有关此抗锁相 PWM 模式的简单说明、

    谨致问候

    沃尔夫

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

    Brian、您好!

    对不起、我在设计时发布了错误的原理图。

    I LINK PWM 连接到 PH 引脚并且 EN=VCC (高电平)、这正常工作。

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

    你好

    我只是找到一个其他项目、在 PWM 连接到 PH 且 EN1=高电平时、抗锁相8876:
    我希望这将有所帮助: https://www.pololu.com/product/4036;中针对 DRV8876描述了抗锁相模式

    8876的相位/使能(PH/EN)模式适用于锁定反相模式:

    简化的驱动/制动操作、PMODE=0 (相位/使能端)
    中文 pH 输出1 输出2 操作模式
    0 X 制动器低电平(输出对地短路)
    PWM 1 PWM (H/L) 前进档/制动器速度 PWM %
    PWM 0 PWM (H/L) 速度为 PWM 时的倒车/制动器%

    此 PH/EN 模式还可用于锁相操作、其中 将足够高的频率(最高100kHz) PWM 施加到相位(PH)引脚、使能(EN)引脚连接至高电平。 在锁相反相运行中、PWM 占空比用于控制速度和方向、从一个方向的0%占空比全速变为另一方向的100%占空比全速。 50%的占空比将停止电机。 合适的 PWM 频率通常取决于电机的电感。

    请尊重

    沃尔夫

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢您测试它。  
    我已在上电时将 nSleep 连接到3.3V。 但与以前的行为相同。 输出开关控制为24V 但无 PWM。

    您好!

    为了验证这一点、您能否在同一屏幕截图中发布捕获的 PWM 输入、nSLEEP 和输出波形? 如果 nSLEEP 为逻辑高电平、则睡眠模式下的最大驱动器值为1ms、因此请确保捕获的波形大于1ms。

    我的 DRV8876设计 在"锁定的反相模式" n PH/EN 控制模式下工作、PH=PWM 且 EN=Enabled
    我使用"锁止反相"模式 来控制电机方向和电压振幅以控制电机。  对于此模式、仅将一个 PWM 信号用于控制直流电机。

    你是对的、我所说的不是很正确-这取决于 PWM 频率、如果 PWM 足够高、电机就不会振动。 但是、使用锁定的反相有一个缺点:失去50%的 PWM 分辨率以进行精细控制;全部4个 FET 都在一直开关、所以开关损耗更高。

    为什么不能将 PH 连接到方向并将 PWM 连接到 EN、这样您就可以利用 PWM 控制输入的完整10位或任何位分辨率?

    布赖恩

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

    Brian:

    为什么您不能将 PH 连接至方向和 PWM 连接到 EN,这样您就可以利用 PWM 控制输入的完整10位或任何位分辨率?

    通常这是建议的情况。 H 桥在一个方向的驱动与电流再循环之间切换。  我同意您的看法、即这应该是控制 BDC 电机的正确方法。  Wolf、为什么要控制 PH 引脚而不是 EN 引脚?

    此致、

    巴勃罗·阿梅特

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

    Brian、您好!

    它的权利我释放50%的分辨率。 但 我从我的工业控制系统中只获得一个为"锁相"模式创建的 PWM 信号。
    这意味着我说过:
                          占空比50%电机停止
                          占空比 0...49%电动机反向(0%时最大反向速度)
                          占空比 51…… 100%电机正向(100%时的最大正向速度)          

    换句话说、我没有"单个方向信号"
     我只有一个"PWM 信号"、每个方向使用50%的占空比。 这是我的建议                                                        

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

    Brian、Pablo、您好!

    感谢您的回答。

    Brian 说:"为什么不能将 PH 连接到方向并将 PWM 连接到 EN、这样您就可以利用 PWM 控制输入的完整10位或任何位分辨率?"

    巴勃罗说:"。  Wolf、为什么要控制 PH 引脚而不是 EN 引脚? "


    正如我所说的,我只有"反相 PWM 信号",没有方向信号(见本答复中的表3)。
    EN=PWM PH=1对我不起作用。
    当 EN=PWM=0时、DRV8876的输出将"制动"、
     当 EN=PWM=1时 、DRV8876的输出 将 反向运行
    但我如何才能向前(OUT1→OUT2)? 当连接 EN=PWM 时、这对于抗锁相 PWM 是无法实现的。

    这是 EN=PWM 且 PH=1时的输出信号(只能有一个电压方向-24V、因此电机只会 反向驱动)
    绿色是"反相锁相 PWM"输入信号。 DRV8876的"OUT1和 OUT2"之间的蓝色输出:

    这是 EN=1且 PH=PWM 时的输出信号( 可能存在两个方向的电压+/24V、因此电机将向后和向前驱动)
    绿色是我的"锁相"输入信号 PWM 信号. DRV8876的 OUT1和 OUT2之间的蓝色输出:

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

    Brian、Pablo、您好!

    感谢您的回答。

    Brian 说:为了验证这一点、您可以在同一屏幕截图上发布一个捕获的 PWM 输入、nSLEEP 和输出波形吗? 如果 nSLEEP 为逻辑高电平、则睡眠模式下的最大驱动器值为1ms、因此请确保捕获的波形大于1ms

    这是我在上电至2ms 时的 PWM 捕获。 nSleep (红色) 和输出(蓝色) PWM_IN (绿色)。  NSleep 连接到5V、该信号没有延迟。
    输出(蓝色)切换至5V、并在1ms 后 持续切换至24V (无 PWM 切换):

    问题仍然是:为什么在绑定 nSleep = 1时输出无法工作? 如上图所示。
    只有在 nSleep 下从低电平到高电平延迟切换时、DRV8876输出才有效。
     我再次浏览了 DRV8876的所有应用、但未找到有关该行为的解释。
    因为数据表仅设计 nSleep ="1"以设置 DRV8876活动模式。
    我发现 nSleep 从"0"切换到"1"必须 在器件上电后具有0.1ms 的最小延迟。
    正常工作、并且 PH/EN 模式设置正确。  这是您捕获到的

    谨致问候

    沃尔夫

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    EN=PWM PH=1对我无效。
    当 EN=PWM=0时、DRV8876的输出将"制动"、
     当 EN=PWM=1时 、DRV8876的输出 将 反向运行
    但我如何才能向前(OUT1→OUT2)? 连接 EN=PWM 时、使用反相锁定 PWM 无法实现此功能。

    哪个器件输出 PWM 信号、为什么不使用同一个器件输出一个 GPIO、通过将其连接到 PH 引脚来控制方向? 如果器件能够输出 PWM 和方向信号、则没有理由使用反相 PWM、因为您松散了50%的 PWM 分辨率。

    这是 EN=PWM 且 PH=1时的输出信号(只能有一个电压方向-24V、因此电机只会 反向驱动)
    绿色是"反相锁相 PWM"输入信号。 DRV8876的"OUT1和 OUT2"之间的蓝色输出: [/报价]

    我看到了 PWM = 1kHz 时的波形、该波形对于反相 PWM 控制来说太低、因为如果电机的电感较低、这会导致高可闻噪声和不良性能。

    波形是通过示波器还是通过 Spice 仿真捕获的?

    布赖恩

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

    您好、Brian、您好 Pablo

    感谢您的回答和提问:

    Brian Dang 说:"什么器件输出 PWM 信号、为何不使用同一器件输出一个 GPIO、从而通过将其连接到 PH 引脚来控制方向? 如果器件能够输出 PWM 和方向信号、那么就没有理由使用反相 PWM、因为您松了50%的 PWM 分辨率。"

    50%的 PWM 信号损失在我们的应用中不是问题。 该器件输出  "反相锁相 PWM 信号" 、而不是微控制器。 它是一个工业 PLC (由 Scheider electronic 公司提供)。 在此 PLC 设计中仅提供"反相锁定 PWM"。 我们请制造商提供 "PWM 信号+方向信号"、但这是在 PLC 中实现的。
    由于 PLC 没有"H 桥输出"、因此我们使用 DRV8876作为电机驱动器。 给定的频率 fpwm 有两种可能: 1kHz 和5kHz:
    在我们的设计中、我使用 fpwm=5kHz、但电机也将以1kHz 的频率运行。

    Brian Dang 说:我看到 PWM = 1kHz 时的波形对于反相 PWM 控制来说太低了、因为如果电机的电感较低、这会导致高可闻噪声和不良性能。

    它是一款小型24V 电机 、频率为 fpwm=1kHz/5kHz 时没有噪声。 这不是根本 问题。 问题是在"上电"时初始化 nSleep。 我们的唯一问题是、当我们直接连接 nSleep Vcc 时、DRV8876无法正常工作。

    Pablo 说:nSLEEP 引脚上似乎可能有一个输入施密特触发的压摆率规格。 我相当肯定、正如您所测试的、这就是原因。 您能否向我发送一个示波器、说明有无 RC 延迟时的 nSLEEP 引脚压摆率。 由于根本原因已知、我将关闭此 TT、但在了解有关此行为的更多信息后会回复。  我建议在您的设计中添加此 RC 延迟、并对其进行调整、使延迟足够长、以启用驱动器。

    正如我所写的,在 fpwm=1kHz 和5kHz 没有噪音,因为我们讨论了 种类的 PWM 信号,我们忘记了我们的主要问题 .
    我们的唯一问题不是 PWM 信号本身。  问题是  "上电"时 nSleep - Pin 上所需的信号。
    RC 延迟是唯一的方法吗?

    因此、我想问你们两位、您是否找到了将 DRV8876设置为"PH/EN - MODE"并在上电时提供针对 nSleep 的正确信号的解决方案。 为什么 nSleep 不能连接到 Vcc?

    谨致问候

    沃尔夫

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当我们讨论了 PWM 信号的种类时,我们忘记了我们的主要问题 。
    我们的唯一问题不是 PWM 信号本身。  问题是  "上电"时 nSleep - Pin 所需的信号。

    您好!

    您能否确认下面问题中的波形? 对于此类情况、SPICE 仿真并不完美。

    波形是通过示波器还是通过 Spice 仿真捕获的?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brian、Pablo、您好、

    感谢您的答复。
    我 只是等待 DRV8876的新样片。
     因为我的 DRV8876不再工作。

    Brian Dang 说: 是通过示波器还是通过 Spice 仿真捕获波形?
     在 Spice 中捕获的最后一个波形。 但您说得对、我必须等待新器件、然后在我的实际 PCB 上再次对其进行测试。

    Pablo Armet 说:我的建议是在您的设计中增加这个 RC 延迟、并对其进行调整、使延迟足够长、使驱动器能够运行。
    这是新器件推出时我将执行的操作

    此致 Wolf

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

    Wolf、

    最好在实际硬件上对此进行测试。 当您获得部件并在电路板上进行测试时、如果 RC 延迟还有任何问题、请告诉我。

    此致、

    巴勃罗·阿梅特