news 2026/5/5 7:47:25

Buck - Boost变换器的非线性PID控制探索

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Buck - Boost变换器的非线性PID控制探索

buck-boost变换器的非线性PID控制,主电路也可以换成别的电路。 在经典PID中引入了两个TD非线性跟踪微分器,构成了非线性PID控制器。 当TD的输入为方波时,TD的输出,跟踪方波信号也没有超调,仿真波形如下所示。 输入电压为20V,设置输出参考电压为10V,在非线性PID的控制下,输出很快为10V,且没有超调。 当加减载时,输出电压也一直为10V。 整个仿真全部采用模块搭建,没有用到S-Function。

在电力电子领域,Buck - Boost变换器是一种非常重要的电力变换电路,其能够实现升降压功能,广泛应用于各类电源系统中。而对Buck - Boost变换器的精确控制一直是研究的热点,今天咱们就来聊聊Buck - Boost变换器的非线性PID控制,并且这里的主电路其实还能灵活换成别的电路哦。

非线性PID控制器的构建

经典的PID控制大家都很熟悉了,它通过比例(P)、积分(I)、微分(D)三个环节对系统进行调节,以达到期望的控制效果。不过呢,为了让控制性能更上一层楼,这里在经典PID中引入了两个TD非线性跟踪微分器,从而构成了非线性PID控制器。

为啥要加这个TD非线性跟踪微分器呢?简单来说,它能让系统在跟踪输入信号的时候表现得更出色。比如说,当TD的输入为方波时,你猜怎么着?它的输出跟踪方波信号居然没有超调!这可太厉害了,一般的系统要做到这点可不容易。下面咱们来看点代码来感受下(这里以Python为例,假设使用模拟电路仿真库进行简单示意,实际仿真会复杂得多):

import numpy as np import matplotlib.pyplot as plt # 模拟TD非线性跟踪微分器 def td_nonlinear_tracker(input_signal, dt): # 这里简单设置一些参数,实际需根据具体情况调整 r = 100 h = dt x1 = 0 x2 = 0 output = [] for u in input_signal: d = r * h d0 = h * d y = x1 - u a0 = np.sqrt(d * d + 8 * r * np.abs(y)) if np.abs(y) <= d0: a = x2 + 0.5 * (a0 - d) * np.sign(y) else: a = x2 + r * np.sign(y) x1 = x1 + h * a x2 = x2 + h * (-r * np.sign(a)) output.append(x1) return output # 生成方波输入信号 t = np.linspace(0, 1, 1000) dt = t[1] - t[0] square_wave = np.where(np.floor(20 * t) % 2 == 0, 1, -1) # 运行TD非线性跟踪微分器 td_output = td_nonlinear_tracker(square_wave, dt) # 绘图 plt.figure(figsize=(10, 6)) plt.plot(t, square_wave, label='输入方波信号') plt.plot(t, td_output, label='TD输出信号') plt.xlabel('时间(s)') plt.ylabel('幅值') plt.legend() plt.grid(True) plt.show()

在这段代码里,tdnonlineartracker函数模拟了TD非线性跟踪微分器的行为。我们先设置了一些参数,然后通过循环对输入的方波信号进行处理,得到对应的输出。从最后绘制的图中,就能直观地看到输出跟踪方波信号且无超调的效果啦。

Buck - Boost变换器控制效果

在实际对Buck - Boost变换器的控制中,设置输入电压为20V,输出参考电压为10V 。在非线性PID的控制下,变换器的输出很快就能达到10V,而且关键是没有超调!这意味着系统能快速稳定地达到我们期望的输出值,不会出现那种来回波动的情况,极大地提高了电源的稳定性。

代码模拟(同样是简单示意,实际需结合具体电路模型库):

# 模拟Buck - Boost变换器在非线性PID控制下的输出 def buck_boost_nonlinear_pid(input_voltage, ref_voltage, dt): # 假设一些PID参数和初始值 kp = 0.5 ki = 0.1 kd = 0.05 integral = 0 prev_error = 0 output = [] for _ in range(len(input_voltage)): error = ref_voltage - output[-1] if output else ref_voltage - 0 p_term = kp * error integral += error * dt i_term = ki * integral d_term = kd * (error - prev_error) / dt control_signal = p_term + i_term + d_term # 这里简单假设输出与控制信号的关系,实际需根据电路模型 new_output = input_voltage * control_signal output.append(new_output) prev_error = error return output input_voltage = np.full(len(t), 20) output_voltage = buck_boost_nonlinear_pid(input_voltage, 10, dt) # 绘图展示 plt.figure(figsize=(10, 6)) plt.plot(t, output_voltage, label='Buck - Boost变换器输出电压') plt.axhline(y = 10, color='r', linestyle='--', label='参考电压') plt.xlabel('时间(s)') plt.ylabel('电压(V)') plt.legend() plt.grid(True) plt.show()

这段代码模拟了Buck - Boost变换器在非线性PID控制下的输出过程。通过设置PID参数,不断计算误差并调整控制信号,最终得到输出电压的变化。从图中可以清晰看到输出电压快速稳定在10V。

buck-boost变换器的非线性PID控制,主电路也可以换成别的电路。 在经典PID中引入了两个TD非线性跟踪微分器,构成了非线性PID控制器。 当TD的输入为方波时,TD的输出,跟踪方波信号也没有超调,仿真波形如下所示。 输入电压为20V,设置输出参考电压为10V,在非线性PID的控制下,输出很快为10V,且没有超调。 当加减载时,输出电压也一直为10V。 整个仿真全部采用模块搭建,没有用到S-Function。

而且啊,当遇到加减载这种情况时,输出电压依然能稳稳地保持在10V 。这说明这个非线性PID控制策略对于负载变化有很强的适应性,能有效保证输出电压的稳定性。

值得一提的是,整个仿真全部采用模块搭建,没有用到S - Function。这样做的好处是让仿真过程更加直观、易懂,对于开发者来说,能更清晰地看到各个部分之间的联系和作用,方便调试和优化。

总之,Buck - Boost变换器的非线性PID控制为电力变换系统带来了更优异的性能,无论是在快速响应还是稳定性方面都表现出色,同时主电路的可替换性也增加了其应用的灵活性,为电力电子领域的相关设计提供了很棒的思路。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 15:41:55

基于S7 - 200 PLC和组态王的物料传送带装置实现

No.1032 基于S7-200plc和组态王组态物料传送带装置4传送带四传送带输煤传送带 带解释的梯形图程序&#xff0c;接线图原理图图纸&#xff0c;io分配&#xff0c;组态画面在自动化生产领域&#xff0c;物料传送带是极为常见的设备。今天咱们来聊聊基于S7 - 200 PLC和组态王搭建的…

作者头像 李华
网站建设 2026/5/1 12:19:23

探索两电平与三电平 SVPWM 仿真模型

三电平(两电平)SVPWM仿真模型 (1)两电平、三电平三桥臂&#xff1b; (2)有详细的文档介绍&#xff0c;包括原理介绍和仿真模型搭建说明&#xff1b;在电力电子领域&#xff0c;两电平与三电平 SVPWM&#xff08;空间矢量脉宽调制&#xff09;技术是非常重要的部分&#xff0c;今…

作者头像 李华
网站建设 2026/5/1 11:22:42

站在巨人肩膀:机器视觉框架源码探秘

机器视觉框架源码&#xff0c;到手vs2019可以直接编译、视觉检测、AOI视觉检测、机械手定位、点胶机、插件机、激光切割机、视觉螺丝机、视觉贴合机、激光焊接机、视觉裁板机……&#xff0c;C#联合Halcon混合编程源码&#xff0c;插件式开发 &#xff0c;带手眼标定&#xff0…

作者头像 李华
网站建设 2026/5/3 6:33:18

多微源并联运行下储能变流器的下垂控制及孤岛应对策略

多微源并联运行 储能变流器 下垂控制 孤岛 下垂在现代电力系统中&#xff0c;多微源并联运行的情况愈发常见&#xff0c;储能变流器在其中扮演着关键角色。而下垂控制策略&#xff0c;作为保障多微源稳定协同工作的重要手段&#xff0c;值得深入探讨。 一、多微源并联运行背景…

作者头像 李华
网站建设 2026/5/3 7:29:18

基于PLC与组态王的变频恒压供水系统实现

1398基于S7-200 PLC和组态王组态变频恒压供水3泵三泵 基于S7-300 PLC和组态王组态变频恒压供水3泵三泵 带解释的梯形图程序&#xff0c;接线图原理图图纸&#xff0c;io分配&#xff0c;组态画面 在工业自动化领域&#xff0c;变频恒压供水系统因其高效节能、供水稳定等优点被…

作者头像 李华