FOC运算中电流采样至关重要,在学习中对电流采样还有几个问题尚待解决:
先看下图:
一看图,大神应该猜到我要问什么了吧!
1、在FOC的Clarke变换中
#define CLARKE_MACRO(v) \
\
v.Alpha = v.As; \
v.Beta = _IQmpy((v.As +_IQmpy2(v.Bs)),_IQ(0.57735026918963)); \
// 1/sqrt(3) = 0.57735026918963
#endif // __CLARKE_H__
参与实际运算的这两个电流实际对应到硬件上,该正为正的时候是电流流入电机还是流出电机。
2、针对上面的两张如的处理方式,对应到软件里是采样值减去偏移值还是偏移值减去采样值
clarke1.As = _IQmpy2(_IQ12toIQ(AdcResult.ADCRESULT1) – offsetA); // Phase A curr.
或者是
clarke1.As = _IQmpy2(offsetA – _IQ12toIQ(AdcResult.ADCRESULT1)); // Phase A curr.
3、之前没有注意上面的说的两个问题。换言之,之所以有上面的两个问题(实际可用看出是同一个问题),也是自己对电机的认识,对算法的认识还
不够,希望论坛里有明白这个问题的大牛解释一下。最好是从原理层面解释一下。
6、如果我采集V和W两相电流,U相根据KCL来虚构,有没有什么风险?
5、对于foc运算中关于电流做软件低通滤波主要在控制上起到什么作用?在软件调试上两个滤波参数一般根据什么去调整滤波系数。
希望大家能不吝赐教,多谢!
user4881649:有没有大神啊!一起讨论一下突然有所启发但不知道理解的对不对
FOC运算中电流采样至关重要,在学习中对电流采样还有几个问题尚待解决:
先看下图:
一看图,大神应该猜到我要问什么了吧!
1、在FOC的Clarke变换中
#define CLARKE_MACRO(v) \
\
v.Alpha = v.As; \
v.Beta = _IQmpy((v.As +_IQmpy2(v.Bs)),_IQ(0.57735026918963)); \
// 1/sqrt(3) = 0.57735026918963
#endif // __CLARKE_H__
参与实际运算的这两个电流实际对应到硬件上,该正为正的时候是电流流入电机还是流出电机。
2、针对上面的两张如的处理方式,对应到软件里是采样值减去偏移值还是偏移值减去采样值
clarke1.As = _IQmpy2(_IQ12toIQ(AdcResult.ADCRESULT1) – offsetA); // Phase A curr.
或者是
clarke1.As = _IQmpy2(offsetA – _IQ12toIQ(AdcResult.ADCRESULT1)); // Phase A curr.
3、之前没有注意上面的说的两个问题。换言之,之所以有上面的两个问题(实际可用看出是同一个问题),也是自己对电机的认识,对算法的认识还
不够,希望论坛里有明白这个问题的大牛解释一下。最好是从原理层面解释一下。
6、如果我采集V和W两相电流,U相根据KCL来虚构,有没有什么风险?
5、对于foc运算中关于电流做软件低通滤波主要在控制上起到什么作用?在软件调试上两个滤波参数一般根据什么去调整滤波系数。
希望大家能不吝赐教,多谢!
Eric Ma:问题细致,我尽量回复供参考如下:
1、在FOC的Clarke变换中
#define CLARKE_MACRO(v) \
\
v.Alpha = v.As; \
v.Beta = _IQmpy((v.As +_IQmpy2(v.Bs)),_IQ(0.57735026918963)); \
// 1/sqrt(3) = 0.57735026918963
#endif // __CLARKE_H__
参与实际运算的这两个电流实际对应到硬件上,该正为正的时候是电流流入电机还是流出电机。
ERIC:
TI的例程以流入电机的电流方向为正。所以下桥臂电阻采样的时候,其实电流是反相的。
2、针对上面的两张如的处理方式,对应到软件里是采样值减去偏移值还是偏移值减去采样值
clarke1.As = _IQmpy2(_IQ12toIQ(AdcResult.ADCRESULT1) – offsetA); // Phase A curr.
或者是
clarke1.As = _IQmpy2(offsetA – _IQ12toIQ(AdcResult.ADCRESULT1)); // Phase A curr.
Eric:
这个得结合你的电流采样和运放的方向来一起判断,如采样上桥臂且电流正流入正的方向,运放也是正反馈,则减去offset.
3、之前没有注意上面的说的两个问题。换言之,之所以有上面的两个问题(实际可用看出是同一个问题),也是自己对电机的认识,对算法的认识还
不够,希望论坛里有明白这个问题的大牛解释一下。最好是从原理层面解释一下。
ERIC:
你可以看一些TI的电机驱动的文档,如controlSUITE里面的电机库,还有instaSPIN FOC的user guide也写得很好。
6、如果我采集V和W两相电流,U相根据KCL来虚构,有没有什么风险?
ERIC:
正常来讲没有问题,我们很多应用也都是用两相电流采样。要说风险嘛,比如第三相短路的时候,也许没能保护好?
或是过调制控制的时候,如果是下桥臂采样,则需要三相采样,因为有些相的采样需要忽略,如单相忽略,或两相忽略。可以参考InstaSPIN 的文档。
5、对于foc运算中关于电流做软件低通滤波主要在控制上起到什么作用?在软件调试上两个滤波参数一般根据什么去调整滤波系数。
Eric:
主要是过滤噪声的作用,尤其是高频噪声。滤波参数一般是设置截止频率,可以是开关频率的1/20。当然,可以根据实际系统调整看效果,软件滤波嘛,就是改改参数测试一下。