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.

[参考译文] DRV8703-Q1:无法设置 MODE =高阻态

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/900623/drv8703-q1-can-not-set-mode-hi-z

器件型号:DRV8703-Q1
主题中讨论的其他器件: TIDA-01389

您好!

我尝试使用 DRV8703-Q1EVM 驱动有刷直流电机、该电机在空载时消耗大约0.7A 的电流、在12V 负载下运行时消耗大约2A 的电流。

使用 TI 提供的软件时、仅当使用标准 PWM 模式(MODE =高阻态)时、我才能够以功能方式控制电机。 当使用其它两种模式(MODE = 1和0)时、电机工作异常。 此行为与此线程 https://e2e.ti.com/support/motor-drivers/f/38/t/892275中的第一个帖子中的说明类似 。 我不知道 PH 和 EN 模式应该怎么做。 如果有人能够简单地解释 PH/EN 模式与标准 PWM 模式的区别、那将是很棒的。 或者、如果有人告诉我在这里发生了什么错误。

由于使用 TI 软件、电机在 MODE =高阻态条件下可靠地为我工作、因此我希望使用 MCU、特别是 Arduino Mega 2560在该模式下使用它。 我能够在连接到 PH/IN1和 EN/IN2的 PWM 引脚上生成 PWM 输出、并将 nSLEEP 引脚设置为1 (高电平)。 当我将 MODE 引脚保持悬空(即未连接到任何器件)时、模式似乎仍然设置为0。 查看 MODE 引脚上的电压时、数字示波器上的电压大约为80mV、我认为这对应于 MODE = 0。 我还尝试将 Arduino 上的数字引脚设置为输入(不带上拉或下拉)、然后将 MODE 连接到该引脚。 即使在该模式下、电压也约为80mV。

在这方面,我真的希望得到任何帮助。

提前感谢、

Gunjan

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

    您好,Gunjan,

    PH/EN 和 PWM 模式非常相似、但略有差异。

    PH/EN 没有可用的惯性滑行模式、在大多数情况下只需要单个 PWM。

    PWM 模式具有可用的惯性滑行模式、但在大多数情况下需要两个 PWM 资源。

    很多时候、应用 PWM 在驱动和制动模式之间、以保持电机中的电流。 因此使用了 PH/EN。

    如果悬空、MODE 引脚将为~0V、除非 nSLEEP 为高电平。 如果 nSLEEP 为低电平、请将 nSLEEP 设置为高电平并使 MODE 悬空、然后测量电压。 在 EVM 上、电压为~1V。

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

    您好、Rick、

    感谢您的回复。 这清除了一些问题、但我仍然无法理解电机为什么不喜欢在 PH/EN 模式下运行。 它会产生奇怪的噪声、并且电机的旋转速度不会随着 PWM 占空比的增加而线性增加。

    在 PH/EN 模式下、它在正向和反向两种情况下都以100%占空比运行、效果非常好。 但当 EN 占空比介于90%和100%之间时、它以大约60%的速度运行。 但当占空比在80%和85%之间时、它也以大约80%的速度运行。 在86%至90%的占空比之间、它以接近5%的速度运行、发出奇怪的尖叫噪音。

    另一方面、在 PWM 模式下运行电机时、电机的速度几乎以线性方式增加、两个占空比中的任何一个都是独立增加的。

    我的应用是用于汽车天窗电机和电动寡妇升降机。 我还有一个 TIDA-01389小型天窗电机模块参考设计、该设计似乎仅在 PH/EN 模式下运行。

    nSLEEP 始终设为高电平、因为我们目前不评估节能功能。

    期待收到您的回复。

    此致、
    Gunjan

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

    一些后续行动。

    我能够使用提供的 TI 软件实现 MODE =高阻态(EVM 上的 MODE 引脚~1.1V)。 通过软件选择此模式后、即使 在从计算机上断开 EVM 连接后、该模式仍保持在高阻态。 这意味着、一旦我将模式设置为 Hi-Z、我就能够以~31kHz 的频率使用 Arduino 的 IN1和 IN2 PWM 运行电机。 但我仍然无法通过在为 EVM 重新供电后使 MODE 引脚悬空来设置 MODE =高阻态。

    除了无法将模式设置为高阻态之外、我还面临另外2个问题。 我使用的电机上有2个霍尔传感器。 在占空比小于100%的情况下运行电机时、霍尔传感器输出中存在大量噪声。 您能否建议一种方法来消除或减少此噪声? 第二个问题是、当面板到达其末端时、电机和 EVM 板发出奇怪的噪声以及上千个霍尔传感器输出。 我不确定是什么导致了霍尔传感器出现此问题。

    如果有任何帮助,将不胜感激。

    提前感谢、
    Gunjan

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

    您好,Gunjan,

    默认情况下、当 EVM 首次上电时、MODE 引脚设置为逻辑0。 要将模式设置为高阻态、GUI 会将命令从计算机发送到 EVM 上的 MSP430。

    如果您断开 EVM 与计算机的连接并使 EVM 保持通电状态、则 MODE 引脚将保持 MSP430设置的状态。

    在没有 GUI 的情况下重新为 EVM 供电时、MODE 引脚返回逻辑0。

    您是否尝试将 Arduino 连接到 J4接头、并保留电阻器 R23至 R37? 这可能是您的问题的一部分。 EVM 设计为使用 GUI 运行、或允许您通过 R37移除电阻器 R23并连接外部 MCU。 执行这两个操作都会影响 EVM 的运行。

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

    您好、Rick、

    再次感谢您的回答。 PH/EN 模式的问题似乎与 Arduino 提供的输入 PWM 有关。 我尝试以默认频率(490Hz)运行它、这似乎太低、无法实现可靠运行。 通过将频率更改为约31kHz、我现在能够在 PH/EN 模式下使用 EVM 板以及 TIDA-01389。 在 PH/EN 模式下使用它还可以消除移动范围完成时(面板到达电源轨末端)产生的奇怪噪声。 这是否与允许惯性滑行的高阻态模式有关?

    是的、我将 PH、EN、nSLEEP、MODE 和 GND 引脚连接到 Arduino、并安装了电阻器。 这也许解释了模式和电路板一般的奇怪行为。 但现在、通过分别将 EN 和 PH 引脚用于 PWM 和 GPIO 位、我现在能够在 PH/EN 模式下驱动电机、即使电阻器已降低。

    在100%以外的任何占空比下运行时、霍尔传感器信号中的噪声仍然存在、尽管使用低通 RC 滤波器已经大大降低/控制了这些噪声。

    再次感谢所有帮助。

    此致、
    Gunjan

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

    您好,Gunjan,

    我们很高兴您的系统能够正常工作。

    高于20kHz 的 PWM 可降低 PWM 信号产生的噪声。

    这是否与允许惯性滑行的高阻态模式有关?

    在不了解输出信号和噪声的情况下、很难确定这一点。

    添加滤波器以降低霍尔传感器上的噪声是一个好主意。 根据噪声、可能没有必要。