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.

[参考译文] RTOS/TM4C123GH6PM:将 PWM 设置为100%

Guru**** 2473260 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/682869/rtos-tm4c123gh6pm-setting-the-pwm-to-100

器件型号:TM4C123GH6PM

工具/软件:TI-RTOS

大家好、

我使用 PWM 来操作电机、有时需要将其设置为100%、以便关闭电机(该值反相)。

我知道在 PWM 上设置0%和100%占空比是有问题的、但可以完成。

我尝试禁用 PWM 并将输出反相:

PWMOutputState (PWM0_BASE、PWM_OUT_6_BIT、false);
PWMOutputInvert (PWM0_BASE、PWM_OUT_6_BIT、TRUE);

我还尝试将输出引脚更改为数字输出并将其设置为0xff:

GPIOPinTypeGPIOOutput (GPIO_PORTC_BASE、GPIO_PIN_4);
GPIOPinWrite (GPIO_PORTC_BASE、GPIO_PIN_4、0xff);

这两种方法都没有停止 PWM、我仍然会得到很小的电压、我是否做了一些事情?

谢谢。

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

    [引用 USER="Nadav Bahana"]两种方法都没有停止 PWM、我仍然得到很小的电压、我是否做了一些错误?

    感受您的痛苦-以及"为您带来的好"-努力记录"PWM  占空比范围的已知限制"-在 大多数 供应商的 ARM MCU 器件中感受到。    (因此不是单个供应商问题!)

    我认为,你的写作不够清楚。   您会注意到, “没有停止 PWM”... 然后、 "获得非常小的电压。"

    "没有停止"到底意味着什么(定量)?   PWM 的占空比肯定会降低-是不是吗?   这个细节是(真正)需要的—“没有停止”… 不是很好!

    "获得一个非常小的电压"-我们必须在 PWM 输出引脚上假设-这是正确的吗?   以及-什么连接到该"MCU 的 PWM 输出引脚?"   这将证明"有用的信息"是否不会?   此外, 您的“测量设备”是“静默”-如果(仅)是“DMM”,并且占空比很小,则 为“小电压”...  意料之中!  如果您寻求(真实)答案、确实-详细信息-但这些是必需的。

     "MCU ->电机"接口的说明-也"缺失"。   除非您的电机是"微型"电机、否则始终建议在 MCU 和电机之间施加合适的"缓冲器/升压器电路"。   我们的电机在 MCU 的三个 PWM 相位输出和 BLDC 电机的每一个/每一个之间应用"电流增强型"栅极驱动器 IC。   

    我建议您 、"隔离 PWM 输出引脚" (即移除所有连接-但要添加(例如) 10K "负载电阻器"-连接到 GND)。   在这些(以及仅那些)条件下-重复测量。   范围使用-比 DMM 严重。

    什么(可能)会证明"代码中存在缺陷"(可能)是"缺少足够的延迟"(在您的" 从引脚配置为"PWM"切换到(新)"GPIOOutput"模式之间)。   这是一个相当"暴力的改变"-我会"安全错误"-可能是通过施加(一些)延迟来提供的...

    请注意、供应商(有限)的 RTOS 也可能"证明可疑"-我更希望您"摆脱 RTOS 影响"并(仅在那时)执行测试-此处概述。   添加变量 (即供应商的 RTOS)-肯定违反 了"kiss"(这种问题肆虐时很明显)-"kiss"证明 (非常)非常受欢迎-在这里(有些)...

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

    您正在走正确的道路。 我不记得您的器件、但 Luminary 数据表并不完全正确地描述了0%或100%占空比情况-该模块能够正确重现其中一个、但不能重新生成另一个。

    诀窍是检测错误情况(请参阅100%)、反转极性并将占空比设置为0%。 我怀疑 TI 芯片的行为类似。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢大家的回复。

    在我看来、从一开始而不是 PWM、将输出引脚定义为 GPIO 时、出现了问题。

    我仍然得到相同的结果,因此它看起来更像是硬件问题,我让电气工程师来看看。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    从该(特定)引脚上卸下所有连接-然后(正确)测量-仍会保持高度指示。

    您对电机的连接保持沉默-"阳光"(即一些细节)是一种强大的"消毒剂!"