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.
我正在感应转换器中的相电压。 我需要为 感测到的电压(连接了波形)提供120度的相位延迟。 有一个称为 US_DELAY 的函数、它有助于以微秒为单位提供延迟、但它不允许我为感测到的电压提供该延迟。
请建议我如何在 CCS 中为该检测到的电压提供延迟?
您好、Hafsa、
那么、您希望在读取 ADC 值后立即将 ADC 值移位120度吗?
如果我被误解、请澄清您的问题。
此致、
陈
没错。 读取 ADC 值后、我想将 ADC 信号相移120度。
您好、Hafsa、
您可以在读取 ADC 和将值添加到缓冲器之间添加延迟。 DEVICE_DELAY_US 应该会有所帮助。
此致、
陈
感谢您的回答。
我使用以下代码添加了读取 ADC 值和缓冲器之间的5.5ms 延迟、其中 fVan 是相位 A 感应电压、fVbn 是相位 B 电压、与 fVan 相比、我引入了5.5ms 的延迟。
fVan =(((float32) AdcbResultRegs.ADCRESULT3 * 0.0007326007326 - foffsetVan)* fgainVan;
DELAY_US (5500);
fVbn = fVan;
这种添加延迟的方法会在整个代码中引入5.5ms 的延迟。 它将 ISR 频率设置为181Hz (对应于1/5.5ms)、从而使代码极其缓慢。 原始 ISR 频率为10kHz。
如果我以正确的方式引入 fVbn 延迟、请告诉我。
此外、是否有任何方法可以在感测到的信号中引入延迟而不影响整体代码性能?
您好、Hafsa、
如果没有慢速 ISR 问题、它是否满足您的要求?我不清楚您为什么需要这么做。
如果您想在 Graph 工具中显示相移值、代码将有所帮助。 但是、您还需要发送 FVan 来执行类似 dVal1 = FVan 的操作。 您可以参考一些示例代码、了解如何使用 Graph 工具绘制曲线图。
但是、如果您要存储两组120度相移的数据、这将不起作用、因为它不包含时间信息。
此致、
陈
您好、Chen、
1.我需要在 fVan 中引入延迟、因为我在测量相位 A 电压的平衡三相系统中有一个电压传感器。 我想通过在 A 相电压中引入5.5ms 的延迟(120度相移)来获得 B 相电压。
2.我不希望只为了绘图目的而进行相移。 我希望实现此相移、然后使用此相移数据在代码中连续进行进一步处理。 在不降低代码速度或降低 ISR 频率的情况下、是否有任何方法可以做到这一点?
您好、Hafsa、
您是否尝试在代码中将 ADC 值保存到 A[1+A]到 B[X+A]? A/B 代表相位、X 代表与5.5ms 和采样频率相关的#。 在这种情况下、您将获得两组数据进行处理。
此致、
陈