首页 > 其他分享 >基于BUCK拓扑的数字电源PLECS仿真

基于BUCK拓扑的数字电源PLECS仿真

时间:2024-10-29 08:49:06浏览次数:8  
标签:环路 BUCK PLECS 输出 拓扑 DLL 模块 PWM

需求输入DC300V输出DC165V,输入范围185V - 425V

1、理论分析

        实现电压变换的拓扑为BUCK电路,对于BUCK的工作原理资料随处可见,此处不再赘述。本文接下来主要介绍其数字控制环路的设计与DSP实现。

        根据电源外特性要求,滤波电感大小设计为6.4uH,输出电容大小为200uF,其平均稳态模型为

G(s)=\frac{D}{s^2LC +s\frac{L}{R}+1}

式中,d为占空比,L为滤波电感,C为母线电容,R为输出负载

根据实际参数,绘制buck电路的开环传递函数bode图。

由Bode图观察可以发现,buck电路的滤波电感和输出电容在频率为4.5k左右的位置形成二阶极点。二阶极点会在该位置产生-180度相交偏移,根据频率域稳定条件,系统开环传递函数相位裕度在30至60度为佳,在环路带宽范围内不要产生相交负180度穿越。在环路设计时,考虑使用PI控制器,在原点出即存在一个极点,即PI控制器与BUCK电路构成的系统,器起始相位角为负90度.PI控制器还有一个零点,会产生90度正穿越,为了在二阶极点处避免产生负180度穿越,至少要补偿1个零点;或是将带宽设计的非常低,保证在二阶极点处,幅值增益足够小,以防止输出产生振荡。此处为了环路带宽足够高,此处采用添加相位补偿器的方式,改善环路相角裕量。

相位补偿器公式:

G(s)=\frac{s/z+1}{s/p+1}

式中,z为零点角频率,p为极点角频率值

此处相位补偿器零点选择在3k位置,极点选择在15k。

2、PLECS仿真-模拟闭环控制

在PLECS软件中按照参数要求搭建buck电路及控制器,调整控制参数使输出电压稳定输出。

3、数字环路仿真

目前大多数电源应用都以数字电路为主,将上述电路模型搭建为数字环路。数字环路与模拟环路的主要差异在于数字环路存在不连续性和时滞性的特点。在设计数字环路时需将原模拟环路数字离散化。

采用后向差分法完成PI控制器离散化设计

s=\tfrac{1-z^-1}{T}

G_{pi}(z)=k_{p}+\tfrac{k_{i}T}{1-z^{-1}}

y(n)=y(n-1)+k_{p}(x(n)-x(n-1))+k_{i}Tx(n)

PI控制器离散化后转化为C代码

Y = Ylast  + kp *(X - Xlast) + ki*Ts*X;

Ylast = Y;

Xlast = X;

式子中X为输入信号,Y为输出信号,在做环路设计时,时域设计的ki参数,转换为数字控制时需要快率控制周期时间(Ts)的影响。

同样采用相同的方式可以离散化相位补偿器,获得相位补偿器的C代码。

Y = b*Ylast +a1*X-a2*Xlast;

Ylast = Y;

Xlast=x;

式中:

b=\frac{1}{1+P*T}

a1=\frac{P+Z*P*T}{Z+Z*P*T}

a2=\frac{P}{Z+Z*P*T}

T为数字控制周期,P为极点角频率,Z为零点角频率。

PLECS内部带有DLL模块,可调用VS生成的动态链接库文件,在VS中编写数字环路代码,生成DLL完成控制逻辑验证。PLECS内集成了TI28系列芯片的PWM模块和ADC模块,此处应用PWM模块能更好的模拟芯片PWM发波。

保留原PLECS仿真程序中电路部分,将控制部分用DLL文件替代,DLL内容在VS中实现。

根据实际工作条件配置PWM模块,本示例中开关频率160K,PWM采用上升计数模式,过零点开通,过比较值CMPA关断PWM输出。

DLL文件编写:

a、本示例应用VS2022编写DLL文件,

选择桌面向导,新建项目。

选择创建动态链接库(dll),选择空项目。创建新工程。

b、在工程文件里添加PLECS自带的DllHeader.h头文件,和main.c文件,并在main.c文件内编写输入输出接口程序。

接口程序PlecsSetSize()函数中定义了,DLL模块的输入输出接口个数,定义多少,在PELECS中DLL模块就要有多少个输入输出数据,无数据时,默认为0。接口程序plecsOutput()为执行程序,仿真程序运行时,会按照DLL模块定义的执行时间周期性的执行peecsOutput()内的代码,按程序逻辑输出结果,其中aState->inputs[]为DLL模块输入的数据,顺序从0开始逐个增加,sStste->outputs[]为输出接口,顺序从0开始逐个增加。在VS中导入采样数据,并按控制逻辑运算产生调制信号,再将调制信号输出给PWM块,便可完成整个闭环功能。调整VS中的代码,通过观察仿真结构,便可以验证各种环路参数对电源模块的影响,从而获得控制效果优良的控制参数。VS内部代码可以完全参照DSP内部程序逻辑编写,这样在调整参数的同时,也可以验证控制逻辑,查找处程序漏洞。

编写完代码生成Dll文件,在PLECS中配置好文件地址和调用周期,便可以完成数字环路功能,运行仿真程序便可以得到运行结果。

标签:环路,BUCK,PLECS,输出,拓扑,DLL,模块,PWM
From: https://blog.csdn.net/lovewzfeng/article/details/143146614

相关文章

  • 乐维网管平台(二):网络拓扑的生成与应用
    摘要乐维网管平台是一款智能化网络运维管理工具,网络拓扑是其核心功能之一。通过直观的网络拓扑结构,平台能够实现网络的可视化、网络故障诊断、性能优化以及安全监控等功能,大幅提高了运维效率和网络管理的智能化水平。一、什么是网络拓扑在网络管理中,网络拓扑是一种极其关键且常......
  • 图(邻接矩阵)知识大杂烩!!(邻接矩阵结构,深搜,广搜,prim算法,kruskal算法,Dijkstra算法,拓扑排序)(
     小伙伴们大家好,今天给大家带来图(邻接矩阵)的各种知识,让你看完此文章彻底学会邻接矩阵的相关问题。1.邻接矩阵表示方法1.1知识讲解 我们用一个二维数组arr来表示图。若图为有向图,其中arr【i】【j】=w表示i号点和j号点之间的距离为w,如果i和j之间无路可以设定w=0或无穷。(根......
  • buck电路 & boost电路
    buck电路buck电路是直流的降压电路,我们下面给大家讲下,如何把12V的直流电压降压成5V的直流电压 1、buck电路拓扑:12V----->5V 2、降压原理 a、开关闭合,电流走向电源的正极---->开关---->电感----->(电容和负载)----->电源负极这里由于二极管是单相导通的,所以此时二极管......
  • 我和chatgpt的问答——数字有良好的代数结构、拓扑结构和序结构
    问题:我们平常使用的整数、有理数和实数是不是有良好的代数结构、拓扑结构和序结构所以才能很有用是的,整数、有理数和实数之所以在数学中非常有用,是因为它们具有良好的代数结构、拓扑结构和序结构,这些结构让它们在不同的数学领域中能够有效地应用。让我们详细看看它们各自的这些结......
  • 图卷积网络(GCN)基于电网拓扑预测未来一段时间的电力负荷的一些思路
    使用图卷积网络(GCN)基于电网拓扑预测未来一段时间的电力负荷,是一个将深度学习与图结构数据相结合的典型应用。电网天然的图结构让一切变得更好理解了一些。步骤1:问题定义首先我们定义一下当前的目标,既基于电网的拓扑结构和历史负荷数据,利用GCN模型预测未来一段时间各节点的电......
  • 网络拓扑—域环境搭建
    目录网络拓扑域控主机配置安装DNS服务安装AD域控服务网络配置&&加入域WindowsServer2008R2WindowsServer2003Windows7添加域成员登录域用户WindowsServer2003Windows7网络拓扑搭建简单的内网域环境根域名:god.comkali:192.168.29.11#kali攻击机,这当做公网服务器hac......
  • 【储能优化】用于电池储能应用的不同多电平变流器拓扑
    摘要本文研究了多种多电平变流器拓扑结构在电池储能系统中的应用,以提高系统的能效和输出质量。不同拓扑结构如二极管箝位型、飞跨电容型以及混合型变流器,能够通过更细化的电压阶梯,实现更高的电压输出精度和降低开关损耗。实验结果表明,这些拓扑在储能应用中具有良好的动态响......
  • 洛谷 P1983 [NOIP2013 普及组] 车站分级(拓扑排序)
    题目传送门解题思路对于每一趟列车,我们可以知道其中没有经过的车站的级别肯定会比经过的车站的级别低。于是,我们可以根据这种关系来建一个图。将等级小的车站往等级大的车站建边。于是,我们可以发现这是一个DAG(有向无环图),所以我们可以拓扑排序。我们从等级最小的车站......
  • EDA常见的拓扑结构
    在事件驱动架构中,Mediator和Broker是两种常见的拓扑结构,它们分别是用来管理和传递事件或消息的组件。尽管它们都涉及事件的传递,但其运作方式和使用场景有所不同。1.Mediator(中介者模式)定义:Mediator是一种中介模式,负责协调不同组件之间的交互,通过控制和转发消息来减......
  • 拓扑结构
     T点拓扑结构:T点拓扑结构又叫星型拓扑结构,树形拓扑结构。    ......