こんにちは、
プロジェクト MCSPTE1AK144_BLDC_6Step で混乱しています。特に MEAS_GetDCBCurrent(&ADCResults.DCBIVoltageRaw) 、ADCResults.DCBIOffset = GDFLIB_FilterMA(ADCResults.DCBIVoltageRaw, &Idcb_calib) および ADCResults.DCBIVoltage = MLIB_Sub(ADCResults.DCBIVoltageRaw, ADCResults.DCBIOffset) の部分です。
MEAS_GetDCBCurrent:
tBool MEAS_GetDCBCurrent(tFloat *getDCBCurrent)
{
uint16_t adcResult;
ADC_DRV_GetChanResult(1, 0, &adcResult);
*getDCBCurrent = MLIB_Mul(((tFloat)MLIB_Div((tFloat)(adcResult & 0x00000FFF), (tFloat)0x00000FFF)), I_MAX);
1を返す。
}
I_MAXは25です。
したがって、ADCResults.DCBIVoltageRaw の範囲は [0, I_MAX] であり、実際のバス電流は負の値を持つため、これは実際のバス電流ではありません。
ADCResults.DCBIOffset の範囲も [0, I_MAX] です。
ADCResults.DCBIVoltageとは何ですか?電流か電圧か?
I_MAX、ADCResults.DCBIVoltageRaw、ADCResults.DCBIOffset、およびADCResults.DCBIVoltageについて説明していただける方はいらっしゃいますか?