simscape电机速度不稳定系统

时间:2016-10-11 14:44:30

标签: matlab simulink simscape

我试图在simscape中构建直流电机

我使用命令ssc_dcmotor来获取示例

我添加了受控电压源而不是电压源和s-ps转换器 输入端口...我用输出端口替换了范围

我使用[A, B, C, D]=linmod('dcmotor')

来获得直流电机速度的线性模型

当我得到eig(A)时,我看到极点为零,这意味着系统不稳定

我的理解中的错误是什么?

1 个答案:

答案 0 :(得分:2)

linmod返回的系统状态包括所有块的状态(即使这些状态为空或常量)。尝试执行

sstr= linmod('dcmotor1');
disp(sstr.StateName);

你会看到

[1x50 char]
[1x50 char]
'dcmotor1/DC Motor/Inertia'
'dcmotor1/DC Motor/Rotor Inductance'
'dcmotor1/Sensing/Ideal Rotational Motion Sensor'
'dcmotor1/DC Motor/Friction'
'dcmotor1/DC Motor/Rotor Resistance'
[1x50 char]
[1x50 char]

显然,我们不需要DC Motor/FrictionRotor ResistanceIdeal Rotational Motion Sensor的状态及其形式为dx / dt = 0的等式。 但是,很容易删除未使用的状态(需要控制系统工具箱):

sys= ss(A,B,C,D);     % create the state space model
sys= minreal(sys)     % remove the unnecessary states
pole(sys)             % now we can calculate the poles