This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
最近在看controlSUITE里面的例程,看到“C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVPM_Sensorless_2833x”的HVPM_Sensorless_2833x里面讲到offset的问题,初始的offset设置为0,在电机还没启动时,经过一个interrupt void OffsetISR(void)程序,讲ADC的初始偏置求出来了,笔者算了一下,滤波的效果很好。然后在interrupt void MainISR(void),算电流标幺值的程序为
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.
这里直接将采来的标幺值减去offsetA,不是应该减去0.5再减去offset吗?采来的AdcMirror.ADCRESULT1)*0.00024414取值范围不应该是0:1,为什么没减0.5呢?
设计的时候,给端口输入的电压只能是0~3V,那么得到的(AdcMirror.ADCRESULT1)*0.00024414这个值必然是在0~1之间,那么注释当中-0.5~0.5就得不到嘛。
chuang hou 说:设计的时候,给端口输入的电压只能是0~3V,那么得到的(AdcMirror.ADCRESULT1)*0.00024414这个值必然是在0~1之间��那么注释当中-0.5~0.5就得不到嘛。
再说一次(第三遍了,囧),offset是0.5
chuang hou 说:设计的时候,给端口输入的电压只能是0~3V,那么得到的(AdcMirror.ADCRESULT1)*0.00024414这个值必然是在0~1之间,那么注释当中-0.5~0.5就得不到嘛。
或者这么说吧,offset对应的电位是1.5V左右
chuang hou 说:我明白offset应该是0.5左右,我的意思是,我offset的值是哪句代码得到的,应该有一个初始的设置过程,offset = 0.5之类的吧
初始校准时,输入电平为1.5V,interrupt void OffsetISR(void)中求取的offset是使用的归一化系数,算出的值就是0.5了