资讯动态

基于MATLAB/Simulink的Boost电路电压单闭环PI控制设计与仿真

发布时间:2026/9/1 21:41:58 来源:尧图企业网站定制
在电力电子和开关电源的设计与仿真中Boost电路因其能够将输入电压升高而得到广泛应用。然而一个稳定的输出电压是许多应用场景如新能源发电、电动汽车、LED驱动等的基本要求。直接使用固定占空比D的PWM驱动Boost电路其输出电压会因输入电压波动或负载变化而偏离设定值导致系统性能不稳定。本文将深入探讨如何利用MATLAB/Simulink平台设计并实现一个针对Boost电路的电压单闭环控制系统。与常见的双闭环电压外环电流内环控制相比单闭环控制结构更简单易于理解和实现非常适合用于理解闭环控制的基本原理和验证控制器设计。我们将从Boost电路的基本原理出发逐步完成建模、控制器设计、仿真验证及结果分析的全过程。1. Boost电路与电压单闭环控制核心概念1.1 Boost电路工作原理Boost电路又称升压斩波电路是一种DC-DC变换器。其核心功能是将一个较低的直流输入电压Vin转换成一个较高的直流输出电压Vo。电路的基本拓扑结构通常包括一个开关管如MOSFET或IGBT、一个储能电感L、一个续流二极管D和一个输出滤波电容C。其升压原理基于电感的储能和释能。当开关管导通ON时输入电源对电感充电电感电流线性上升电能以磁场能的形式储存在电感中此时二极管反向截止负载由电容供电。当开关管关断OFF时电感为了维持电流不变会产生一个感应电动势其极性与输入电源串联共同向负载和电容供电从而在输出端得到一个高于输入电压的电压。输出电压与输入电压的关系在连续导通模式CCM下由占空比D决定Vo Vin / (1 - D)。其中D为开关管导通时间与开关周期的比值0 D 1。从这个公式可以看出占空比D是控制输出电压的关键变量。1.2 为何需要闭环控制根据公式Vo Vin / (1 - D)在理想且参数恒定的情况下只要固定D就能得到固定的Vo。但现实情况是输入电压扰动Vin可能来自电池或整流器其电压会随着使用或电网波动而变化。负载扰动负载电阻的变化会导致输出电流变化进而引起电路内部压降如电感、开关管、二极管的导通压降的变化最终影响Vo。参数不确定性实际电感、电容值存在公差和温漂。这些因素都会导致在固定占空比D下实际输出电压Vo偏离理论值。因此我们需要引入闭环控制。闭环控制系统通过传感器如电压采样电路实时测量输出电压Vo将其与期望的参考电压Vref进行比较得到误差信号e。控制器根据误差e的大小和变化趋势计算出新的占空比D并驱动开关管。这样系统就能自动调整D以抵消各种扰动对Vo的影响使其稳定在Vref附近。1.3 电压单闭环控制结构“单闭环”指的是整个控制系统只包含一个反馈环即电压环。其典型结构如下图所示用文字描述[参考电压 Vref] ---()--- [控制器] --- [PWM调制器] --- [占空比 D] --- [Boost功率电路] --- [输出电压 Vo] ↑ (-) | | ↓ --------------------------------------[电压采样与调理]-------------------------比较环节计算参考电压Vref与实际采样电压Vo_fb的误差e Vref - Vo_fb。控制器接收误差e按照特定的控制算法如PID计算出控制量u。这是整个系统的“大脑”。PWM调制器将控制器输出的连续控制量u通常是电压信号转换为具有相应占空比D的PWM波用于驱动开关管。常见方法是与一个固定频率的三角载波进行比较。被控对象Boost功率电路其输入是占空比D输出是实际电压Vo。反馈环节通过分压电阻、运放等电路对输出电压Vo进行采样、隔离和缩放得到与控制器输入范围匹配的反馈电压Vo_fb。本文的目标就是在MATLAB/Simulink中搭建并调试这样一个完整的系统。2. 仿真环境准备与建模2.1 MATLAB/Simulink环境说明本文的仿真工作基于MATLAB R2021a及其中的Simulink、Simscape Electrical以前叫SimPowerSystems工具箱完成。不同版本的MATLAB在界面和部分模块名称上可能略有差异但核心功能一致。确保你的MATLAB已安装Simulink和Simscape Electrical工具箱这是进行电力电子电路仿真的基础。2.2 Boost电路开环建模在搭建闭环系统前我们先建立一个开环Boost电路模型以验证电路参数设计的正确性。步骤1创建新模型打开Simulink新建一个空白模型。步骤2从库浏览器添加元件打开库浏览器Library Browser在Simscape / Electrical / Specialized Power Systems / Fundamental Blocks路径下找到所需元件直流电压源 (DC Voltage Source)作为输入电源Vin。设置电压值例如12 V。MOSFET (MOSFET)作为开关管。使用默认的N沟道MOSFET模型即可。需要为其门极G提供PWM驱动信号。二极管 (Diode)作为续流二极管。使用默认模型。电感 (Series RLC Branch)将其设置为纯电感模式Resistance0, Capacitanceinf。设置电感值L例如100e-6 H(100μH)。电容 (Series RLC Branch)将其设置为纯电容模式Resistance0, Inductance0。设置电容值C例如220e-6 F(220μF)。负载电阻 (Series RLC Branch)将其设置为纯电阻模式Inductance0, Capacitance0。设置电阻值Rload例如10 Ohm。脉冲发生器 (Pulse Generator)用于产生开环的固定占空比PWM波。设置参数Amplitude: 1 (或根据MOSFET驱动电压设置如5或15)Period: 1/fsw其中fsw是开关频率例如1/50000(对应50kHz)Pulse Width (% of period): 占空比D * 100例如40(对应D0.4)Phase delay: 0电压测量 (Voltage Measurement)和电流测量 (Current Measurement)用于连接示波器观察波形。示波器 (Scope)用于观察输出电压、电感电流等波形。电源接地 (Ground)和电气参考 (Electrical Reference)确保电路有正确的参考点。步骤3连接电路按照Boost电路拓扑进行连接。一个基本的连接示例如下文字描述直流电压源正极连接电感一端。电感另一端同时连接MOSFET的漏极(D)和二极管阳极。MOSFET源极(S)连接电源负极地。二极管阴极连接电容正极和负载电阻一端。电容负极和负载电阻另一端连接电源负极地。脉冲发生器输出连接MOSFET的门极(G)。在负载电阻两端并联电压测量模块其输出连接至示波器。在电感支路串联电流测量模块其输出连接至示波器。步骤4设置仿真参数在Simulation菜单下打开Model Configuration Parameters。Solver options: 对于电力电子仿真推荐使用变步长求解器ode23tb或ode15s它们对刚性系统处理更好。Max step size: 设置为开关周期的1/50到1/100例如对于50kHz周期为20μs可设Max step size为2e-7(0.2μs) 以获得更光滑的波形。Stop time: 根据系统稳定时间设置例如0.01(10ms)。运行仿真在示波器中应能看到输出电压逐渐上升并稳定在一个值。根据公式Vo Vin / (1-D)若Vin12V D0.4则理论Vo20V。仿真结果应接近此值略低因为模型包含了二极管压降等非理想因素。这验证了我们的Boost电路模型基本正确。3. 电压单闭环控制系统设计与实现现在我们将开环模型升级为闭环模型。核心是用一个自动调节的“控制器”取代固定的“脉冲发生器”。3.1 设计控制环路我们的控制目标是无论输入电压或负载如何变化输出电压Vo都能快速、准确地跟踪参考电压Vref例如15V并且超调小、稳态误差小。控制器选择对于电压单闭环PI比例-积分控制器是最常用且有效的选择。比例环节P能快速响应误差积分环节I能消除稳态误差。PID中的微分环节D对噪声敏感在电压环中有时可以省略。PI控制器传递函数Gc(s) Kp Ki/s其中Kp为比例系数Ki为积分系数。在Simulink中我们可以直接使用PID Controller模块并将D参数设为0。PWM调制控制器输出的是一个连续的模拟量电压信号我们需要将其转换为占空比。通常采用比较器的方式将控制器输出与一个高频三角波载波进行比较。当控制器输出大于三角波瞬时值时输出高电平开通否则输出低电平关断。这样控制器输出值的大小就直接决定了PWM波的占空比。在Simulink中可以使用Repeating Sequence模块生成三角波再使用Relational Operator模块进行比较。3.2 搭建闭环Simulink模型接下来我们在开环模型的基础上进行修改和添加。步骤1添加反馈与比较环节在输出电压测量点后添加一个Gain模块模拟电压采样网络的分压比。例如若Vo最大为20V而我们需要反馈给控制器的信号在0-5V范围内则增益可设为5/20 0.25。将其命名为Voltage Sensor Gain。添加一个Constant模块作为参考电压Vref。其值应等于期望输出电压乘以采样增益。例如期望Vo15V采样增益0.25则Vref应设为15 * 0.25 3.75。添加一个Sum模块配置为-即正负输入计算误差e Vref - Vo_fb。步骤2添加PI控制器从Simulink库的Continuous或Discrete子库中拖入PID Controller模块。双击打开参数设置。将Controller设置为PI。初始设置Proportional (P)和Integral (I)为较小的值例如P0.1,I10。这些参数需要后续整定。可以勾选Limit output以限制控制器输出范围例如[0, 1]这对应占空比D的范围0%~100%。这能防止积分饱和并保护电路。步骤3添加PWM调制器添加一个Repeating Sequence模块生成三角载波。设置参数Time values:[0, Ts/2, Ts]其中Ts是开关周期例如[0, 1e-5, 2e-5](对应50kHz)。Output values:[0, 1, 0]。这将生成一个峰值为1谷值为0周期为Ts的三角波。添加一个Relational Operator模块将其设置为。将PI控制器的输出连接到Relational Operator的一个输入端口将三角波连接到另一个输入端口。Relational Operator的输出就是占空比可变的PWM波将其连接到MOSFET的门极(G)取代原来的固定脉冲发生器。步骤4完善模型删除原来的固定脉冲发生器。确保所有连接正确。最终的模型结构应清晰地反映出第1.3节描述的单闭环控制框图。一个简化的核心部分连接示意代码如下仅表达逻辑非可运行代码% 模型连接逻辑示意 (非可执行代码) Vref (Constant) -- () | --- Error -- [PI Controller] -- Control_Signal -- [] (Relational Operator) -- PWM -- MOSFET Gate | Vo_fb (Gain) -- [Voltage Measurement] -- Boost Circuit Output ^ | [Triangular Wave Generator] (Repeating Sequence)4. 控制器参数整定与仿真验证搭建好模型只是第一步让系统稳定且性能优良的关键在于整定PI控制器的参数Kp和Ki。4.1 手动试凑法这是一种基础方法有助于理解参数对系统的影响。先调P后调I先将积分系数Ki设为0只保留比例P。从小到大逐渐增加Kp如从0.01开始。观察响应给系统一个阶跃指令例如在0.005s时将Vref从10V对应值切换到15V对应值用示波器观察输出电压Vo的响应。Kp太小响应缓慢上升时间长。Kp增大响应变快上升时间缩短。Kp过大会产生振荡甚至发散不稳定。引入积分I当找到一个使系统响应较快且略有超调或无超调的Kp后保持Kp不变逐渐增加Ki。Ki能消除稳态误差。观察系统稳定后输出电压是否精确等于Vref。Ki太小稳态误差消除很慢。Ki增大稳态误差消除加快。Ki过大会引起系统振荡或使超调量增大调节时间变长。微调反复微调Kp和Ki直到获得满意的动态性能上升时间、超调量、调节时间和稳态精度。4.2 基于临界比例度法Ziegler-Nichols第二法这是一种更系统的方法。同样先将Ki设为0。逐渐增大Kp直到系统输出呈现等幅振荡即临界稳定状态。记录此时的Kp值记为Kcr并测量振荡周期Tcr。根据Z-N公式计算PI参数Kp 0.45 * KcrKi Kp / (0.85 * Tcr)注意此处的Ki是积分时间常数的倒数需根据Simulink PID模块的积分形式调整。Simulink的I参数通常是Ki即积分增益。公式Ti 0.85 * Tcr 则Ki Kp / Ti Kp / (0.85 * Tcr)将计算得到的参数代入控制器观察响应并做适当微调。示例参数与仿真 假设经过整定我们得到一组相对合适的参数Kp 0.15,Ki 80。在Simulink中设置PID控制器参数为P0.15, I80, D0输出限幅[0, 1]。进行以下仿真测试测试1启动与稳态性能设置仿真时间0.02s参考电压Vref对应15V输出。运行仿真观察波形。输出电压Vo应从0V开始上升可能略有超调然后快速稳定在15V附近稳态误差极小。电感电流IL应为连续的三角波CCM模式平均值等于输出电流Vo/Rload除以1-D。占空比D可通过观察控制器输出或PWM信号得到在启动初期较大以快速建立电压稳定后稳定在一个固定值附近理论值D 1 - Vin/Vo 1 - 12/15 0.2。测试2抗输入扰动性能在仿真中途如0.01s引入一个输入电压阶跃扰动例如将Vin从12V突降至10V。期望现象输出电压Vo会有一个向下的跌落但控制器会迅速检测到误差Vo Vref并自动增大占空比D从而将Vo拉回至15V。观察恢复时间和超调量。测试3抗负载扰动性能在仿真中途如0.015s引入一个负载阶跃扰动例如将负载电阻Rload从10Ω突增至20Ω负载减轻。期望现象输出电压Vo会有一个向上的尖峰因为负载电流突然减小控制器会检测到误差Vo Vref并自动减小占空比D从而将Vo拉回至15V。通过这三项测试可以全面评估所设计的电压单闭环控制系统的动态和稳态性能。5. 仿真结果分析与常见问题5.1 典型波形分析成功仿真后你应能在示波器中看到类似下图的波形此处为文字描述图1输出电压Vo波形一条从0V开始快速上升并稳定在15V的曲线。在0.01s和0.015s处可以看到因输入和负载扰动引起的微小波动但系统能迅速调节恢复。图2电感电流IL波形连续的三角波其平均值在扰动发生时也会相应变化以提供新的能量平衡。图3占空比D控制器输出波形一条在稳态值约0.2上下波动的曲线波动频率与开关频率相同因为PWM调制其“平均值”会随着扰动而调整。这些波形直观地证明了闭环控制的有效性占空比D不再固定不变而是根据反馈误差动态调整从而维持输出电压恒定。5.2 常见问题与排查思路在仿真和实际控制器设计中你可能会遇到以下问题问题现象可能原因排查与解决思路系统发散电压或电流飞升1. PI参数过大尤其是Kp。2. 反馈极性接反正反馈。3. 输出限幅未设置或设置不当。1. 大幅减小Kp和Ki从非常小的值重新开始整定。2. 检查Sum模块的符号确保是Vref - Vo_fb。3. 为PID控制器设置合理的输出限幅如[0.05, 0.95]避免0%或100%占空比。输出电压振荡剧烈1. PI参数不合适系统处于欠阻尼或临界振荡状态。2. 开关频率过低与控制带宽不匹配。3. 采样或PWM更新频率存在延迟未建模。1. 使用Z-N法或试凑法重新整定参数适当减小Kp或Ki。2. 提高开关频率如从50kHz提高到100kHz。3. 在仿真中考虑数字控制的延迟如加入一个Transport Delay模块延迟1-2个开关周期。稳态误差无法消除1. 积分系数Ki太小或为0。2. 控制器输出达到限幅值积分饱和。3. 电路参数如电感、电容计算错误无法在给定Vin下达到Vref。1. 适当增大Ki。2. 检查输出限幅是否合理并检查是否因扰动过大导致持续饱和。可考虑使用抗积分饱和Anti-Windup策略。3. 验证电路参数确保在最大占空比下理论Vo Vref。根据Vo Vin/(1-Dmax)复核。仿真速度极慢1. 仿真步长设置过小。2. 使用了不适合的求解器。3. 电路中有刚性问题。1. 适当增大Max step size但需保证小于开关周期的1/20。2. 换用ode23tb或ode15s求解器。3. 确保模型连接正确无代数环。无法进入CCM模式1. 电感值L太小。2. 负载过重电阻太小。3. 开关频率过低。1. 增大电感值。CCM临界条件L (1-D)*R*T/(2)其中T为开关周期。2. 增大负载电阻或检查电路连接。3. 提高开关频率。6. 进阶讨论与工程实践建议6.1 从仿真到实际数字实现的考虑我们的仿真模型是连续时间的理想模型。在实际工程中控制器通常由单片机MCU或数字信号处理器DSP以数字方式实现。这需要考虑离散化将连续的PI控制器Kp Ki/s离散化为数字控制器如位置式或增量式PID。常用方法有前向欧拉、后向欧拉、双线性变换Tustin等。采样与计算延迟MCU需要时间进行A/D采样、计算和控制量更新。这会在环路中引入至少一个采样周期的延迟可能影响稳定性需要在设计时预留相位裕量。量化效应A/D转换的精度、PWM寄存器的分辨率都会引入量化误差。保护功能实际硬件必须包含过压、过流、短路等保护电路和软件保护逻辑这在仿真中往往被简化。6.2 单闭环与双闭环的对比本文重点介绍了电压单闭环。在要求更高的场合如需要快速电流限制、动态响应更快会采用电压外环电流内环的双闭环控制。单闭环优点结构简单设计容易成本低。缺点是对负载变化的动态响应相对较慢且没有直接的电流控制过流保护依赖外部电路。双闭环电流内环能快速控制电感电流使系统具有更好的动态性能和固有的过流保护能力。电压外环则提供精确的电压调节。设计更为复杂需要整定两套控制器参数。对于很多性能要求不苛刻的应用电压单闭环已足够胜任。6.3 参数设计与优化经验电感与电容选型电感值决定了电流纹波电容值决定了电压纹波。根据设计指标纹波大小和CCM/DCM工作模式要求来计算。ΔIL (Vin * D) / (fsw * L)ΔVo (Io * D) / (fsw * C)。选择低ESR的电感和电容以减小损耗。开关频率选择高频化可以减小电感、电容的体积但会增加开关损耗。需在体积、效率和成本间折衷。常见范围几十kHz到几百kHz。控制器带宽电压环的带宽通常远低于开关频率如1/10到1/5。带宽越高动态响应越快但抗噪声能力越差且可能受限于数字延迟。仿真验证的局限性仿真模型忽略了PCB寄生参数、器件非线性如MOSFET导通电阻随温度变化、驱动电路延迟等。仿真结果可作为重要参考但硬件调试必不可少。通过本文的详细步骤你不仅能在MATLAB/Simulink中成功搭建并运行一个Boost电路电压单闭环控制系统更能深刻理解闭环控制的思想、PI参数整定的方法以及从仿真到实践的工程考量。这套方法同样可以推广至Buck、Buck-Boost等其他DC-DC拓扑的控制系统设计中。建议读者在理解本文示例的基础上尝试改变电路参数、控制器类型如尝试PID或增加更复杂的扰动场景以巩固学习效果。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价