也想问下PMSM电流调理之后的处理应该是什么样的?
如题,电机的电流信号经调理电路之后转换为电压并处理后送给AD转换,那么数字量不是对应的电压信号吗?为了进行接下来的3s/2s及2s/2r坐标变换,我们如何使用这个数字量为电流型号呢?而且还要是双极性的,对此有些困惑,请高手指教 把数字量标幺化。比如100A对应ad电压3V,对应数字量4096,以这个为标准,相应可以算出各个数字量对应的实际电流。电机控制里面用到的电流都可以用相对量来表示的。 回复 2# archdevil是不是说控制里用的电流可以不是实际值,只要相对应就可以了?
比如TI的例程中
//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
中 DatQ15 = AdcRegs.ADCRESULT0^0x8000;这句是说读取转换结果,如果AdcRegs.ADCRESULT0是0xFFF0,则 DatQ15 =0x7FF0,对应3V,也就是说对应的就是25A吗?
如果AdcRegs.ADCRESULT0是0x0000,则 DatQ15 =0x8000,对应0V,也就是说对应的就是
-25A吗?
不知道我这样理解是否对?是否还要做些特殊处理才能进行3s/2s坐标变换呢?
另外例程中的最后一句 p->ImeasA *= -1;这句话该如何解释呢? TI文档讲的很清楚。仔细看看吧 回复 4# styhl
TI的哪个文档讲到这个问题了?请不吝赐教,谢谢了 “电流”、“电压”模拟量在采样后进入MCU都是程序中的数字变量,要求编程者知道每个数字变量原来的物理意义以及变量-物理量换算关系,并给予特定的格式表示,如标幺化、浮点或Q格式。 数字变量一定要换算为实际电流值吗 “电流”、“电压”模拟量在采样后进入MCU都是程序中的数字变量,要求编程者知道每个数字变量原来的物理意义 ...
bauhinia 发表于 2010-12-10 11:03 http://bbs.simol.cn/images/common/back.gif
这话说的倒是对,只是知道了实际意义,还有疑问,比如p->ImeasA 这个变量,我算出来的就是Q格式的输入电压的值,那接下来要如何处理呢? 回复 8# lilyy
关键要提前把电量在程序中的表示格式确定,是否标幺化、基值取多少?多少位的定点数、Q格式如何取?基本原则是要使得变量既不溢出,同时表示精度还要足够。
然后可建立“被测电量实际值-AD值-程序中变量值”之间的对应关系,第一个对应关系是由信号传感、调理电路和ADC确定的;后一个对应关系是由前一个关系以及电量在程序中的表示格式(标幺、位数、Q格式)确定的,这样就可以通过数学运算把AD值变为程序中的变量值。
基本原理就是这样。 回复 4# styhl
同问,请问TI的哪个例程讲到了? lilyy 发表于 2010-12-4 09:27
回复 2# archdevil
楼主,你好。我想问一下:是不是我在外部的硬件调理电路上已经把电流对应的电压调到了0~3v,那我在TI那个程序里的增益=1,偏移为0??
页:
[1]