专家,您好:
有个事情不懂,想请教您一下。
在TI公司提供的2812矢量控制例程pmsm3_1中,为什么CLARKE变换,需要_IQ15toIQ转换呢,多谢!
XIAOYUAN LIU:
回复 Eric Ma:
多谢您!
clarke1.As = _IQ15toIQ((int32)ilg2_vdc1.ImeasA);//将AD采集值,进行CLARKE变换
clarke1.Bs = _IQ15toIQ((int32)ilg2_vdc1.ImeasB);
clarke1.calc(&clarke1);
就是这段代码。
专家,您好:
有个事情不懂,想请教您一下。
在TI公司提供的2812矢量控制例程pmsm3_1中,为什么CLARKE变换,需要_IQ15toIQ转换呢,多谢!
XIAOYUAN LIU:
回复 Jay:
int16 DatQ15; int32 Tmp;
// Wait until ADC conversion is completed while (AdcRegs.ADCST.bit.SEQ1_BSY == 1) {};
DatQ15 = AdcRegs.ADCRESULT0^0x8000; // Convert raw result to Q15 (bipolar signal) Tmp = (int32)p->ImeasAGain*(int32)DatQ15; // Tmp = gain*dat => Q28 = Q13*Q15 p->ImeasA = (int16)(Tmp>>13); // Convert Q28 to Q15 p->ImeasA += p->ImeasAOffset; // Add offset p->ImeasA *= -1; // Positive direction, current flows to motor
DatQ15 = AdcRegs.ADCRESULT1^0x8000; // Convert raw result to Q15 (bipolar signal) Tmp = (int32)p->ImeasBGain*(int32)DatQ15; // Tmp = gain*dat => Q28 = Q13*Q15 p->ImeasB = (int16)(Tmp>>13); // Convert Q28 to Q15 p->ImeasB += p->ImeasBOffset; // Add offset p->ImeasB *= -1; // Positive direction, current flows to motor DatQ15 = (AdcRegs.ADCRESULT2>>1)&0x7FFF; // Convert raw result to Q15 (unipolar signal) Tmp = (int32)p->VdcMeasGain*(int32)DatQ15; // Tmp = gain*dat => Q28 = Q13*Q15 if (Tmp > 0x0FFFFFFF) // Limit Tmp to 1.0 in Q28 Tmp = 0x0FFFFFFF; p->VdcMeas = (int16)(Tmp>>13); // Convert Q28 to Q15 p->VdcMeas += p->VdcMeasOffset; // Add offset
p->ImeasC = -(p->ImeasA + p->ImeasB); // Compute phase-c current
AdcRegs.ADCTRL2.all |= 0x4040; // Reset the sequence
这段是AD代码,进行数据转换的原因是什么,多谢您!
专家,您好:
有个事情不懂,想请教您一下。
在TI公司提供的2812矢量控制例程pmsm3_1中,为什么CLARKE变换,需要_IQ15toIQ转换呢,多谢!
XIAOYUAN LIU:
回复 Jay:
很感谢专家您的回复!
那下面这句是出于什么原因考虑的呢,Q28格式在这个例程中,具有什么优势吗,再次感谢!
Tmp = (int32)p->ImeasAGain*(int32)DatQ15;
专家,您好:
有个事情不懂,想请教您一下。
在TI公司提供的2812矢量控制例程pmsm3_1中,为什么CLARKE变换,需要_IQ15toIQ转换呢,多谢!
XIAOYUAN LIU:
回复 Jay:
感谢您的回复!
Q28格式为什么需要32位整型来储存?另_IQ28范围:-8 ~ 7.999 999 996与这个是什么关系呢,多谢!
专家,您好:
有个事情不懂,想请教您一下。
在TI公司提供的2812矢量控制例程pmsm3_1中,为什么CLARKE变换,需要_IQ15toIQ转换呢,多谢!
XIAOYUAN LIU:
回复 Jay:
感谢您的回复!但是,很抱歉我还是没懂,为什么Q28需要29位存储,这个是怎么推出来的,多谢!