基于无权重系数占空比模型预测转矩永磁同步电机控制,主体采用matlab function模块编程,与c语言接近,便于实物移植。 【提供参考论文】 相比于传统模型预测转矩控制性能提高很多!!可赠送传统模型预测转矩控制模型进行对比!!! 算法简介:对基本矢量集进行扩展的基础上,进行矢量预选择。 为避免不切实际的矢量评估,通过alpha、beta的磁链幅值正负及两者反正切值,确定定子磁链位置。 利用其位置确立作用扇区,结合转矩及磁链误差,对矢量进行预选择。 参考转矩无差拍原理,提出忽略零矢量作用的近似无差拍,求取占空比。 对矢量幅值进行改善,降低了转矩及磁链波动,提高了定子电流平滑程度。
最近在研究永磁同步电机控制算法,发现了一种超棒的基于无权重系数占空比模型预测转矩控制方法!今天来和大家分享一下😃
这个方法主体是采用matlab function模块编程的,它和c语言很接近,这对于后续要进行实物移植来说简直太方便啦👍
先来说说算法简介吧🧐。它是在对基本矢量集进行扩展的基础上,进行矢量预选择。怎么扩展和预选择呢?这就用到一些巧妙的计算啦。
为了避免不切实际的矢量评估,通过alpha、beta的磁链幅值正负及两者反正切值,确定定子磁链位置。这里就涉及到一些数学运算,比如计算磁链幅值:
alpha_flux =...; % 这里填写计算alpha磁链幅值的具体公式 beta_flux =...; % 这里填写计算beta磁链幅值的具体公式 flux_mag = sqrt(alpha_flux^2 + beta_flux^2); % 计算磁链幅值然后通过反正切值来确定磁链方向,进而确定定子磁链位置。这个过程就像是给电机的磁链找到了一个精准的定位器📌
利用确定好的定子磁链位置确立作用扇区,再结合转矩及磁链误差,对矢量进行预选择。这里的代码可以这样写:
sector = get_sector(alpha_flux, beta_flux); % 根据磁链位置确定作用扇区的函数 torque_error =...; % 计算转矩误差 flux_error =...; % 计算磁链误差 selected_vector = preselect_vector(sector, torque_error, flux_error); % 根据扇区和误差预选择矢量的函数接着参考转矩无差拍原理,提出忽略零矢量作用的近似无差拍,求取占空比。这一步是整个算法的关键之一,通过巧妙的计算得到占空比,让电机的控制更加精准。代码如下:
duty_cycle = approximate_beatless(selected_vector); % 求取占空比的函数最后,对矢量幅值进行改善,降低了转矩及磁链波动,提高了定子电流平滑程度。这样一来,电机的性能就得到了大大的提升👏
相比于传统模型预测转矩控制,这个基于无权重系数占空比模型预测转矩控制性能提高了很多!我还可以赠送传统模型预测转矩控制模型进行对比哦,让大家更直观地看到新算法的优势😎
总之,这种基于无权重系数占空比模型预测转矩控制方法真的很厉害,在永磁同步电机控制领域有着很大的应用潜力。希望这篇分享能让大家对这个算法有更清楚的了解🧐
#永磁同步电机 #控制算法 #模型预测转矩控制