单相桥式半控整流电路原理与Matlab/Simulink仿真建模分析
单相桥式半控整流电路这个名字在电力电子课程里出现的频率极高。很多电气工程专业的朋友第一次接触晶闸管整流就是从它开始的。最近正好有人在问Matlab仿真的思路我把自己做这个仿真报告的全过程梳理了一遍从拓扑结构分析到模型搭建、参数整定再到故障排查一次说清楚。如果你正在写课程设计报告、准备毕业设计或者单纯想把半控桥的波形特性吃透这篇文章可以直接当参考。1. 半控整流电路的核心原理与设计思路1.1 半控桥的拓扑结构与器件选型逻辑单相桥式半控整流电路从名字上就能拆出两个关键信息桥式结构、半控。所谓半控指的是桥臂上的四个功率器件里只有两个是晶闸管另外两个是普通整流二极管。最常见的拓扑是共阴极接法两个晶闸管的阴极连在一起两个二极管的阳极连在一起交流电源从桥臂中间接入负载接在共阴极点和共阳极点之间。为什么不是全控桥这是很多初学者会问的问题。半控桥的优势在于控制电路简单触发电路只需要两路脉冲而且只用一个晶闸管就能实现整流输出电压的调节成本比全控桥低不少。当然代价也有——它无法实现有源逆变不能把能量回馈电网这在某些需要能量双向流动的场合就不适用了。所以你会在直流电机调速、电镀电源、充电装置这类对成本敏感、单向能量传输的场景里看到半控桥而在需要精密四象限运行的场合基本不用它。器件选型方面仿真中我用的是Simulink自带的Thyristor和Diode模型并未刻意设置复杂的动态参数。有一点容易被忽略晶闸管的导通条件是阳极电压为正且门极有触发脉冲两个条件缺一不可。仿真里如果不注意触发角的时序关系很容易出现“明明给了脉冲却不导通”的情况。1.2 输出电压方程与应用边界条件先看核心公式。单相桥式半控整流电路在电阻负载下输出电压平均值是Ud 0.9 × U2 × (1 cosα) / 2注意这里的U2是交流侧电压有效值α是触发角。这个公式推导的关键在于半控桥在工作时每个电源周期内有两个晶闸管轮流导通每个晶闸管导通角度是π − α。电流在整个正半周和负半周内都有通路所以输出电压波形是两个间隔180度的半波可控波形拼接而成。一个实际计算例子设U2 220Vα 60°计算结果为Ud 0.9 × 220 × (1 cos60°) / 2 0.9 × 220 × 0.75 148.5V这个数值在仿真里可以直接验证误差一般控制在1%以内。α越大输出电压越低α 0时输出最大接近0.9倍U2α 180°时输出为零。但要注意这是理想情况下的推导。如果负载是阻感性的即使α接近180°由于电感储能的存在波形会发生变化无法真正把输出电压降到零这就是失控现象讨论的起点。1.3 触发脉冲生成方式与相位同步做仿真报告时触发脉冲设计是第一个容易卡住的地方。半控桥的触发脉冲必须和电源电压同步而且要做到移相控制。模拟电路里常用同步变压器加RC移相电路在Simulink里就不用这么麻烦了直接搭一个同步触发子系统就行。我的做法是用一个Pulse Generator在每个周期内产生两路相隔π弧度的窄脉冲脉冲宽度设为10度左右触发角由外部参数控制。关键是把脉冲发生器的时基与电源周期对齐——通过Phase参数设置延迟角度同时把触发角α转换为时间延迟。触发角度和时间的换算关系很重要。电网频率f 50Hz时一个周期是20ms半个周期就是10ms。1度电角度对应时间约为0.0556ms。所以α 60°时脉冲延迟时间约3.33ms。这个换算关系要用对否则波形会偏离理论值。2. Matlab/Simulink建模仿真的关键步骤2.1 仿真环境与基础参数设定建模之前先把仿真环境设置好。我习惯用Simulink连续时间域做电力电子仿真因为电源和负载都是连续的物理量用连续求解器更直观比如ode23tb。有些教程推荐离散化仿真但我觉得对初学者来说连续仿真更容易理解波形形成过程而且避免了对采样时间的额外调整。仿真时长建议设为0.1秒也就是5个电源周期。太短了看不到稳态波形太长了数据量大后处理麻烦。编译器选项用默认的即可不需要额外调整。基础参数按常规工程实用值设置电源电压有效值220V、频率50Hz、负载电阻10Ω电感100mH触发角分别考察30°、60°、90°三种工况。这个参数组合有一个好处电流连续和断续的边界都能观察到有助于理解电感对电流波形的影响。2.2 主电路模型搭建方法在Simulink里搭建主电路有两条路径一条是用SimPowerSystems模块库里的晶闸管和二极管模块单独搭建另一条是直接用Universal Bridge模块通过桥臂参数设置成Two-level bridge臂数为2功率器件选Thyristor并指定其中一个桥臂作为二极管。我更推荐前一种——单独搭管子原因很实在它方便设置每个器件的缓冲电路而且在故障排查时能单独查看每只管子的波形。具体搭法交流电压源接在桥臂输入端上面桥臂放Thyristor下面桥臂放Diode两个晶闸管反向并联两个二极管反向并联。中间点接负载负载是RLC串联分支电阻值10Ω电感值0.1H电容值为零就构成了纯阻感负载。负载两端再并联电压表回路中串入电流表。示波器接到两个测量模块上方便后面查看波形。注意晶闸管模型默认带缓冲电路RC缓冲电阻默认1e5Ω缓冲电容默认1e-6F。做波形分析时这些参数基本不影响结果但如果你要计算损耗或者做精确效率分析需要把缓冲电路关掉或设置成实际值。2.3 触发控制子系统的搭建与参数映射触发子系统我用的是最经典的做法“比较器 脉冲整形”方案。它最大的优点是可以直接通过一个常量模块控制触发角修改方便整张模型看起来很整洁。第一步创建同步信号。用一个正弦波源生成与主电源同相的参考电压峰值设为1V相位保持一致。这样做的目的是让触发脉冲的时间基准与电源过零点严格对齐。第二步生成锯齿波或三角波。理想触发电路应该用锯齿波但实现起来麻烦用三角波也能近似就是线性度差一点。我做了一个三角载波频率1000Hz峰峰值为1V与参考电压比较。载波频率要远高于电源频率才能保证比较器的输出边沿精度。第三步是产生触发脉冲。比较器输出的是方波需要用一个脉冲整形环节把方波转换成窄脉冲。我这里用了一个单稳态触发器模式的受控脉冲发生器把触发信号作用在门极上。两个晶闸管的触发信号通过一个1:2的脉冲分配器实现一个在正半周延迟α一个在负半周延迟α。触发角α的映射关系在子系统内部实现。载波每半个周期内线性变化一次α从0到180度对应比较器阈值从某个值变化到另一个值。实测下来用常量模块直接改动阈值波形的移相效果很直观而且不会出现脉冲相位错乱的问题。2.4 参数界面与变量管理的经验做仿真报告难免要反复改参数、对比波形。我的建议是把触发角、负载电阻、电感值、仿真时长全部定义成Matlab工作区变量而不是直接写在模块参数里。这样做有几个好处最大的好处是批量扫描参数特别方便。用脚本一次性扫α 30°、60°、90°、120°四组值每一组用sim()函数跑一次跑完自动存一份波形图几分钟就能把整组对比数据做完。手动点击模型调参数不仅慢而且容易出错。脚本代码示例如下以宏作演示、具体函数名以实际版本为准alpha_list [30 60 90 120]; for k 1:length(alpha_list) alpha alpha_list(k); sim(half_controlled_bridge_model); saveas(gcf, sprintf(waveform_alpha_%d.png, alpha)); end很多人忽略这一步直接在模型里改参数改一次跑一次、截图一次。一次仿真报告做下来光截图就要花一两个小时。从效率角度考虑把参数变量化这个习惯越早养成越好后面做毕设、做科研仿真都是同样的套路。3. 不同负载工况的仿真结果与深度分析3.1 纯电阻负载波形特性与量化验证先跑纯电阻负载。这个工况最简单晶闸管换流过程干净利落电流波形和电压波形形状完全一致正好用来验证整套仿真模型的正确性。α 0时输出电压就是完整的正弦半波整流波形。α 90°时电压波形变成每个半周期只有后半段导通波形出现明显的缺口。把仿真数据用mean函数求平均值和公式算出来的理论值对比误差在1%以内。这就验证了模型搭建的正确性。在做这个仿真的时候有一个细节值得提一下晶闸管关断电流的设定值。模型里面晶闸管的关断电流默认是1e-4A也就是0.1mA。在某些高电压、大功率的仿真里这个值太小会导致关断时刻的仿真步长变得很小拖慢整个仿真速度。实测中把这个值调整到1e-3A对结果的影响可以忽略但仿真速度会明显提升需要特别留意。3.2 阻感负载失控现象模拟与电感续流分析加上电感之后情况就复杂了。阻感负载下电流不能突变晶闸管在阳极电压过零之后、电感储能释放完毕之前依然保持导通状态所以电流波形会出现拖尾。这个现象在α较大的时候尤其明显。最值得关注的是失控现象。所谓失控是指触发脉冲取消或漏发脉冲之后桥路里已经有两只管子导通电感储能通过这两只管子和二极管维持电流输出电压不可控地保持在某个值。此时如果下一周期来了新的触发脉冲导通的管子可能不是预期的那只就会出现输出电压失控的问题。仿真是观察这个过程的最佳方式。我在仿真中特意设置了一个触发脉冲丢失的工况把α设成60°然后在某个周期把触发脉冲去掉。你会看到负载电流并没有立刻断掉而是通过导通的那只晶闸管和二极管续流电压波形出现了一个较宽的导通区间母线电压平均值明显上升出现了预期之外的直流分量。这是半控桥在实际工程运行中最需要警惕的现象。在仿真报告里如果能把这个过程还原出来并分析其原因——电感续流导致晶闸管不能及时关断——会对后续实际系统设计有非常大的帮助。大电感负载如果要安全运行必须加续流二极管让电感和负载通过二极管构成回路防止晶闸管被强制续流导通。仿真中加不加续流二极管波形差别很大值得专门做一组对比。3.3 反电动势负载在工程应用中的局限直流电机负载本质上就是一个反电动势负载它跟电阻负载最大的区别在于晶闸管只有在交流电压瞬时值大于电动机反电动势时才可能导通也就是说即使给出了触发脉冲如果此时的电源电压还低于反电动势管子也不会导通。仿真这类负载时需要在负载支路串联一个直流电压源来模拟反电动势。你会发现电流波形出现间歇性断续导通角度变窄而且电流断续的区间里电压并不为零而是等于反电动势值。这是反电动势负载的一个显著特征。从工程角度讲半控桥用于直流电机调速时有一个天然缺陷由于不能输出负电压电动机制动时能量无法回馈电网只能通过能耗制动电阻消耗。这会在控制电路设计上带来额外的复杂性。在仿真报告里可以明确指出半控桥适用于单向调速、不要求快速制动的场合这个结论能体现你对电路特性理解的深度。3.4 不同触发角的对比分析表为了方便报告展示我整理了一张对比表把不同触发角下输出电压、电流波动情况的仿真统计数值放进去。表里的数值基于默认参数条件实际仿真会略有浮动但趋势一定是一致的。触发角α(度)输出电压均值(V)输出电压纹波系数电流波形特征0198.00.01连续平滑30184.50.10连续脉动增大60148.50.28连续纹波明显9099.00.47临界连续/断续12049.50.80明显断续15013.21.50深度断续窄脉冲这张表做完整个仿真的核心分析就出来了。触发角的增大不仅导致平均电压下降还显著增大了输出电压的脉动程度。这也是为什么实际系统里触发角通常不会调到很大的原因——电压是降下来了但波形质量也变差了谐波分量会明显增加。4. 仿真参数调试细节与常见问题排查4.1 求解器设置与仿真步长的调配电力电子仿真最常见的失败方式就是仿真速度慢到看不下去或者干脆卡死不收敛。这些问题大部分出在求解器设置上。如果你用的是连续求解器建议把最大步长限制设置为1e-4秒也就是0.1ms。晶闸管导通和关断瞬间电压电流变化很快步长太大会错过这些跳变点导致波形像是被“削平”了。太小的步长比如1e-7秒则没有必要会成倍增加计算时间。但需要注意设置了最大步长之后如果模型中某个环节变化特别快比如说触发脉冲的边沿还是要靠自动步长去捕捉。所以正确的做法是设置一个相对合理的最大步长比如1e-4让求解器在大部分区域用大步长在换流时刻自动加密步长这样效率和精度都可以兼顾。我在第一次调试的时候曾经因为把最大步长设成0.005秒也就是5ms导致输出电压波形上出现了非常明显的台阶状假象。把步长缩短到0.1ms之后波形瞬间变得光滑了。4.2 触发不同步、管子不导通等异常排查做这个仿真时最容易遇到三个问题我逐个说一下排查思路。第一个问题电压波形正常但电流波形为零。这种情况九成是晶闸管根本没触发。先看触发脉冲是否到达了门极端口再看脉冲的时序是否在管子正向偏置期间。如果脉冲是在负半周送进去的晶闸管不可能导通。可以用示波器把脉冲和阳极电压同时显示出来检查时序关系。第二个问题波形不对称正半周和负半周的形状不一致。这种情况多半是触发脉冲的相位出了问题常见原因是载波信号没有和电源严格同步。载波相位偏移了哪怕几度都会造成正负半周导通角不同。排查的方法是查看两个晶闸管的触发角是否一致可以通过查看比较器的阈值输出来判断。第三个问题仿真结果和理论计算偏差过大。先说结论大多数时候不是因为仿真有错而是因为管压降和缓冲电路的影响。晶闸管导通之后有一个1V左右的管压降在低压大电流系统里这个管压降占总电压的比例不容小觑。如果看到输出电压比理论值低几个伏特对模型来说属于正常现象。如果偏差巨大达到了几十伏就要回头检查触发角是否正确换算成了延迟时间。4.3 数据后处理与波形图报表呈现技巧仿真跑完数据只是散落的点怎么把它整理成报告里漂亮的波形图和分析结果需要一些后处理技巧。我习惯用to workspace模块把电压、电流数据导到Matlab工作区然后用plot函数自己画图。用Simulink的scope截图虽然方便但做出来的图背景是黑色的字体很小插入报告里不清晰。自己用plot函数画出来的图可以控制颜色、线宽、坐标范围还能在图上直接标注触发角的数值。画波形图有个建议不要只画一个周期也不要画满0.1秒。画两个周期的波形最合适——既能看清波形的周期性又能看清换流细节。电流波形和电压波形画在同一个坐标系里但用不同比例尺这样既有对比又不会互相遮挡。4.4 报告图表规范电力电子仿真报告的波形图有行业通用规范讲几个经验要点横坐标是时间轴单位用秒纵坐标标注电压符号和单位一条曲线只表达一个物理量不要把不同量纲的量混在一张图里。波形图的命名也有讲究不要用“图1”“图2”这种模糊的名字。比如“触发角60度时输出电压与电流波形图”一看标题就知道图里是什么评审老师翻报告的时候体验会好很多。5. 实操过程中的一些体会与扩展方向仿真做完之后我最大的感受是半控桥这个东西虽小但涉及的控制细节一点都不少。如果只是拖几个模块连上线就跑很容易得到一个看起来全是波形、实际上不知道在做什么的模型。真正有价值的是主动设置一些异常工况去观察它的响应——脉冲丢失、负载突变、触发角大范围变化——这些才是实践中真正要面对的问题。关于仿真参数的合理性我想再提供三个小建议第一做参数扫描时建议固定一个变量不要同时改两个以上的参数否则无法判断波形变化是由哪个参数引起的第二仿真模型命名和文件归档要规范不同触发角对应的模型文件建议分开放避免搞混第三仿真只是验证手段最终要回到工程实际——半控桥在大电感负载下不加续流二极管是不可靠的这个结论比任何波形都重要。最后的扩展方向如果你已经把这个仿真跑通了下一步可以做两件事。一是把单相桥式半控改成单相桥式全控对比两者的控制特性和波形差异二是加一个电流内环和电压外环构成闭环控制系统模拟直流电机的调速过程。这些都是在半控桥基础上延展出来的经典课题值得花时间深入研究。