在controlsuite的例程中看到一条语句,对语句中的系数不太理解,请大家分析分析。
ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVPM_Sensorless_2833x中。
// ——————————————————————————
// Measure phase currents, subtract the offset and normalize from (-0.5,+0.5) to (-1,+1).
// Connect inputs of the CLARKE module and call the clarke transformation macro
// ——————————————————————————
#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)
其中0.909这个系数起到什么作用?
ming chen3:
加入你的硬件平台是相电流采样采用的电阻法(电阻敏感电压,经偏置运放送至DSP):DSP采样到的电压值I_SEN_A = 1.65+I*Rshunt*R2/R1.
这里Rshunt为采样电阻。R2/R1为运算放大器的放大倍数。
这里目的是为了得到真实的电流值做clarke变换。
1.将电压值转为IQ12;
2.将偏置减掉;
3.除以(Rshunt*放大倍数)
你查下硬件,硬件设计是否满足上述处理过程。
在controlsuite的例程中看到一条语句,对语句中的系数不太理解,请大家分析分析。
ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVPM_Sensorless_2833x中。
// ——————————————————————————
// Measure phase currents, subtract the offset and normalize from (-0.5,+0.5) to (-1,+1).
// Connect inputs of the CLARKE module and call the clarke transformation macro
// ——————————————————————————
#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)
其中0.909这个系数起到什么作用?
ming chen3:
回复 ming chen3:
Measure phase currents, subtract the offset and normalize from (-0.5,+0.5) to (-1,+1).