news 2026/5/13 3:03:01

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/4/27 23:46:43

三电平变换器中的中点电位平衡控制与载波层叠调制

中点电位平衡控制&#xff0c;载波层叠调制&#xff0c;三电平变换器&#xff0c;三电平逆变器&#xff0c;T型变换器 在电力电子领域&#xff0c;三电平变换器以其独特的优势广泛应用于众多场合&#xff0c;像高压大功率的电机驱动、可再生能源发电并网等。其中&#xff0c;三…

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

LabVIEW 与 MySQL 数据库的奇妙联动:数据管理全攻略

LabVIEW数据库Mysql数据库操作;增加-删除-更新-查询;数据管理程序&#xff0c;完整案例&#xff0c;可移植。 在数据驱动的时代&#xff0c;数据库操作是众多应用不可或缺的一环。LabVIEW 作为一款功能强大的图形化编程环境&#xff0c;与 MySQL 这个广泛使用的开源数据库相结…

作者头像 李华
网站建设 2026/5/12 17:51:51

程序员必看!大模型技术栈全解析,从Token到Agent,小白也能变大神

本文将系统梳理AI大模型领域的14个核心概念&#xff0c;从基础架构到训练优化&#xff0c;再到前沿应用模式&#xff0c;帮助读者建立对这一复杂技术的全面认知框架。通过深入浅出的解释&#xff0c;读者将理解大模型为何能实现"智能涌现"&#xff0c;以及如何解决其…

作者头像 李华
网站建设 2026/5/11 21:33:35

【小白必看】大模型RAG技术实战教程,让你的AI开发技能yyds!保姆级教学,从入门到精通,一键搞定检索增强生成!

一、LLMs 已经具备了较强能力了&#xff0c;为什么还需要 RAG(检索增强生成)? 尽管 LLM 已展现出显著的能力&#xff0c;但以下几个挑战依然值得关注&#xff1a; 幻觉问题&#xff1a;LLM 采用基于统计的概率方法逐词生成文本&#xff0c;这一机制内在地导致其可能出现看似…

作者头像 李华
网站建设 2026/5/9 20:19:50

亲测好用10个AI论文工具,本科生毕业论文必备!

亲测好用10个AI论文工具&#xff0c;本科生毕业论文必备&#xff01; AI 工具如何成为论文写作的得力助手 随着人工智能技术的不断发展&#xff0c;越来越多的本科生在撰写毕业论文时开始借助 AI 工具来提高效率和质量。这些工具不仅能够帮助学生快速生成初稿、优化语言表达&am…

作者头像 李华
网站建设 2026/5/12 6:07:06

基于 PLC 的加工站传送包装站控制系统设计:从电气控制到完整实现

基于plc的加工站传送包装站控制系统设计加工传送包装站电气控制 带解释的梯形图程序&#xff0c;接线图原理图图纸&#xff0c;io分配&#xff0c;组态画面 [红旗][hot]界面多种组态可供选择&#xff0c;详情请点头像查看在自动化生产领域&#xff0c;基于 PLC&#xff08;可编…

作者头像 李华