m********r 发帖数: 334 | 1 我在重复别人的电机建模,模型大概是
U=Ri + (Fi'/i')di/dt + (Fi'/theta')dTheta/dt
其中dTheta/dt = w 角速度
现在求i,总是遇到积分器在time 0的值为无穷大,如果输入很小就没事。这种情况是
一定是奇异点的问题吗? | g******u 发帖数: 3060 | 2 simulink has a limit symbol, so when you integrate at zero you can get
saturated result. | l***g 发帖数: 1035 | 3 it's not a simulink problem. it's an initial condition problem. set your
initial phi's d or q to non-zero.
【在 m********r 的大作中提到】 : 我在重复别人的电机建模,模型大概是 : U=Ri + (Fi'/i')di/dt + (Fi'/theta')dTheta/dt : 其中dTheta/dt = w 角速度 : 现在求i,总是遇到积分器在time 0的值为无穷大,如果输入很小就没事。这种情况是 : 一定是奇异点的问题吗?
| p***e 发帖数: 472 | 4 right, not the dtheta/dt, must be the flux linkage.
【在 l***g 的大作中提到】 : it's not a simulink problem. it's an initial condition problem. set your : initial phi's d or q to non-zero.
| m********r 发帖数: 334 | 5 d or q 是什么? PID吗?
【在 l***g 的大作中提到】 : it's not a simulink problem. it's an initial condition problem. set your : initial phi's d or q to non-zero.
| m********r 发帖数: 334 | 6 从flux求电流一般应该怎么求?如图
(U-R*I) --> 1/S-->Flux
________________
Flux -->| |--->i(t)
Theta -->| Current Calc |
i(t)-->|________________|--->inductance(t)
【在 p***e 的大作中提到】 : right, not the dtheta/dt, must be the flux linkage.
| p***e 发帖数: 472 | 7 a motor has the following equations:
Eq. 1: d[Flux]/dt = [V] - R[i] +/- w * [Flux]
Eq. 2: [Flux] = [wL] * [i]
Eq. 3: Torque = [Flux] * [i]
Eq. 4: dw/dt = Torque - Tload
Eqs. 1 & 2 apply to both stator and rotor, just change the voltage values
accordingly.
To model a motor:
1, calculate theta from the integration of w;
2, transform v, i from abc to dq
3, from v and i, calculate Flux for next step;
4, from Flux, calculate i for next step;
5, from Flux and i of next step, calculate torque for next step;
6, from torque of next step, calculate speed for next step;
7, repeat to 1...
【在 m********r 的大作中提到】 : 从flux求电流一般应该怎么求?如图 : (U-R*I) --> 1/S-->Flux : ________________ : Flux -->| |--->i(t) : Theta -->| Current Calc | : i(t)-->|________________|--->inductance(t)
| m********r 发帖数: 334 | 8 多谢,其实我算的是SRM,rotor没有电压。我开始用的是Model 1,根据公式
U = R*i + d[Flux]/di * di/dt +d[Flux]/d(theta) * d(theta)/dt
= R*i + (L + i*dL/di)*di/dt + i*dL/d(theta)*d(theta)/dt
如图1,输入电流和角度,输出做代数运算后积分,每次积分器都很容易输出无穷大。
然后我改用model 2, Flux作为输入,Flux=L(theta,i)*i,电感用多项式近似后变成电
流的四元方程,怎么算电流?求多项式的根?
还有,Eq4是不是还少了w*F?
【在 p***e 的大作中提到】 : a motor has the following equations: : Eq. 1: d[Flux]/dt = [V] - R[i] +/- w * [Flux] : Eq. 2: [Flux] = [wL] * [i] : Eq. 3: Torque = [Flux] * [i] : Eq. 4: dw/dt = Torque - Tload : Eqs. 1 & 2 apply to both stator and rotor, just change the voltage values : accordingly. : To model a motor: : 1, calculate theta from the integration of w; : 2, transform v, i from abc to dq
| p***e 发帖数: 472 | 9 http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4602459
【在 m********r 的大作中提到】 : 多谢,其实我算的是SRM,rotor没有电压。我开始用的是Model 1,根据公式 : U = R*i + d[Flux]/di * di/dt +d[Flux]/d(theta) * d(theta)/dt : = R*i + (L + i*dL/di)*di/dt + i*dL/d(theta)*d(theta)/dt : 如图1,输入电流和角度,输出做代数运算后积分,每次积分器都很容易输出无穷大。 : 然后我改用model 2, Flux作为输入,Flux=L(theta,i)*i,电感用多项式近似后变成电 : 流的四元方程,怎么算电流?求多项式的根? : 还有,Eq4是不是还少了w*F?
|
|