电赛作品——STC15直接控制的BUCK斩波电源(一)

STC15 control buck chopper power supply

Posted on May 1, 2018

为参加成都理工大学高等电子设计大赛电源组的比赛,笔者开始设计降压型DC-DC电源。纵观往届参赛作品,大多使用了专用芯片进行设计,为综合效率和灵活性,笔者设计了由STC15单片机直接控制BUCK斩波电路的降压型DC-DC电源。经测试其效率达到90%左右、带载能力强并可通过修改程序修改降压比、开关频率等相关参数。下面是关于此设计的一些技术细节。

整体构架

对于整个系统的构架,笔者采用了单片机直接输出PWM,通过IR2104拓展为互补的两路PWM驱动MOS管组成的半桥实现同步整流。同时单片机通过ADC采集输出的电压和电流,结合PID调节算法实现恒压或恒流功能。

系统构架

对照构架图可以看到,整个系统构架十分简洁。

其中控制部分仅为单片机,而功率部分由一个电感、两只MOS管、一个MOS驱动构成。整个系统的关键在于PWM的产生和MOS管的选择。

BUCK电路

BUCK电路是一种降压斩波器,降压变换器输出电压平均值总是小于输入电压。

BUCK

从电路可以看出,电感L和电容C组成低通滤波器。MOS管作为一个开关,当开关导通的时候,电感电流增加,电感储能;开关关闭的时候,D1续流二极管给电感维持电流,同时电感电流减小,电感释能,负载电流靠电容储能和电感中减小的电流供应。

不难看出,当MOS管一直处于开通状态(PWM占空比为100%)时,低压侧电压等于高压侧电压。由于电感储存多少能量就会释放多少能量,所以低压侧电压与电感在一个周期内的储能时间成正比,由此可得低压侧电压为占空比乘以PWM占空比。

同步整流

由于二极管总存在压降,当电流大的时候,二极管上的功率损耗极大,因此有了同步整流的方法:用导通电阻低很多的MOS替代了肖特基,以提高转换效率。

同步整流.png

用MOS管代替了二极管以后,需要一对互补的PWM信号进行驱动,在同一个时间内只能有一个MOS是导通的,而且因为MOS管开通和关断需要一定的时间,所以需要设置适当的死区(同时关闭上下管)来防止上下管同时导通导致高压侧短路烧毁MOS管。

同步整流虽然大幅提高了DC-DC电源的转换效率,但相较于二极管整流方式,工作于同步整流方式的DC-DC电源输出的电压波纹较大。

对于工作在同步整流方式的电源电压波纹较大的问题,就笔者分析,这主要是由于死区时间设置并不是很合理导致的。死区时间过长导致每个周期之间的断流时间过长,所以相应的波纹也就比较大。当然,死区时间过小又会很容易引起炸管,所以在设计时都倾向于将死区时间设置得较大,而这也就导致应用了同步整流的DC-DC电源波纹普遍偏大。

电流电压采样

为实现闭环控制以得到较好的恒压效果,笔者通过STC单片机自带的ADC模块实现了电压采样,通过ACS712霍尔电流计实现电流采样。

STC15单片机集成了10位八通道ADC,通过ADC模块进行AD采样也需要注意为了让AD口得到稳定的输入,一般需要在AD口并联104电容。

ACS712是一款霍尔电流计,其可以将电流转换为电压。这样,我们就可以通过ADC获得电流值,相较传统的电阻采样方式,采用霍尔电流计的采样电路具有损耗小的特点,同时单电源的工作方式也极大简化了我们的供电电路。

元件选型

MOS管选型

为了避免因导通电阻过大造成的热损耗,应选择导通电阻小的MOS管,笔者综合性价比和性能选用了IRF3205,8mOhm的导通电阻使得系统的整体效率得到了提升。

IRF3205

IRF3205的耐压等级55V,额定电流110A。一般而言,耐压越高,导通电阻越大,相应的额定电流也会降低。而还有一点是大电流、高耐压的MOS管通常结电容也较大,所以也就更不容易驱动。

控制器选型

由于经常使用STC公司的增强型51单片机,所以本次设计也使用了STC公司生产的IAP15W4K58S4单片机,其具备8通道10位ADC、2路PAC模块、6路带死区控制的硬件PWM,能够完全满足项目的要求。

MOS驱动选型

由于直接使用单片机的IO口是不足以控制MOS管的通断的,所以我们需要使用MOS驱动来增强单片机对MOS管的驱动电流。

在这里,笔者使用了IR2104作为MOS驱动器。IR2104是一款半桥驱动,输入一路PWM可以输出两路互补的PWM并且具备硬件死区时间控制,可以极大的简便我们的单片机程序设计,所以选择其作为MOS管驱动芯片。

IR2104

从参数看,IR2104并不优异,MOS的驱动电流也并不是很大,但是为了便于控制,仍选用了该型MOS驱动器。

PWM产生

STC15单片机主要有两种方式产生PWM:PAC或是硬件PWM。笔者在这里使用了PAC模块而没有采用硬件PWM,主要原因在于仅IAP15W4K58S4拥有硬件PWM,为了方便程序的移植,故而放弃了硬件PWM,这也导致了所产生的PWM精度会比较低,相应的能达到的最高频率也会受到影响。

关于STC15单片机中PAC、硬件PWM的区别,除了精度相关以外,要实现两路互补的PWM,只能使用硬件PWM方式。

主要原因在于:PAC模块无法设置IO口的起始电平,所以各路PWM的起始电平都为低电平,且只能设置低电平/高电平反转时间。这样我们所产生的PWM在每个周期的前半部分将固定为低电平,后半部分固定为低电平,这是无法更改的。则不能产生两路互补的PWM。

而硬件PWM模块则可以设置IO口的起始电平,同时具备两个翻转计数器,这样我们就可以通过改变两路PWM输出的的起始电平和两个翻转计数器来输出两路互补的PWM。

对于不具备PAC功能的STC单片机。我们也可以使用定时器来模拟PWM,但是该种方式所产生的PWM波精度较差并且单片机并没有对PWM进行优化,所以在这种场合不是很适用。

由于笔者使用了IR2104这款半桥驱动器,所以为了简便起见,仅使用了PAC模块输出了一路PWM来驱动半桥,虽然并不是真正意义上的单片机控制,但胜在结构简单,方便调试。

原理图

结合以上构想,设计总体电路如下:

原理图.png

下面就将进行实物的制作了。



TOP