stm32 ADC是12位的,采样得到的电流经过电阻,然后放大、拉高电压输入到ADC的输入端,但是程序中没有相关的变换,我看程序中R3F2XX_GetPhaseCurrents()这个函数中只是将采样得到的AD值经过校正后直接传递给Clerke变换,并且我也看不懂
wAux = (int32_t)(ADC1->JDR1);
wAux *= 2;
wAux = (int32_t)(pDVars_str->wPhaseAOffset) - wAux;
这里面的wAux第二步乘以2是什么意思
我对程序的理解应该是这样,采样到的AD值应该在0-4096之间,而2048对应电流0A,这样可以就可以把实际电流和采到的AD值建立一次函数的关系,我可以通过采到的AD值求得实际电流值,然后将实际电流值转换成IQ(15)的值带到Clarke中进行计算,但是我不知道ST这个程序是怎么做的,哪位用过的朋友帮我解释一下,我看了好久了,看不明白啊,:'( |