TI中文支持网
TI专业的中文技术问题搜集分享网站

关于clarke变换输入电流的问题

TI精英们,

我在用FOC驱动电机时,发现当:

clarke1.Bs= -(_IQ15toIQ((AdcResult.ADCRESULT6<<3)-cal_offset_A)<<1); 

clarke1.As= -(_IQ15toIQ((AdcResult.ADCRESULT3<<3)-cal_offset_B)<<1);

电机可以正常的工作,但是如果我对调一下:

clarke1.As= -(_IQ15toIQ((AdcResult.ADCRESULT6<<3)-cal_offset_A)<<1); 

clarke1.Bs= -(_IQ15toIQ((AdcResult.ADCRESULT3<<3)-cal_offset_B)<<1);

则电机无法正常运转,且电流很大,不知道为什么?

谢谢!盼回复

user151383853:

clarke 变换, 是电流矢量的变换计算, 怎么可以替换 XY 分量呢?

TI精英们,

我在用FOC驱动电机时,发现当:

clarke1.Bs= -(_IQ15toIQ((AdcResult.ADCRESULT6<<3)-cal_offset_A)<<1); 

clarke1.As= -(_IQ15toIQ((AdcResult.ADCRESULT3<<3)-cal_offset_B)<<1);

电机可以正常的工作,但是如果我对调一下:

clarke1.As= -(_IQ15toIQ((AdcResult.ADCRESULT6<<3)-cal_offset_A)<<1); 

clarke1.Bs= -(_IQ15toIQ((AdcResult.ADCRESULT3<<3)-cal_offset_B)<<1);

则电机无法正常运转,且电流很大,不知道为什么?

谢谢!盼回复

Joey Mao:

你将A、B相电流交换了,直接导致的是clarke模块的输出变了,进而导致后面一系列的模块输入和输出都变了,而其他相关信息如矢量角度等却没有变,这时候有输出却不是正确的矢量输出,电机却转不起来而电流很大

TI精英们,

我在用FOC驱动电机时,发现当:

clarke1.Bs= -(_IQ15toIQ((AdcResult.ADCRESULT6<<3)-cal_offset_A)<<1); 

clarke1.As= -(_IQ15toIQ((AdcResult.ADCRESULT3<<3)-cal_offset_B)<<1);

电机可以正常的工作,但是如果我对调一下:

clarke1.As= -(_IQ15toIQ((AdcResult.ADCRESULT6<<3)-cal_offset_A)<<1); 

clarke1.Bs= -(_IQ15toIQ((AdcResult.ADCRESULT3<<3)-cal_offset_B)<<1);

则电机无法正常运转,且电流很大,不知道为什么?

谢谢!盼回复

dfde jiems:

回复 Joey Mao:

谢谢 Joey Mao 的回复,

之前之所以做交换,是因为我不知道,实际电机的相序是什么样子的,也就不知道我采集的是不是ia 和 ib,

如果在设计之初,我该如何找到clarke变换中的输入电流对应关系?

赞(0)
未经允许不得转载:TI中文支持网 » 关于clarke变换输入电流的问题
分享到: 更多 (0)