数字化多路升压电源设计与制作
2022-07-11张懿楠
张懿楠
(中国民用航空华东地区空中交通管理局 上海市 200335)
1 数字化多路升压电源方案设计
完成设计目标需要具备对单片机进行设计的相关知识,对硬件方面的各类电路设计,以及软件方面的各类程序编译,本章主要对设计的方案和需要了解的专业知识进行一个概述,总起全篇并会在接下来的章节中对本章内容进行详细分析。
1.1 电路芯片模块设计
本次设计采用的是ATmega16 单片机,其内含有多频段RC 振荡器,拥有通电自动复位,延时启动等功能,其数据及程序总线互不关联,以流水线法增加运行效率,可在单位运行周期内运行完毕大部分指令。
1.1.1 主电路设计
小节介绍主电路,对于升压式电源的设计,在各类升压电路中,Boost 电路是不可或缺的,它在电路中起到使输出电压比输入电压高的作用,可以说是各类升压电路的核心所在,此次设计有三路输出,即完整电路中含有三个结构相同,参数不同的Boost 电路,关于主电路的原理会在后续章节中详细介绍。
1.1.2 驱动电路设计
通常电路直接输出的PWM 脉冲较小,难以驱动功率晶体管。此时可引入驱动电路,它可以将脉冲放大,并且通过控制功率管的状态,使Boost 电路能更好运行。在工作时,驱动电路的最前端电阻会有PWM 波输入,当次PWM 波输入至一级三极管时会根据PWM 波的高低电平相应的分为两种情况。
(1)当输入电平为高电平时,一级三极管Q1 导通;后续二级三极管与末端功率管均断开。
(2)当输入电平为低电平时,一级三极管Q1 与末端功率管断开;二级三极管导通。
通过电路的放大作用,得以驱动末端功率管。并根据功率管的不同状态对Boost 电路进行相应控制,驱动电路可以说是完成本次设计的前期准备工作。
1.1.3 缓冲电路设计
当功率管进行开关转换时,电路会对元件进行充放作用,这会产生一定的热量,可能会使器件损坏。因此需要设置缓冲电路减缓充放能量时的产生的热量,对Boost 电路进行输入/输出都需要设计缓冲电路。
单片机在进行电压输出时,由于系统与外部的影响,其电压会有一些不可避免的波动,不能将平稳的电压输入电路,此时需要将电压输入到电路前先经过稳压管的稳压动作,从而达到一个稳压缓冲的工作,使电路能够较好的运行。
而设计后缓冲电路的目的是缓冲由于电路中的内因对电路产生的影响。将一部分残留能量以电阻做功的形式消除,减轻对Boost 电路的影响。
1.1.4 采样电路设计
此次设计利用PID 对电路进行控制。需要实时对电路的输出电流/电压进行反馈,进而调整占空比,使电路得以按照设计运行。
而单片机多能承受的电压/电流值有限,本次设计电压值为16V,24V,36V,相对于单片机的可承受电压过大,所以需要对电路的输出反馈电流/电压进行缩小之后再进行输入。
在对电压进行采样时,通过设计电阻串联,对反馈电压进行分压,从而达到缩小电压的目的,在此之后将电压输入到单片机中PID 进行反馈调整。
在对电流进行采样时,通过添加运算放大器,对电流进行缩小处理,通过改变后端与单片机接口串联电阻的值对反馈电流进行一定比例的缩小,本次设计中将实际电流与采样电流按十比一的比例缩小,在此之后将电流输入到单片机中PID 进行反馈调整。
1.1.5 辅助电路设计
本次设计的输入电压为12V,大于单片机的工作电压,故在连接单片机与电路之前,需要对电路中的电压进行降压处理以达到令单片机正常工作的目的,这里采用7805 作为连接电路与单片机的电压转换稳压端,将12V 的输入电压转换为5V 电压输出。
1.1.6 时钟电路设计
时钟电路是单片机的最小系统的一部分,时钟电路一般通过晶振电路来实现。本次时钟电路设计通过晶体振荡器与两个电容并联实现,以晶体振荡器为时钟源,与单片机外接晶振引脚XTAL1,2 相连接,并最后接地完成电路。
1.2 元器件参数计算及选取
1.2.1 功率管选取
当功率管导通时,电感电流的最小/大值分别为
而功率管的开关电流为电路峰值电流的2 倍,即大于等于2.6A。
这里选取击穿电流6A,击穿电压110V 的IRF540N 场效应管作为功率管。
1.2.2 电感设计
通过电路电感的电流应该是电路电流的0.2 倍,以此通过公式换算电感应大于:
电路电感的最小电流取电路电流的0.1 倍将I=0.1I代入电感换算公式得:
根据上式可得电感与占空比的平方值呈比例关系,且占空比与电压值呈反比。
PWM 频率为f=16M/256,周期与频率呈反比即T=1/f=16us。综上所述可得L ≥120uH。本次设计采用电感值为122uH 的绕制电感。
1.2.3 电容设计
要求经过电容的电压需满足电路最小电压值,故选取的电容的等效串联电阻应该尽可能小。根据输出电容公式C ≥65×10I/U其中I为输出/输入电流的最大值;U为输出电压最大值。本次设计的Boost 电路输出电压分别为16V,24V,36V,则电容电压分别为160mV,240mV,36mV,则输出电容分别474F,316F,211F。
1.2.4 其他元器件设计
已知本次设计为升压电路,为防止输出电压过大对电路内部的影响,在电路输出电压旁增加了一个并联电阻。当输出电压增加时,电压加在该并联电阻上,起到消耗多余功率,保护电路的作用。电路中其他元器件的值根据基本Boost 电路元器件值换算得。
2 Boost电路原理设计
对于升压式电源的设计,在各类升压电路中,Boost 电路是不可或缺的,它在电路中起到使输出电压比输入电压高的作用,可以说是各类升压电路的核心所在,其高效,结构简单等特点被广泛应用于升压电路、功率因数校正等,本章节主要对Boost 电路进行详细分析。
2.1 Boost电路简介
2.1.1 电路图
对Boost 电路工作原理进行分析。其电路中为电感与电容均为大电感与大电容,且当电路稳定时,一个周期内电感的充放电相等。
Boost 电路的输入/输出共地,在有负载时,中路开关管开路的情况,也只是令输出电压等于输入电压。若无负载且Boost 电路从闭环系统失控转化成为开环,使电容只充电不放电,致使输出电压增高,则电路将烧毁。由于电感串联在电路中输入波纹小于输出波纹大,所以对电容也是大电容输出。连续模式下,要求电感大,防止电感电流下降太快,来不及补充能量,而且波纹电流随电感的增大而减小。所有连续模式中波纹电流较小,开关管和二极管的最大瞬时电流也较小。在低输入电压时,升压倍数受到升压电感内阻和功率器件内阻的限制,通常闭环带宽很窄,动态响应差。
2.1.1.1 充电
充电部分:当开关管闭合时。充电过程等效电路中用导线来替代。此刻,输入电压流过电感,对电感进行充电(为下一部分放电部分做准备)。下半部分连接二极管以反向不导通用来防止电容对地放电。电流变化量为:△I=UT/L
在电感线圈中,先前增加的能量以磁能的形式进行储存,且电容处于放电状态。
2.1.1.2 放电
放电部分:电感电流具有保持性,即当开关断开时,电感电流会阻碍电流的减小,从而电流呈缓慢下降的状态。由于原开关电路断开(原二极管位置),则电感的磁能转化为电能使电容两端电压升高。电感电流为:I=(U-U)T/L
2.1.1.3 升压过程
此过程即通入电感的电能转化为磁能再转化为电能的过程。充电过程时电能转化为电感磁能进行储存,而在放电时电感中的磁能转化为电容内的电能。若电容中储存的能量较大,在放电过程时的电流会呈持续稳定输出。
2.1.1.4 电压和电流放大倍数
充放电两个状态的电流变化量相同,△I=△I,D 即占空比D=T/T,理想状态下可得:U=U/(1-D)因为占空比必定小于一,易得输出电压U大于输入电压U。在理想条件下,电感电压U为零,则UDT=(U-U)(1-D)T。可得UT=(U-U)T路内无损耗,即P=P, UI=UI
得I/I=1-D
2.1.2 变换器特点
Boost 变换器具有高效简单的特点,在升压电路中十分常见,但通常闭环带宽很窄,动态响应差。之前介绍的是理想状态时的电路分析,实际情况下的元器件将会产生一定的误差,且外界环境也会对设计产生一定影响。
下面进行实际分析,将各元器件的寄生电阻分别简化为串联电阻R 与并联电阻R。
则输出电压为:U=(U-IR)/(1-D)
将I=U/R,I/I=(1-D)
代入得U/U=(1-D)/((1-D)+R/R)
3 软件模块
本章节主要对设计的软件编程方面进行分析,主要分为承接上一章的基于Matlab 的PID 控制仿真,以及关于单片机系统的各类程序设计。
3.1 PID控制设计
上一章提到Boost 电路可以提高输出电压,通过放大输入电流的电压从而为输出端提供高压直流电压。Boost 电路PID 的参数选取可以很大程度的影响输出电压,本文通过将程序烧入单片机,利用PID 调制系统脉宽。
下面对PID 控制器进行介绍。
常见的PID 控制分为三类:比例—微分环节;比例—积分环节;比例—积分—微分环节。
PID 控制属于线性控制,其中比例,微分,积分环节的引入可在一定程度上改善系统的性能。比例环节(P)可改善开环增益,但会降低系统的平稳性;微分环节(I)可增加阻尼比,但会引入高频噪声;微分环节(D)能降低系统稳态误差,但会降低系统动态特性。
所以,比例,微分,积分环节的引用会在对系统进行改善的同时,对系统某一方面带来不好的影响,以此需要将比例—积分—微分以合适的系数进行运用,达到一个最优解。
PID 控制的输入环节与输出环节的关系为:
其中输出环节以u(t)表示,e(t)=e(k)-y(k)表示的是输入环节至输出环节的误差。
3.1.1 增量式PID 控制原理
不同控制方式采用的PID 控制不同,本文选取的是增量式PID 控制。增量式 PID 控制较传统PID 控制的误差是一次周期一清,并不是全动作累计的,所以误差较低。
确定的首要目标是确定A,B,C 的值,而ABC都与比例系数k相关。所以利用软件编程,在实际情况中进行多次更改参数得到最佳系数。
3.1.2 选定控制参数
在控制过程中,确定参数是控制过程中的重点与难点,如何确定k和T 是一大问题。实操时,可以根据现有的k以及T 的值,去对D 和I 进行调参,一步步修改,最终完成实验调参。具体步骤为:1 计算参量ABC;2 设初值e(k)=e(k-1)=0;3 设采样输入c(k);4 计算偏差e(k)=e(k)-c(k);5 计算控制量Δu(k)=Ae(k)-Be(k-1)+Ce(k-2);6 输出Δu(k);7 准备e(k)→e(k-1),e(k-1)→e(k-2);
3.1.3 仿真参数计算
通过增量式PID 控制,根据本次设计要求12V-16V,12V-24V,12V-36V。
根据UT=(U-U)T得D 分别等于0.25,0.5,2/3,则L△I=V/(1/T+1/T)
△I=0.2I开关频率设为50kHz,得L 分别为6×10H,1.2×10H,106×10H。
根据式C=U(1-D)T/(8L△U)得C 分别为2.5×10F,4.17×10F,1.5625×10F。
由于要求输出的电压分别为16V,24V,36V,要输出的电流为0.5A。通过欧姆定律计算,三路负载电阻为32Ω,48Ω,72Ω。
所设定的驱动电路开关条件以及输出电压与输入电压以及PWM 占空比关系,由此传递函数G(s)为:
3.1.4 Matlab 仿真结果
利用上述传递函数在MATLAB 环境下进行仿真,通过不断改变PID 环节的数值可以得到不同的图像,将这些图像进行对比,选取所有图像中最为平稳的图像,次图像所代表的PID 的数值即最佳比例积分微分参数。
综合仿真结果,最终调参结果为 P=15;I=7.9;D=4.9。
3.2 单片机程序编译
3.2.1 单片机初始化程序
ATmega16 单片机的编程在GCCAVR 环境下利用C 语言进行。
将各类程序的位定义进行模块的初始化,在C 语言系统中,模块标头均以void XXXXXX_Init (void)格式,其中XXXXXX 表示的是各个模块的名称,例如输入/输出模块以I/O port 表示,看门狗模块以WDT 表示,定时器T/C0,1 均以Timer 表示,而模数转换器也以ADC 表示。
3.2.2 模数转换功能
在对模数转换器进行编译时,需将通道设置为整型通道,可用adc_value 来表示,与定义模数转换器模块初始化类似的是,在进行模数转换器功能定义时也需要将多工选择寄存器ADMUX 与控制和状态寄存器ADCSRA 进行编译,得以确定程序的参考电压以及对齐方式,编译循环语句确认转换是否结束,以中断位的高低电平,判断转换过程,在转换结束时对控制和状态寄存器编译设置中断位为高电平,并将结果返回至模数转换器的寄存器中。
3.2.3 PID 控制功能
根据公式:ADC=U×1024/U可知模数转换器转换前后的差别。
增量式PID 控制将转换值与设定值进行一对一比较,根据误差一步步调整PWM 波的输出,从而减小误差使本次实验更接近于目标值。
本此设计的输出电压分别为16V,24V,36V。根据公式可对模数转换器的值与在GCCAVR 编译环境下的代码进行相应替换,其中 16V,24V,36V 代表的设定值分别为0X012A,0X01BF,0X029D。在第三章中通过MATLAB 得到的PID 最优参数分别为:P=15,I=7.9,D=4.9。将此PID参数输入程序完成对模数转换器的编译。
3.2.4 程序主函数
基于GCCAVR 环境下的单片机C 语言编程主要完成的目的是将所需的电压数模拟量转换为数字量,并将此数字量同理想状态下的设定值进行比较,在比较之后,经过PID 控制之后得到调整过的,误差较小的数字量。并以此数字量为参考对象对PWM 波的占空比进行控制,从而使输出值与所需的电压值渐渐接近。
程序主函数在本节编程中需要起到的作用为:
(1)对所有程序的中断禁止指令,以代码CLI()实现,以次预防在运行程序时产生不需要的中断致使程序的崩坏。
(2)将本章第一节所定义的各模块初始化程序通过XXXXX_Init()代码进行调用,在开始程序前对各模块初始化处理,消除之前运行所产生的误差影响。
(3)对控制寄存器与中断控制寄存器进行编译,并打开全局中断允许标志,通过代码SEI()实现。
(4)通过PID 对三路电压进行控制,通过与设定值相比较改变波形的占空比,从而得到理想的电压输出,通过代码PID_XXV()实现,XX 代表之前设定的电压值。
4 电路仿真过程
本章节为全篇设计的制作仿真章节,讲述的是如何制作电源的过程,以及元器件的测试,利用Altium Designer 仿真软件将电路原理图作出。
4.1 电路仿真过程
4.1.1 单片机系统仿真
单片机运行的最低条件即最小系统,模拟在单片机三个输出端口PB3、PD4、PD5 上连接示波器,运行后通过输出的波形计算占空比。以36V 的波形为例,输出波形,其占空比约为 67%。
根据伏秒平衡公式:UD=(U-U)(1-D)可计算36V 波形的占空比理论值:输入电压为12V,输出电压为36V,即D=0.67,实验值与理论值吻合。
4.1.2 升压电路仿真
在Altium Designer 仿真软件是将Boost 电路的前缓冲电路,驱动电路,后缓冲电路,采样电路依次画出。以36V的电压输出为例,向前缓冲电路输入D=0.67 的PWM 波,采样电路连接电流检测与电压检测,并与单片机的PA4,PA5相连,作为电流/电压的采样输入到单片机仿真电路中。
4.1.3 总电路仿真
根据Boost 电路的相似性,在系统中添加两路分别为16V,24V 的Boost 电路,电路连接基本相同,但需要对不同输出的Boost 电路中输入占空比不同的PWM 波,其中16V 输出的占空比为0.25,24V 的为0.5,在三路系统中都连接上模拟电压表,测得的三路输出分别为16.08V,23.91V,和35.89V,与理论值基本相同。
但仿真环境与现实情况还是有很大的不同,在现实中的测量存在更大误差,例如电路串联等效电阻的影响,实操时外界环境的影响等,需要在实际操作中进一步研究与克服。
5 展望
随着软件硬件的继续发展,电子电气技术也将越发先进,本文所提到的升压电源采用的是ATmega16 单片机,实际上该单片机的初步开发距今已有很长的时间了,期间各类新型更加先进的单片机层出不穷,例如STM32 系列,STC 系列等,现今先进的32 位单片机的性能可以与上世纪九十年代的专用处理器相比。但是单片机类型中没有最好的,只有最适合电路的,本次设计选取的是AT16 芯片,在完成电路的设计仿真等过程中也有所感悟,在这里对未来数字化升压电源方向作出以下几点展望。
(1)关于单片机,未来的单片机行业必然会继续发展,而单片机的类型也会变得更加专业化,即不同系统要求会有不同的单片机,会产生在某某领域中最好的单片机的说法,这也可以让使用者在选择满足自己电路的单片机时有一个较好的概念。
(2)关于升压电路及硬件方面,Boost 电路在升压电路中依旧拥有其不可替代的地位,升压电路在许多行业中都会用到,大到电能的传输,小到变压器,如何减小变压电路元器件对电路的影响以及如何节约成本应是一个从开发至将来都需面对的问题,将来电路中元器件的选取应当使电路的输出更加稳定,损耗也应相应降低,使闭环带宽增加,提升动态响应等。
(3)关于软件及仿真方面,EDA 技术从上世纪六十年代出现的CAD 至现阶段作者所采用的Altium Designer 软件,已经产生了极大的提高,而随着PC 技术的不断发展,未来的软件方向也会有越来越多的功能出现,从最初的只能画电路图到现今的自动排线,各类器件的仿真等,将来的仿真也会更贴近实际,能减小更多误差,且操作手段也会贴近使用者,达到便捷高效的目的。