我要提问
ARTICLE DETAIL

资讯详情

前沿编程新知与开发实战干货的深度解读。

逻辑无环流可逆直流调速系统Matlab仿真全解析

逻辑无环流可逆直流调速系统Matlab仿真全解析 很多刚接触电力拖动与自动控制方向的同学看到“逻辑无环流可逆直流调速系统的Matlab仿真研究”这个题目时第一反应多半是问它到底在研究什么这个系统里“可逆”容易理解但“逻辑无环流”六个字组合在一起就显得既严谨又陌生。简单说这是一个让直流电机既能正转又能反转、既能电动又能回馈制动的速度控制系统核心要求是换向时不允许两组变流器之间产生环流。这篇文章会把这个系统的物理背景、控制逻辑、Matlab/Simulink建模方法、参数整定与波形分析完整拆开讲同时穿插我实际调试仿真模型时踩过的坑。无论你是正在做课设、准备竞赛还是想把这套经典系统搬到新平台上这篇文章都应该能给你一份可以直接参照的操作路径。1. 可逆直流调速的需求从单象限到四象限的跃迁1.1 电机四象限运行到底意味着什么直流电机调速系统里“可逆”不是指换个电源正负极那么简单。真正意义上的可逆调速要求电机能够在机械特性的四个象限内运行。把电机的转速作为横轴、转矩或者说电枢电流作为纵轴第一象限是正转电动电机从电网吸收电能输出机械能带动负载第二象限是正转回馈制动电机把动能转成电能送回电网同时产生制动转矩让转速下降第三、第四象限对应反转电动和反转回馈制动。为什么要做到四象限运行因为实际工况并不总是一根筋往前转。常见的卷扬机、龙门刨床工作台包括许多数控机床的进给机构都在频繁地升速、降速、反向。如果不具备回馈制动能力减速只能靠能耗制动或者机械刹车能量白白变成热量而且速度响应慢、冲击大。可逆调速系统解决的就是这个痛点它能让电机在四个象限之间平滑切换既满足工艺要求又保留能量回馈的经济性。以我调试的模拟项目为例负载是典型的大惯量卷扬机构它需要重物提升正转电动、提升中减速正转回馈、下放重物反转电动或倒拉反转运行整个过程就是一套标准的四象限工况。只用一组晶闸管变流器提供单向电流是远远不够的必须设计能在两个电流方向上都可控的功率电路。1.2 反并联接线与“电流方向”的本质矛盾那么问题来了晶闸管本身是单向导电元件一组三相桥式全控整流电路电流只能从交流侧流向直流侧负载无法反向。要让电枢电流能够反向常见的措施是再增加一组变流器两组反并联连接。一组负责正方向电流称为正组另一组负责反方向电流称为反组。这个接线方式本身不复杂复杂的是控制关系。两组变流器共用一个直流母线或者说共同接到电枢两端如果两组同时处于工作状态它们会互相构成通路在两组变流器之间产生环流。这里的核心矛盾在于逻辑无环流系统的全部设计目标就是为了在两组变流器之间做“取舍”——让系统获得双向电流能力的同时又绝不允许两组同时导通。刚接触这个领域时容易产生一个误区既然只让一组工作、另一组封锁那不就和单组变流器差不多了吗区别在于切换动态。工程要求的是在电机从正转切换到反转的瞬间封锁正组、开放反组这个过程必须非常快速且平滑。如果切换逻辑设计不当轻则电流断续严重、转矩波动重则造成逆变颠覆或过流跳闸。所以可逆调速的真正难度不在稳态而在切换瞬间。2. 环流的物理成因与两类环流的分水岭2.1 直流环流与交流环流的机理环流是指除负载电流之外在两组变流器之间流动的电流。它分为两类直流环流和交流环流。直流环流产生的根源是两组变流器的直流侧平均电压不等。设正组变流器工作在整流状态输出电压为正值反组如果也开放触发且其触发角设置使得它的直流侧平均电压也为正值那么两个电源正对正地连在一起由于线路电阻和晶闸管管压降都很小会产生很大的直流短路电流。交流环流则因为两组变流器的输出电压瞬时波形不可能完全一致即使平均电压相等瞬时值的差值也会在两组之间产生脉动电流。为了限制交流环流传统方案会在两组变流器之间串联均衡电抗器。这个方案被称为“有环流系统”它的触发控制采用αβ配合方式两组始终同时工作但触发角互补。这样换向过程非常平滑但代价是必须用均衡电抗器把环流控制在允许范围内变压器容量也要额外考虑环流分量设备成本和损耗都不小。逻辑无环流系统干脆换了一个思路既然环流有害我不让两组同时导通不就行了通过逻辑控制器根据系统需要的电流方向在任意时刻只开放一组变流器另一组彻底封锁。因为不存在同时导通的可能环流从根本上被消灭均衡电抗器都可以省掉装置体积和成本明显下降。这也是“逻辑无环流”这个名字的由来。2.2 环流不灭的代价为什么非要消灭它有人可能会问留一点小环流不行吗实际运行中环流绝不是“有一点问题不大”的事情。环流不经过负载只流经两组变流器构成的回路相当于设备内部的无效功率损耗。严重时环流会使晶闸管过热、变压器发热甚至直接触发过流保护。更为隐蔽的问题是环流会影响系统对电流方向的判断。逻辑无环流系统需要根据电枢电流是否真正降为零来决定是否允许切换。如果存在环流即使电枢电流已经为零变流器内部还有环流在流动零电流检测器很难判断正确的切换时机切换动作就可能发生在电流还在续流的时刻进而引起逆变颠覆。所以我个人建议在设计仿真模型时先不要把注意力放在加不加均衡电抗器上而是要先把逻辑切换关系的可靠性建立起来这才是整个系统的地基。有一说一逻辑无环流方案在动静态性能上不如有环流系统那么连续顺滑因为它存在切换死区。但死区时间选得合理对大多数工业应用而言性能损失完全可以接受而省掉的电抗器成本和损耗带来的收益却非常明显。3. 逻辑无环流的核心策略两组变流器的轮班逻辑3.1 逻辑控制器的输入信号与判断规则逻辑无环流的控制核心是所谓“逻辑控制器”。它的任务可以用一句话概括根据系统的运行状态决定此刻应该开放哪一组变流器。那么它依据什么来决策呢两个关键信号转矩极性指令和零电流检测信号。转矩极性指令反映的是系统当前需要的电磁转矩方向。这个信号通常来自速度调节器的输出。当速度给定高于实际转速系统需要电动加速时速度调节器输出的电流指令为正值逻辑控制器就开放正组当需要制动减速时电流指令变成负值逻辑控制器就准备把工作权交给反组。这里要注意转矩极性指令只是“需求”真正能不能切换还要看另一个信号——零电流检测。因为晶闸管一旦导通即使触发脉冲撤除电流要等自然过零才能断掉。如果此时两组变流器的触发脉冲都已经撤除但是电枢电流还在续流立即开放另一组变流器会形成类似桥臂直通的危险状态。所以必须等电枢电流真正降到零确认本组晶闸管全部恢复阻断能力之后才允许切换。实际上我在仿真模型里使用的判断逻辑是如果上一时刻工作的是正组当前转矩极性指令变为负并且零电流检测信号为真则封锁正组进入死区延时然后开放反组。反之亦然。这段逻辑用最基本的与门、非门、RS触发器就能在Simulink中搭出来也可以用Stateflow状态机来实现后者更直观调试的时候能清楚看到每一个状态跳变。3.2 切换时序封锁、确认、死区、开放整个切换过程必须严格按时序执行每一步都有它的物理原因。以正组切换到反组为例系统检测到转矩极性指令由正变负逻辑控制器立即封锁正组的触发脉冲。这个封锁动作要快最好在一两个采样周期内完成。电枢电流并不会立刻消失因为电感续流电流还要经过一段自然衰减时间。此时零电流检测器持续输出“电流未为零”信号切换进程被挂起。电枢电流降到零零电流检测器输出有效逻辑控制器确认正组晶闸管全部关断此时进入死区延时。死区时间一般取3~10毫秒目的是确保晶闸管恢复正向阻断能力同时给触发单元留出完整的重新同步时间。死区结束后逻辑控制器向反组发出开放信号。但反组的触发角不能直接按当前的电流指令来给而是要先给到逆变最小角β_min对应的触发角让反组在逆变状态下等待防止开放瞬间产生冲击电流。反组建立稳定后速度调节器的电流指令重新恢复对触发角的连续控制系统进入新的稳态。这几个步骤里死区延时和β_min的预置配合是最容易出问题的地方。死区设置太短切换瞬间会有电流冲击太长切换过程拖泥带水转速响应出现明显的停顿感。我在模型中一般先按5ms设置再根据波形微调。3.3 配合控制α_min与β_min的约束前面多次提到α_min和β_min这组参数是晶闸管变流器可靠运行的基本保障。α_min是整流状态的最小触发角限制一般取30度左右β_min是逆变状态的最小逆变角限制一般取30到40度对应触发角150度左右因为βπ-α。它的作用是防止触发角过于靠近零度或者180度。整流时如果α太小电流上升过快晶闸管开通瞬间的di/dt会超过允许值逆变时如果β太小换流裕量不足晶闸管可能在承受反压时间不够的情况下被再次触发造成逆变颠覆。逻辑无环流系统的切换瞬间最容易出现这个问题当反组以逆变方式预置时如果β_min设置不正确切换瞬间的电流冲击很可能把反组晶闸管直接“击穿”。在实际Simulink模型中我会在触发角计算环节加一个Saturation限幅模块把最终的触发角限制在30度到150度之间。这样不管速度调节器输出怎么变化晶闸管组都不会进入危险触发区域。这个过程看起来只是加一个饱和模块但它的意义正是把物理系统的安全边界量化到控制逻辑里。4. Matlab/Simulink仿真模型搭建全流程4.1 顶层模型结构与模块选型这部分是实操内容。我建议把整个仿真模型拆成五个子模块三相交流电源、两组晶闸管变流器、直流电机本体、触发脉冲发生器、逻辑控制器与速度电流双闭环调节器。Simulink里面三相交流电源用Three-Phase Source模块注意把内阻设置成实际变压器的短路阻抗参数太理想的内阻会让仿真波形失去参考价值。两组晶闸管变流器我使用的是Universal Bridge模块桥臂选Thyristor这样可以直接接收来自同步触发单元的脉冲信号。直流电机直接用Simulink自带的DC Machine模块励磁方式设为它励Separately Excited并把励磁电压设为一个常数这样负载转矩变化时磁场不会波动。速度环和电流环用标准的PID调节器。这里有个经验先整定电流环再整定速度环。电流环的响应速度要远快于速度环带宽大致是速度环的5到10倍这样多层嵌套控制才不会出现振荡。我在模型中电流环比例系数大概在3到5积分时间常数20ms左右速度环比例系数较小积分时间常数相对长一些具体数值要根据电机参数试凑。4.2 逻辑无环流控制器的建模实现我采用了在Simulink里用逻辑门搭建方案同时用Stateflow做了一个可选的对照版本。逻辑门版本透明、易查线适合课程设计展示原理Stateflow版本状态跳转清晰适合调参时快速定位问题。逻辑门版本的核心是一个RS触发器。把转矩极性指令的符号作为S端输入把经过零电流检测信号和方向信号组合后的复位条件作为R端输入。输出端经过一个分解器一路控制正组的脉冲使能端另一路反向之后控制反组的脉冲使能端。这里有个关键细节必须在使能信号和脉冲发生器之间加入一个On/Off Delay模块作为逻辑切换死区。我最初直接连过去发现从正组切到反组时电流波形出现毛刺原因就是切换瞬间反组的第一个脉冲相位不对。加入5ms延迟后波形立刻干净了。零电流检测器不必单独写模块用电流测量值取绝对值再和一个很小的阈值比如额定电流的2%比较即可。要注意的是阈值不能设得太小否则测量噪声会导致误判也不能太大否则电流还没真正断逻辑就已经认定为零切换时会有冲击。通常取额定电流的2%到5%之间仿真里可以稳定工作。4.3 参数设置清单从电源到电机的完整数值下面给出一套可以直接运行的参考参数。这套参数是我在模拟项目中反复调整后固定的对应一台小功率直流电动机很适合入门复现。参数项数值说明三相电源线电压380V50HzY接变压器变比380V/220V可省略直接设电源220V直流电机额定电压220V电枢回路额定电枢电阻0.5Ω影响电流环增益电枢电感50mH影响电流响应速度额定转速1500rpm速度环基准额定电枢电流20A过流保护参考触发角限幅30°~150°α_min/β_min约束逻辑死区5ms切换死区延时零电流阈值0.4A额定电流的2%速度给定1000rpm阶跃给定便于观察有一点需要特别说明直流电机模块的转动惯量J会显著影响速度环调试。如果仿真中的J设置得太大速度环积分时间常数要相应拉长太小的J则容易在阶跃给定时出现转速过冲。我做实验时先把J设成额定条件下的标称值整定好速度环后再调整到实际负载值这样可以使调试过程更平滑。5. 仿真结果分析与波形解读5.1 起动-制动-反向全过程的预期波形搭建好模型后我通常会设置一个完整的运行周期来验证系统行为0到1秒正向起动到500rpm并稳定1到2秒保持匀速2秒时速度给定跳变到-500rpm命令系统经过正向制动、转速过零、反向起动三个阶段最终稳定在-500rpm。这段波形是整个仿真研究中最能说明问题的地方。正向起动阶段电流环输出正电流正组处于整流状态电流迅速上升速度按积分特性缓慢上升。到了回馈制动阶段速度调节器输出反向电流指令逻辑控制器封锁正组、开放反组反组以逆变状态工作把机械动能转换成电能回馈电网电流方向负向转速平缓下降。转速过零的时刻最值得关注。理想情况下转速从正到负穿过零点的过程中电流方向也完成切换整个系统不会出现明显的速度死区。但如果逻辑死区设得太长过零阶段会出现转速短暂停滞波形呈阶梯状工艺上表现为换向“发愣”。我调试时遇到过这种情况把死区从10ms减小到5ms后过零停滞明显改善。5.2 切换时刻的电流断续与死区影响电流不连续是逻辑无环流系统的固有现象但我们要区分“允许的断续”和“失控的断续”。允许的断续发生在切换瞬间电流短暂降到零持续几个毫秒属于逻辑切换的必要代价。失控的断续则表现为整个调流过程中电流频繁间歇这说明电流环参数不合适或者零电流检测阈值偏大。判断方法很简单观察电流波形包络线。如果电流断续的宽度只在切换死区附近其他时间段电流连续而且与电流环给定一致说明系统工作正常。如果电流波形像一串稀疏的点毫无连续感那就需要检查电流环积分时间常数是否太小、晶闸管触发角是否频繁跃变。我在实验中还注意到一个小现象反组开放时的触发角若是从预置值150度方向直接切到整流状态电流会有一个明显的反向尖峰。这个尖峰大小和β_min有关β_min越接近零度尖峰越猛。这也是为什么β_min不能随便设到180度的原因。5.3 一个不太顺利的参数调试案例为了说明参数相互耦合的复杂性讲一个我调试反组切换电压冲击的真实经过。最初反组开放后电流波形出现一个大约2倍额定值的尖峰持续时间不到1毫秒。我第一反应是零电流检测阈值设得偏小导致切换指令发出时本组晶闸管还没有完全关断。我把阈值从0.2A调到0.4A尖峰依然存在。接着怀疑是死区延时不够把On/Off Delay从3ms改成8ms尖峰幅度明显下降但仍然没有彻底消除。后来我把反组的预置触发角从固定150度改成跟随当前电枢电压动态调整即反组先以与当前电枢电压幅值匹配的逆变角等待切换完成后再切换为闭环控制尖峰才算真正压下去。这个问题的根源是如果反组开放时触发角只是盲目地置于β_min附近而此刻电枢电压仍然很高两组变流器的直流侧平均电压差就很大反组一开放就要承受很大的电压冲击。我后来在逻辑控制器里增加了一条规则反组预置触发角根据当前电枢电压计算保证反组直流侧平均电压与电枢电压近似相等。这样切换瞬间几乎不会产生额外冲击。6. 仿真实验的常见坑与调试心得6.1 模型仿真步长与脉冲不同步问题Simulink仿真晶闸管电路时步长的选择非常关键。同步6脉冲触发模块在工作时依赖于对三相电压过零点的检测如果仿真的步长太大过零检测会滞后触发脉冲的相位就偏了。我最初用固定步长1毫秒一运行就发现电流波形乱跳简直无法辨认。后来意识到晶闸管换流过程发生在微秒量级要精确模拟必须用可变步长求解器同时把最大步长限制在50微秒左右。对于整定好的模型我直接用ode23tb容差1e-4波形表现稳定。如果需要批量跑多次仿真把容差放宽到1e-3也能接受波形略有锯齿但趋势正确。6.2 零电流检测的阈值整定零电流检测在运行中频繁触发误判是逻辑无环流模型最典型的坑。阈值太小噪声误判为正电流阈值太大切换滞后明显。仿真里的“噪声”主要来自数值振荡和开关尖峰和实际系统的电流纹波不完全相同但仍然需要留出裕量。一个实用的做法是把零电流检测器做成带滞环的电流绝对值低于较低阈值持续一小段时间才输出“零电流”信号高于较高阈值立即取消“零电流”信号。滞环可以显著降低切换时刻误触发的概率。我在模型里用了一个Hysteresis模块配合上升沿触发效果很好。值得注意的是仿真环境下如果滤波电容或电抗器参数设置不当电流波形会出现高频振荡。这时候不要立刻调零电流阈值而是先检查Simulink的电源内阻、变压器漏感设置是否合理。仿真中的“噪声”往往是模型参数失真引起的。6.3 逻辑切换时刻的触发角异常还有一个我踩过几次的坑逻辑切换的时刻触发角计算模块的输出猛然跳到限幅值。原因通常是速度调节器在切换瞬间输出饱和导致电流环给定突然变成一个极限值晶闸管触发角也跟着猛变。这本身不一定是故障但会带来一段时间的电压突变影响电流波形平稳性。解决思路有两个其一给速度调节器输出加限幅不让电流环给定超过变流器允许范围其二在触发角计算链路上增加变化率限制模块限制触发角单位时间内的变化速率。两者结合切换后的电流调节过程会平滑很多。6.4 把仿真结果与实际系统对照的体会仿真做到一定程度必须时不时回到物理本质上思考。晶闸管触发脉冲的“相位裕量”、电流断续的物理时间、晶闸管关断恢复时间这些因素在Simulink里可能只是几个参数但在实际装置上都是器件选型和保护逻辑的设计依据。我在仿真研究后期做了一次对照实验用同一套控制参数把模型中的理想电源改成带谐波的畸变电压源结果切换瞬间的电流尖峰比原来大了近一倍。这提醒我们仿真结果具有一定的理想化成分。在实际设计逻辑无环流系统时控制器的切换时序余量要留得比仿真收敛值更宽一些否则现场调试时很容易出状况。最后再分享一个调试技巧搭建模型时先不要急着做完整的闭环四象限切换先让一组变流器开环运行把触发单元和逻辑控制器的基本工作时序拉通然后再加电流环验证单方向电动和回馈制动最后才上速度环和正反切换逻辑。这个顺序看起来多花了一点时间实际能省掉至少一半的排查精力。逻辑无环流系统的“无环流”三个字说到底不是控制算法多么高深而是每一个时序细节都经得起推敲仿真阶段把这些细节打磨干净后续无论是做实物装置还是写研究报告都会顺很多。
返回列表