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

news/2024/9/22 7:38:02/文章来源:https://www.cnblogs.com/DiscreteWind/p/18353208

后半部分已更新

简介:设计两路交错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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/781207.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国内IT行业67家外包公司,有多少程序员在里面待过?

之前写过一篇关于外包公司的文章, 《什么是软件外包公司?要不要去外包公司?》 很多粉丝看了后,感觉都在说自己, 存在即合理, 外包大幅度降(可)低(以)了(压)用(榨)人(更)成(多)本(人), 降低了用(不)人(怕)风(裁)险(人)。 正式员工多了一些保障和一…

横扫鸿蒙弹窗乱象,SmartDialog出世

前言 但凡用过鸿蒙原生弹窗的小伙伴,就能体会到它们是有多么的难用和奇葩,什么AlertDialog,CustomDialog,SubWindow,bindXxx,只要大家用心去体验,就能发现他们有很多离谱的设计和限制,时常就是一边用,一边骂骂咧咧的吐槽 实属无奈,就把鸿蒙版的SmartDialog写出来了 f…

XSS 专项

访问web应用,首页HTML发现新端点如下:使用《赏猎技战法》https://www.cnblogs.com/sec875/p/18335838 中的 测试 XSS 流程,使用一个良性payload试试水:<h1>666 同时思考此处的功能点:https://cfceb12f2bfd-sec875.a.barker-social.com/post/1 post作为输入时和1作为…

Skeleton Recall Loss 分割领域的新突破:极大的减少了资源消耗,还能提高性能

精确分割在当今众多领域都是一项关键需求比如说自动驾驶汽车的训练、医学图像识别系统,以及通过卫星图像进行监测。在许多其他领域,当感兴趣的对象微小但至关重要时,例如研究血管流动、手术规划、检测建筑结构中的裂缝或优化路线规划,需要更高的精度。此前已经做了大量工作…

Unity脚本生命周期

生命周期函数的概念 所有继承MonoBehavior的脚本,最终都会挂在到GameObject游戏对象上 生命周期函数,就是该脚本对象依附的GameObject对象从出生到消亡整个生命周期中 会通过反射自动调用一些特殊函数 Unity帮助我们记录了一个GameObject对象依附了哪些脚本 会自动的得到这些…

掌握 Nuxt 3 的页面元数据:使用 definePageMeta 进行自定义配置

title: 掌握 Nuxt 3 的页面元数据:使用 definePageMeta 进行自定义配置 date: 2024/8/11 updated: 2024/8/11 author: cmdragon excerpt: 摘要:本文详细介绍Nuxt 3框架中definePageMeta的使用方法,包括如何为页面组件定义元数据,如布局、过渡效果、路由中间件等。通过具体…

HTB-Permx靶机笔记

Permx靶机笔记 概述 permx靶机是HTB的简单靶机,这台靶机整体考验渗透人员的信息搜集能力,可以收只有信息搜集的快速,才能快速拿到它的flag。 整体是比较简单的靶机 靶机连接:https://app.hackthebox.com/machines/PermX 一、nmap扫描 1)端口扫描 nmap -sT --min-rate 1000…

BMC Genomics | 火龙果的转录组和代谢组分析揭示了果皮和果肉颜色形成的机制

阐明火龙果果肉和果皮变色的候选基因和关键代谢产物,是培育具有优良新口味和高营养价值的火龙果的必要条件。在这里,使用转录组(RNA-Seq)和代谢组分析(UPLC-MS/MS)鉴定了属于两种不同量天尺属物种的三种火龙果的结构和调控基因以及与果皮和果肉颜色相关的关键代谢物。作者综合…

USB协议详解第3讲(USB描述符-设备描述符)

我们第一个学习要点就是USB描述符,所谓描述符其实就是C语言里面的结构体或者数组,数组包含的信息说明当前的设备具有哪些特征。USB描述符有设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。我们先学会每个描述符…

Windows如何保证所有软件在D(其他)盘

Windows如何保证所有软件在D(其他)盘首先使用你电脑有两个固态硬盘就是盘符自己分区也可以 C盘我们只用于电脑的系统资源管理其他所有数据包括默认安装的文件都在D盘或者自定义的盘 win+R 输入 regedit 进入注册表根据下面路径依次点开,找到CurrentVersion,或者复制路径,粘贴…

【笔记】【THM】Malware Analysis(恶意软件分析)

二进制安全入坟【笔记】【THM】Malware Analysis(恶意软件分析) 探索恶意软件的世界,分析恶意软件如何感染系统并造成破坏。 恶意软件分析就像猫捉老鼠的游戏。恶意软件的作者一直在设计新的技术来躲避恶意软件分析师的眼睛,而恶意软件分析师也一直在寻找识别和抵消这些技术…