【发布时间】:2017-02-20 03:45:01
【问题描述】:
我正在尝试在 simscape 中构建直流电机
我使用命令ssc_dcmotor获取示例
我添加了受控电压源而不是电压源和 s-ps 转换器和 制作了输入端口...我用输出端口替换了范围
我使用[A, B, C, D]=linmod('dcmotor')获得直流电机速度的线性模型
当我收到eig(A) 时,我看到极点为零,这意味着系统不稳定
我在这里理解的错误是什么?
【问题讨论】:
我正在尝试在 simscape 中构建直流电机
我使用命令ssc_dcmotor获取示例
我添加了受控电压源而不是电压源和 s-ps 转换器和 制作了输入端口...我用输出端口替换了范围
我使用[A, B, C, D]=linmod('dcmotor')获得直流电机速度的线性模型
当我收到eig(A) 时,我看到极点为零,这意味着系统不稳定
我在这里理解的错误是什么?
【问题讨论】:
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/Friction、Rotor Resistance、Ideal 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
【讨论】: