Part Number:TMS320F28335Other Parts Discussed in Thread:CONTROLSUITE
小白对于电流真实值采样一直没弄明白,想找大神请教。
在程序中对电流采样为
// ((ADCmeas(q12)/2^12)-offset)*2*(3.0/3.3) 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.
AdcMirror.ADCRESULT1在转速200时采集到为2300左右,offsetA为0.547982752固定不变,offsetB为0.544721186固定不变。
问题一:
对于12位分辨率的ADC数据转换的基本公式是Result/4096*3.0,而offsetA的计算公式如下:
offsetA= K1*offsetA + K2*(AdcMirror.ADCRESULT1)*0.00024414; //Phase A offset offsetB= K1*offsetB + K2*(AdcMirror.ADCRESULT2)*0.00024414; //Phase B offset
为何在计算clarke1.As中*3.0是在括号外,将offsetA也乘了进去。offsetA是起什么作用的呢?
问题二:
如果只是要得到实际的电流值,是否可以直接AdcMirror。ADCRESULT1/4096*3.0得到所对应的管脚电压值,再通过对应实际采样电路的放大倍数来确定采样电阻上电压差值,从而确定真实电流呢?
Yale Li:
您好,请问您参考的是哪个例程?
,
yei dian:
是C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVPM_Sensorless_2833x 路径下的HVPM_sensorless.c文件中的代码
,
Yale Li:
请参考这个帖子,里面对offset做了比较详细的解释:https://e2echina.ti.com/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/120682/28035-sensorless-adc
,
yei dian:
感谢解答!!!那再请问下大神问题2对不对呢
,
Yale Li:
我觉得应该是不对的,设置这个offset的目的是为了测量负值,类比一下的话和三极管共射放大电路输入端的直流偏置作用相同,直接计算得到的值应该是没有意义的
,
yei dian:
啊,好的。那再请问下大佬,这个clarke1.As与真实电流之间怎么换算呢?
,
Yale Li:
这个问题我需要再看一下再回复您。
,
Yale Li:
isa与isb分别对应clarke1.As与clarke1.Bs。
C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVPM_Sensorless_2833x\~Docs路径下的Sensorless FOC of PMSM_F2833x.pdf对FOC的原理做了详细说明,您看一下。