混合型MMC多电平仿真:整流侧双闭环环流抑制及均压控制的仿真搭建
混合型MMC多电平整流侧仿真加入了电压电流双闭环环流抑制子模块电容电压均压控制采用载波移相调制 PS仿真搭建不易仅一个仿真最近在实验室熬了几个通宵终于搞定了混合型MMC多电平整流侧的仿真。这玩意儿真是电路拓扑和控制策略的缝合怪光是让仿真能跑起来就烧了我三杯咖啡今天必须把踩过的坑记下来。先说说控制架构这个重头戏。电压外环套电流内环的双闭环结构算是基本操作了但实际调试时PI参数差点让我头秃。电流环的响应速度必须比电压环快三倍以上否则动态过程直接给你表演波形震荡。贴段核心代码感受下function [id_ref, iq_ref] outer_voltage_loop(vdc_actual, vdc_ref) persistent integral_term; if isempty(integral_term) integral_term 0; end error vdc_ref - vdc_actual; integral_term integral_term 0.001*error; // 积分系数别乱动 id_ref 0.5*error integral_term; // 外环输出作为内环的d轴给定 iq_ref 0; // q轴在整流模式先置零 end这个积分系数调了二十多遍才不发散建议新手先拿0.001试手。注意这里iq_ref没启用因为本次仿真是纯整流模式但架构里已经预留了逆变模式的接口。环流抑制绝对是个磨人的小妖精。当子模块数量超过20个时相间环流可能达到工作电流的15%这时候得祭出环流抑制控制器。关键是要提取出二倍频分量我用的是移动平均滤波器搭配陷波器的组合拳def circulating_current_detect(arm_current): window_size int(3 * fs / f0) ma_filter np.convolve(arm_current, np.ones(window_size)/window_size, modesame) # 50Hz陷波器设计 b, a signal.iirnotch(2*f0, 30, fs) # 特别注意是二倍频 filtered_current signal.filtfilt(b, a, arm_current - ma_filter) return filtered_current这里有个隐藏的坑——陷波器相位延迟必须补偿否则抑制信号会和实际环流错位。仿真时因为这个延迟导致过压炸过两次电容模型血泪教训。混合型MMC多电平整流侧仿真加入了电压电流双闭环环流抑制子模块电容电压均压控制采用载波移相调制 PS仿真搭建不易仅一个仿真子模块均压控制我用了经典排序法结合占空比补偿。每个控制周期都要对上百个电容电压做快速排序这里用了C语言的qsort函数硬刚int compare_voltage(const void* a, const void* b) { return (*(Submodule*)a).v_cap (*(Submodule*)b).v_cap ? 1 : -1; } void balance_control(Submodule sm[], int size) { qsort(sm, size, sizeof(Submodule), compare_voltage); // 前10%的模块减少投入时间 for(int i0; isize/10; i){ sm[i].duty_cycle * 0.95; } // 后10%的模块增加投入时间 for(int isize-1; isize*0.9; i--){ sm[i].duty_cycle * 1.05; } }实测这个暴力排序法在200个以下子模块时还能扛住超过这个数量级得换更聪明的分组排序算法。不过本次仿真只有63个子模块先凑合用着。载波移相调制部分最怕时序不同步我用了FPGA里常见的相位累加器思路。每个桥臂的载波相位按360/N度偏移这里N7always (posedge clk) begin phase_acc phase_acc 7d21; // 21360/17≈21.17 取整 if(phase_acc 360) phase_acc phase_acc - 360; carr_wave (phase_acc 180) ? phase_acc : phase_acc-360; end这里有个骚操作——用7位寄存器实现相位累加故意制造量化误差来观察对THD的影响。结果发现当子模块数超过30时这点误差基本可以忽略不计。仿真跑通那一刻我差点给电脑磕了个头。示波器上跳出来的波形堪称艺术品直流电压稳如老狗交流侧电流THD只有2.3%最绝的是各电容电压偏差被死死压在±3%以内。不过说真的这玩意儿的复现难度堪比用乐高搭埃菲尔铁塔——每个控制环都在互相伤害参数整定全靠玄学。建议后来者先吃透理论再动手别像我一样头铁硬肝。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2423036.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!