电压电流双闭环Vienna整流器SVPWM调制仿真研究
基于电压电流双闭环的vienna整流器的仿真(SVPWM调制)最近在实验室折腾Vienna整流器双闭环调得我差点把示波器砸了。这玩意儿看着电路拓扑对称美如画真调起来参数互相打架是常态。今天就结合仿真说说怎么让电压电流双闭环稳住顺便把SVPWM那套空间矢量调制的门道捋清楚。先看整体架构图1三电平结构特有的中点电位平衡问题得靠算法硬刚。我在Simulink里搭模型时发现直接上传统PI控制器根本压不住直流侧电压波动。后来把电压外环改成带前馈补偿的PI效果立竿见影% 电压外环PI参数 Kp_v 0.8; Ki_v 50; //前馈项计算 ff_term sqrt(3)*Vgrid/(2*Vdc_ref);这里的前馈项就像给系统装了个预测眼电网电压Vgrid波动时提前调整控制量。调试时注意积分项别给太大否则负载突变时直流侧会有明显的过冲。基于电压电流双闭环的vienna整流器的仿真(SVPWM调制)电流内环才是真正的战场。刚开始用同步旋转坐标系下的PI控制结果总谐波含量THD死活压不到5%以下。后来切到静止坐标系用PR控制器代码里多了个谐振项//αβ坐标系电流控制 err_iα iα_ref - iα_actual; err_iβ iβ_ref - iβ_actual; //PR控制器实现 output_α Kp*err_iα Ki*(err_iα/(1 s*T) ) Kr*s/(s^2 ω0^2)*err_iα;这个谐振项专门针对基波频率设计相当于在50Hz处开了个无限增益的口子。实际调试发现谐振带宽设2Hz左右时既能保证跟踪精度又不会引入高频噪声。说到SVPWM实现新手最容易栽在扇区判断上。有次连续熬夜后我把扇区判断条件写反了仿真结果直接变成抽象派艺术。正确的六扇区划分应该这样v_alpha Vα v_beta Vβ sector 0 if v_beta 0: sector 1 if -0.5*v_alpha - 0.866*v_beta 0: sector 2 if 0.5*v_alpha - 0.866*v_beta 0: sector 4 sector (sector % 6) 1 # 最终扇区1~6这个几何判断比纯三角函数计算快得多适合在DSP里跑实时控制。注意最后取模运算有个坑——当αβ分量同时为零时要单独处理否则会算出非法扇区。调制波生成阶段传统七段式调制会产生更高的开关损耗。我改成五段式调制后开关器件温升直降15℃。关键在作用时间分配//五段式时间计算 t1 Ts*(1 - sqrt(3)*Vbeta/Vdc) t2 Ts*(sqrt(3)/2*(Valpha Vbeta/Vdc)) t0 Ts - t1 - t2; //时间分配策略 if sector in [1,3,5]: apply_times [t1, t2, t0] else: apply_times [t2, t1, t0]调试中发现中点电位漂移问题不能全靠调制算法要在电压环里加入平衡项。后来在直流侧电容电压差检测环节加了滞环控制类似这样function delta_V midpoint_balance(Vc1, Vc2) persistent hist_err; delta_V (Vc1 - Vc2)/2; if abs(delta_V) 5 % 滞环阈值5V hist_err delta_V * 0.01; //积分系数 end end这招把中点电位波动压在了±3V以内比单纯靠软件平衡靠谱多了。最后上个仿真波形图2THD成功压到3.2%直流侧电压纹波不到1%。调这玩意儿的经验就是参数别迷信理论计算准备好咖啡和耐心边调边看波形才是王道。哪天示波器上出现完美正弦波时你会觉得之前掉的头发都值了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2495614.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!