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

Instaspin参数辨识

请教大家两个问题:

1.采用lab2a辨识时电机并没有转动,发现并没有发现注入电流(母线电流为0),并且发现辨识参数不准确(与实际测得的参数相比差距很大,主要体现在估计的电感值很大),而且修改Uer.h中的最大电流值(从3A变为10A,电机额定电流为15A)和AD采样最大电流值后,电机辨识参数又会发生很大的变化,请问可能是什么原因导致的参数辨识不准确,什么参数设置的不正确导致了参数辨识的结果变化很大?

2.采AD的数据时发现跳变很大,于是把PWM的周期从30K减小为10K,又会出现ErrorCode_estFreq_Hz_LOW,只能把周期增加到20K,但是发现效果并不明显,请问是什么参数设置会影响周期设置,应该修改什么参数可以减小跳变?

期待您的回复,谢谢!

Eric Ma:

首先,你有没有按照文档C:\ti\motorware\motorware_1_01_00_16\docs\labs去操作?

1. 如果没有转动,表示PWM关了,或是没有驱动成功开关管,你要检查你的板子,没有PWM驱动,后面一切免谈。

你改user.h的最大电流值,指的是哪个,要写上来。

2. 你是用来测试什么电机?用什么板子?AD跳变很大,你测的是什么信号,直流还是交流?你应该检查一下硬件先,测测偏置对不对,PWM驱动是否正常,再考虑后面的事。

ERIC

请教大家两个问题:

1.采用lab2a辨识时电机并没有转动,发现并没有发现注入电流(母线电流为0),并且发现辨识参数不准确(与实际测得的参数相比差距很大,主要体现在估计的电感值很大),而且修改Uer.h中的最大电流值(从3A变为10A,电机额定电流为15A)和AD采样最大电流值后,电机辨识参数又会发生很大的变化,请问可能是什么原因导致的参数辨识不准确,什么参数设置的不正确导致了参数辨识的结果变化很大?

2.采AD的数据时发现跳变很大,于是把PWM的周期从30K减小为10K,又会出现ErrorCode_estFreq_Hz_LOW,只能把周期增加到20K,但是发现效果并不明显,请问是什么参数设置会影响周期设置,应该修改什么参数可以减小跳变?

期待您的回复,谢谢!

user4369064:

回复 Eric Ma:

谢谢你的建议。

1.我先测了一下驱动有PWM信号,硬件和pwm通道没问题。最近的测试中,减小USER_MOTOR_FLUX_EST_FREQ_Hz的值从400到30,会使得运行中状态位错误;还有就是在电机不转情况下,辨识后的电机参数不正确,如图1所示。

2.自己用永磁同步电机,额定值有:750W,15A,48V;用的是自己设计的板子并且采用了电流、电压传感器(电流、电压值是通过乘以系数和加一定的偏置计算出来的,且在其他程序中验证过,基本不跳变),AD值是直接通过寄存器读出来,并做了一定的格式变换得到的,是不是AD配置的转换时间什么不合适?

3.我把自己的User.h参数贴出来,如图2所示,希望您能看一下参数哪里设置的不合适。

请教大家两个问题:

1.采用lab2a辨识时电机并没有转动,发现并没有发现注入电流(母线电流为0),并且发现辨识参数不准确(与实际测得的参数相比差距很大,主要体现在估计的电感值很大),而且修改Uer.h中的最大电流值(从3A变为10A,电机额定电流为15A)和AD采样最大电流值后,电机辨识参数又会发生很大的变化,请问可能是什么原因导致的参数辨识不准确,什么参数设置的不正确导致了参数辨识的结果变化很大?

2.采AD的数据时发现跳变很大,于是把PWM的周期从30K减小为10K,又会出现ErrorCode_estFreq_Hz_LOW,只能把周期增加到20K,但是发现效果并不明显,请问是什么参数设置会影响周期设置,应该修改什么参数可以减小跳变?

期待您的回复,谢谢!

Eric Ma:

回复 user4369064:

把原理图关于电流采样部分(信号到芯片)贴上来。以及电压采样的原理图。

另外,user.h, hal.h 发上来。

我个人认为还是电流电压采样参数匹配以及设置的问题。

你可以跑一下电机参数识别,在测完offline后,看一下电流电压偏置值和理论值的差别,另外,不带电机,enable system, run identify 都使能后,看一下三相输出是否正常的调制波形。

ERIC

请教大家两个问题:

1.采用lab2a辨识时电机并没有转动,发现并没有发现注入电流(母线电流为0),并且发现辨识参数不准确(与实际测得的参数相比差距很大,主要体现在估计的电感值很大),而且修改Uer.h中的最大电流值(从3A变为10A,电机额定电流为15A)和AD采样最大电流值后,电机辨识参数又会发生很大的变化,请问可能是什么原因导致的参数辨识不准确,什么参数设置的不正确导致了参数辨识的结果变化很大?

2.采AD的数据时发现跳变很大,于是把PWM的周期从30K减小为10K,又会出现ErrorCode_estFreq_Hz_LOW,只能把周期增加到20K,但是发现效果并不明显,请问是什么参数设置会影响周期设置,应该修改什么参数可以减小跳变?

期待您的回复,谢谢!

user4369064:

回复 Eric Ma:

好的,我的电压采的是线电压,在程序里做了转换。

请教大家两个问题:

1.采用lab2a辨识时电机并没有转动,发现并没有发现注入电流(母线电流为0),并且发现辨识参数不准确(与实际测得的参数相比差距很大,主要体现在估计的电感值很大),而且修改Uer.h中的最大电流值(从3A变为10A,电机额定电流为15A)和AD采样最大电流值后,电机辨识参数又会发生很大的变化,请问可能是什么原因导致的参数辨识不准确,什么参数设置的不正确导致了参数辨识的结果变化很大?

2.采AD的数据时发现跳变很大,于是把PWM的周期从30K减小为10K,又会出现ErrorCode_estFreq_Hz_LOW,只能把周期增加到20K,但是发现效果并不明显,请问是什么参数设置会影响周期设置,应该修改什么参数可以减小跳变?

期待您的回复,谢谢!

Eric Ma:

回复 user4369064:

value = (unsigned int)ADC_readResult(obj->adcHandle,ADC_ResultNumber_1); value2 = filter( value); value1 = (double)0.02*value2 – (double)41.12; Temp = _IQ12(value1); pAdcData->I.value[0] = Temp;

这个是电流采样吗?你怎么修改成这样?另外的采样是在那一端?流进电机的方向还是下桥壁?

如果是下桥壁或流出电机的方向的话,下面的value前面要加符号,HAL_updateAdcBias里面也要改成bias -= . 

// convert current A // sample the first sample twice due to errata sprz342f, ignore the first sample value = (_iq)ADC_readResult(obj->adcHandle,ADC_ResultNumber_1); value = _IQ12mpy(value,current_sf) – obj->adcBias.I.value[0]; // divide by 2^numAdcBits = 2^12 pAdcData->I.value[0] = -value;

请教大家两个问题:

1.采用lab2a辨识时电机并没有转动,发现并没有发现注入电流(母线电流为0),并且发现辨识参数不准确(与实际测得的参数相比差距很大,主要体现在估计的电感值很大),而且修改Uer.h中的最大电流值(从3A变为10A,电机额定电流为15A)和AD采样最大电流值后,电机辨识参数又会发生很大的变化,请问可能是什么原因导致的参数辨识不准确,什么参数设置的不正确导致了参数辨识的结果变化很大?

2.采AD的数据时发现跳变很大,于是把PWM的周期从30K减小为10K,又会出现ErrorCode_estFreq_Hz_LOW,只能把周期增加到20K,但是发现效果并不明显,请问是什么参数设置会影响周期设置,应该修改什么参数可以减小跳变?

期待您的回复,谢谢!

user4369064:

回复 Eric Ma:

首先很感谢您的回复。这个是电流采样,这部分是从其他程序中移植过来的,再加了个滤波和减小PWM频率到5K后感觉跳变小一些,我把例程中的偏置都没有用到,AD部分都是自己的。

我现在发现参数辨识电机不动的问题是因为,在辨识过程中程序的发波是1A,2A,3A发变占空比的波形,这个正常;但是1B,2B,3B发的却是恒高的电平。最终导致光耦发不了正常的PWM波,无法驱动电机。现在的问题是:

1.为什么例程(LAB1,LAB2a)中的PWM波不是互补输出的?(其中LAB1设置为固定占空比输出,LAB2a是参数辨识功能)

2.如果正常是互补输出,但实际发波时却是下桥臂总是恒高,是设置PWM哪里的参数需要修改吗?或者我把哪里的默认值给修改了(感觉就没有动PWM.C和PWM.h)?

赞(0)
未经允许不得转载:TI中文支持网 » Instaspin参数辨识
分享到: 更多 (0)