资讯详情

资讯详情

Simulink晶闸管触发电路仿真实战:同步信号与脉冲生成全解析

简介基于MATLAB仿真的触发电路资料面向电气工程及其自动化专业学生、电力电子方向学习者及工程师系统讲解晶闸管相控电路触发电路的设计原理与Simulink仿真实现。资料从触发信号功率、同步触发、脉冲宽度与前沿陡度、触发区域及移相范围等核心要求入手并结合单相全控触发电路模型说明利用Mux合并信号、Hit Crossing检测过零点、积分器生成同步信号、RS触发器与逻辑运算产生触发脉冲的建模过程可帮助读者理解触发角α如何控制输出电压并掌握在Simulink中调节参数、分析波形的方法。压缩包共1个文件为docx格式约1.07MB正文包含原理讲解、仿真模块说明及不同触发角与脉宽下的输出波形结果适合课程设计、实验报告撰写及自主仿真练习使用。目前已有158人学习浏览可作为电力电子技术相关课题的参考素材。1. 触发电路仿真的起点同步信号与触发角α的相位映射很多人第一次搭晶闸管整流仿真时直接用Pulse Generator往门极送信号结果负载电压波形和教材公式对不上。问题往往不在整流桥而在触发脉冲的相位基准没有和电网电压对齐。触发电路的功能可以概括为在晶闸管自然换相点之后延迟α角度送出宽度和前沿都满足要求的门极脉冲。也就是说控制角α不是直接发给晶闸管的角度值而是要转换成相对同步信号的延时时间。MATLAB/Simulink里常见的做法是用Hit Crossing检测同步信号过零点用积分器把时间映射成电角度再通过比较器和RS触发器生成脉冲。这个方案不需要复杂的模拟电路全部由模块组合完成适合做相控整流预验证。下面从触发脉冲的硬性指标、Simulink模块拆解、桥式整流联动三个层面展开最后落在几个容易让人卡住的仿真坑上包括脉冲丢失和仿真发散。2. 触发脉冲设计的三道门槛同步、功率、脉宽与移相触发电路不是一个简单的信号发生器。在晶闸管相控电路中它必须同时满足同步、功率、脉宽和移相范围这四个约束。忽视任何一个仿真波形都会偏离理论。2.1 同步信号触发脉冲的相位“锚点”为保证每个工频周期都在同一个相位触发晶闸管触发脉冲必须与主回路电源电压保持固定相位关系。常见的做法是从同步变压器取同步信号经过阻容移相后送给触发电路。在Simulink仿真里没有实际电网同步信号通常就是主电路电源电压本身或者一个同频同相的正弦源。检测自然换相点一般用Hit Crossing模块方向设置为rising也就是在同步电压由负变正的时刻产生一个脉冲。自然换相点就是这个上升沿它是触发角α的起点。这里容易忽略一个问题同步信号相移是否和主电路电压匹配。如果同步源设置了非零初相比如30°那么触发脉冲也会跟着平移30°导致输出电压平均值异常。我一般会在搭建模型前先给同步源相位设成0并在Scope里同时观察同步电压和过零脉冲确认起点对齐。2.2 触发功率和脉冲宽度从理论值到Simulink参数真实晶闸管要求触发电压和触发电流大于门极触发阈值并且脉冲功率不能超过允许的瞬时最大功率。这些在Simulink的晶闸管模型里通常弱化因为Simscape/SimPowerSystems中的晶闸管门极只要收到逻辑高电平就会导通。但脉宽和前沿陡峭度不能省。单相桥式全控整流电路使用单脉冲触发时脉宽应取60°~120°如果使用双脉冲触发每路脉冲只要10°左右即可。原因是如果脉冲太窄晶闸管阳极电流还没来得及升到擎住电流脉冲就掉了元件会重新关断。在纯阻性负载下擎住电流的建立非常快窄脉冲还能用但电感性负载下电流不能突变必须把脉宽加宽。这里给出角度与时间的换算freq 50; % 电网频率50Hz sec_per_deg 1 / (freq * 360); % 每度电角度对应时间单位秒 alpha 30; % 触发角30度 delay alpha * sec_per_deg; % 触发延迟时间 pulse_width 20 * sec_per_deg; % 20度脉宽对应时间 fprintf(触发角 %d° 延时 %.6f 秒, 脉宽 %.6f 秒\n, alpha, delay, pulse_width);这段代码把触发角和脉宽都转换为仿真里的时间物理量。在连续积分器方案中积分器斜率等于电源频率Freq那么一个周期1/50秒积分值正好是1对应360°。每度对应积分值1/360。因此想让Relational Operator在α度时跳变给定阈值可以直接用α/360。这样设定的好处是仿真波形中看到的触发角可以直接和理论计算的延时对应不需要手动调传递函数。2.3 移相范围由主电路类型决定的行为边界触发脉冲的移相范围不是越大越好。单相全控整流在纯阻性负载下理论移相范围是0°~180°但实际要考虑最小触发角限制和器件关断时间。α太小时触发脉冲可能落在自然换相点前和同步信号冲突α太大时脉冲落在下一个换相点之后无法维持正常整流。在Simulink里如果设置α150°纯阻性负载时输出电压平均值已经很低波形会明显出现断续。对于触发电路设计建议范围如下表参数推荐范围说明触发角α0°~120°阻性超过后进入逆变区或波形断续脉冲宽度20°~120°单脉冲感性负载取下限60°以上同步源相位0°偏移会导致触发角偏差触发脉冲类型布尔型/double必须转换后驱动晶闸管门极移相范围这个约束在仿真中容易被忽略很多新手直接把α设为180°想看波形结果Scope里看不到导通段。正常做法是先确认负载性质再决定α可调范围。比如电阻负载可以调到接近180°但输出波形会和α150°时几乎重叠。3. Simulink单相触发电路建模从Hit Crossing到RS触发器这一章进入模型内部。单相触发电路的两路输入分别是给定触发角和控制使能一路同步信号在模块内部被反相扩展为互差180°的两路同步基准。这里把每个模块的作用和参数讲清楚方便对照自建。3.1 信号流拆解两路输入如何变成触发脉冲先看整体路径。同步电压进入后先复制一路并乘以-1作为下桥臂的同步基准。Mux把这两路信号合并成一路向量后续的Hit Crossing对每一路分别检测过零点。上升沿脉冲一方面送到积分器的外部复位端把积分值归零并重新开始积分另一方面转成布尔量送到RS触发器的复位端。积分器斜率为电网频率所以当同步脉冲到来时积分器从0开始按每秒钟50的斜率累加。在触发角α到达之前Relational Operator1的两个输入中积分输出一直小于给定阈值输出为0。当积分值越过阈值Relational Operator1翻转为1。这个信号再和同步脉冲产生的使能信号做逻辑与得到一个精确的启动沿触发第二个积分器Integrator1开始积分。Integrator1同样以50的斜率积分当它的输出超过脉宽阈值时逻辑输出回到0形成一个宽度可调的方波。最后把布尔型信号转换为double连接到晶闸管门极。3.2 积分器斜率与触发角阈值的数值设定这段是整个触发电路能按角度触发的基础。积分器采用连续时间积分模块假设电源频率是50Hz一个工频周期是0.02s。积分器以斜率50积分0.02s后积分值等于1。而一个周期对应360°电角度所以积分输出1表示360°0.5表示180°α/360就表示α度。Relational Operator1的阈值常数块直接填写α/360。例如α30°时填0.08333α90°时填0.25。脉宽阈值同理20°脉宽对应0.05556。这样不需要额外计算时间常数所有角度设定都统一在“归一化角度”体系里。下面这段脚本可以快速生成建模块需要的常数alpha 30; % 触发角 pulse_deg 20; % 脉宽 threshold_alpha alpha / 360; threshold_width pulse_deg / 360; fprintf(alpha/360 %.4f\n, threshold_alpha); fprintf(pulse_width/360 %.4f\n, threshold_width);逻辑很直接积分器输出从0增长到1比较器在越过阈值时翻转。需要留意的是积分器初始条件必须为0否则第一个周期的触发角会偏离设定值。另外外部复位触发方式可选“rising”这样只有同步信号的上升沿才会让积分器归零下降沿不会产生影响。3.3 RS触发器与Memory避免同步脉冲和触发脉冲的相位竞争在Simulink里如果不加Memory模块同步脉冲和触发脉冲可能在同一仿真步长内到达RS触发器导致逻辑状态不确定。具体现象是触发角较小时触发脉冲紧跟着同步脉冲出现RS触发器尚处在复位状态触发沿被复位吃掉脉冲直接丢失。原文中Memory模块的作用就是把触发信号向后延迟极小的一段时间避开同步脉冲。我一般会在Logical Operator输出后串联一个Memory模块并设置初始值为0。Memory模块在离散仿真中相当于一个单位延迟输出比输入慢一个采样步长。这个细微的错位让RS触发器先完成复位再接受置位信号。如果用的是变步长连续求解器Memory仍然会引入一个步长延迟足以打破代数环。不过要注意Memory模块不能乱用它会让触发脉冲整体延迟一个步长这个步长通常只有微秒级或更小对触发角影响可以忽略。下表是核心模块的参数推荐值照着搭成功率较高模块参数名推荐值Hit CrossingHit crossing directionrisingIntegratorInitial condition0Integrator1Initial condition0Relational Operator1OperatorConstant触发角阈值Valuealpha/360Constant脉宽阈值Valuepulse_deg/360MemoryInitial condition0RS触发器如果使用Simulink标准库里的SR Flip-Flop需要设置初始状态Q为0。如果没有这个模块也可以直接用两个与非门自己搭但不如标准模块稳定。整条信号链中布尔型和double型转换要特别小心。晶闸管门极通常希望接受double信号而Hit Crossing输出的是double逻辑运算后可能会变成boolean需要用Data Type Conversion把boolean转成double。4. 单相桥式全控整流联动从触发脉冲到负载电压波形触发电路不能孤立运行必须放到整流电路中验证。单相桥式全控整流是触发电路最直接的试验台工程上常用来验证触发脉冲的相位和宽度。4.1 整流桥导通区间与负载电压波形单相桥式全控整流电路有四个晶闸管VT1、VT4组成共阴极VT2、VT3组成共阳极。在u2正半波VT1、VT4承受正向电压负半波是VT2、VT3。正常工作情况下任意时刻两个晶闸管同时导通把电源电压加到负载电阻上。触发角α从自然换相点开始计所以相位区间导通晶闸管负载电压ud晶闸管端电压0~α无0VT1,4VT2,3(1/2)u2α~πVT1,VT4u2VT1,40, VT2,3u2π~πα无0VT1,4VT2,3(1/2)u2πα~2πVT2,VT3-u2VT1,4u2, VT2,30注意u2在负半周是负值所以-u2实际上符号为正。从整体看负载电压是脉动的直流每个电源周期脉动两次。α30°时导通区间宽平均电压高α90°时两个半波都只有一半时间导通平均电压降低α120°时波形更窄平均值很小。4.2 Simulink模型搭建步骤与参数设置在Simulink中我一般这样搭从Simscape/Electrical/Specialized Power Systems里放入AC Voltage Source设置Peak amplitude为220*sqrt(2)Frequency为50。用四个晶闸管搭成单相桥晶闸管参数保持默认但要注意把Snubber电阻和电容设为合适的值比如Rs1000ΩCs1e-6F避免仿真发散。负载用纯电阻R10Ω加一个Current Measurement和Voltage Measurement。把触发电路输出的两路脉冲分别接到VT1、VT4和VT2、VT3的门极。注意脉冲信号必须是每周期两个脉冲其中一个反相180°。用Powergui模块选择离散仿真固定步长设为1e-5秒停止时间设为0.04秒也就是两个工频周期。在运行前可以先算一下理论输出平均值方便和仿真对比U2 220; % 变压器二次侧有效值 alpha 30 * pi/180; % 触发角转弧度 Ud 0.9 * U2 * (1 cos(alpha)) / 2; fprintf(理论平均电压: %.2f V\n, Ud);如果仿真结果和这个计算值差太多优先检查触发脉冲是否在正确的相位出现。最简单的方法是把同步电压、触发脉冲和负载电压放到同一个Scope里缩放一个周期观察触发脉冲的下降沿是否落在α位置。注意Scope里可能看到触发脉冲非常窄需要勾选“Display full port”或者把采样步长调小。4.3 波形异常与仿真发散的处理纯阻性负载下α30°、60°、90°的仿真结果应该是一个周期脉动两次的波形且随着α增大导通角减小波形缺口变宽。如果出现波形突然变成一条直线多半是触发脉冲没接到对应晶闸管门极如果波形出现高频震荡多半是求解器步长太大。仿真发散是触发电路模型最常见的问题之一。原因通常是晶闸管在开关瞬间电流变化率极高默认变步长求解器为了追上这个变化率而不断缩小步长最终数值溢出。我的做法是先把powergui设为离散仿真固定步长1e-5秒如果仍然发散就把晶闸管的Snubber电阻调小比如100Ω或添加一个小电感串联在交流侧。另外触发电路中的积分器在连续和离散求解器下行为略有差异离散仿真时积分器必须用Discrete-Time Integrator避免“仿真发散”或者输出NaN。5. 触发电路仿真的隐藏坑从仿真发散到脉冲丢失触发电路模型不大但坑不少。这里说几个我实际踩过的点都是容易卡很久的问题。5.1 怎么快速验证同步信号相位很多脉冲丢失都是同步信号与主电路电压不同步导致的。建议在模型里加一个“Scope”把同步电压、Hit Crossing脉冲和触发脉冲一起显示。正常情况下触发脉冲前沿应该出现在同步电压过零后α°的位置。如果发现触发脉冲出现在过零前说明积分器复位信号方向选错或者同步源有相移。5.2 解决触发脉冲“一闪而过”Scope看到的脉冲只是一个点不代表脉冲宽度没设对。这是Scope采样时间设置导致的。打开Scope配置把采样时间改成连续或者取消“Limit data points”再放大查看。另外布尔型信号的显示方式也可能让脉冲看起来只有薄薄一条线可以在Data Type Conversion里把布尔型转成double并在Scope里用“Color”区分两路波形。5.3 为什么Memory模块不能随便删前文提到Memory模块是为了错开同步和触发脉冲。实际操作中有人发现删掉Memory后模型能跑波形看起来也正常那是因为步长比较大竞争被掩盖了。一旦把步长降到1e-5秒以下丢脉冲问题就会暴露。所以建议保留Memory初始值设为0不要图省事。5.4 用脚本检查触发脉冲周期最后给一个验证脚本可以自动检查两路触发脉冲的上升沿间隔是否为20ms% 假设t为时间向量y为第一路触发脉冲信号 y_rising diff(y 0.5) 0; t_rising t([false y_rising]); % 上升沿时间 period diff(t_rising); % 相邻周期性 disp([脉冲周期: , num2str(period(1)*1000, %.3f ms)]);如果输出不是约20ms说明触发脉冲相位或频率有问题。这个脚本特别适合从Scope导出波形数据后快速验证比肉眼判断可靠性高得多。本文还有配套的精品资源点击获取
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →