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.

[参考译文] LAUNCHXL-F280049C:F280049C Piccolo 上的 ADC 测量

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1658212/launchxl-f280049c-adc-measurement-on-the-f280049c-piccolo

器件型号: LAUNCHXL-F280049C

我使用 TI F280049C Piccolo 启动板作为电机驱动器的控制板。 作为初始测试、我想先查看 ADC 电压、然后再查看电流检测。 我之前使用 Piccolo 的 ePWM 模块、通过跳线将电压从 0V 变为 3.3V 的正弦波发送到 ADC 引脚。 由于这是一个非常基本的测试运行、我决定省略该引脚的 RC 滤波器、而只是在 ADC 和 PWM 之间安装了一个 1k Ω 电阻器。 我在 Simulink 中使用 EPWM 块和 ADC 块:
image.png
 这些块的设置如下:

image.pngimage.pngimage.pngimage.png
而对于 ADC:
image.png
转换通道为接头 J3 的引脚 30 上的 ADCin1。 对于 ADC 基准电压、VREFHIA 和 B 的默认值为 3.3V 内部基准。 我已经通过 ADCin0 的内部 DAC-ADC 链接测试了 ADC、并获得了预期的结果。 ADC 本身正常工作


现在、正弦电压转换出现了一些问题。 将 ADC 返回值与电流电压电平进行比较、ADC(蓝色)在 PWM 变化期间仅持续测量 5-6 个计数(在和不在之间连接 1k Ω 电阻器):
image.png

我已经通过示波器检查了 PWM 并获得定义的正弦波、因此问题肯定出在 ADC 配置中。  


在第二项测试中、我刚刚将引脚连接到 1.65V PWM、中间没有电阻器、然后悬空、然后连接到 Piccolo 上的 3.3V 引脚:
image.png

如您所见、除了直接连接到 3.3V 引脚之外、ADC 保持为 0。


我感谢任何帮助来解决这个问题。 提前感谢您

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

    您好、Niklas、

    您能否发送您正在尝试转换的 SPWM(正弦 PWM)输出的波形快照、并将时基信息也包含在示波器快照中?  我无法访问 Simulink、但您是否还可以分享以下有关如何配置 ADC 的信息:

    ADC:

    SYSCLK=___MHz?

    ADC 预分频器=___(ADC 的 SYSCLK 分频器)

    S/H (ACQPS) 设置=___

    E{WM1 触发器

    EPWM1SOCA 频率=___KHz

    以上信息将告诉我 ADC 采样的速度以及相对于被采样的 SPWM 信号触发转换的频率。

    谢谢!

    Joseph

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

    感谢您发送编修。

    对于 ADC:

    SYSCLK = 50MHz

    ADC 预分频器= SYSCLKOUT/2.0  

    S/H (ACQPS) Setting (S/H (ACQPS) 设置)=采集窗口配置为 64

    EPWM1 触发器:在“Counter equals to period (CTR = PRD)“处、对模块 A 的 SOC 进行向上/向下配置(中心对齐)EPWM1。

    EPWM1 计时器周期为 2500 时、这会每 2*2500 = 5000 个时钟周期产生一个 EPWMSOCA。

    如果在配置等过程中出现任何错误、请随时纠正我的错误 所需的 PWM 频率为 20kHz。

    以下是 SPWM 专属产品:


    带特写:


    两者都在 x 轴上显示时间(以秒为单位)、在 y 轴上显示电压。 该信号经过进一步缩放、以表示 ePWM 块中最大电压 (3.3V) 和输入的百分比。


    以下是相同时间刻度的 ADC 输出:

     

     

    x 刻度表示秒数、y 轴表示 ADC 计数 (0-4095)

     

     

    BR, Niklas



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

    您好、Niklas、

    根据您提供的 SYSCLK 和 ADCLK 以及 SPWM 速率、ADC 至少应能够对 ePWM 的输出进行采样。  不过、从您的设置中可以看出、您应该能够运行 F280049 到 100MHz SYSCLK、这样 ADC 就可以以最高采样率在 50MHz 下以最佳方式运行、但这不是问题的原因、即使一切都以一半的速度运行。

    总之、当您将 ePWM 连接到 ADC 输入时、您是否还可以连接示波器但仍确认 SPWM 存在(您可能已经完成了相关操作,但只想进行确认)。

    另一方面、您能否介绍在 LaunchPad 上放置跳线的位置、在 ePWM 正弦输出到 ADC 引脚接头 (J3 的引脚 30) 上使用了哪个接头?

    此致、

    Joseph

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

    嘿、Jospeh、

    事实上、我已经在 SPWM 期间连接了一个示波器、并且实际上它存在。

    SPWM 接头是 J6 上的引脚 80、ADC 位于 J3 的引脚 30 上。

    我也使用了不同的 ADC 引脚 (J5 的引脚 70)、但得到的结果相同。
    ADC 单元本身不会成为问题、因为它在内部工作。


    您是否有线索、还有什么可能是需要采取的原因或行动?

    BR、
    Niklas

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

    您好、Niklas、

    仔细观察您的配置、我刚意识到您正在将 EPWM1 用于 SPWM (EPWM1A — 接头引脚 80 上的 GPIO0) 和 SOCA ADC 触发器。  这是可以实现的、但需要对 PWM 配置进行一些更改。  首先、仍需要确认 ADC 是否正确地对 SPWM 进行采样。  为此、请创建另一组代码、使用计时器或软件来触发 ADC 转换。  这只是为了解耦 ADC 采样问题 接下来、在 PWM 输出中添加低通 RC 滤波器、以确保电容器在 PWM 输出端保持正弦调制所需的电荷(因此您不会只是读取 0V 或 3.3V)。

    上述计时器触发方法将确认 ADC 设置正常工作(通道设置,ACQPS、VREFHI 配置等)。  仍然建议您进行这项检查、然后在 ADC 转换正常后继续修改 ePWM 配置。  连接到 ADC 引脚时、在 PWM 输出端保留低通 RC 滤波器。  对于 ADC 触发、将 SOCA 从 CTR = PRD 更改为 CTR = 0。  在当前 ADC=PRD 配置下、无论 CMPA/正弦值如何、输出始终为低电平、这会有效地使 CTR 采样每次触发时都达到 0v(这可能会解释您要读回的低计数)。  更改 CTR =零始终会对 PWM 的高输出进行采样、因此有低通滤波器必须在 ADC 输入引脚上正确生成和采样 SPWM。

    请尝试一下,让我知道,如果这些工作对你.

    此致、

    Joseph