
基于STM32的BOOST升压系统控制
简介
基于STM32单片机的BOOST升压电路系统控制
简介:基于STM32单片机的BOOST升压电路系统控制开源协议
:CC BY-NC-SA 4.0
描述
一、摘 要
本设计选择STM32F103C8T6单片机芯片作为本系统的核心处理器,并采用了闭环PID控制策略,开发了一套高效率的BOOST升压系统。硬件组成包括STM32F103C8T6单片机芯片控制电路模块、辅助电源电路模块、主功率升压模块和电流电压采集电路模块。单片机输出1路PWM信号给EG2104芯片输出互补的PWM控制MOS管的开关。系统通过电压和电流采样电路对输出进行反馈,经过A/D转换器采样后,将数据传输至微控制器控制电路,形成一个闭环控制系统,确保输出电压和电流稳定在设置的目标值。
二、系统方案原理与分析
1、BOOST电路的拓扑结构
以下为BOOST电路拓扑结构,主要器件是MOS管、电感、二极管各一颗,电容若干。一般的小功率BOOST类型DCDC芯片L1和D1外置,大功率DCDC芯片MOS管外置。使用PWM方式控制MOS管导通与关闭。

MOS管导通后,电流流向如下图红色箭头指示,电感开始充电,转换为磁能,此时二极管反向截止,输出能量全部由C2电容提供,如下绿色箭头。

MOS管关闭后,电流流向如下图绿色箭头指示,电感释放能量,这时候电感就像一个电池和Vin串联为负载供电,同时为输出电容C2充电。此时负载由输出电容C2和二极管D1提供电能。D1一般选择导通迅速,导通压降小的肖特基二极管。输出电压为1/(1-D)*Vin,其中D是占空比,Vin是输入电压。

以上电路拓扑有个缺陷,就是当电路不工作时,输入电压经过L1电感和D1二极管流向负载,有时候这个电压很讨厌,会产生功耗问题,不得不再加个开关电路。为了解决这个问题,我们可以选择同步类型芯片,以下是同步BOOST升压电路拓扑结构,和上面的异步类型拓扑的区别就是二极管换成了MOS管,这个MOS管由芯片内部的逻辑控制,在芯片不工作时,MOS管关闭输出,因此不会产生漏电问题。MOS管导通压降小,功率损耗小,使用它替换二极管效率更高。

2、 PI 算法及参数调节方式
比例-积分-微分(PID)算法大多数用在工业控制,大概有95%的工业自动化闭环运行系统控制都用的PID算法。PID控制策略融合比例、积分和微分控制动作,形成闭环反馈控制。在MCU出现之前,PID是利用模拟电子的组件来组合而成。现在几乎所有的PID控制都利用MCU进行数据运算和控制。PID因其适应性和信赖度,在过程控制领域得到了传统的应用[16]。PID算法通过把电路产生的误差信号比例、积分和微分这三个部分利用线性组合结合成总控制,以这样的方式将电路出现的误差进行反馈控制。

PID控制器因其技术成熟、易于学习和操作、无需复杂的数学模型且控制效果优良而广受欢迎。PID算法分为P算法、PI算法、PD算法和PID算法。P算法环节中只要有误差,它会马上做出控制反应,将控制量调整至减少误差的方向。P算法的控制力度由比例系数KP决定,KP值越大,控制作用越强,但过高的KP值可能会导致系统不稳定。
积分控制把误差的叠加当作输出。电路有误差信号存在,它的输出不断变大。当误差e(t)为零,输出u(t)会固定某个值,这样可以保持系统在设定值r(t)不变也可以达到稳定的状态。积分环节虽然可以清除静态误差,但是它会把减少系统的运行速度和增加超调。TI值越高,TI值叠加的效果越小。提高积分时间常数TI会减缓静态误差的消除速度,可以增强系统的稳定性和减少超调。所以必须根据实际需求设定TI值。
微分环节可以抑制误差的改变,它根据电路中产生的误差的改变速度来调节。误差改变越大,它的输出越高,还可以在误差增高前进行控制调整。微分控制可以降低超调值和克制系统过激,这样系统变得更稳定。但是微分控制环节对于输入信号噪声很灵敏,所以在噪音高的场景不独立用微分控制。合适设置微分常数(TD),可以提高微分控制调节,使电路达到最佳运行效果。综合考虑,PI算法最适合本系统设计的反馈控制要求。
3.系统方案设计
MOSFET驱动电路采用具备内置死区时间的桥式驱动EG2104芯片,使用INA282芯片监测电流并进行电流环的反馈控制,同时采用差分运放电路进行输出电压的采集以实现电压环的反馈控制。通过对电压电流的采样以及PI算法来实现升压、恒压和恒流。
3.1 boost电路模块
boost电路模块由功率电路和驱动电路和三相逆变半桥电路组成,是本系统能否升压的核心部分,boost电路模块是由单片机输出PWM控制的。驱动电路输出互补的PWM控制MOS管的开关,也是MOS管的保护不被大电流冲击。本系统中boost电路部分输出电压值最大60V,电流最大为4A。
3.2 MCU控制电路模块
单片机控制电路是确保系统正常工作的核心,它由基本系统电路、STM32F103C8T6芯片、OLED显示电路、按键输入电路、模数转换电路、LED指示电路和脉宽调制电路组成。脉宽调制电路的输出直接用于控制BOOST电路模块。AD转换器引脚采集到的电压反馈给电压采集和电流采集模块控制BOOST电路部分的电压输出和电流。
3.3 辅助电源电路模块
辅助电源电路模块是微电网模拟系统中各个电路模块芯片的供电模块,把20V的直流电压通过SCT2A10降压到5V电压给各个电路模块芯片供电。
4.BOOST升压系统的实现
系统设计的关键组件是STM32F103C8T6单片机芯片控制电路模块。STM32F103C8T6单片机控制电路模块包括晶振器电路、电源供应电路、复位逻辑电路、引导加载电路、按键输入接口、OLED显示模块、LED指示灯电路、ADC电路和PWM电路,确保了系统的稳定运行和灵活的控制能力。
STM32F103C8T6单片机是基于32位ARM Cortex™-M4内核的高性能MCU,其工作频率可达8MHz。工作电压范围为2.0V至3.6V,每个外围设备配备独立的时钟控制,通过管理这些控制开关以减少能耗。

4.1 BOOST电路设计
电容的选择根据经验值取的,输入取470UF/63V,输出取470UF/63V的两个电容并联,输入电容可以取小一点也没有关系,我手上有什么电容就用什么电容了。将输入电容进行充电,保护MOS管受到大电流的冲击。输出电容储能和滤波,得到完美的直流电。
NCE1540K具有150V的耐压值,系统的输出最大直流电压值为60V。这将对系统稳定运行的关键。系统的输出电流最大值为4A,而NCE1540K可以流过电流最大值为40A,最终选取的MOS管为NCE1540K。我手上只有新洁能的MOS,感觉他家的MOS很一搬,如果想提高效率和性能,建议换更好的MOS,这MOS跑到150W都很烫了。
调节控制脉冲的上升和下降时间、防止震荡,以及降低开关管的漏极端的冲击电压,可以通过减小开关管栅极串联电阻的方式来达成,本系统设计用的电阻为10Ω,在栅极回路上逆向连接一个二极管,可以提高栅极放电速度,本系统采用的型号是1N4148。在MOS管门极和漏极之间添加一个10千欧姆的电阻,有利于减少MOS管关闭过程产生的静态漏电流。

驱动电路将MOS管开关和单片机控制芯片起到分隔的功能,对单片机控制芯片进行保护,防止烧坏控制芯片,导致系统无法工作。EG2104是一款成本效益高的栅极驱动芯片,适合带有SD功能的MOS管和IGBT管。EG2104芯片的工作电压范围为2.8V至20V,静态功耗小于1uA。通过以上的描述,完全可以满足题目的要求。

MOS管的耗损和开关频率之间存在直接的比例关系。综合考虑后,本系统设计的三相逆变电路模块的开关频率设置为20kHz。大家也可以把开关频率提上去试一下。
4.2电压电流采样电路设计
系统由差分放大电路采集电压值和INA282采集电流值传输给单片机芯片控制电路进行反馈调节。假设电压输出60V,经过R78和R79分压,输出电压经过一个电压跟随器,输出电压为60/(1/30)=2V,给单片机检测控制输出电压的大小,更改R78和R79的阻值可以改变缩小倍数。电流检测是通过INA282芯片检测,我选用的是放大50倍的规格,假设输出电流为4A,输出电流为0.01*50*4=2V,给单片机检测恒流输出。其中0.01为R98电流采样电阻。

4.3 辅助电源电路设计
SCT2A10芯片将20V的输入电压通过BUCK降压输出5V电源。SCT2A10供电范围为4.5V到100V的600mA同步降压芯片,它可以调节开关频率,芯片内部设计了过压保护和过流保护等功能。FB电压的内部参考值的典型值为0.8V。其中,R1=120KΩ,VREF=0.8V,R2=22KΩ,计算得出VOUT=5.1V。
5. 软件程序设计
主程序主要对BOOST电路系统进行初始化设置和子程序的调用。在所有配置和初始化步骤完成后,程序进入While循环,等待定时器中断触发。在定时器中断处理函数中,对输入的电压信号执行采样操作,然后再经PID算法计算,随后进行电压环与电流环的控制。
5.1.PID 控制程序设计
系统设计的PID算法程序是整个控制函数的重要部分。PID算法的选择和参数的调节对本系统响应速度和系统稳定运行起到关键作用。单片机芯片的ADC功能把差分运放采集到的电压值为基准通过PID算法进行控制,由单片机芯片输出相应的值实现恒压。单片机芯片的ADC功能把INA282芯片采集到的电压值作为输出PID算法控制,由单片机芯片输出相应的值实现恒流。上面提到的是一种双闭环控制策略,包括一个电压外环的P控制器和一个电流内环的PID控制器,它们分别负责调节输出电压和电流。
6.测试结果与分析
6.1恒压测试

输入20V,输出30V,计算效率为88%,效率不是很高,负载调整率为0.7%,改善的方向可以把MOS换性能更好的MOS,把单片机的输出频率升高,输出的电容容量改小,我的是两个470uF并联。


输入20V,输出40V,计算效率为86%,效率不是很高,负载调整率为0.05%,改善的方向可以把MOS换性能更好的MOS,把单片机的输出频率升高。输出的电容容量改小,我的是两个470uF并联。



输入25V,输出50V,计算效率为88%,效率不是很高,负载调整率为0.08%,改善的方向可以把MOS换性能更好的MOS,把单片机的输出频率升高。输出的电容容量改小,我的是两个470uF并联。





输入35V,输出60V,计算效率为90%,效率不是很高,负载调整率为0.18%,改善的方向可以把MOS换性能更好的MOS,把单片机的输出频率升高。输出的电容容量改小,我的是两个470uF并联。由于用的是LM358运放,输出电压越大,采集到的电压误差越大,我已经在代码里做了输出电压补偿,把误差范围改小了,想打误差改得更好可以用高精度的运放采集电压。
6.2恒流测试
输入30V,输出设定2.2A,输出电流2.23A,实际误差有0.03A。
输入20V,输出设定0.8A,输出电流0.82A,实际误差有0.02A。代码也已经上传。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论