第3章:Simulink环境搭建

说实话,很多初学者一打开Simulink就懵了。满屏的模块库,不知道从哪下手。我当年也是这样,对着空白模型发呆了好一阵子。这一章,我就带你把这个环境摸透。

3.1 Simulink基础操作

先说说怎么打开Simulink。在MATLAB命令窗口输入simulink,或者直接点工具栏上的Simulink图标。我个人习惯用快捷键,但新手还是先点图标吧。

新建模型有两种方式:

  • 点左上角的「新建」→「Simulink Model」
  • 或者直接按 Ctrl+N

模型建好后,你会看到一个空白画布。嗯,这就是你的工作台了。从左侧的库浏览器拖拽模块到画布上,用鼠标连线。双击模块可以设置参数。

小技巧: 按住鼠标滚轮拖动可以平移画布。滚动滚轮可以缩放。我刚开始不知道这个,每次都要点工具栏的缩放按钮,效率低得很。

保存模型时,我建议文件名用英文,不要用中文。为什么?因为有些版本的MATLAB对中文路径支持不好,容易报错。我曾经因为这个折腾了一下午。

3.2 电机控制常用库介绍

做电机控制仿真,你不需要把所有库都记住。常用的就那么几个。我列个表给你看:

库名称 常用模块 用途
Simscape / Electrical PMSM、逆变器、DC电源 电机本体和功率电路建模
Simulink / Continuous Integrator、Derivative、Transfer Fcn 连续系统传递函数、积分微分
Simulink / Math Operations Gain、Sum、Product、Trigonometric 数学运算、坐标变换
Simulink / Sinks Scope、To Workspace、Display 信号观测和数据导出
Simulink / Sources Step、Sine Wave、Constant 输入信号生成
Motor Control Blockset FOC、SVPWM、Current Controller 电机控制专用算法模块

这里我想重点说一下Motor Control Blockset。这个工具箱是专门为电机控制设计的,里面封装了很多现成的算法模块。比如FOC(磁场定向控制)模块,你拖出来就能用,参数设置也很直观。

避坑指南: 我曾经在项目里直接用Motor Control Blockset的SVPWM模块,结果发现它生成的PWM波形和实际硬件对不上。后来才搞清楚,这个模块默认是理想模型,没有考虑死区时间。所以用的时候一定要检查参数设置。

3.3 搭建第一个电机仿真模型

好了,理论说完了,咱们动手搭一个最简单的模型。目标是:让一个PMSM电机空载运行,看看它的转速和电流响应。

你需要拖拽以下模块:

  1. PMSM模块(Simscape / Electrical / Specialized Power Systems / Electric Drives / Permanent Magnet Synchronous Motor)
  2. 逆变器模块(Universal Bridge,选3-arm,IGBT)
  3. DC电源(DC Voltage Source,设300V)
  4. PWM发生器(PWM Generator,载波频率设10kHz)
  5. 阶跃信号(Step,作为转速给定)
  6. PI控制器(用Gain和Integrator自己搭,或者用PID Controller模块)
  7. 示波器(Scope,看波形)

连线方式是这样的:

DC电源 → 逆变器直流侧
逆变器交流侧 → PMSM三相绕组
PWM发生器输出 → 逆变器门极信号
转速给定 → PI控制器 → PWM发生器调制波输入
PMSM转速输出 → 反馈到PI控制器输入端

嗯,这里要注意一点。PMSM模块的输出信号里,转速是机械角速度(rad/s),而PI控制器一般用转速误差作为输入。所以你需要把给定转速和反馈转速做差,再送给PI。

重要提醒: 仿真步长不要设太大。我建议用ode23tode15s求解器,最大步长设1e-5秒。否则仿真结果可能不收敛,甚至报错。

参数设置方面,我给出一个参考值:

  • PMSM:极对数4,定子电阻0.5Ω,d/q轴电感8.5mH,永磁磁链0.175Wb
  • PI控制器:Kp=10,Ki=100(这个需要调试,不同电机不一样)
  • 仿真时间:0.5秒

设置好之后,点运行。你会看到转速从0开始上升,最后稳定在给定值附近。电流波形会有个冲击,然后趋于平稳。这就是最基本的电机开环控制仿真。

个人经验: 第一次运行如果报错,别慌。90%的情况是模块参数没设对,或者连线有误。检查一下PMSM模块的「Rotor angle definition」是不是设成了「Rotor angle (rad)」,这个很容易忽略。

模型跑通之后,你可以试着改改PI参数,看看响应速度怎么变。或者加个负载转矩,看看抗干扰能力。这些都是后面章节要深入的内容。

好了,第一个模型搭完了。虽然简单,但麻雀虽小五脏俱全。后面我们做参数辨识和标定,都是在这个基础上加东西。所以这一章的基础一定要打牢。

下一章,我们会讲电机参数辨识的基本原理。到时候我会用这个模型来做演示,你就能看到理论是怎么落到仿真里的。