各位:
在
ti例程中有一个控制永磁同步电机的代码,看到AD采样中采集相电流是如何进行换算的。我的疑问如下:
#ifdef DSP2833x_DEVICE_H
clarke1.As=((AdcMirror.ADCRESULT1)*0.00024414-offsetA)*2*0.909; // Phase A curr.
clarke1.Bs=((AdcMirror.ADCRESULT2)*0.00024414-offsetB)*2*0.909; // Phase B curr.
#endif // ((ADCmeas(q12)/2^12)-offset)*2*(3.0/3.3)
#ifdef DSP2803x_DEVICE_H
clarke1.As = _IQmpy2(_IQ12toIQ(AdcResult.ADCRESULT1)-offsetA); // Phase A curr.
clarke1.Bs = _IQmpy2(_IQ12toIQ(AdcResult.ADCRESULT2)-offsetB); // Phase B curr.
#endif // (ADCmeas(q12->q24)-offset)*2
CLARKE_MACRO(clarke1)
这段代码在28335中为什么是((ADCmeas(q12)/2^12)-offset)*2*(3.0/3.3) ,因为程序中都进行了标幺化,那么我采集的AD值是此时相电流的值也就需要进行标幺化,那为什么没有将实际值除以我程序选的电流基准值10A。还有就是AD电压范围是0~3v,所以如果采集的电流时5A的话,那5A需要转化到0-3V之间,这个是通过外围
电路确定的,那这个之间关系式什么呢,如果不知道这关系的话,那采集到1V怎么知道是5A呢?同理28035也是一样疑问,而且他们为什么有这样计算区别呢?
0