Software Engineering and Applications
Vol. 10  No. 06 ( 2021 ), Article ID: 47480 , 10 pages
10.12677/SEA.2021.106084

基于STM32的光伏发电系统三端口DC-DC 变换器设计与实现

曹嘉豪,金海

浙江理工大学,信息学院,浙江 杭州

收稿日期:2021年11月28日;录用日期:2021年12月20日;发布日期:2021年12月27日

摘要

本设计提出一种基于STM32的光伏发电系统的三端口DC-DC变换器,并对系统的参数选择和性能设计进行了研究。系统采用STM32单片机作为主控芯片,以双路半桥DC-DC电路为核心电路,构成三端口DC-DC变换器。通过单片机产生PWM波控制IR2103驱动电路,实现提供负载稳定电压。采用PID算法以及MPPT算法,根据采样电流与电压信号反馈,实现系统的恒压闭环控制,最大功率点跟踪以及控制电池组的充放电状态。系统主要包括双向DC-DC模块,辅助电源模块,IR2103驱动模块,INA282电流采样模块,OLED模块等。在模拟光伏发电状态下,本系统能够稳定输出直流电压,负载调整率与电压调整率均低于0.1%,且系统效率高于90%。通过优化电路结构和算法,实现系统高效性和稳定性,并且通过实验测试验证了其正确性和可行性。

关键词

光伏发电,STM32,双向DC-DC电路,PWM,PID闭环控制,MPPT算法

Design and Implementation of Three-Port DC-DC Converter for Photovoltaic Power Generation System Based on STM32

Jiahao Cao, Hai Jin

School of Information Science and Technology, Zhejiang Sci-Tech University, Hangzhou Zhejiang

Received: Nov. 28th, 2021; accepted: Dec. 20th, 2021; published: Dec. 27th, 2021

ABSTRACT

This design proposes a three-port DC-DC converter for photovoltaic power generation system based on STM32, and studies the parameters selection and performance design of the system. The system uses STM32 single-chip microcomputer as the main control chip, and a dual-channel half-bridge DC-DC circuit as the core circuit to form a three-port DC-DC converter. The IR2103 drive circuit is controlled by the PWM wave generated by the single-chip microcomputer to realize the stable voltage of the load. Using PID algorithm and MPPT algorithm, according to the sampling current and voltage signal feedback, the system realizes constant voltage closed-loop control, maximum power point tracking and control of the charge and discharge status of the battery pack. The system mainly includes a two-way DC-DC module, auxiliary power module, IR2103 drive module, INA282 current sampling module, OLED module, and so on. In the simulated photovoltaic power generation state, the system can output DC voltage stably, the load regulation rate and voltage regulation rate are both below 0.1%, and the system efficiency can reach more than 90%. By optimizing the circuit structure and algorithm, the efficiency and stability of the system are realized, and its correctness and feasibility are verified through experimental tests.

Keywords:Photovoltaic Power Generation, STM32, Two-Way DC-DC Circuit, PWM, PID Closed-Loop Control, MPPT Algorithm

Copyright © 2021 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

太阳能作为新兴能源之一,对缓解能源危机、环境污染等问题具有重要意义。由于太阳能受光照强度和时间的影响,具有不稳定、不可持续的特点,因此需引入储能单元,用于独立的可再生电力系统中,平衡系统功率,向负载侧提供能量。传统可再生能源供电系统常需多个独立的转换器连接输入源、储能电池和负载端,这使得该系统存在体积和质量大、成本较高、可靠性差等问题。三端口变换器是在新能源发电系统中用作连接可再生能源、储能单元及负载的理想选择,具有尺寸较小、组件更少及统一管理端口间能量流动等优点,可减轻系统的体积和质量,降低系统损耗 [1]。因此,在当前光伏发电和直流输电技术日益普及的背景下,研究用于储能的三端口DC-DC变换器具有重要意义 [2]。本设计以STM32单片机为核心,采用双路半桥DC-DC电路并联负载构成三端口DC-DC变换器,将光伏电池和储能蓄电池接入两路端口,实现了输出稳定的直流电压;通过优化系统结构,实现了储能系统高效率、高稳定性 [3]。

2. 三端口DC-DC变换器系统总体设计

本系统由三端口DC-DC变换器主电路、IR2103驱动电路模块、单片机控制模块、直流电压采样模块、INA282直流电流采样模块、OLED显示模块、辅助电源模块等部分组成。系统输入端为直流稳压电源,可变直流电通过二极管和大功率电阻模拟光伏发电输入。单片机产生PWM波,通过IR2103电路,驱动双向DC-DC电路中的IRF540开关管得到稳定的直流输出电压。单片机调节控制储能端的蓄电池充电和放电模式的切换。采用具有宽共模输入、高抗共模信号能力INA282采集输出端直流电流 [4],并用并联大电阻方法采集输出端直流电压反馈至单片机实现闭环控制,提高系统稳定性和可靠性。单片机调用PID算法,同时调节两路PWM波的占空比,控制两路双向DC-DC电路,实现稳定输出直流电压。系统采用MPPT算法进行最大功率点跟踪,实现光伏发电效率最大化 [5]。系统总体设计如图1所示:

Figure 1. System overall design diagram

图1. 系统总体设计图

3. 系统硬件设计

3.1. 三端口DC-DC变换器主电路

三端口DC-DC变换器主电路采用并联型双路半桥DC-DC电路。双向DC-DC电路采用BUCK-BOOST拓扑结构,电感电流在断续和连续模式下变压比始终保持不变,便于系统动态调节。模拟光伏发电时,从Ui输入电压,电路工作在BOOST模式下,实现升压功能。由于电感L1的储能作用,将Uo端电压抬升,经过电容C2稳压后,可以实现输出端电压高于输入端电压。储能端双向DC-DC电路在放电状态下工作在BOOST模式,在充电状态下工作在BUCK模式。电路中的MOS管选用IRF540,由于其漏源极击穿电压为100 V,可以保证输入电压改变时MOS管处于正常工作状态。由于漏源极导通阻抗低于75 mΩ,减小MOS管导通损耗,可提高系统效率。为减小MOS管通断时的损耗,消除密勒效应的影响 [6],在栅极前串联10 Ω电阻,减小瞬间电流的影响。为不影响放电速率,将快恢复二极管与充电限流电阻并联,加快电荷释放速度。在栅源极并联10 kΩ电阻,使栅极存储的电荷在通断周期内迅速释放,同时能够将栅极电位拉低,使MOS管栅极始终保持低电平状态。三端口DC-DC变换器主电路如图2所示:

Figure 2. Three-port DC-DC converter main circuit diagram

图2. 三端口DC-DC变换器主电路图

3.2. 驱动电路

采用IR2103电路驱动两路DC-DC变换器。IR2103芯片为半桥式MOSFET栅极驱动器,通过自举电容和二极管提供充电电压,同时该芯片具有固定的死区时间,防止双向DCDC电路中的上下两个IRF540MOS管同时导通击穿电路 [7]。芯片供电电压选择12V,能够保证输出电压达到驱动MOS管的电压值。在输入电源与地之间接入电解电容C1,起滤波作用。二极管D1和电容C2是自举二极管和自举电容,自举电路等效于Boost升压电路,在开关频率很高的前提下,通过使用自举升压二极管、自举升压电容等元件,将电容放电电压和电源电压累加,实现输出电压抬升。IR2103驱动电路如图3所示:

Figure 3. IR2103 drive circuit

图3. IR2103驱动电路

3.3. 采样电路

本系统要实现闭环控制,故需要采集负载端电压送至单片机调整PWM波占空比实现稳定输出,同时由于需要跟踪最大功率点,所以需采集负载端电流寻找最大功率点。STM32单片机可直接采集直流电压,故电压采样电路为易实现的大电阻并联分压电路,将输出电压按一定分压比转换送入单片机A/D采样口。电流采样电路采用以INA282为核心的电路。INA282是高精度、宽共模范围、零漂移的电流监视器,对差分输入的信号具有50倍固定增益的放大输出 [8]。为使其增益更好的位于线性区,采用典型接法,两个基准电压值分别接于电源电压和地,同时添加电源旁路电容吸收电源高频噪声。采样电阻Rs采用电阻极小、温漂低的康铜丝。电流经过康铜丝转换为微弱的电压,经INA282放大后能够准确反映出电路中微小的电流变化。INA282电流采样电路如图4所示:

Figure 4. INA282 current sampling circuit

图4. INA282电流采样电路

3.4. 主控单片机的选用

本设计采用STM32单片机实现系统的控制功能。STM32芯片具有72MHz的运算速度和高达1 MB的闪存,是低功耗、高性价比、高性能的ARM Cortex-M内核的32位微控制器。STM32单片机外设丰富,功能齐全,具有112个快速I/O端口、13个通信接口、11个定时器、3个12位的us级的A/D转换器和2个通道12位的D/A转换器 [9]。同时具有电源管理电路,处理器运行电压可从2 V到3.6 V,具有多种复位保护措施。从电路系统性能上考虑,STM32单片机运算速度快且自身携带的功能多,使用方便。而电路对精度要求比较高,单片机的ADC采样是12位采样,采样位数足够,性价比高。基于单片机自身性能和系统所需功能的考虑,采用STM32作为本系统的主控单片机。

3.5. 辅助电源

本系统需要辅助电源为STM32单片机、IR2103驱动电路和INA282电流采样电路独立供电。采用基于XL7015和XL6009的升降压辅助电源电路从输入的直流电压取电。该电路将模拟光伏发电的直流电压输入XL7015降压电路,得到稳定的5 V直流电压,再送入XL6009升压电路,从而得到稳定的12 V直流电压。上述芯片的第5引脚均为使能控制端,输入低电平时工作,高电平停止工作,悬空默认为低电平。该辅助电源所使用的外设较少,电路占用空间小,集成度高,便于电路的设计和布局,并且对输入电压的调整能力强,带载能力强,输出电压稳定,功耗小,效率高。

4. 系统软件设计

4.1. 软件整体设计

本系统选用高性能STM32单片机作为三端口DC-DC变换器的核心主控模块,单片机将AD采样的值和设定的值相比较,通过调整PWM波的占空比对系统进行闭环控制。软件开发环境选用Keil5软件,编程语言选用C语言。本系统软件程序采用模块化方式设计,包括多通道ADC采样,PWM波占空比实时调整程序等。系统根据单片机所运行程序的优先级,预先配置多个中断函数,使得优先级最高的PWM占空比调整函数能够完全计算完成,且计算速度极快,使电源稳定性大大提高。在程序开始时对各功能模块进行初始化,启动系统开始工作,OLED实时显示系统状态。当电路系统稳定工作后,调节输入电压或负载电阻,单片机不停地检测与采样电路输出相连的单片机I/O端口。一旦检测到I/O端口的信号改变,就进入相应的子程序其执行程序,控制PWM波的输出情况,最终实现稳定输出直流电压以及最大功率点跟踪。系统软件设计整体流程图如图5所示。

4.2. PID算法实现

PID算法控制是设计控制器时最常用、最经典的控制方式,在电气与自控领域有非常广泛的应用 [10]。在稳定主路电压和输出电压均使用PID调节控制,在系统闭环控制系统中能发挥稳定作用。它的原理易理解,离散的数据也让计算更加容易,且只需要确认三个参数,积分参数电路控制一般是用不到的,应用最多的是比例微分调节,所以其具有参数选定比较简单的优点。PID控制的基本原理如图6所示。

本设计的电压采样电路将采集的电压值送至单片机采样口,与设定值比较,并利用PID算法调节实现稳压,电路输出结果的稳定性很大程度上受设置的PID参数影响。由图6可知,我们需要设置比例系数、积分系数和微分系数,且这些计算关系都是利用输出值与基准值之间的误差进行分析。对于离散的情况,积分是一个累加,微分是前后两项输入值之差,而比例是直接对误差进行处理。

Figure 5. Overall flow chart of software design

图5. 软件设计整体流程图

经典PID算法公式为:

u ( k ) = k p e ( k ) + k i 0 k e ( n ) + k d ( e ( k ) e ( k 1 ) ) (1)

k p 表示比例增益, k i 表示积分时间常数, k d 表示微分时间常数, e ( n ) 表示输出信号, e ( k ) 表示采样值与基准值的差值,即误差。

Figure 6. PID control principle diagram

图6. PID控制原理图

4.3. PWM调制技术

双向DC-DC电路的输出电压大小不仅直接与输入电压相关,也与控制MOS管通断周期的PWM波占空比有关。单片机在稳定输入电压的情况下,通过I/O口输出PWM信号,驱动双向DC-DC电路的两个MOS管来实现稳定输出电压。STM32通过ADC通道获取采样电压,在短时间内多次采样取平均值得到相对准确的采样值。单片机从I/O口接收反馈电压信号,通过转化公式转为A/D采样值进行比较。由于硬件电路内部自带噪声,难以避免产生误差。系统通过步进加减改变PWM波占空比,使反馈值不断逼近计算结果得到的A/D值,而反馈得到的A/D值进入程序重复自动调整,最后在较小区间内稳定波动。以BOOST电路为例,当检测到输出电压小于设定的基准值,则减小PWM波占空比;当检测到输出电压大于设定的基准值,则增大PWM波占空比。

4.4. MPPT算法实现

最大功率点跟踪(MPPT)系统是一种通过调节电气模块的工作状态,使光伏板能够输出更多电能的电气系统能够将太阳能电池板发出的直流电有效地贮存在蓄电池中 [11]。系统中模拟光伏电池的输出功率与MPPT控制器的工作电压有关,当电路工作在最合适的电压下,系统的输出功率才会有唯一最大值。

扰动观察法是目前研究最多、应用最广泛的一种MPPT算法 [12]。它具有跟踪控制简单、较易实现、且对检测器件精度要求不高等优点。其基本原理是:采样光伏电池输出电压Upv和输出电流Ipv,计算输出功率Ppv。接着,在此基础上增加一个扰动电压ΔU,再次采样输出电压Upv’和电流Ipv’,计算输出功率Ppv’。若输出功率增加,表明此时位于最大功率点左侧,继续保持正向扰动电压;若输出功率减小,表明此时位于最大功率点右侧,从而进行反向扰动。PWM稳压调制和MPPT算法流程图如图7所示:

Figure 7. PWM regulated modulation (the left diagram), MPPT algorithm flow diagram

图7. PWM稳压调制(左图)、MPPT算法流程图

5. 测试方案与结果

输入端口接上稳压直流电源、二极管和大功率电阻,模拟光伏电池输入,实现电源电压Us在25~55 V范围内可调。储能端口接上4节容量为2000~3000 mAh的18,650型锂离子电池组,自带保护板,作为储能蓄电池。负载采用为25/50 Ω的可变大功率电阻,测试系统稳定工输出30V直流电压。设定系统的两种工作模式:模式I,模拟光伏电池向负载供电的同时为电池组充电(IB > 0);模式II,模拟光伏电池和电池组同时为负载供电(IB < 0)。由于系统根据采样电压实时调整输出电压,测试数据在小范围内稳定波动,故记录测试平均结果。

测试结果

1) 输出电流IO为1.2A时,调节电源电压US由45 V增至55 V,测试电压调整率SU,结果见表1

Table 1. Adjusting the power supply voltage record

表1. 调整电源电压记录

根据测试记录表数据,我们可以计算系统的电压调整率SU,计算公式如下:

S U = | U O 55 U O 45 U O 45 | (2)

其中 U O 45 表示US = 45 V时的输出电压, U O 55 表示US = 55 V时的输出电压,由此算得SU = 0.199%。

2) 电源电压US为50V时,调整负载电阻RL,将输出电流IO由1.2 A减小至0.6 A,测试负载调整率SI,结果见表2

Table 2. Adjusting the load resistance record

表2. 调整负载阻值记录

根据测试记录表数据,我们可以计算系统的负载调整率SI,计算公式如下:

S = | U O 0.6 U O 1.2 U O 1.2 | (3)

其中 U O 0.6 表示IO = 0.6 A时的输出电压, U O 1.2 表示IO = 1.2 A时的输出电压,由此算得SI = 0.037%。

3)测试电源电压US为50 V,输入电流IO为1.2 A时变换器的效率 η I 和工作模式,结果见表3

Table 3. Records of various indicators of DC power supply

表3. 直流供电各项指标记录

根据测试记录表数据,我们可以计算变换器效率 η I ,计算公式如下:

η I = P O + P B P I × 100 % (4)

其中 P I = U I I I P O = U O I O P B = | U B I B | ,由此算得ηI = 92.807%。根据储能端电流方向,得出,系统稳定工作在模式I状态。

4) 当输出电流IO为1.2 A时,调节电源电压US由55 V减小至25 V,测试变换器在US变化的全范围内实现最大功率点跟踪时的偏差 δ U 1 和电压调整率SU,结果见表4

Table 4. Maximum power point tracking record

表4. 最大功率点跟踪记录

最大功率点跟踪的偏差 δ U 1 计算公式如下:

δ U 1 = | U I U S 2 | (5)

根据测试记录表数据和公式(2) (5),将偏差 δ U 1 和电压调整率SU计算所得结果填入表4

5) 当电源电压US为35 V时,调节负载电阻,使IO由1.2 A减小至0.6 A,测试变换器的工作模式状态和负载调整率SI,结果见表5

Table 5. Adjusting the load resistance record

表5. 调整负载阻值记录

根据测试记录表数据和公式(3),计算得系统负载调整率SI = 0.01%,系统能够由模式II状态自动切换到模式I状态。

6) 当电源电压US为35 V,输出电流IO为1.2 A时,测试变换器的工作模式、输出电压UO和效率 η II ,结果见表6

Table 6. Records of various indicators of DC power supply

表6. 直流供电各项指标记录

变换器的效率ηII的计算公式如下:

η II = P O P I + P B × 100 % (6)

由此算得效率ηII = 93.674%,系统稳定工作在模式II状态。

7) 硬件实物图如图8所示。

Figure 8. Physical picture of the overall circuit

图8. 整体电路实物图

6. 结论

本文设计了一款基于STM32的光伏发电系统三端口DC-DC变换器,并详细介绍了各硬件电路的选用以及软件部分的设计思路。通过对输出电压和输出电流进行采样,调用PID算法进行PWM调制,驱动IR2103电路,实现稳定输出直流电压。采用控制简单、容易实现的MPPT算法实现最大功率点跟踪,提高光伏发电效率,系统控制方法较为先进。根据测试结果,系统始终能够稳定输出直流电压。系统能够根据不同光伏输入,自动调整工作模式。在模式I状态下,系统效率 η I 为92.807%;在模式II状态下,系统效率 η II 为93.674%;且电压调整率不大于0.1%,负载调整率不大于0.1%。通过实验测试验证了本文所设计系统和控制策略的有效性,可以稳定、高效地用于多种光伏储能系统中。

文章引用

曹嘉豪,金 海. 基于STM32的光伏发电系统三端口DC-DC变换器设计与实现
Design and Implementation of Three-Port DC-DC Converter for Photovoltaic Power Generation System Based on STM32[J]. 软件工程与应用, 2021, 10(06): 799-808. https://doi.org/10.12677/SEA.2021.106084

参考文献

  1. 1. 刘硕, 高莹, 辛迪熙, 杨立永. 非隔离储能型三端口开关升压变换器在光伏系统中应用的研究[J]. 太阳能学报, 2021, 42(7): 139-145.

  2. 2. 张帆. 应用于模块化光伏直流并网系统的三端口DC/DC变换器研究[D]: [硕士学位论文]. 徐州: 中国矿业大学, 2019.

  3. 3. 刘宝宝. 用于复合储能的三端口DC/DC变换器研究[D]: [硕士学位论文]. 北京: 北京交通大学, 2018.

  4. 4. 邓己媛, 陈松, 范仰栋, 吴远泸, 朱熙宇. 基于INA282的集成电压电流检测电路设计与优化[J]. 电子器件, 2019, 42(4): 953-957.

  5. 5. 邵文权, 王猛, 吴朝俊, 程远, 刘毅力. 基于改进滑模控制的光伏系统MPPT控制策略[J]. 太阳能学报, 2021, 42(10): 87-93.

  6. 6. 崔建国, 宁永香. 消除密勒电容实现光电耦合器快速工作的研究[J]. 山西电子技术, 2020(4): 91-93.

  7. 7. 徐贵鑫, 许金宇, 王利斌, 金海. 基于STM32的单相不间断式UPS电源设计与实现[J]. 软件工程与应用, 2021, 10(3): 302-310.

  8. 8. 张西晨, 徐颖捷, 包齐栋. 基于STM32的简易数控直流稳压电源系统的设计[J]. 软件工程与应用, 2021, 10(3): 354-364.

  9. 9. 厉俊, 郑佳蕙. 基于STM32的开关电源模块并联供电系统[J]. 软件工程, 2020, 23(3): 4-8.

  10. 10. 柳彦钊. 基于STM32的数控开关电源设计[D]: [硕士学位论文]. 西安: 西安科技大学, 2019.

  11. 11. 吴伯彪, 郭禧斌. 基于功率预测的自适应变步长MPPT算法研究[J]. 电测与仪表, 2021: 1-7.

  12. 12. 梁明玉, 蔡新红, 赵咪. 基于改进粒子群算法的光伏系统MPPT控制研究[J]. 计算机仿真, 2021, 38(10): 133-139+153.

期刊菜单