基于双DSP最小控制系统的永磁同步电机矢量控制系统
项目介绍
本项目设计并实现了一个基于双数字信号处理器(DSP)架构的永磁同步电动机(PMSM)高效率矢量控制系统。该系统针对工业自动化中对电机动态性能和实时性的严苛要求,通过将复杂的矢量控制算法与反馈信号处理任务进行解耦,分别部署在模拟的主、从处理单元中。主处理单元专注于核心FOC(磁场定向控制)算法,而辅助单元负责实时信号采样预处理及系统监控,有效提升了系统的运算冗余度。
功能特性
- 双核任务解耦模拟:仿真实现了主从控制架构,区分了控制周期与物理采样周期,模拟了工业现场真实的数字控制环境。
- 高性能FOC控制:采用id=0控制策略,实现了转速外环和电流内环的双闭环PI调节。
- 高精度SVPWM:实现了空间矢量脉宽调制算法,包括扇区识别、矢量作用时间计算及过调制处理。
- 动态负载模拟:系统支持在运行过程中突加负载转矩,用以验证系统的抗扰动能力和稳态恢复性能。
- 多维度结果可视化:提供转速响应、电磁转矩、dq轴电流追踪、三相定子电流及SVPWM扇区切换等多项指标的实时波形展示。
实现逻辑
系统主体逻辑运行于一个步长为10us的仿真主循环中,完整模拟了从数字控制指令到物理电机执行的闭环过程:
- 参数定义与初始化:设置电机定子电阻、d-q轴电感、磁链、转动惯量等物理参数,并配置控制周期为100us(10kHz)。
- 辅助处理单元逻辑:每隔一个控制周期,从物理模型获取反馈的三相电流,执行Clarke变换将其转换为Alpha-Beta坐标系下的静止矢量,并读取编码器位置信号。
- 主处理单元逻辑:
* 转速外环:对比目标转速与反馈转速,通过PI调节器输出q轴参考电流。
* 电流内环:将Alpha-Beta电流通过Park变换转为dq电流,分别对id和iq进行PI调节,计算输出所需的dq电压。
* 调制输出:经逆Park变换还原电压矢量,通过SVPWM逻辑计算三相逆变桥的导通时间切换点。
- 电压逆变与电机驱动:根据SVPWM输出的占空比节点,在每个微小步长内判定逆变器开关状态,生成实际相电压,并利用差分方程求解电机旋转产生的电流变化、转矩输出及机械位移。
- 数据记录:循环收集每一时刻的物理量,用于最终的性能分析绘图。
关键函数与算法说明
- 坐标变换算法
* Clarke变换:实现了三相坐标系到两相静止坐标系的恒幅度转换。
* Park变换与逆变换:利用电角度信息的三角函数,实现静止坐标系与同步旋转坐标系之间的转换。
- SVPWM发生器逻辑
* 扇区推导:通过电压矢量的分量关系确定所在的6个空间扇区。
* 作用时间平衡:计算相邻基础矢量及其零矢量的作用时间(T1, T2, T7),并包含过调制限制逻辑,确保输出电压不超过直流母线物理极限。
* 导通时刻计算:将时间常数转换为对应于桥臂开关的逻辑时间点。
- 三相逆变桥模拟
* 根据调制时间点与当前仿真时间的比较,实时输出三相桥臂的电平状态(1或0),并根据直流母线电压换算为精确的相电压输入给电机模型。
- 电机物理模型求解
* 基于dq轴电压方程和机械运动方程,利用数值迭代法模拟电感电压降、反电动势产生的电流耦合以及转动惯量对速度的影响。
使用方法
- 确保计算机安装有MATLAB R2016b或更高版本。
- 将主程序脚本放置在工作目录下。
- 在MATLAB命令行窗口输入该主程序名称并回车运行。
- 系统将自动开启仿真循环,并在运行结束后弹出包含六个子图的结果对比窗口。
系统要求
- 软件环境:MATLAB (推荐包含Symbolic Math工具箱以支持高效运算,虽非必须)。
- 硬件建议:主频2.0GHz以上的CPU,4GB以上内存,以确保大步长仿真循环的快速完成。