2. 系统架构设计
任务定义
本案例目标为:针对永磁同步电机(PMSM)磁场定向控制(FOC)应用,在Simulink中搭建一个可扩展的电机控制器模型框架。该框架需包含从逆变器直流母线电压、相电流采样到PWM占空比输出的完整信号链,并预留速度环、电流环控制器的接入接口,为后续案例中的控制算法开发提供固定架构。
模型框架层级设计
采用三层结构组织模型,自上而下分别为:系统级(含电源、电机负载与控制器交互)、控制级(含坐标变换、PI控制器、SVPWM调制)、接口级(ADC采样量化、PWM输出限幅)。该分层确保后续替换或增删算法模块时不影响整体信号路由。
Simulink模型框架搭建步骤
在MATLAB命令窗口执行 sl_new 创建新模型,按以下步骤搭建框架。所有模块参数通过模型工作区(Model Workspace)中的MATLAB结构体 motorParam 统一管理。
1. 系统级模块配置
- 直流电源:使用Constant模块,值设为
motorParam.Vdc(默认300V); - 逆变器与电机:使用Simscape Electrical中的
PMSM模块,参数设置为motorParam.Rs、motorParam.Ld、motorParam.Lq、motorParam.FluxPM、motorParam.P(极对数); - 负载转矩:使用Step模块,初始值0,终值
motorParam.TL(默认5N·m),阶跃时间设为0.1s。
2. 控制级信号链搭建
按上图布局,依次连接以下模块(均从Simulink/Simscape库拖入):
- Clarke变换:使用Fcn模块或MATLAB Function模块实现
i_alpha = ia; i_beta = (ia + 2*ib)/sqrt(3); - Park变换:输入
i_alpha、i_beta和电角度theta_e,输出id = i_alpha*cos(theta) + i_beta*sin(theta),iq = -i_alpha*sin(theta) + i_beta*cos(theta); - 电流PI控制器:使用两个离散PI控制器(Id环和Iq环),采样时间设为
motorParam.Ts(默认1e-4s),比例增益Kp = motorParam.Kp_i,积分增益Ki = motorParam.Ki_i; - 逆Park变换:将PI输出的
Vd*、Vq*变换回V_alpha、V_beta; - SVPWM模块:使用MATLAB Function实现扇区判断与占空比计算,输入
V_alpha、V_beta、Vdc,输出三相占空比Ta、Tb、Tc(范围0~1)。
3. 接口级与反馈回路
- ADC采样:从PMSM模块引出三相电流
ia、ib、ic,通过Gain模块乘以motorParam.Kadc(ADC比例系数)模拟量化; - 电角度计算:从PMSM模块引出机械角度
theta_m,通过Gain模块乘以P/2得到电角度theta_e; - PWM输出限幅:SVPWM输出的占空比经过Saturation模块限幅至
[0.05, 0.95],防止上下桥臂直通; - 闭环连接:将限幅后的占空比通过PWM调制模块(或直接连接)送回逆变器门极信号输入端。
4. 模型参数初始化代码
在模型回调函数 InitFcn 中添加以下参数定义:
% 电机参数
motorParam.Rs = 0.2; % 定子电阻 (Ω)
motorParam.Ld = 0.005; % d轴电感 (H)
motorParam.Lq = 0.005; % q轴电感 (H)
motorParam.FluxPM = 0.1; % 永磁体磁链 (Wb)
motorParam.P = 4; % 极对数
motorParam.Vdc = 300; % 直流母线电压 (V)
motorParam.TL = 5; % 负载转矩 (N·m)
% 控制参数
motorParam.Ts = 1e-4; % 电流环采样时间 (s)
motorParam.Kp_i = 10; % 电流环比例增益
motorParam.Ki_i = 500; % 电流环积分增益
motorParam.Kadc = 1/100; % ADC比例系数 (V/A)
% 速度环预留参数(后续案例使用)
motorParam.Kp_w = 0.5; % 速度环比例增益
motorParam.Ki_w = 20; % 速度环积分增益
验证方法与判定标准
完成模型搭建后,按以下步骤验证框架正确性:
- 模型编译检查:点击
Ctrl+D更新图,确认无红色错误提示; - 开环测试:将电流PI控制器输出暂时置为常数(如
Vd*=0,Vq*=10),运行仿真0.1s,观察PMSM模块输出的三相电流是否为正弦波形,且频率与给定电压对应; - 闭环测试:恢复PI控制器连接,设置
Iq_ref = 5A,Id_ref = 0,运行仿真0.5s,通过Scope观察iq是否在0.1s内收敛至5A,稳态误差小于2%; - 判定标准:若上述测试中电流波形无畸变、闭环跟踪无稳态误差且无发散振荡,则框架搭建成功,可进入后续控制算法开发。
注意:本案例仅搭建模型框架,PI参数为初始估计值,若闭环测试出现振荡,可适当减小 Kp_i 或增大 Ki_i 重新验证。