TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28027F的AD值的转换疑问,求解答

// convert voltage C
value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_6);
value = _IQ12mpy(value,voltage_sf) – obj->adcBias.V.value[2]; // divide by 2^numAdcBits = 2^12
pAdcData->V.value[2] = value;

// read the dcBus voltage value
value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_7); // divide by 2^numAdcBits = 2^12
value = _IQ12mpy(value,voltage_sf);
pAdcData->dcBus = value;

如上面两段代码,为什么C相电压要减去一个偏置,而母线电压没有减呢?其中obj->adcBias.V.value[2]是表示的偏置吗?其设置是在下面代码处设置吗

#define I_A_offset (0.8387260437)
#define I_B_offset (0.8367524147)
#define I_C_offset (0.8327225447)

#define V_A_offset (0.498126924)
#define V_B_offset (0.4988828897)
#define V_C_offset (0.4985800385)

bob iuuiy:

求各路大神帮忙解答一下,谢谢

// convert voltage C
value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_6);
value = _IQ12mpy(value,voltage_sf) – obj->adcBias.V.value[2]; // divide by 2^numAdcBits = 2^12
pAdcData->V.value[2] = value;

// read the dcBus voltage value
value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_7); // divide by 2^numAdcBits = 2^12
value = _IQ12mpy(value,voltage_sf);
pAdcData->dcBus = value;

如上面两段代码,为什么C相电压要减去一个偏置,而母线电压没有减呢?其中obj->adcBias.V.value[2]是表示的偏置吗?其设置是在下面代码处设置吗

#define I_A_offset (0.8387260437)
#define I_B_offset (0.8367524147)
#define I_C_offset (0.8327225447)

#define V_A_offset (0.498126924)
#define V_B_offset (0.4988828897)
#define V_C_offset (0.4985800385)

Eric Ma:

// convert voltage Cvalue = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_6);value = _IQ12mpy(value,voltage_sf) – obj->adcBias.V.value[2]; // divide by 2^numAdcBits = 2^12pAdcData->V.value[2] = value;

// read the dcBus voltage valuevalue = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_7); // divide by 2^numAdcBits = 2^12value = _IQ12mpy(value,voltage_sf);pAdcData->dcBus = value;

如上面两段代码,为什么C相电压要减去一个偏置,而母线电压没有减呢?其中obj->adcBias.V.value[2]是表示的偏置吗?其设置是在下面代码处设置吗

ERIC:

母线电压之所以不用减,因为是直流信号,直接测得是母线的电压,也没什么偏置好减。

测三相电压,就是测电机的反电动势,测的是电阻分压后且并联的那个低通滤波器电容处的电压。那个电压在电机没有运行的情况下,是有个偏置电压的,即50%占空比的母线电压分压后的电压值。这个偏置电压会将电机的交流反电动势电压给抬升一下,这样才能够测电机反电动势的交流信号。类似测交流电流。

Eric

// convert voltage C
value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_6);
value = _IQ12mpy(value,voltage_sf) – obj->adcBias.V.value[2]; // divide by 2^numAdcBits = 2^12
pAdcData->V.value[2] = value;

// read the dcBus voltage value
value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_7); // divide by 2^numAdcBits = 2^12
value = _IQ12mpy(value,voltage_sf);
pAdcData->dcBus = value;

如上面两段代码,为什么C相电压要减去一个偏置,而母线电压没有减呢?其中obj->adcBias.V.value[2]是表示的偏置吗?其设置是在下面代码处设置吗

#define I_A_offset (0.8387260437)
#define I_B_offset (0.8367524147)
#define I_C_offset (0.8327225447)

#define V_A_offset (0.498126924)
#define V_B_offset (0.4988828897)
#define V_C_offset (0.4985800385)

bob iuuiy:

回复 Eric Ma:

谢谢您的回答,然后交流电流的的偏置我基本知道,但是对相电压的检测还有以下几个疑问,希望您能不吝解答,

1.电压的检测像上面的检测电路,它检测到的电压应该是一组0-Vdc的PWM波,经过AD检测以后减去偏置以后,它仍然是正负PWM波呀,跟反电动势怎么对应呢?

2.对于电压偏置是如上图所示的公式计算吗?

// convert voltage C
value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_6);
value = _IQ12mpy(value,voltage_sf) – obj->adcBias.V.value[2]; // divide by 2^numAdcBits = 2^12
pAdcData->V.value[2] = value;

// read the dcBus voltage value
value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_7); // divide by 2^numAdcBits = 2^12
value = _IQ12mpy(value,voltage_sf);
pAdcData->dcBus = value;

如上面两段代码,为什么C相电压要减去一个偏置,而母线电压没有减呢?其中obj->adcBias.V.value[2]是表示的偏置吗?其设置是在下面代码处设置吗

#define I_A_offset (0.8387260437)
#define I_B_offset (0.8367524147)
#define I_C_offset (0.8327225447)

#define V_A_offset (0.498126924)
#define V_B_offset (0.4988828897)
#define V_C_offset (0.4985800385)

rookiecalf:

回复 bob iuuiy:

采样有滤波,只考虑低频部分。电压偏置理解成0V对应采样电平就好。

// convert voltage C
value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_6);
value = _IQ12mpy(value,voltage_sf) – obj->adcBias.V.value[2]; // divide by 2^numAdcBits = 2^12
pAdcData->V.value[2] = value;

// read the dcBus voltage value
value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_7); // divide by 2^numAdcBits = 2^12
value = _IQ12mpy(value,voltage_sf);
pAdcData->dcBus = value;

如上面两段代码,为什么C相电压要减去一个偏置,而母线电压没有减呢?其中obj->adcBias.V.value[2]是表示的偏置吗?其设置是在下面代码处设置吗

#define I_A_offset (0.8387260437)
#define I_B_offset (0.8367524147)
#define I_C_offset (0.8327225447)

#define V_A_offset (0.498126924)
#define V_B_offset (0.4988828897)
#define V_C_offset (0.4985800385)

bob iuuiy:

回复 rookiecalf:

那是软件滤波,还是硬件滤波呢,截止频率增么算

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28027F的AD值的转换疑问,求解答
分享到: 更多 (0)