一、任务
设计并制作用于电池储能装置的双向 DC-DC 变换器,实现电池的充放电功能,功能可由按键设定,亦可自动转换。系统结构如图 1 所示,图中除直流稳压电源外,其他器件均需自备。电池组由 5 节 18650 型、容量 2000~3000mAh 的锂离子电池串联组成。所用电阻阻值误差的绝对值不大于 5%。
二、要求
1.基本要求
接通 S1、S3,断开 S2,将装置设定为充电模式。
(1)U2=30V 条件下,实现对电池恒流充电。充电电流 I1 在 1~2A 范围内步进可调,步进值不大于 0.1A,电流控制精度不低于 5%。
(2)设定 I1=2A,调整直流稳压电源输出电压,使 U2 在 24~36V 范围内变化时,要求充电电流 I1 的变化率不大于 1%。
(3)设定 I1=2A,在 U2=30V 条件下,变换器的效率β1≥90% 。
(4)测量并显示充电电流 I1,在 I1=1~2A 范围内测量精度不低于 2%。
(5)具有过充保护功能:设定 I1=2A,当 U1 超过阈值 U1th=24±0.5V 时,停止充电。
2.发挥部分
(1)断开 S1、接通 S2,将装置设定为放电模式,保持 U2=30±0.5V,此时变换器效率β2≥95%。
(2)接通 S1、S2,断开 S3,调整直流稳压电源输出电压,使 Us 在 32~38V 范围内变化时,双向 DC-DC 电路能够自动转换工作模式并保持 U2=30±0.5V。
(3)在满足要求的前提下简化结构、减轻重量,使双向 DC-DC 变换器、测控电路与辅助电源三部分的总重量不大于 500g。
(4)其他。
三、说明
1.要求采用带保护板的电池,使用前认真阅读所用电池的技术资料,学会估算电池的荷电状态,保证电池全过程的使用安全。
2.电池组不需封装在作品内,测试时自行携带至测试场地;测试前电池初始状态由参赛队员自定,测试过程中不允许更换电池。
5. 基本要求(5)的测试方法:在图 1 的 A、B 点之间串入滑线变阻器,使 U1 增加。
6.辅助电源需自制或自备,可由直流稳压电源(Us 处)或工频电源(220V)为其供电。
7.作品应能连续安全工作足够长时间,测试期间不能出现过热等故障。
8.制作时应合理设置测试点(参考图 1),以方便测试;为方便测重,应能较方便的将双向 DC-DC 变换器、测控电路与辅助电源三部分与其他部分分开。
9.设计报告正文中应包括系统总体框图、核心电路原理图、主要流程图、主要的测试结果。完整的电路原理图、重要的源程序和完整的测试结果可用附件给出,在附件中提供作品较清晰的照片。.
GPT-4o给出的设计方案:
设计并制作用于电池储能装置的双向DC-DC变换器,实现电池的充放电功能。通过功能可由按键设定,实现自动转换。采用常见的18650型锂离子电池组,容量为2000-3000mAh。
具体关键元件包括:
充电模式(接通S1,断开S2)
放电模式(断开S1,接通S2)
电压检测
#include "stm32f4xx_hal.h"
// 初始化ADC
void ADC_Init(void) {
// 配置ADC通道和时钟
// HAL库初始化代码
}
// 读取电压
float Read_Voltage(void) {
uint32_t raw_value = HAL_ADC_GetValue(&hadc1); // 假设使用ADC1
float voltage = (raw_value / 4095.0) * 3.3; // 转换为实际电压值(假设3.3V参考电压)
return voltage;
}
电流检测
#include "stm32f4xx_hal.h"
// 初始化ADC
void ADC_Init(void) {
// 配置ADC通道和时钟
// HAL库初始化代码
}
// 读取电流
float Read_Current(void) {
uint32_t raw_value = HAL_ADC_GetValue(&hadc2); // 假设使用ADC2
float current = (raw_value / 4095.0) * 20.0; // 转换为实际电流值(假设20A满量程)
return current;
}
充放电控制
#include "stm32f4xx_hal.h"
void Charge_Mode_Setup(void) {
// 设置PWM参数,控制充电电流
TIM_OC_InitTypeDef sConfigOC;
sConfigOC.Pulse = charge_current_value; // 设置充电电流
HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
}
void Discharge_Mode_Setup(void) {
// 设置PWM参数,控制放电电流
TIM_OC_InitTypeDef sConfigOC;
sConfigOC.Pulse = discharge_current_value; // 设置放电电流
HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
}
过流保护
void Overcurrent_Protection(void) {
if (Read_Current() > 2.1) { // 设定阈值2.1A
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); // 假设使用GPIOB PIN0控制
}
}
该方案确保了系统的安全高效工作,满足充电电流调节和稳定性要求,同时兼顾系统的整体重量和体积。
本题目考察的知识点: