基于单矢量控制的永磁同步电机模型预测电流控制Simulink仿真模型 对应学习资料 1.带一份与仿真对应的Word详细说明报告。 2.一份与仿真对应的详细讲解PPT 针对具体被控对象(PMSM)建立定子电流预测模型然后通过采集当前时刻的定子电流值来计算得出对应的电流环输出以预测模型替换了PI控制器后省去设计控制器时困难的参数选取避免了PI控制器惯有的超调等问题并且预测控制比传统PI控制的动态响应更快鲁棒性更强。 预测计算得到下一时刻的定子电流值于在线寻优过程中能够依据控制目标的要求进行优化代价函数的构造可根据不同要求设计成不同形式除了能够完成基本电流控制之外还具备实现多目标综合优化的能力如考虑开关损耗等 看下图有注释传统PI控制器在永磁同步电机控制中总像是个操心的老管家——既要盯着电流偏差又要忙着调参数稍不留神就给你整出个超调大礼包。这时候预测控制跳出来说放着我来 直接把未来两个采样周期的电流值算得明明白白这波操作属实有点降维打击的味道。咱们先看预测模型的核心方程。在dq坐标系下定子电流的动态方程写成矩阵形式就是% 离散化预测模型 function idq_next predict_current(idq, vdq, Ts, Ld, Lq, R, wr, psi_f) A [1 - Ts*R/Ld, Ts*wr*Lq/Ld; -Ts*wr*Ld/Lq, 1 - Ts*R/Lq]; B [Ts/Ld, 0; 0, Ts/Lq]; disturbance [0; -Ts*wr*psi_f/Lq]; idq_next A * idq B * vdq disturbance; end这个MATLAB Function模块直接嵌在Simulink里干活把当前电流、电压、转速这些实时数据吃进去吐出下一时刻的电流预测值。注意看那个disturbance项永磁体磁链带来的耦合扰动被安排得明明白白。代价函数的设计才是真·骚操作现场。基础版可以简单粗暴地追踪电流误差% 基础代价函数 function cost basic_cost(idq_ref, idq_pre) error idq_ref - idq_pre; cost error * diag([1, 1]) * error; end但老司机们往往会给不同电流分量加权重比如让d轴电流收敛得更快些。更狠的玩法是连开关损耗都算进去% 带开关损耗的代价函数 function cost advanced_cost(idq_ref, idq_pre, vdq_candidate, prev_voltage) current_error_cost norm(idq_ref - idq_pre)^2; switch_cost 0.1 * sum(abs(vdq_candidate - prev_voltage)); cost current_error_cost switch_cost; end这个0.1的系数就是典型的调参艺术——既不能任由电压跳变放飞自我又不能把电流跟踪性能给压垮了。基于单矢量控制的永磁同步电机模型预测电流控制Simulink仿真模型 对应学习资料 1.带一份与仿真对应的Word详细说明报告。 2.一份与仿真对应的详细讲解PPT 针对具体被控对象(PMSM)建立定子电流预测模型然后通过采集当前时刻的定子电流值来计算得出对应的电流环输出以预测模型替换了PI控制器后省去设计控制器时困难的参数选取避免了PI控制器惯有的超调等问题并且预测控制比传统PI控制的动态响应更快鲁棒性更强。 预测计算得到下一时刻的定子电流值于在线寻优过程中能够依据控制目标的要求进行优化代价函数的构造可根据不同要求设计成不同形式除了能够完成基本电流控制之外还具备实现多目标综合优化的能力如考虑开关损耗等 看下图有注释仿真模型里最带劲的部分要数这个在线优化环节。8个电压矢量候选人在虚拟世界里各显神通代价函数就像个智能打分系统哪个候选人的综合表现最好下一个控制周期就派它上岗。这个过程在Simulink里用MATLAB Function配合Switch模块实现活像个电子版的《创造101》。波形对比最能说明问题此处应有注释图。传统PI控制器的电流响应像是喝醉的蛇爬行轨迹预测控制的波形则像军刀划过——超调不存在的特别是在突加减负载时预测模型的提前预判能力让电流恢复时间缩短了至少30%。更绝的是当我把电机参数故意偏移20%时这货居然还能稳如老狗鲁棒性这块属实拿捏了。最后留个彩蛋在仿真时尝试修改预测步长当步长超过3个控制周期后系统开始抽风。这提醒我们预测控制也不是万能的时间望远镜的聚焦范围得把控好毕竟太远未来的预测可能比星座运势还不靠谱。
基于单矢量控制的永磁同步电机模型预测电流控制Simulink仿真模型 对应学习资料: 1
基于单矢量控制的永磁同步电机模型预测电流控制Simulink仿真模型 对应学习资料 1.带一份与仿真对应的Word详细说明报告。 2.一份与仿真对应的详细讲解PPT 针对具体被控对象(PMSM)建立定子电流预测模型然后通过采集当前时刻的定子电流值来计算得出对应的电流环输出以预测模型替换了PI控制器后省去设计控制器时困难的参数选取避免了PI控制器惯有的超调等问题并且预测控制比传统PI控制的动态响应更快鲁棒性更强。 预测计算得到下一时刻的定子电流值于在线寻优过程中能够依据控制目标的要求进行优化代价函数的构造可根据不同要求设计成不同形式除了能够完成基本电流控制之外还具备实现多目标综合优化的能力如考虑开关损耗等 看下图有注释传统PI控制器在永磁同步电机控制中总像是个操心的老管家——既要盯着电流偏差又要忙着调参数稍不留神就给你整出个超调大礼包。这时候预测控制跳出来说放着我来 直接把未来两个采样周期的电流值算得明明白白这波操作属实有点降维打击的味道。咱们先看预测模型的核心方程。在dq坐标系下定子电流的动态方程写成矩阵形式就是% 离散化预测模型 function idq_next predict_current(idq, vdq, Ts, Ld, Lq, R, wr, psi_f) A [1 - Ts*R/Ld, Ts*wr*Lq/Ld; -Ts*wr*Ld/Lq, 1 - Ts*R/Lq]; B [Ts/Ld, 0; 0, Ts/Lq]; disturbance [0; -Ts*wr*psi_f/Lq]; idq_next A * idq B * vdq disturbance; end这个MATLAB Function模块直接嵌在Simulink里干活把当前电流、电压、转速这些实时数据吃进去吐出下一时刻的电流预测值。注意看那个disturbance项永磁体磁链带来的耦合扰动被安排得明明白白。代价函数的设计才是真·骚操作现场。基础版可以简单粗暴地追踪电流误差% 基础代价函数 function cost basic_cost(idq_ref, idq_pre) error idq_ref - idq_pre; cost error * diag([1, 1]) * error; end但老司机们往往会给不同电流分量加权重比如让d轴电流收敛得更快些。更狠的玩法是连开关损耗都算进去% 带开关损耗的代价函数 function cost advanced_cost(idq_ref, idq_pre, vdq_candidate, prev_voltage) current_error_cost norm(idq_ref - idq_pre)^2; switch_cost 0.1 * sum(abs(vdq_candidate - prev_voltage)); cost current_error_cost switch_cost; end这个0.1的系数就是典型的调参艺术——既不能任由电压跳变放飞自我又不能把电流跟踪性能给压垮了。基于单矢量控制的永磁同步电机模型预测电流控制Simulink仿真模型 对应学习资料 1.带一份与仿真对应的Word详细说明报告。 2.一份与仿真对应的详细讲解PPT 针对具体被控对象(PMSM)建立定子电流预测模型然后通过采集当前时刻的定子电流值来计算得出对应的电流环输出以预测模型替换了PI控制器后省去设计控制器时困难的参数选取避免了PI控制器惯有的超调等问题并且预测控制比传统PI控制的动态响应更快鲁棒性更强。 预测计算得到下一时刻的定子电流值于在线寻优过程中能够依据控制目标的要求进行优化代价函数的构造可根据不同要求设计成不同形式除了能够完成基本电流控制之外还具备实现多目标综合优化的能力如考虑开关损耗等 看下图有注释仿真模型里最带劲的部分要数这个在线优化环节。8个电压矢量候选人在虚拟世界里各显神通代价函数就像个智能打分系统哪个候选人的综合表现最好下一个控制周期就派它上岗。这个过程在Simulink里用MATLAB Function配合Switch模块实现活像个电子版的《创造101》。波形对比最能说明问题此处应有注释图。传统PI控制器的电流响应像是喝醉的蛇爬行轨迹预测控制的波形则像军刀划过——超调不存在的特别是在突加减负载时预测模型的提前预判能力让电流恢复时间缩短了至少30%。更绝的是当我把电机参数故意偏移20%时这货居然还能稳如老狗鲁棒性这块属实拿捏了。最后留个彩蛋在仿真时尝试修改预测步长当步长超过3个控制周期后系统开始抽风。这提醒我们预测控制也不是万能的时间望远镜的聚焦范围得把控好毕竟太远未来的预测可能比星座运势还不靠谱。