基于MCHP 16bit dspic33系列的全数字控制同步Buck入门教程

利用mcc完成关键外设配置

MCC配置要求:

实现主频200MHz,Fcy=100MIPS;

PWM采用独立边沿工作方式,独立输出,时钟源选择APLL=500MHz,高精度250ps,工作频率350kHz,死区100ns,PWM1 trigger1作为ADC的出发源,CMPA作为触发点。Duty Cycle作为Data Update;

ADC时钟源为66.6MHz,转换完成进中断执行3p3z算法。

1.MPLAB X IDE开发环境的下载安装以及MCC的安装使用请参考附件。

2.系统时钟配置

主频配置200MHz,由于每两个时钟周期执行一条指令,所以工作频率是100MIPS。辅助时钟设置为500MHz,作为PWM外设的时钟源,那么PWM默认的分辨率就是2ns;如果是使能高精度,那么就是500MHz X 8,分辨率为250ps。

关于时钟详细配置信息如下:

点击左边“system module”,在右边进行参数配置




3.PWM外设配置

在下面的device source里面找到PWM外设,然后点击前面的“+”,这样就把PWM外设添加到peripheral里面去了,PWM时钟源设置如下(默认500MHz):







关于PWM MCC更详细的配置和使用

4 ADC的配置

同PWM外设一样,添加ADC外设。



每个SAR ADC内核的最大工作时钟频率限制为70 MHz。因此,所选的时钟设置必须能够提供大于14.3 ns的内核时钟周期TADCORE,否则会有告警。




配置分频比,需要在寄存器中进行设置。



这样,就PWM和ADC外设配置完毕了,如果要对pin脚进行管理,点击左上角pin module,可以看到pin module的情况,比如要设置那个pin为输出或者输入,对管脚的定义都是在这里进行。比如RD13设置为输出,利用IO翻转判断是否有进入中断。

设置好后点击"generate",会自动产生底层配置代码,如下:



这样,关于电源两个最重要的外设PWM和ADC进行配置完毕……




完成Sync Buck 闭环工作

这篇文章介绍如何让同步buck完成闭环工作。同步Buck工作于VMC控制,整个控制策略为工作频率350KHz,PWM触发ADC对输出电压进行采样,ADC模块完成采样-保持-转换之后触发中断服务程序(ISR),去执行3p3z的算法,最后完成占空比的改写。

电路示意图如下:



采样到占空比更新如下:



下面开始软件算法的配置。

1.辅助工作寄存器的初始化。

对于新的dsPIC33CK系列器件来说,由于添加了备用工作寄存器因而性能得以进一步提升。这些器件提供四个额外的工作寄存器存储区,每个区域各有 15 个工作寄存器,也可作永久寄存器使用。这意味着在器件初始化阶段就可以将诸如钳位限制、缩放因子、指针系数等数据预先加载到合适的备用工作寄存器中。然后我们可以将这些寄存器区域关联至一个既定的中断优先级,使得 只有控制环路软件才有机会进行访问。这样就消除了将工作寄存器推入/弹出堆栈的需要,也将减少在执行补偿算法时将数据输入工作寄存器所需的开销。



2.补偿器初始化

a)变量申明

两个数组被创建,一个包含AB系数在X空间;另一个控制和误差值的历史数值在Y空间。



b)3p3z控制器初始化

在使用控制器之前,必须先对其进行初始化。 首先,必须初始化系数数组,其次是误差并且需要清除控制历史记录数组,第三,必须初始化备用工作寄存器

以下指令初始化系数数组(请注意,系数是通过仿真工具获得的,比如DCDT/MATHCAD/MATLAB),在c应用程序文件中执行如下:



其次,误差和控制历史记录数组需要清除。可以通过创建一个宏并在软件中调用它。



3.ADC中断执行3p3z算法

PWM触发ADC采样,转换完毕进中断执行ISR。



工作波形:


350kHz 互补PWM


中断执行算法的时间


实际电路板工作

对环路进行扫描的Bode图如下,穿越频率11kHz,相位余量53.97°。


执行3p3z环路bode图

至此,整篇数字电源同步Buck入门专题算是告一段落


电压控制模式的ADC触发优化

如下图是一个典型的同步Buck数字控制电压单环闭环系统示意图。整个数字控制系统对外部元件的延迟环节会造成PWM信号和反馈纹波之间的相移,也就是整个从采样到发波阶段有RC滤波延迟、ADC采样延迟、环路计算、PWM发波等各个环节的延迟,这些延迟环节的组合就是造成反馈与发波之间的相移的最大影响环节。由于大部分延迟环节一般由硬件造成,比如PWM模块/Driver/RC滤波器等,无法通过软件去修改,虽然可以修改控制器代码和参数去优化,但是过于复杂,不方便调试和演示,所以我们从最简单方便的ADC触发位置对相位影响开始。



ADC模块虽然也会产生固定的延迟时间,一般就是采样-保持-转换环节,如果时钟源选定,那么这个时间也相对固定。主要是ADC的触发位置影响整个从采样到更新的延迟时间,而ADC的触发时刻是可以在软件中进行灵活配置的,所以ADC的触发位置是我们这次分析的相位损失的重点。在之前,我们先看一下ADC模块的固定延迟时间。



这个是模拟信号转化为数字信号的过程,主要是通过ADC模块进行。ADC什么时候开始转化它需要一个触发信号,这个触发信号至关重要。可以明显的看到连续模拟信号经过ADC模块,变为数字离散的值,在这个过程中就引入了一个采样-保持和转换的延迟时间,对离散的采样点进行重构,就得到了时移后的曲线(红色延迟曲线)。



这个是驱动延时对采样信号影响的示意图。

控制器的PWM信号发生器在产生的信号边沿和实际开关边沿之间存在一定的传输延迟。如果被采样值是一个很大的斜坡,那么就会产生非常明显的相位滞后(如图中红色全表示的地方)



这是一个典型的控制环路示意图,蓝色波形是上管驱动信号,绿色波形是控制环路示意图。现在我们假设ADC的触发值从PWM时基开始计数的时候进行触发,也就是触发寄存器的值为0。在ADC模块被触发后,它就开始对输出电压进行采样,然后进行转换,所以这个时间为采样-保持-转换的时间。ADC转换完成之后可以设置为自动进中断去执行3p3z的控制环路代码,计算完毕之后将输出结果对数据寄存器进行回写。所以时间t1是整个环路执行的时间。然后就退出中断处理,在这个过程中数据寄存器的值是没有被更新的,需要一直等到下个周期的SOC信号来才会被刷新到Duty的数据寄存器。所以,从采样到计算到数据寄存器的更新,延迟了一个整个周期,所以它的相位损失为如图表达式。这里的时间t1是环路执行时间,t2是数据回写窗口时间。

ADC的采样转换时间基本固定,如果控制器不变,那么它的执行时间也基本保持不变,现在我们可以改变的时间t2,那么我们可以通过调节ADC的触发位置,向后移动,那么t2的时间就会缩短,这样就可以减少从采样到寄存器更新的延迟时间。



这个是将ADC触发位置设置为环路执行完毕,数据回写后立马就对寄存器进行更新,也就是将t2的时间可以缩到最短,如果是SOC更新模式,那么这个触发点是最小相位损失。如果知道中断执行的时间,那么我们可以通过设置TRIG寄存器的值进行最佳的触发点设置。大家要知道,这个只是针对相位损失减少的设置,其实触发点的设置还有很多其他的考量因素,如果我必须采样沿的位置,当设置的TRIG寄存器的值大于计算的占空比值,那么它就采到PWM关断时期的位置,会对控制产生一定的影响。还有比如平均电流控制的PFC,需要采电感电流的中点位置,为了保持时刻保持中点位置的采样,TRIG寄存器的值每个Duty都在被更新,这样也无法保证上图中的效果。所以,这篇文章主要是方便大家理解延迟环节对相位损失的影响,大家在做实际项目的时候,还需要综合考量。



如果我们继续将ADC触发的采样点往时间轴后移,等环路计算完毕下一个周期已经开始了,如果继续采用SOC更新模式,那么它会在隔一个周期后进行更新,也就是说在当前周期进行采样后需要在第三个周期进行更新,这样就会造成更大的相位损失余量。那么我们就需要设置为立即更新模式。针对占空比的立即更新模式,举个例子,当前占空比为75%,如果计算得出的占空比为55%,那么PWM脉冲就会被立即关闭,但是有个前提,后面会提到。如果计算得出的占空比大于55%,比如85%,那么当前周期的占空比会更新到85%,但是,如果PWM脉冲已经完成,则占空比的立即更新将延迟到下一个周期。如果通过写入较小的占空比以此来缩短PWM脉冲,且时基的计数已超过新的占空比值(但尚未达到原始占空比的计数值),则将忽略下降沿比较时间。当前PWM周期内将得到100%占空比。

最后附一张不同触发点的实测Bode图





电压控制模式下的自适应增益控制(AGC)

如下是同步Buck电压单环控制的原理图,相信大家对这个原理也不陌生了,因为已经采用多次了。我们分别看一下这种控制方式的优缺点。



电压控制模式的优点:

1.PWM三角波幅值较大,脉冲宽度调节时具有较好的抗噪性;

2.对于多路输出电源,它们之间的交叉调整率比较好;

3.单一反馈电压闭环设计,调试比较容易。

电压模式缺点:

电压控制模式环路控制中由于不涉及到输入电压的变化,也就是说输入电压并没有直接参与反馈环路的闭环控制,因此,线性调整率不好,输入电压突变时的响应较慢。(什么是线性调整率?它就是反映输入电压的变化导致输出电压的相对变化量)

那么如何对电压控制模式的缺点进行改善?

我们可以对输入电压进行采样,进行一个电压前馈模式控制的PWM技术,改善线性调整率,也就是我们所说的自适应增益控制。它可以提供具有高度灵活性和可扩展性的自适应反馈环路增益调节,让电路在不同输入电压下具有类似的增益曲线,使电路具有更高的稳定性。

其实自适应增益控制的用途很广泛,一般在模拟控制中,零极点的位置由电容电阻的组合来决定。一旦组合值确定,那么它的零极点补偿的位置也决定了。但是在实际应用中,比如VMC的Buck电路,输入电压的变化、温度变化引起输出电容ESR的变化等都会影响实际功率级的增益和相位,还有就是在PFC应用当中,有些磁芯的抗直流偏置的能力比较弱,输入交流电压在过零点和峰值点对应的电感量有很大的差别,根据PFC功率级的传递函数可以看出,整个功率级的增益是跟随输入电压实时变化的。模拟控制往往只能采取一套静态的环路参数(用于补偿的电容电阻基本确定),那么很难保证电源在整个工作范围的稳定可靠工作。

这个时候如果采用数字控制,那么可以在算法当中引入根据不同工作条件而调节不同的环路参数,这样就可以保证电源在整个工作范围区间稳定可靠的工作,数字控制的灵活性得到了完美的体现。

在电压控制模式中,那么输入电压使如何影响增益变化的?哪些因素会使增益随输入电压下降?

一般我们认为, 增益的大小可以描述为在一定时间内提供一定功率的能力 ,在低压输入情况下,输入电压越低,电感电流的斜坡越小;增益的大小越小。下面是在不同输入电压下测试的电压环路Bode曲线。



可以看到,总增益电平随着输入电压和负载而变化,其中输入电压占主导地位。在输入电压和负载上,当增益向上/向下移动时相位余量基本保持不变

那么自适应增益需要达到一个什么样的目的呢?

可以通过调制对输入电压变化引起的零极点位置,将补偿不期望的增益变化,使整个开环增益曲线保持类似恒定不变。也就是下面的这种情况:



由于零极点可用于在不改变相位的情况下调整总的增益,所以我们可以在不同的输入电压下实时的去改变零极点的位置,那么我们就可以实现自适应增益的控制。



峰值电流控制模式

前面把电压控制模式介绍完了,现在给大家介绍一下峰值电流控制模式。下图是峰值电流控制模式在模拟控制中的实现方式:



误差电压信号Vc送至PWM比较器反相端后,并不是像电压模式控制那样与振荡电路产生的固定三角波电压斜坡比较,而是作为电感电流峰值的参考信号,电感电流波形可以是三角波,也可以是梯形波,当电感电流的峰值达到Vc的值,PWM关断。

下面是具体的波形示意图:



Clock信号作为PWM的开始,设置Clock频率为PWM工作频率,电感电流线性上升,达到Vc控制电压,PWM关断。上图红色为主开关管电流波形,蓝色虚线是同步开关管(二极管)电流波形。

那么峰值电流有哪些优点呢?

1.由于直接采样电感电流,输入电压的变化会直接在电感电流上反映出来,因此,这种控制模式天然具有前馈补偿的功能,它能够對输入电压变化和输出负载变化快速响应;

2.峰值电流控制模式是一个双闭环控制系统,电压外环控制电流内环。电流内环是逐周期限流控制脉冲工作的。只有当误差电压Vc发生变化时,才会导致电感电流发生变化,误差电压Vc决定了电感电流上升的程度,进而决定功率开关的占空比,因此,内环可看作是一个电流源,功率级是由电流内环控制的电流源,而电压外环控制此功率级电流源。在这个双环控制中,电流内环只负责输出电感的动态变化,因而电压外环只需要控制输出电容电压,不必控制输出LC的储能电路。所以,峰值电流控制模式PWM具有比电压模式控制大得多的带宽。带宽越宽,相对来讲稳定性越好;

3.虽然电源的LC滤波电路为二阶电路,但增加了电流内环控制后,电感L产生的极点位于内部的电流环,输出电容的ESR及其变化仍然在外部的电压环,把LC产生的双极点进行剥离,而不是像电压控制模式L、C的双极点都在外部的电压环中;这一点是电压控制模式和电流控制模式在小信号分析上最大的差别;

4.由于峰值电流控制模式cycle by cycle 的控制峰值电流,因此具有简单自动磁通平衡功能;

5.峰值电流控制模式具有瞬时峰值电流限流功能,即峰值电流模式具有内在固有的逐个脉冲限流功能,过功率保护等。

峰值电流控制模式尽管相对于电压模式控制来讲有了很多的改善,但是也有它自身的一些不足:占空比>50%后环路不稳定(次谐波震荡),需要加斜率补偿进行改善。后面章节在做详细介绍。

峰值电流控制的小信号交流等效模型是设计电压控制器(外环)的基础,只有弄清楚了电流内环的小信号模型,才可以对电压外环进行参数的设计。在CCM控制模式中,占空比d(t)不仅受ic(t)控制,还受变换器的电压和电流的控制。因此,CCM型变换器是一个多输入单输出的控制系统。


含有电流内环和电压外环的系统框图

在进行小信号分析时,可以假定电感电流的平均值等于控制量ic(t),这个假定也就意味着忽略了电流谐波补偿和电感电流纹波的影响。在这个假定的基础上,电感电流不再是独立的状态变量。在小信号传递函数中,它也不再会产生一个极点,从而系统将简化为一阶系统。由于反馈信号电路与电压模式相比,减少了一阶,因此误差放大器的控制环补偿网络可以得到简化(比如电压模式需要采用3p3z补偿器,那么峰值电流控制模式采用2p2z就可以了),稳定度得到了提高并且改善了频率响应,同时还具有更大的增益带宽积。因此,在变换器的输出端,增益和相位是由并联的输出电容和负载电阻确定的。这样,电路最多只有90°相移和-20dB/十倍频的增益衰减而不是-40dB/十倍频的增益衰减。

下图是利用kp法获取的电压外环的Bode图:



系统相当于一个一阶系统,相移最大90°,增益穿越0dB时是以-20dB/十倍频,所以电压控制环一定是稳定的。我们可以看到系统直流增益只有20多个dB,所以需要提高低频增益,以减小稳态误差。可以提供一个零极点以此来提高低频增益,然后为了在穿越0dB之前需要抵消这个极点,还需要提供一个零点用来抵消极点的影响。然后增益曲线以-1斜率穿越0dB线。在高频段75kHz左右,由于电容ESR提供一个零点(这个在前面做电压模式控制环路补偿时有介绍过),使增益曲线变得比较平坦,所以需要在这里增加一个极点。然后再有输出电容在更高频段提供一个极点,用以衰减高频信号。

以上是利用模拟控制实现的方式,下面给大家介绍一下如何利用dspic实现同步buck的峰值电流控制模式。



下面是利用dsPIC实现的峰值电流控制同步Buck的波形:




峰值电流控制次谐波振荡

大家知道,峰值电流控制在占空比大于50%的时候容易出现次谐波振荡,造成工作不稳定的现象。在给大家展示一下峰值电流控制模式的控制过程


控制框图


控制波形

峰值电流控制模式保持开关管峰值电流的恒定,也就是控制输出电感电流峰值的恒定,以确保输出所要求的直流平均负载电流。用来保持所对应的直流输出电压与电压误差放大器给定的输出电压值一致。

直流负载电流是输出电感电流的平均值,而恒定开关管峰值电流只是恒定了电感电流的峰值,并不能保证电感电流的平均值恒定,即无法保持输出负载电流的恒定。这样,在上述的未改进的电流模式电路中,直流输入电压的变化会引起直流输出电压的瞬时变化,经过短暂延时后,这个输出电压变化会被误差放大器外反馈环调整,达到一个稳定的状态。

这个就涉及到“峰值与平均值的比值”问题了,此问题来源于保持电感峰值电流恒定不能保证其平均电流恒定,原因在于占空比的改变会改变平均电流,而峰值电流却保持不变【见下面的图】。

尽管如此,控制峰值电流的内环,能保持电感峰值电流恒定,却不一定能提供与输出电压对应的正确的电感平均电流,从而导致输出电压的再次变化。反复的调整会造成输入电压变化时输出电压产生振荡,并且会持续一段时间。在宽范围的占空比变化时,将导致次谐波不稳定问题。



这个是在不同输入电压下的输出电感电流波形。在电流模式下,电感峰值电流是恒定的。直流输入电压最低时,ton最大,对应产生的电感平均电流为Iavl;随着直流输入电压的升高,导通时间会减小以维持输出恒定。但是对应的电感平均电流





小。由于输出电压和电感电流的平均值(而非峰值)相关,所以当输入电压下降,电流内环使脉宽增加时,会造成直流输出电压过高;而反馈外环又使脉宽减少,电压下降。这样,直流输出被反馈环反复调整形成振荡。【其中:



为电感电流的下降斜率,



是低压输入时电感电流的上升斜率,



是高压输入时电感电流的上升斜率。】

另外一种引起次谐波振荡的原因是在恒定输入电压下,如果由于某种原因产生了初始扰动电流



,则经过第一个下降沿后,电流会产生偏移



.此时如果占空比小于50%(m2<m1),如下图,则输出扰动



会小于输入扰动



,那么经过几个周期之后,扰动就会自动消除。



如果占空比大于50%(m2>m1),如下图,则经过一个控制周期之后,产生的偏移



比初始扰动



要大,则干扰将连续增加,从而引起振荡。



下图是占空比大于50%情况下出现的次谐波振荡波形



解决上述峰值电流控制模式两个问题的方案就是引入斜率补偿。



实现的原理是:在误差放大器的输出叠加一个斜率为-m的电压,选择合适的补偿斜率m,则输出电感的平均电流就和开关管的导通时间无关。图中显示的是电感电流的上升斜率m1和下降斜率m2。从电流模式的的原理我们知道,开关管导通时间从每个时钟脉冲前沿开始到开关管的电流信号电压达到误差放大器输出电压Vcp时结束。斜率补偿就是将一个从时钟脉冲前沿开始且斜率为-m的电压叠加到误差放大器的输出端。

那么这个斜率m该如何选择计算呢?

对于极限情况下占空比为100%,此时m1=0,稳定时必须满足



,这样可以得出补偿斜率必须满足



如果选取补偿斜率为电感电流下降沿的斜率m2,这样扰动信号在一个周期内就完成了对干扰信号的矫正



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空