
电赛c题
简介
电赛c题
简介:电赛c题开源协议
:Public Domain
描述
1.前言
听到举办立创搞电赛征集令,我赶紧报了名,认认真真开始搞这个项目,这个题目是2021本科组国赛题,这个题目全部用stm32写完,希望做到大部分人都可以跟着一起做,本作品只要有兴趣的都可以跟着一起做,我把技术细节和源代码全部开源,第一次开源没有什么经验,有不足的希望大家多多指教,互相学习。这里还要感谢一下嘉立创打样,所有作品都经过嘉立创打样才有更好的指标。
2.个人介绍
卞YC
江苏南通
即将毕业于某二本学校
获奖经历
2020年参加TI杯获得省一
2021年参加TI杯获得国一
3.项目分析
1.1基本要求
设计并制作三端口 DC-DC 变换器,其结构框图如图 1 所示。
变换器有两种工作模式:模式I,模拟光伏电池向负载供电的同时为电池组充电(IB>0);模式II,模拟光伏电池和电池组同时为负载供电(IB<0)。
根据模拟光照(US 的 大小)和负载情况,变换器可以工作在模式I 或模式II,并可实现工作模式的自动转换,在各种情况下均应保证输出电压UO稳定在30V。



根据题目要求我们来分析一下这个题目各项指标该如何完成
主电路采用两块DCDC电路
第一块DCDC将电源输出的电压升压到稳定的30V,实现30V稳压输出
第二块DCDC电路用于控制电池充放电,通过控制充放电速率,改变电路的等效电阻,实现最大功率点追踪
电流检测模块用于电池充放电电流监测
辅助电源用于给单片机及电路芯片供电首先是基础部分,稳压输出为30V,输出电流需要1.2A,选择2个50欧姆电阻并联作为负载,通过改变第二块DCDC工作状态,改变池的充电功率,来实现输出电压稳定30V.
由于基础部分不考虑最大功率点,所以只需要控制电池充电一路的功率即可实现稳压输出.其次是发挥部分.通过采集输入电压Uin 输入电流Iin,以及已知输入电阻=10R,单片机可实时可计算得到输入电压Us.
通过改变第一块DCDC电路的占空比,改变升压比例,实现输功率点追踪,使得输入电压Uin达到二分之一Us,同时保证输出电压稳定在30V,即可完成全部要求.
人机交互方面采用OLED屏,简便且低功耗,对系统占用也比较少.
5.理论分析与计算
最大功率点可全程追踪,即可避免基础发挥功能切换的问题.输入电压在最大功率点都低于30V,所以DCDC1一直工作在升压状态.
电池充放电有一个临界状态,占空比的改变是连续的,模式切换只需要稳定30V输出,在单片机的闭环内可连续实现.
4.结构框架

电路总体模块如图所示。

DC-DC主电路 原理图

DC-DC主电路 PCB
DCDC电路采用IR2109作为mos驱动,mos选择IRF3205,耐压55V,足以满足题目要求

双向电流检测电路 原理图

双向电流检测电路 PCB
电流检测模块用于计算输入电流,以及电池充放电状态的监测
一个电流检测为洞洞板焊接,原理图与此相同
4.辅助电源

辅助电源 原理图

辅助电源 PCB
将Uin转换为适合单片机以及芯片所需的电压
5.程序控制逻辑
系统软件设计分析
5.1 系统总体工作流程
① 首先对电路初始化,计算输入适合电路开始工作的pwm波并使能电路。
② 通过PID法调节下方DCDC的PWM波占空比,是输出电压稳定在30V
③ 在30V稳定的基础上,使用MPPT法调节上方DCDC的PWM波占空比实现寻找最大功率因素点。此后输出电压会改变,回到操作②,如此往复,电路会停在一个输出电压稳定,并且功率因素最大的点上
④ 在③稳定实现的基础上,通过电路反馈值判断电池充放电状态以得知电路处于模式1,还是模式2。并完成题目要求的某些需要单片机控制的指标。
5.2 主要模块程序设计
由于题目发挥部分和基础题某些指标需要追踪最大功率因素点,因此用到了光伏系统中常用的MPPT算法,MPPT具体使用方案具体方案——干扰观测法
干扰观测法,通过将电路的输出功率和上次的相比较,来确定增加或减少太阳能电池板工作电压来实现MPPT。
设在某一时刻t1,电池板的输出功率为P1,处理器输出信号使太阳能电池板工作电压增大ΔV,一段时间Δt后,在时刻t2(t2=t1+Δt)检测到太阳能电池板的输出功率为P2。若 ΔP(ΔP=P1-P2)为正,则应该使太阳能电池板工作电压继续增大ΔV,直到ΔP=0;若ΔP为负,则应该使太阳能电池板工作电压减小ΔV,直到ΔP=0。
对于ΔV,应选取合适的值。如果ΔV的值太大,太阳能电池板的输出会在最大功率点左右浮动;如果ΔV的值太小,虽然可以保证了跟踪精度,但是需要更多的时间,当最大功率点变化频繁时效果会变差。
5.3 关键模块程序清单(加注释)
caiyang() 对题目中采样点进行采样
set_Uo() 根据采样点反馈调节PWM波实现输出电压的稳定
FindMP() 寻找最大功率因素点
show_oled() 将关键数值用oled屏幕显示
这里只列举调用的函数,具体的函数内容可见附件的源码~~~~

最大功率的追踪代码段,这段代码用于计算Us并使能电池充放电电路,判断计算值和采集值的差,实现闭环的最大功率点追踪。
 我们采用的DCDC驱动芯片,用于降压拓扑,默认下管导通,而用于升压电路,下管导通会导致问题, 所以需要先计算出默认的占空比,输出给驱动电路,再将驱动电路使能,这样能避免下管导通带来的问题
其余代码可见附件的源码,内含注释内容
6.实物展示

演示视频见附件~~~~
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










