首页 > 其他分享 >基于模糊pid的两路交错boost变换器Simulink仿真及代码自动生成(上)电路仿真部分

基于模糊pid的两路交错boost变换器Simulink仿真及代码自动生成(上)电路仿真部分

时间:2024-08-11 11:50:51浏览次数:14  
标签:仿真 Simulink 模块 pid 模糊 PID 控制器 电路仿真

后半部分已更新
基于模糊pid的两路交错boost变换器Simulink仿真及代码自动生成(下)F280025实物测试部分

简介:设计两路交错BOOST变换电路,搭建Simulink仿真模型,并设计控制算法(常规PID与模糊控制PID)。基于德州仪器TMS320F280025单片机使用Matlab Code Generation Tools进行编程与实物测试。
电气系统建模与实践课程设计 福州大学 自动化系 黄宸贞 2024/3/28

指导教师:蔡逢煌 陈丹

软件环境:
Matlab R2023b
Simulink 23.2
TI controlSUITE 3.4.9
Code Composer Studio 12.2.0.00009
TI C2000Ware 4_03_00_00

硬件环境:
AMD Ryzen 9 8945HS(仿真模型)
C2000 TMS320F280025C(代码生成模型)

测试目标:输入9V,实现9~18V升压功能。

测试实物:

可重构全桥变换器主板
可重构全桥变换器主板
单片机控制板
单片机控制板

上、电路仿真部分

1.Simulink模型搭建

在这里插入图片描述
根据电路图与BOOST变换器原理,搭建Simulink仿真模型,系统总体模型如图:

在这里插入图片描述

MOS模块:桥式交错MOSFET电路模块。

SPWM模块:脉宽生成调制电路模块。

Controller模块:控制算法模块。

Powergui模块:电力系统图形化计算模块,类型为离散,采样时间为1e-6。

采用阶跃信号作为给定目标电压,0.15s前给定为12V,0.15s后给定为18V。测试仿真电路在12V变换至18V两种给定状态下的工作状态。

(注:为与测试实物对应,使用Vout作为输入端口,Vin作为输出端口)

1.1桥式交错BOOST电路

在这里插入图片描述

使用4颗MOSFET组成两相交错BOOST电路(其中开关管G1、G2恒为关断,使用二极管代替)。该电路接受PWM脉冲控制G3、G4交替开通关断,实现DCDC直流变换。

1.2脉宽调制电路

在这里插入图片描述

在这里插入图片描述

使用三角波对算法控制器输出的调制波形进行调制,因本设计采用两相交错BOOST设计,故对载波进行移相,移相增益为载波周期的0.5倍,即1/5000/2。

1.3开环控制电路

在这里插入图片描述

无需控制器,直接使用Simulink的PWM模块生成给定目标电压相应占空比的PWM脉冲并进行移相。

1.4常规PID控制电路

在这里插入图片描述

将给定目标电压与输出电压比较并输入控制器,进行PID运算。PID控制器是一种线性控制器,通过比较给定值与实际输出值的误差,将比例、积分、微分线性组合构成控制量,其结构图如下:
在这里插入图片描述

1.5模糊PID控制电路

模糊控制系统由模糊数据和规则库、模糊器、模糊推理机和解模糊器组成,其结构如图所示:

在这里插入图片描述

模糊控制过程分为模糊化、模糊逻辑推理、解模糊。模糊PID控制器是一种二维模糊控制器,采用误差e和误差变化率ec作为输入,传统PID参数kp,ki,kd作为输出,可在系统运行的过程中利用模糊规则自动对PID参数进行整定。其结构如图所示:
在这里插入图片描述

模糊PID控制器如下图所示:

在这里插入图片描述

在这里插入图片描述

2. 仿真参数设置

2.1经典PID控制器设置

在Matlab命令行窗口中输入电路各参数及传函计算公式:

U=9;
C=510e-6;
R=5;
L=440e-6;
D=0.5;  %占空比D可根据需要的给定目标电压任选 
num=[0 -U/(R*C*(1-D)*(1-D)) U/(L*C)];
den=[1 1/(R*C) (1-D)*(1-D)/(L*C)];
G=tf(num,den)
Bode(G)

可得到该BOOST电路仿真系统在输入电压9V,输出电压18V时的传递函数与Bode图。

传递函数:
在这里插入图片描述

Bode图:

在这里插入图片描述

通过传递函数,写出系统特征方程:

在这里插入图片描述

列出Routh表:

在这里插入图片描述
在这里插入图片描述

由Bode图的闭环截止频率,可得系统带宽为1.69e3≈1500,根据经验,Simulink中PID模块的滤波器系数(N)可设为3*1500。

在这里插入图片描述
在这里插入图片描述

如上所述,将PID模块时域设为离散时间,控制器各参数如图:

在这里插入图片描述
除Ziegler-Nichols规则外,也可使用MATLAB的PID工具箱对PID控制器进行调参。例如设定响应时间为0.008、瞬态特性居中时,系统的阶跃响应曲线及PID控制器参数如图所示。
在这里插入图片描述
在这里插入图片描述

2.2模糊PID控制器设置

在Matlab命令行窗口中输入fuzzyLogicDesigner,打开模糊逻辑编辑器。设置2项输入、3项输出,分别命名为E、EC、KP、KI、KD,代表输出与给定的误差、误差的变化率以及PID控制器的三项参数。模糊推理方法选择Mamdani Type1。

在这里插入图片描述

根据上文计算结果以及电路系统的常规PID控制仿真调试结果,设置模糊控制的每项IO的隶属度及论域如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

根据相关文献,BOOST变换器的模糊控制规则如下:

在这里插入图片描述

模糊逻辑设置完成后,可以在Rule Interface和Control Surface界面预览控制逻辑。

在这里插入图片描述

在这里插入图片描述

将Simulink模型内的模糊逻辑控制器模块设置为使用刚才编辑完成的fis文件。

在这里插入图片描述
在这里插入图片描述

3. 电路仿真结果

3.1开环控制仿真结果

在这里插入图片描述

当系统开环仿真时,可见调节过程电压波动较大。且控制精确度低,具有稳态误差,仅可升压至11.15V/16.85V,无法满足12V/18V给定。

3.2经典PID控制仿真结果

在这里插入图片描述
在这里插入图片描述

使用PID控制后,系统性能显著改善,可精确升压至12V/18V给定。但在18V给定下纹波较大。

3.3模糊PID控制仿真结果

在这里插入图片描述
在这里插入图片描述

使用模糊PID控制相比于常规PID控制,由于模糊PID控制可实时整定PID参数,从而明显可从图中看出模糊PID控制器减小了上升时间内的电压波动和稳态的纹波,可知模糊PID算法对系统性能有更大改善。

下、代码生成实物测试部分

基于模糊pid的两路交错boost变换器Simulink仿真及代码自动生成(下)F280025实物测试部分

相关链接

TMS320F280025C数据表、产品信息和支持 | 德州仪器
EG3012S 60V半桥驱动芯片 | EGmicro
MOS管KIA3510A替代IRF540N-KIA3510A中文资料 原厂免费送样-KIA MOS管 | KIAIC
Embedded Coder Support Package for Texas Instruments C2000 Processors | MathWorks
C2000Ware 软件开发套件(SDK) | 德州仪器
Code Composer Studio™ IDE配置、编译器和调试器 | 德州仪器
ControlSUITE驱动程序和库 | 德州仪器

参考文献

[1] 蔡逢煌,王武,江加辉. 微控制器原理及应用——基于TI C2000实时微控制器[M]. 北京:机械工业出版社, 2022.

[2] 王兆安,刘进军. 电力电子技术(第5版)[M]. 北京: 机械工业出版社, 2021.

[3] 刘金琨. 先进PID控制MATLAB仿真[M]. 北京:电子工业出版社, 2016.

[4] 邓孝祥,刘钰,张伟杰.双闭环BOOST变换器系统模糊PID控制[J].黑龙江电力,2021,43(03):246-250.DOI:10.13625.

[5] CSDN@h(z)h.交错式升压DC-DC转换器(boost).[EB/OL].(2023-03-03)[2024-03-14]. https://blog.csdn.net/apple_51729737/article/details/129326020.

[6] 倪刚,金辉宇,兰维瑶. 基于Ziegler-Nichols规则的一阶线性自抗扰控制参数整定[C]//中国自动化学会控制理论专业委员会(Technical Committee on Control Theory, Chinese Association of Automation),中国自动化学会(Chinese Association of Automation),中国系统工程学会(Systems Engineering Society of China).第三十九届中国控制会议论文集(7).2020:5.DOI:10.26914/c.cnkihy.2020.039671.

[7] 李晓丹. 模糊PID控制器的设计研究[D].天津大学,2006.

标签:仿真,Simulink,模块,pid,模糊,PID,控制器,电路仿真
From: https://www.cnblogs.com/DiscreteWind/p/18353208

相关文章

  • 基于模糊pid的两路交错boost变换器Simulink仿真及代码自动生成(下)F280025实物测试部分
    简介:设计两路交错BOOST变换电路,搭建Simulink仿真模型,并设计控制算法(常规PID与模糊控制PID)。基于德州仪器TMS320F280025单片机使用MatlabCodeGenerationTools进行编程与实物测试。电气系统建模与实践课程设计福州大学自动化系黄宸贞2024/3/28指导教师:蔡逢煌陈丹软件环境......
  • 基于智能电网系统的PQ并网控制器simulink建模与仿真
    1.课题概述       在simulink中,通过建模实现智能电网系统的PQ并网控制器,仿真输出PQ控制器的控制输出,以及智能电网的三相电压电流的收敛输出。 2.系统仿真结果     3.核心程序与模型版本:MATLAB2022a 0005 4.系统原理简介      介绍了基......
  • System has not been booted with systemd as init system (PID 1). Can't operate on
    昨天为了安装mariadb,不小心可能安装了sysinit的东西,在启动gogs服务时报了这个错'Systemhasnotbeenbootedwithsystemdasinitsystem(PID1).Can'toperate'找到了解决方案:我的理解是这样的linux系统大致有两种管理服务的方式,一种是sysinit一种是systemctl ......
  • MSPM0G3057学习记录(二)电机PID闭环控制
    目录一、PID原理讲解  1.比例增益(Proportional): 2.  积分时间(Integral): 3.  微分时间(Derivative):二、PID控制原理图三、位置式PID公式  四、参考代码(一)五、参考代码(二) 一、PID原理讲解          PID(Proportional-Integral-Derivative)闭环控......
  • 什么是PID/PID算法
    什么是PID?一、PID的基本概念PID控制算法通过计算误差(即系统输出与期望值之间的差值),并基于该误差进行比例、积分和微分运算,来调整系统的控制输入,以实现快速、准确的控制。PID控制因其结构简单、稳定性好、工作可靠、调整方便等特点,成为工业控制中的主要技术之一。详情了解视频pi......
  • 【变压器的短路试验】变压器的短路试验是通过将二次侧短路,并向一次侧施加额定电流来进
       ......
  • 基于dq0变换的三相并联有源电力滤波器研究(Simulink仿真实现)
     ......
  • 基于simulink的分布式发电系统自动重合闸的建模与仿真分析
    1.课题概述      在配电系统中,80%-90%的故障都是瞬时故障。发生故障时,线路被保护迅速断开,随即重合闸。当分布式电源接入配电网后,线路发生故障后重合闸,此时分布式电源没有跳离线路,这将产生两种潜在威胁,即非同期重合闸和故障点电弧重燃。      非同期重合闸:当线路......
  • 常见的PID的算法及代码示例
    常见的PID的算法及代码示例PID(比例-积分-微分)算法是控制系统中常用的一种反馈控制算法,它通过计算误差的比例、积分和微分来调整控制输入,以达到预定的控制目标。以下是一些常见的PID算法及代码示例:一、常见的PID算法位置式PID算法位置式PID算法直接计算控制量的绝对值,每次输......
  • 什么是PID?
    什么是PID?一、PID的基本概念PID控制算法通过计算误差(即系统输出与期望值之间的差值),并基于该误差进行比例、积分和微分运算,来调整系统的控制输入,以实现快速、准确的控制。PID控制因其结构简单、稳定性好、工作可靠、调整方便等特点,成为工业控制中的主要技术之一。详情了解视频pi......