三相两电平逆变器DPWM调制仿真 Matlab2018b 六种DPWM调制方法MaxMinDPWM0DPWM1DPWM2DPWM3 直流母线电压750V 开关频率20k 图1 仿真模型 图2 交流电压 电流 图3-图8为六种方法的调制波波形最近在Matlab2018b上折腾三相两电平逆变器的DPWM调制仿真发现这玩意儿比传统SVPWM有意思多了。直流母线750V硬扛着开关频率飙到20kHz六种不同DPWM方法Max/Min/DPWM0-3的调制波各有特色实测波形差异挺有意思。先看仿真模型图1核心是那个带死区时间的DPWM发生器。Matlab里用S-Function实现调制算法最灵活这里分享个关键代码段function dpwm_max(block) % 取三相电压极值点 [~,idx] max(abs([Ua,Ub,Uc])); clamped_phase idx(1); % 钳位相位置零 duty(clamped_phase) 0; % 更新PWM比较值 block.OutputPort(1).Data duty; end这段Max方法的核心逻辑就是每60°周期把最大相电压钳位到零电位直接后果是开关次数减少1/3图3波形明显有1/3周期平顶。不过要注意死区补偿否则电流过零点会出畸变图2电流波形在过零点还算干净说明补偿到位。三相两电平逆变器DPWM调制仿真 Matlab2018b 六种DPWM调制方法MaxMinDPWM0DPWM1DPWM2DPWM3 直流母线电压750V 开关频率20k 图1 仿真模型 图2 交流电压 电流 图3-图8为六种方法的调制波波形DPWM3图8的做法刚好相反专门逮着最小相电压往死里整。实测发现这类极值钳位法在轻载时THD会飙升但满载时谐波表现反而比连续PWM好。有个骚操作是动态切换算法负载低于40%切到DPWM1图5高于切到DPWM2图6能兼顾效率和谐波。看调制波波形图3-8DPWM0图4的六脉波特征最明显每个基波周期刚好6个脉冲。Matlab里用这个模板生成调制波时要注意归一化处理Vmax max([Va_ref, Vb_ref, Vc_ref]); Vmin min([Va_ref, Vb_ref, Vc_ref]); offset (Vmax Vmin)/2; % 动态偏置 mod_wave original_wave - offset;这种动态偏置是DPWM的灵魂能有效降低开关损耗。不过实际调试时发现当调制比超过0.9时部分算法会出现过调制得加个限幅器mod_wave min(max(mod_wave, -0.95), 0.95); % 保留5%裕量观察图2的线电压波形明显能看到两电平逆变器特有的电压台阶。用FFT工具测了下DPWM2方法在20kHz开关频率下5次谐波幅值比常规PWM低6dB左右但13次谐波反而高了——这说明选型时要根据具体滤波器的截止频率来定方案。最后吐槽下仿真速度六种算法跑完花了3小时i7-11800H。建议调试时把开关频率先降到5kHz波形趋势对了再上真实参数。另外直流母线电容的ESR参数对电流纹波影响极大仿真模型里要是没设对实测会翻车。
三相两电平逆变器DPWM调制仿真 Matlab2018b 六种DPWM调制方法(Max,Min...
三相两电平逆变器DPWM调制仿真 Matlab2018b 六种DPWM调制方法MaxMinDPWM0DPWM1DPWM2DPWM3 直流母线电压750V 开关频率20k 图1 仿真模型 图2 交流电压 电流 图3-图8为六种方法的调制波波形最近在Matlab2018b上折腾三相两电平逆变器的DPWM调制仿真发现这玩意儿比传统SVPWM有意思多了。直流母线750V硬扛着开关频率飙到20kHz六种不同DPWM方法Max/Min/DPWM0-3的调制波各有特色实测波形差异挺有意思。先看仿真模型图1核心是那个带死区时间的DPWM发生器。Matlab里用S-Function实现调制算法最灵活这里分享个关键代码段function dpwm_max(block) % 取三相电压极值点 [~,idx] max(abs([Ua,Ub,Uc])); clamped_phase idx(1); % 钳位相位置零 duty(clamped_phase) 0; % 更新PWM比较值 block.OutputPort(1).Data duty; end这段Max方法的核心逻辑就是每60°周期把最大相电压钳位到零电位直接后果是开关次数减少1/3图3波形明显有1/3周期平顶。不过要注意死区补偿否则电流过零点会出畸变图2电流波形在过零点还算干净说明补偿到位。三相两电平逆变器DPWM调制仿真 Matlab2018b 六种DPWM调制方法MaxMinDPWM0DPWM1DPWM2DPWM3 直流母线电压750V 开关频率20k 图1 仿真模型 图2 交流电压 电流 图3-图8为六种方法的调制波波形DPWM3图8的做法刚好相反专门逮着最小相电压往死里整。实测发现这类极值钳位法在轻载时THD会飙升但满载时谐波表现反而比连续PWM好。有个骚操作是动态切换算法负载低于40%切到DPWM1图5高于切到DPWM2图6能兼顾效率和谐波。看调制波波形图3-8DPWM0图4的六脉波特征最明显每个基波周期刚好6个脉冲。Matlab里用这个模板生成调制波时要注意归一化处理Vmax max([Va_ref, Vb_ref, Vc_ref]); Vmin min([Va_ref, Vb_ref, Vc_ref]); offset (Vmax Vmin)/2; % 动态偏置 mod_wave original_wave - offset;这种动态偏置是DPWM的灵魂能有效降低开关损耗。不过实际调试时发现当调制比超过0.9时部分算法会出现过调制得加个限幅器mod_wave min(max(mod_wave, -0.95), 0.95); % 保留5%裕量观察图2的线电压波形明显能看到两电平逆变器特有的电压台阶。用FFT工具测了下DPWM2方法在20kHz开关频率下5次谐波幅值比常规PWM低6dB左右但13次谐波反而高了——这说明选型时要根据具体滤波器的截止频率来定方案。最后吐槽下仿真速度六种算法跑完花了3小时i7-11800H。建议调试时把开关频率先降到5kHz波形趋势对了再上真实参数。另外直流母线电容的ESR参数对电流纹波影响极大仿真模型里要是没设对实测会翻车。