发作品签到
标准版

2015年电赛电源题,双向DC-DC

工程标签

2.5w
0
0
18

简介

利用正点原子精英版V2开发板STM32单片机,实现对双向DC-DC系统的控制,最终达到充放电的成果

简介:利用正点原子精英版V2开发板STM32单片机,实现对双向DC-DC系统的控制,最终达到充放电的成果

开源协议

CC BY-SA 3.0

创建时间:2023-03-13 10:52:38更新时间:2023-09-15 06:04:14

描述

题目分析

双向DC-DC变换器(A题).pdf

QQ截图20230501001907.jpg

基本要求

接通 S1、S3,断开 S2,将装置设定为充电模式。

1、U2=30V 条件下,实现对电池恒流充电。充电电流 I1 在 1~2A 范围内步进可调,步进值不大于 0.1A,电流控制精度不低于 5%。

如何实现这个目标呢?你可能想的非常简单,只需要一个简单的PID控制就行了,但在实际过程中,你会发现有点小问题,就是电流的控制精度不稳,会上下跳动,很难符合要求。

问题的解决办法:使用双PID控制,前一个PID的输出作为后一个PID的目标值,实现一个PID的串联。比如我的代码中就使用两个采样,采样I1和U1的值,使得I1最终控制在了2A,控制精度小于5%。

电流实现步进可调

解决方法:用中断触发,比如我用key0去减小target的值,因为中断一定能触发,所以就能修改,如果放在main函数中可能会出现触发不了的状况。

2、设定 I1=2A,调整直流稳压电源输出电压,使 U2 在 24~36V 范围内变化时,要求充电电流 I1 的变化率不大于 1%。

没什么好说的,注意设置输出占空比的上限,上限低了会导致电流不会到2A。

3、设定 I1=2A,在 U2=30V 条件下,变换器的效率≥90% 。

算效率,我不想提了,我做出了的效率是94%多。

4、测量并显示充电电流 I1,在 I1=1~2A 范围内测量精度不低于 2%。

用一些OLED函数,结束。

5、具有过充保护功能:设定 I1=2A,当 U1 超过阈值 U1th=24±0.5V 时,停止充电

这个比较巧妙,我当时想的是采样U1到24v时,输出占空比为0,即不输出PWM波,但这时会导致电路出现问题,会导致电池部分短路,产生大电流,直接烧起来。

这时候可以在电路中加一个继电器,当U1超过时,关闭PWM并用继电器断开电路,这样就成功了。

我的代码中没有写,因为当时测试的时候没用到,用的保险丝,没注意这个

发挥部分

1、断开 S1、接通 S2,将装置设定为放电模式,保持 U2=30±0.5V,此时变换器效率≥95%。

算效率,过。

2、接通 S1、S2,断开 S3,调整直流稳压电源输出电压,使 Us 在 32~38V 范围内变化时,双向 DC-DC 电路能够自动转换工作模式并保持 U2=30±0.5V。

当时我和队友被这个题目迷惑了,以为要在BUCK和BOOST模式中转换,实际上不需要。

只需要控制BOOST始终保持U2等于30V就行,直流稳压电源只是一个干扰项,所以这个题目并不是太难。

3、在满足要求的前提下简化结构、减轻重量,使双向 DC-DC 变换器、测控电路与辅助电源三部分的总重量不大于 500g。

总重小点,简单。

电路部分

双向DC-DC

QQ截图20230501004238.jpg

辅助电源

建议去淘宝买成品模块

为什么需要辅助电源?

因为到时候只有一个电源输出,就是30V左右,而单片机需要5V供电,芯片需要12V和5V供电,所以需要一个辅助电源模块。注:下面左边的端子输出5V,右边输出3.3V,上靠右的输出12V。

测试的视频因为我的文件比较大我将上传到B站,注意我的PCB文件中BOM表不吻合,请按原理图购买,封装和数值都对应即可,代码文件请参考附件。

设计图

原理图
PCB

BOM

IDNameDesignatorFootprintQuantity
11ufC1,C3CAP-TH_BD5.0-P2.00-D0.8-FD2
2BOOSTCN1CONN-TH_2P-P5.081
3BUCKCN2CONN-TH_2P-P5.081
4FR307D1,D2,D3FR3073
5PWMH1HDR-TH_2P-P2.54-V-M-11

附件

序号文件名称下载次数
1
双向DC-DC变换器(A题).pdf
1007
2
2015国赛题A题(完成).zip
3086
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航