pantray 发表于 2015-6-7 17:22

PMSM-AD电流采样问题

void F281X_ileg2_dcbus_drv_read(ILEG2DCBUSMEAS *p)
{
       int16 DatQ15;
       int32 Tmp;

      // Wait until ADC conversion is completed
      while (AdcRegs.ADCST.bit.SEQ1_BSY == 1)
      {};
               
                // 流入电机方向的电流才能产生力矩拖动负载
                //Ia,正数,电流流向电机,-1~+1代表-25A~25A
      DatQ15 = AdcRegs.ADCRESULT0^0x8000;       // ^按位异或,将转换结果转换为Q15格式的双极性数据
      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;                           // 正数,电流流向电机,-1~+1代表-25A~25A

我想问一下:ImeasAGain,ImeasAOffset这两个参数是怎么确定的啊??是不是经过硬件调理电路把它调到了0-3v,软件里ImeasAGain=1,ImeasAOffset=0??、?

pantray 发表于 2015-6-8 10:20

有知道的大神吗?

雨的声音 发表于 2015-6-8 19:46

好高深,同问                  

pantray 发表于 2015-6-8 22:35

雨的声音 发表于 2015-6-8 19:46
好高深,同问

大神 {:soso_e151:}

江仔 发表于 2018-8-17 17:15

大哥,你这个问题解决没?
小弟也遇到难处了!!

18201975434 发表于 2019-5-12 19:32

没细看你的程序,不过ImeasAOffset既然有offset那一般就是0点校正,也就是说,在你的硬件电路里面,初始化状态的时候,adc采样到的值一般不会是0,因为这里面有的放大电路的0点问题
页: [1]
查看完整版本: PMSM-AD电流采样问题