实战演练-2021年电赛国一之三端口DC-DC变换器

news2024/11/17 3:32:36

文章目录

  • 前言
  • 一、题目
  • 二、题目分析
    • 1、题目要求解析
    • 2、题目方案选定
      • 方案一(使用buck-boost电路+双向DC-DC电路(前端))
      • 方案二(使用同步整流Boost升压电路+双向DC-DC电路(前端))
      • 方案三(使用同步整流Boost升压电路+双向DC-DC电路(后端))
    • 3、控制方案选择
  • 三、理论分析与计算
    • 1、效率提高的方法
    • 2、优化提升点
    • 3、稳压控制方法
    • 4、双向DC-DC的Buck模式下的电感参数计算
    • 5、双向DC-DC的Boost模式下的电感参数计算
  • 四、原理框图
    • 1、BOOST电路和双向DC-DC电路
    • 2、辅助电源电路
    • 3、高端电流采样电路
    • 4、驱动电路
    • 5、总电路
  • 五、软件思路
  • 总结


前言

所有资料均免费开源到QQ群280730348,进群活跃讨论讨论。

博主今天想分享的是在学校期间参加2021年全国大学生电子设计竞赛并获得全国一等奖的电源方向作品-三端口DC-DC变换器,感觉时光飞逝,转眼之间就过去了快两年了,之前本来开源过这个作品,后因为整理资料的时候不小心把开源项目删掉了,重新打字比较麻烦,所以一直搁置了,今天好好细说一下这个作品。

在比赛期间,博主是负责软件调试和硬件电路设计及调试。最大的感受就是时间特别紧急,弄完硬件设计后继续进行软件设计,不过学校的伙食还是给的挺好的哈哈哈,及时给我补充能量。不过不建议大家一个人把硬件设计和软件设计一起弄,还是得分工协作,到忙的时候我基本上顾不上其它事儿了,打板焊接测试基本上就交给我队友了,帮我分担了很多的压力,感谢我的女朋友哈哈哈,就是我的队友!

伙计们,咱就说打比赛是能找到女朋友的!芜湖起飞~

话不多说直接上图,证明一下不是乱吹的,我分享的电路都是我验证过的!believe me
在这里插入图片描述
在这里插入图片描述


一、题目

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

二、题目分析

1、题目要求解析

我认为这是一道比较常规的比赛题目,相较于电源方向另外一道赛题三相PFC明显要简单一些,我本人由于时间问题没能在备赛期间做出来2013年的PFC功率因数校正电路,所以当年在考虑之下就选择了这道题目。说这道题常规就在于只有直流的变化,不需要对交流信号进行处理,因此检测电路只需要对直流信号进行处理,包括驱动方式也是通过PWM直接进行驱动,不需要像交流信号一样需要进行SPWM波模拟之类的。

仔细分析题目我们可以知道:

1、输出均要稳定在30V,因此输出要采用电压闭环控制。
2、题目中有多项电压电流检测要求,故需制作直流电压电流检测板,其中为了检测总电流需制作高端电流检测板。
3、题目中要求切换工作模式,故要判断输入电压的大小选择合适的工作模式。
4、题目中要求对电池组进行充电放电,故需制作继电器切换电路,控制工作状态。
5、需对最大功率进行跟踪,故利用电池组充放电使得输出功率均衡,并利用电压环和电流环双环追踪最终得到最大功率点跟踪的结果。

我认为其中最重要的点就是在于最大功率点跟踪。在做比赛的第一天我犯了一个错误是我想要做两个电路,一个BOOST电路,一个BUCK电路,通过继电器来切换输入接向BUCK或者是BOOST。会这么想的原因在于,基本要求里面提到了输入是50V,而输出需要稳定在30V,自然而然想到了需要用到BUCK降压电路,使得稳定在30V的输出。而发挥部分里面提到了US由55V减少到25V,其中25V又低于了30V的恒压输出,明显要变成BOOST工作。当时的确步入思维的误区了,觉得这电路不得有两个?后面仔细分析题目,一拍大腿,这尼玛有坑呀!在前面的比赛框图中,模拟光伏电池那一坨里面还有一个电阻,虽说直流稳压电源得调到50V输入,但是电路供电给负载,肯定会产生电流呀,这个电流流经电阻,就会产生电压降,比如1A电流流经10欧姆电阻,就会有10V的压降,2A电流的话就有20V压降,这么一想的话,要是直接电路就有个2A的电流,这变换电路前端的U1不就比UO要小了么?这输入电压一比输出电压低,不就是可以直接用BOOST电路了么?但又有一个问题来了,输出电流才要求1.2A,这明显电流不够用呀,这个时候题目中其实已经隐晦的提醒我们了。

基本要求第一问里面提到了IB要大于等于0.1A。IB是什么?电池的充电电流呀。整个电路中我们不仅仅可以给负载供电,同时我们还能给电池进行供电,那么电池供电的话就可以加大我们的输出电流,且题目里面要求电流只要大于0.1A即可,即理论上充电电流可以随便由我们设置。那么根据这个条件,BOOST电路当占空比为0的时候输出其实等于输入的(当然,考虑到MOS管的续流二极管,或许会略低一点),那么根据这个条件,此时如果我们如果增大充电电流,电路整体的电流就会增加,在模拟光伏电池的电阻上压降就会越大,因此BOOST电路的输入电压就会越低,在这种情况下随着充电电流的增大,最终BOOST电路将会低于30V,故在此情况下就可以对30V输出电压进行追踪。

另外由于在要求中存在电池的充放电,所以对电池进行充电或者放电需要通过一个电路来实现,这个电路就是双向DC-DC电路。其实本质上也就是一个BOOST电路或者是BUCK电路,只取决于端口的流向。由于我们采用的是双管结构,故双向DC电路从左往右可视作BOOST升压电路,从右往左又可以作为BUCK降压电路。

2、题目方案选定

方案一(使用buck-boost电路+双向DC-DC电路(前端))

双向DC-DC电路接入boost-buck电路前端,光伏电池输出直接给双向DC-DC电路供电。充电状态时,光伏电池通过双向DC-DC电路降压对电池组进行恒流充电,同时切换继电器选择buck或boost电路对输出进行恒压控制。当输入电压大于30V时,采用降压拓扑。当输入电压小于30V时,采用升压拓扑。放电状态时,电池组通过双向DC-DC电路升压对buck-boost电路输入端进行恒流放电。但由于充电电路放在输入端,故存在着电压突变,从而会引起充电电流的突变,增加电路的不稳定因素。并且buck-boost电路在继电器切换时会存在一段真空期,效率低,容易引发电池组过流充电的情况。

方案二(使用同步整流Boost升压电路+双向DC-DC电路(前端))

采用Boost升压电路输出恒定30V。由于利用电池组对功率进行补偿和跟踪,故输入电压可以限制在12.5V至27.5V之间,满足Boost升压至30V的条件。且Boost升压电路采用同步整流升压拓扑,通过改变死区时长,有效提高升压拓扑效率。本方案虽然输入电压限制在一个较小的区间段,但仍存在双向DC-DC电路恒流充电时的不稳定性。

方案三(使用同步整流Boost升压电路+双向DC-DC电路(后端))

与方案二不同在于双向DC-DC电路放在了输出端,并联至负载两端。Boost电路对输出进行恒压控制的同时向电池组充放电,通过功率点跟踪和PID控制,实现电池组对整体电路的功率补偿。输出电压波动范围小,提高DC-DC电路充电时的稳定性,且电池组放电时,可通过改变输出电压的大小,进行功率追踪补偿,增加了整个系统的安全性,能够快速的进行最大功率点跟踪。该拓扑结构简单,易于硬件实现,但由于Boost升压电路和双向DC-DC电路均采用同步整流技术,故存在着开关瞬间强制换流的问题,控制相对复杂,电路状态容易波动。

那么经过仔细考虑以后,最终选择方案三进行控制方案。选择方案三最主要的原因是,输出电压要稳定在30V,那么30V的这个电压可以作为双向DC-DC电路的输入端进行充电,输入电压较稳定也容易控制对电池的充电,且在实际过程中为了减少损耗,电池充电的输入端并不加限流的电阻,所以电压有很大波动的话容易出现电池过流充电的现象,比赛的话还是求稳一点,平时可以疯狂点,比赛的时候找个稳定一点的方案,比赛的时候做得很好结果最后一天炸机的例子比比皆是,电源这个东西说不准的。

3、控制方案选择

在上面主电路拓扑结构的基础上,存在如下几种控制方法:
方案一:利用DSP或者ARM控制器,使用电压环对输出进行稳压,电流环对电池组充放电进行恒流控制。
方案二:利用DSP或者ARM控制器,电压环对输出进行稳压控制,电池组充电时利用电流环进行功率补偿。电池组放电时,利用电压环对放电电压进行恒压控制,以最大功率点跟踪为目标,进行恒压功率补偿。
综合比较,方案二能更好地实现题目中要求。

三、理论分析与计算

1、效率提高的方法

当时比赛的时候做的比较匆忙,加上考研期间断了三个月左右,所以很多东西都没有准备好,许多都是现场直接打板的板子,做的比较粗糙。现在回想起来,其实有很多可以优化效率改进的地方,在这里我提几点,大家可以按照这个方向去优化。

1、屏幕选用OLED屏幕进行显示(我用的LCD屏幕,耗电大)。
2、能用集成化的板子就用集成化的板子,我因为时间不足所有的模块基本都是分开的,连线到处绕。
3、管子用好一点,毕竟功率电路损耗无非就是开关和导通损耗。
4、可以调整死区,尽量让损耗的区域小一点,不过这个用处貌似不大。
5、电池组那里大胆点,我当时做的方案其实比较普通了,用个二极管切换防止电流倒灌,其实也损耗了很多充电功率,直接去掉二极管,反正有电池保护,干就完事儿了。
6、电源砖辅助电源可以换成芯片辅助供电,提高效率。

2、优化提升点

1、可以选用外置的电压基准芯片给最小系统板的ADC参考电压引脚供电,这样采出来会稳定一点。
2、用好一点的运放芯片吧,把噪声压下来,也可以多考虑一下滤波的单元,滤除噪声干扰采样。

3、稳压控制方法

根据题目要求,输入电压范围为25V-55V,负载电压在任何时刻要稳定在30V,若不采用最大功率点跟踪,则存在输入电压大于或小于30V两种状态,故需要使用两种拓扑电路。但考虑到两种拓扑切换过程中存在着一段真空期,因此采用直接最大功率点跟踪方案,拓扑选择同步整流Boost升压电路,通过最大功率点跟踪将BOOST输入电压限制至30V以下,以实现输出稳压30V。
系统的稳压能力主要体现在动态和静态两个方面。为提高系统的动态响应能力,可以通过提高控制器开关频率、输入电压前馈检测、控制器单位延时补偿等方式提高整流器的动态响应能力。在静态稳压能力提高方面可以通过加入积分控制实现系统输出无静态误差,消除稳态误差。

4、双向DC-DC的Buck模式下的电感参数计算

在Buck模式下,从电感电流连续模式(CCM)进行讨论,根据电感的伏秒平衡原理,在MOS管导通和关断状态下可得:
在这里插入图片描述

5、双向DC-DC的Boost模式下的电感参数计算

在这里插入图片描述

四、原理框图

如图所示,在本题目中光伏电池通过直流稳压源+电阻构成,光伏电池输出口的电压是经过了电阻以后的降压电压,要让这个电压等于输入的一半,才算做最大功率点。电流就是电路输入的总电流。因此在输入端需要通过高端电流检测模块检测输入总电流,从而判断出压降大小,将压降加上此处的输入电压检测以后就可以得到光伏电池的输入电压。后级接一个BOOST电路升压稳定在30V,同时电池组通过双向DC-DC电路实现电池充电和电池放电功能,继电器的功能是为了切换充电和放电的方向,充电状态下通过一个二极管接向电池,一定程度上限制电流,避免电池电流的陡然上升。放电状态下切换继电器通过电池放电,再经过双向DC-DC电路升压,跟BOOST电路争夺功率,实现第二种状态的控制。
在这里插入图片描述

1、BOOST电路和双向DC-DC电路

都是同一个电路,因为BOOST电路反过来看其实就是一个BUCK电路。电路采用的是隔离式的双向DC-DC,使用的是两个IRF540Nmos管,并且利用同步整流控制法来控制MOS管的关断,从左到右是Boost拓扑结构,从右到左是Buck结构,升压时,开关管Q4为主功率元件,决定电路变比;Q3实现同步整流,替代二极管,减小导通损耗。1N4148(D7)、10Ω(R36)、10KΩ(R37)加速IRF540N的栅极、源极之间的寄生电容放电。具体怎么用的请参考我之前的文章,关于BOOST电路的详解。
在这里插入图片描述

2、辅助电源电路

辅助电路用的金升阳的电源砖模块,前文也提到了,这个地方其实是一个效率损耗点。我用的金升阳电源砖是隔离的电源,挺稳定的,用了很久都没有出过问题,所以也就一直用了下去,当时没有仔细去想过效率的问题。建议换成开关电源的芯片供电,供电口是在光伏电池经过电阻降压了以后的地方取电,我记得当时题目好像有个要求是不能从输入取来着,时代久远忘记了,建议好好考证一下。
在这里插入图片描述

3、高端电流采样电路

之前的文章也提过,用的是INA282芯片,实测电流线性度还可以。后面的运放是用的OPA2188,作用是带你丫跟随,降低阻抗。
在这里插入图片描述

4、驱动电路

BOOST电路用的光耦驱动,双向DC-DC用的IR2104,这个其实都可以通用,当时是实在没时间了,手头模块只有单独的几个,所以随便选的,光耦会更保险一点。
在这里插入图片描述
在这里插入图片描述

5、总电路

如图所示,这是根据记忆还原的图,大致的电路结构如图所示。VDC代表的是直流电源输入,经过一个二极管(这个二极管是比赛要求的),再经过降压电阻(10欧姆的大铁壳电阻),然后流经10mΩ采样电阻后(此处主要是采集高端直流电流),然后到达了BOOST输入电路的前端,前端有一个V_In的检测,就是检测BOOST前端输入电压,这个电压我们要让他稳定在输入电压的一半。BOOST电路输出后面跟着电压检测和电流检测,电流检测没啥太多的用处,主要是电压检测,要稳定在30V,此处用电压环去稳定。BOOST电路输出端电压为VOUT,VOUT作为双向DC-DC的输入端,B1是电池,这里没有加入继电器,实际上有继电器的存在。就如我前文所说的一样,我们需要切换充电和放电两种状态,充电状态下VOUT通过右向左降压给电池充电,此时L1电感的左边应该是通过继电器连接一个二极管再连接到B1的1号端口,放电状态下,通过继电器将B1的1号端口直接连接到L1的左端,相当于电池直接做了一个boost升压到负载端口,也就是VOUT口。这样的话既能够保证电池充电的稳定性,有能够保证电池放电的稳定性。
在这里插入图片描述

五、软件思路

软件中采用了最大功率点跟踪算法,在不同的输入电压范围内,实现电池组充电和放电两种模式的切换。电池充电时,通过采集输入电压,输入电流,得出输入电压。进入PID调节环后,以作为目标值,作为检测值,实现实时跟踪最大功率点。由于充电时所需能量完全由输入提供,故输入功率=负载功率+电池充电功率,当电池充电电流增大时,输入电流增大,由于电压保持不变,故会降低,输入电流减小时,会升高,通过此类关系,通过调节PID跟踪目标值,即可实现最大功率点的跟踪。同样,放电模式也是如此,电流增大时,输入电流减小,会升高,由此来调节对应的PID,实现追踪最大功率点。

通过设定不同的电压范围从而实现不同工作模式的切换,并由于硬件检测存在着一定的误差,因此通过软件上面多程度的拟合加软件滤波,增强数据检测的可靠度。设置了校正功能,主要体现在大范围的电压变化而导致的输出电压所含纹波大小的不同,影响到输出电压的检测。
在这里插入图片描述

总结

总结一下这个赛题,如果想要复刻,请遵循如下:
1、首先把我的基础电路解析看了,比如我博文里面提到的采样、基础拓扑结构,了解的基础上再去复现。
2、新学的建议先从两个方向入手。第一个方向是BOOST升压电路的设计,目标就是稳定在30V附近。第二个方向是先把15年电池双向DC-DC电路打通,我的对电池的充放电就是按照那个来的,只不过是作为我的电路中的一部分实现的。电池充放电就按照15年国赛题来了,这道题的电池作为功率分配的部分就稳了。
3、此题核心在于功率分配,第一种状态的时候,通过加大或者减小电池充电电流,从而实现输出稳定30V的同时,同时向负载供电。第二种状态的时候就是通过电池放电与BOOST电路输出端直流并网,抢夺输出功率,电池放电电压越大,所占的电流就越大,因此就可以降低BOOST那边的总电流,从而控制BOOST的输入电压接近光伏电池输入电压的一半。
4、请务必把小模块复现好,这里面的有供电模块、直流电压电流检测,电流检测又包括高端和低端的,驱动电路、继电器电路等等。
5、电池一定要有保护装置,请务必小心,我这个仅代表我个人方案,有风险,谨慎复刻。
6、还可以参考西北大学的2021年这道赛题,做得很好。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于随机森林与XGBoost模型的机器故障关键因素分析

1.项目背景 在现代工业环境中,机器故障预测已成为提升生产效率和减少停机时间的关键因素,准确预测机器故障能够帮助企业制定预防性维护计划,降低维护成本,提高设备的使用寿命和生产线的连续性。通过深入分析影响机器故障的主要因素,可以帮助企业更好地理解机器运行状态,…

MySQL的插入(DML)

1.给指定字段添加数据 这个就是,想插入所对应的字段,就插入所对应的数值。先把字段列出来,不一定是全部的字段, 然后插入想要的值,注意,只能插入一行。 INSERT INTO 表名 (字段1,字段2,.....) VALUES(值…

车流量统计YOLOV8+DEEPSORT

车流量统计,YOLOV8NANODEEPSORT资源-CSDN文库 车流量统计YOLOV8DEEPSORT,目前支持PYTHON,C开发 PYTHON版本,需要YOLOV8,依赖PYTORCH C版本,只需要OPENCV

无人机光电吊舱技术详解

无人机光电吊舱是一种集成了多种光电探测设备的载荷系统,安装在无人机下方或侧面,用于实现无人机的目标搜索、识别、跟踪和定位等功能。光电吊舱系统通常由稳定平台、光学成像设备、红外成像设备、激光测距设备、惯性导航设备等组成,能够在各…

【C++深度探索】全面解析多态性机制(二)

🔥 个人主页:大耳朵土土垚 🔥 所属专栏:C从入门至进阶 这里将会不定期更新有关C/C的内容,欢迎大家点赞,收藏,评论🥳🥳🎉🎉🎉 前言 我…

web零碎知识

在后端想要发送一个JSON对象可以使用Gson // 使用 Gson 将对象转换为 JSON 字符串Gson gson new Gson();String json gson.toJson(user); 就会把一个对象转化为一个JSON字符串, // 设置响应内容类型为 JSONresponse.setContentType("application/json&quo…

卷积神经网络-猫狗识别实战

课程来自bilibiliMomodel平台 全长只有两个小时,理论部分讲得很粗糙 1 人的视觉和计算机视觉 人的大脑:神经元细胞,轴突发送信号,树突接收信号,互相连接,连接的强度和状态会随着新的经历刺激而变化。 用…

尚硅谷Vue3入门到实战,最新版vue3+TypeScript前端开发教程

Vue3 编码规范 创建vue3工程 基于vite创建 快速上手 | Vue.js (vuejs.org) npm create vuelatest 在nodejs环境下运行进行创建 按提示进行创建 用vscode打开项目 安装依赖 源文件有src 内有main.ts App.vue 简单分析 编写src vue2语法在三中适用 vue2中的date metho…

C++基础知识:冒泡排序(利用C++实现冒泡排序)

1.冒泡排序的作用: 最常用也是简单的排序算法,对数组内元素进行排序 2.冒泡排序的具体步骤: 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值…

关于思维和智能体模型的思考(2)

在关于思维和智能体模型的思考(1)一文中,我们提出了思维和Agent 模型,提出了使用确定连接的智能体构建的思维模型。本文我们继续讨论思维与智能体,重点探讨另一种智能体-自主智能体,并且提出了自主智能体的…

《黑马点评》Redis高并发项目实战笔记【完结】P1~P72

花费4周敲完《黑马点评》的课程,做了详细的笔记,感觉受益匪浅,一直一直都在不停成长着。 突然想起《苍穹外卖》系列至今已收获200个赞,500个收藏,好评颇多,私信我的人不计其数,在此谢谢大家。 …

从零开始学习PX4源码3(如何上传官网源码到自己的仓库中)

目录 文章目录 目录摘要1.将PX4源码上传至腾讯工蜂2.从腾讯工蜂克隆源码到本地ubuntu3.如何查看自己源码的版本信息 摘要 本节主要记录从零开始学习PX4源码3(如何上传官网源码到自己的仓库中)及如何查看PX4的固件版本信息,欢迎批评指正! PX4源码版本V1.…

东软“引战”国家队 通用技术“补链”大国重器

向来低调温和的东软创始人刘积仁,这一次抛出了“王炸”级的资产交易。 7月3日,《多肽链》获得一则足以引爆国内医疗设备行业的投资信息:被东软集团视为核心资产、掌上明珠的东软医疗,成功引入通用技术集团资本有限公司与中国国有…

240713_昇思学习打卡-Day25-LSTM+CRF序列标注(4)

240713_昇思学习打卡-Day25-LSTMCRF序列标注(4) 最后一天咯,做第四部分。 BiLSTMCRF模型 在实现CRF后,我们设计一个双向LSTMCRF的模型来进行命名实体识别任务的训练。模型结构如下: nn.Embedding -> nn.LSTM -&…

前端练习小项目——方向感应名片

前言:在学习完HTML和CSS之后,我们就可以开始做一些小项目了,本篇文章所讲的小项目为——方向感应名片 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客 在开始学习之前,先让我们看一…

C++客户端Qt开发——开发环境

一、QT开发环境 1.安装三个部分 ①C编译器(gcc,cl.exe……) ②QT SDK SDK-->软件开发工具包 比如,windows版本QT SDK里已经内置了C的编译器(内置编译器是mingw,windows版本的gcc/g) ③QT的集成开发…

KnoBo:医书学习知识,辅助图像分析,解决分布外性能下降和可解释性问题

KnoBo:从医书中学习知识,辅助图像分析,解决分布外性能下降问题 提出背景KnoBo 流程图KnoBo 详解问题构成结构先验瓶颈预测器参数先验 解法拆解逻辑链对比 CLIP、Med-CLIPCLIPMed-CLIPKnoBo 训练细节预训练过程OpenCLIP的微调 构建医学语料库文…

说说执行一条查询SQL语句时,期间发生了什么?

执行一条查询SQL语句时,期间发生了什么? 前言说说执行一条查询SQL语句时,发生了什么?连接器权限验证断开连接长连接 查询缓存查询缓存的问题 解析器词法分析语法分析 执行 SQL预处理器优化器执行器主键索引查询全表扫描索引下推 总…

轻薄鼠标的硬核选购攻略,很多人都在“高性价比”鼠标上栽跟头了

轻薄款设计的鼠标是目前鼠标市场的出货大头, 也是价格最卷的一类鼠标。 比游戏鼠标或许更卷一些。 这和当前的移动办公趋势关系很大。 这类鼠标主要跟笔记本和iPad搭配。 核心的使用场景是办公。 因此轻薄和静音是这类鼠标的核心卖点。 同时用户并不愿意付出太…

代码随想录算法训练营第三十二天|1049.最后一块石头的重量II、494.目标和、474.一和零

1049.最后一块石头的重量II 有一堆石头&#xff0c;每块石头的重量都是正整数。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结果如下&#xff1a; 如果 x y&#xff0c;那…