2015年全国大学生电子设计竞赛A题(双向DC-DC变换器)训练总结(硬件部分)

Buck电路设计与调试实战:从拓扑到问题解决方案
本文分享了一次Buck电路的设计过程,包括电路拓扑、半桥驱动、电流采样与保护,以及调试中遇到的问题与解决策略。作者详细解释了如何计算理论参数,并记录了闭环测试中电压不稳定和稳压源调试的挑战。

目录

一、任务

二、电路设计

1 主回路电路拓扑图

2 半桥驱动电路

3 电流采样电路

4 电压采样及AD输入保护电路 

5 作品实物图

三、调试中遇到的问题

问题一

buck闭环测试测试时,电流由小变大时,输出电压无法稳定,会变小。

问题二

使用稳压源代替电池组进行调试时,无法调节到目标值,使用电池组却可以达到目标值。

四、总结


一、任务

(后面部分省略,原题目很容易找到)

二、电路设计

1 主回路电路拓扑图

         从VD到VO是BUCK电路, 从VO到VD是BOOST电路。即可实现双向的DC-DC变换

        在平时做题过程中往往指导老师会针对题目给出很有用的经验值,我们自己很少去计算具体的参数。其实理论参数的计算具有很强的支撑力。很重要!之前看过一些资料和博客,但是我感觉讲的都不是很清清楚楚明明白白。最后在知乎上看到了一篇文章写的特别ok是《手撕Buck!Buck公式推导过程》,建议大家去看原文,我就不详细展开了。

2 半桥驱动电路

使用IR2184S驱动芯片,驱动MOS管的通断,实现斩波功能。

3 电流采样电路

        电流采样电路如图4所示,通过使电流流过10毫欧合金电阻,在电阻两端产生压降。使用INA286对压降进行100倍放大并输出。

4 电压采样及AD输入保护电路 

        电流采样使用的是两个电阻进行分压。将目标电压转换到适合单片机采集电压(3.3v以下)。

为防止出现大电压灌入单片机而损坏单片机。所以制作钳位电路,将输入到AD口的电压限制再-0.3V到3.6V。保护单片机。

 具体详细内容传送门---->AD输入钳位保护电路_Source_975的博客-优快云博客_ad保护电路https://blog.youkuaiyun.com/next___/article/details/124874576?spm=1001.2014.3001.5501

5 作品实物图

 

三、调试中遇到的问题

问题一

buck闭环测试测试时,电流由小变大时,输出电压无法稳定,会变小。

原因:电路的走线布局导致。在大电流的回路上,连接线路不是理想的导体,有电阻,电流越大分的电压越多,输出电压就会变小。

解决方法:合理设置电压采样电路的位置,以及预留的电压表测试接口位置。二者紧靠。因为单片机是根据电压采样电路所采集到的值进行计算实现稳压操作。

问题二

使用稳压源代替电池组进行调试时,无法调节到目标值,使用电池组却可以达到目标值。

原因:电池组和稳压源的差异导致。

四、总结

        通过全体成员的努力,成功实现了所有功能与指标。完结撒花。再接再励!!!

### 软件方案概述 2015全国大学生电子设计竞赛A双向DC-DC变换器”涉及的软件部分主要集中在控制算法的设计与实现上。该设计需要实现池储能装置的充放功能,并且能够通过按键设定或自动转换模式[^3]。 #### 控制逻辑设计 在软件层面,首先需要考虑的是如何根据当前的工作模式(充/放)来调整MOSFET开关的状态。这通常涉及到PWM信号生成以及反馈环路的控制策略。例如,在充模式下,系统会将输入的直流压升压到适合给定池组充的水平;而在放模式下,则降压至一个较低但稳定的输出压以供外部负载使用。 ```c // 示例代码片段 - 简化的PWM控制逻辑 void set_pwm_duty_cycle(float duty) { // 假设这里有一个函数可以设置PWM占空比 pwm_set(DUTY_CYCLE_REGISTER, duty); } // 根据工作模式切换方向和占空比 void update_converter_mode(int mode) { if (mode == CHARGE_MODE) { // 设置为升压模式 configure_boost(); set_pwm_duty_cycle(CHARGE_DUTY_CYCLE); } else if (mode == DISCHARGE_MODE) { // 设置为降压模式 configure_buck(); set_pwm_duty_cycle(DISCHARGE_DUTY_CYCLE); } } ``` #### 保护机制 为了确保系统的安全运行,还需要加入过流、欠压等保护机制。这些可以通过ADC采样路实时监测关键参数,并通过比较器或者直接由微控制器内部逻辑处理来触发相应的保护动作。 ```c // 过流检测示例 #define CURRENT_THRESHOLD 5.0f // A void check_overcurrent(float current_reading) { if (current_reading > CURRENT_THRESHOLD) { // 触发中断并关闭所有MOSFET disable_all_switches(); enter_protection_state(OVERCURRENT_ERROR); } } ``` #### 用户界面 对于用户交互方面,可能包括LCD显示状态信息及故障码、按键输入用于选择操作模式等功能。这部分可以通过标准外设接口如I²C或SPI连接相关硬件组件进行通信。 ```c // 显示更新示例 void update_display(char *status_message) { lcd_clear(); lcd_write_string(status_message); } ``` #### 评分标准中的软件考量 根据比要求中的评分标准,除了硬件性能之外,还会评估软件设计是否合理有效,比如是否有良好的错误处理能力、用户界面友好程度等[^3]。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值