您好!
我使用它来控制10kW 三相降压。 我在转换器断电时获得奇怪的 UDC 值。
我通过以下方式测量电流和电压:
SDFM 自由运行-> CLA 通过 SDFM 数据就绪中断获取数据-> CLA 计算3个开关周期内的电流和电压运行平均值->得出结果向上。
运行平均值代码为:
总和=总和-缓冲器[指针]; Buffer[pointer]= DataFormSDFM * Scale; sum = sum + Buffer[指针]; 结果=总和/(NrOfSamples +1); if (pointer >= NrOfSamples){ 指针= 0; } 否则{ 指针=指针+1; }
(我将 float32用于求和、缓冲器、结果、比例和指针 Uint)
现在、当我使用它来测量电流时、这将提供正确的结果(所有电流测量都在 SDFM1上)。
但是对于电压(使用 SDFM2测量),当我关闭转换器时,我得到的结果是-600V (或其他随机的大负数)。 所以我添加了
if (result<-10){ _mdebugstop(); }
SDFM2触发的任务结束时。 第二个我停止我的转换器、它在这里进行制动。
我在缓冲器中得到所有正常值、其中我有33.8 +/- 0.5V。 但 SUM 的值为-4614.4。 然后、几分钟后它会缓慢返回到0 +/-0.5V。
由于缓冲器中没有奇怪的大数、因此 SDFM 正常、转换器运行时测量值正常。 我现在的问题是:
1) 1)为什么会突然出现较大的 ADD 负值?
2) 2)为什么它下降到0? 计算中的浮点误差?
3) 3)如何解决此问题?
此致、
Marko Ante.