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??、? 有知道的大神吗? 好高深,同问 雨的声音 发表于 2015-6-8 19:46
好高深,同问
大神 {:soso_e151:} 大哥,你这个问题解决没?
小弟也遇到难处了!! 没细看你的程序,不过ImeasAOffset既然有offset那一般就是0点校正,也就是说,在你的硬件电路里面,初始化状态的时候,adc采样到的值一般不会是0,因为这里面有的放大电路的0点问题
页:
[1]