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.
使用前三个 ePWM 模块运行具有 F28034的电路板以控制三相逆变器。 此外、ADC 还监测电压和电流。 输出占空比是以载波频率的速率计算和设置的。 逆变器与电机一起正常运行、但由于电流感应通过分流器运行、它无法读取纯阻性负载下的电流。 我认为问题是 ADC 读数的时序问题。 PWM 处于向上/向下(对称)模式、这种情况可能会发生。 到目前为止、PWM 启动 ADC 转换、而不是触发中断例程。 我的问题是如何将 ADC 的 SOC 更改为以向上/向下为中心? 应该指出、我不使用任何操作系统、例如 RTOS、使用最新 controlSUITE 的一部分、使用 CCS 6.1、定制板(TI 设计中没有)、PWM 需要保持对称模式。 在询问之前、EALLOW/EDIS 没有问题。
您好、Cody、
ADC 转换开始脉冲的来源似乎是 ePWM 模块。 如果是,则 ePWM*Regs.ETSEL.bit.SOCASEL 允许您选择如何生成 SOCA。 一个选项是在 EPWM 模块达到0或 PRD 时创建 SoC 脉冲。 所选的定义应与 PWM 的定义相匹配、使其成为分流器导通时间的中心。 这将解决您的问题。
(然后通过 ADCSOCxCTL.TRIGSEL 寄存器位,您可以选择单个通道来使用 ePWM*的 ADCSOCA/B 作为触发源)
(理论上、您可以做得比使用 ZRO/PRD 更好、并生成 SoC、从而使 ADC 的样本更好地匹配准时的中心。 为此、您应利用 CMPB (和/或使用的 ePWM)并将其放置在 PRD 或 ZRO 附近创建 SoC、但不完全是。 您应设置 CMPB、使 ADC 的采集窗口得到尊重、并使采集窗口的中心与 PWM 的最短导通时间相匹配)
希望这对您有所帮助!
谢谢、
Brett
您好、Cody、
即使您的 PWM 使用死区子模块和低电平有效互补模式、您仍应能够使 ADC SoC 脉冲对齐到所需位置。
为了进一步调试、我的下一个建议是使用 GPIO 多路复用器输出 ADCSOCAO 和/或 ADCSOCBO。 如 ePWM 用户指南的图1所示、ADCSOCAO 被定义为 ePWM1的 SOCA、ePWM2的 SOCA 等的 OR 这应允许您定义 SoC 是否处于您认为的位置-这将使您能够知道问题是在 SoC 配置中还是与 ADC 有关的问题。
(请记住、ADC SoC 是一个脉冲-随后是采集窗口)
谢谢、
Brett