永磁同步电机(PMSM)磁场定向控制(FOC)仿真项目
项目介绍
本项目提供了一个基于数学建模的永磁同步电机(PMSM)矢量控制(FOC)系统完整仿真实现。该仿真不依赖于Simulink等图形化仿真工具,而是通过纯脚本代码构建了从电机物理特性到复杂控制算法的闭环系统。系统通过静止与旋转坐标系的数学解耦,实现了对交流电机转速与转矩的精确控制,模拟了电机从静止启动、平滑加速到负载扰动的全动态响应过程。
功能特性
- 双闭环控制架构:集成了速度外环 PI 调节器与电流内环 PI 调节器,实现了高精度的速度跟踪。
- id=0 控制策略:定子电流矢量定向于 q 轴,确保定子电流完全用于产生电磁转矩,实现最大转矩电流比。
- 动态解耦前馈补偿:在电流环控制逻辑中引入电感与磁链的补偿项,抵消了旋转电动势引起的 d-q 轴间互耦影响。
- 七段式 SVPWM 模块:自主实现了空间矢量脉宽调制算法,通过扇区判断和矢量作用时间计算,提高了直流母线电压利用率。
- 启动缓冲机制:程序预设了转速斜坡启动逻辑,避免了系统在启动瞬间产生过大的机械冲击。
- 鲁棒性验证:支持负载转矩阶跃实验,实时模拟电机在外部干扰下的动态恢复能力。
系统要求
- MATLAB R2016b 或更高版本。
- 无需安装额外的工具箱,仅需基础脚本运行环境。
实现逻辑与内容说明
仿真程序通过时间步长迭代,严格遵循 FOC 控制的采样与执行逻辑:
- 参数与变量初始化
系统首先定义了电机的定子电阻、d/q 轴电感、永久磁链、极对数及转动惯量等物理参数。同时预设控制器的 PI 增益及直流母线电压上限。
- 转速外环计算
在每个采样周期,计算目标转速与反馈转速的偏差。PI 控制器根据偏差生成 q 轴电流参考值 iq_ref。该参考值通过电流限幅逻辑,以保护电机硬件不受过流损坏。
- 电流内环解耦控制
d 轴电流指令恒定为 0。根据反馈的当前 d/q 轴电流(从电机物理方程计算得出),通过两个独立的 PI 控制器生成指令电压。控制逻辑中特别加入了包含电机角速度和磁链信息的解耦项。
- 坐标变换逻辑
利用反 Park 变换公式,将旋转坐标系下的 Ud/Uq 指令电压转换为静止坐标系下的 Alpha/Beta 轴电压,作为 SVPWM 模块的输入。
- 空间矢量脉宽调制 (SVPWM)
算法根据 Alpha/Beta 电压的比值判断合成矢量所在的扇区(Sector 1-6)。计算相邻基本电压矢量及零矢量的作用时间,并最终映射为逆变器三相桥臂的开关占空比。
- 电机物理数学模型构建
通过微分方程描述电机的电气特性(d/q 轴电流变化率)和机械特性(机械角速度变化率)。利用数值积分方法更新每一步的电机状态,包括转子电角度(theta_e)的变化。
- 动态结果记录与反馈
系统在循环中实时记录三相电流、转速、转矩、扇区切换以及电角度等关键参数,并转化为可视化波形输出。
关键算法与实现细节分析
- 启动阶段优化:在仿真开始的 0.01 秒内,系统通过线性插值强制执行转速斜坡限制,确保启动平滑。
- SVPWM 饱和处理:当指令电压模长超过母线电压所能提供的最大线性区域(Vdc/sqrt(3))时,程序会自动进行比例限幅,防止占空比溢出。
- 负载突变逻辑:在仿真 0.25 秒时刻,程序将负载转矩从 2 N.m 瞬态提升至 5 N.m,旨在观察速度环的抗扰动精度和恢复时间。
- 坐标变换准确性:代码中通过三角函数直接处理 theta_e 的实时演变,确保了电磁转矩计算中 id 与 iq 分量的物理相关性。
使用方法
- 下载并打开 MATLAB 环境。
- 将仿真文件放置在您的工作目录中。
- 直接运行主仿真程序。
- 程序运行完成后,将自动弹出包含六个子图的可视化窗口,展示转速跟踪、转矩波动、DQ轴电流、三相定子电流、电角度演变以及 SVPWM 扇区切换情况。
- 用户可以根据需要,在“参数初始化”部分修改 Vdc 或电机参数,以探索不同硬件规格下的控制效果。