Westbrook
认证:VIP会员
所在专题目录 查看专题
(8)s域补偿器设计
(9)全数字控制系统实现
(10)补偿器s域到z域设计
(11)利用mcc完成关键外设配置
(12)完成Sync Buck 闭环工作
(13)电压控制模式的ADC触发优化
作者动态 更多
10分钟教你快速完成数字电源的闭环控制
2022-04-02 17:26
数字电源学习板演示
2022-02-19 13:36
手把手教你学数字电源系列视频(22)- 数字控制的软件流程
2022-02-19 13:28
手把手教你学数字电源系列视频(21)- 设计数字补偿器(LDE执行)
2022-02-19 13:28
手把手教你学数字电源系列视频(20)- 设计数字补偿器(AB系数计算)
2022-02-19 13:27

(12)完成Sync Buck 闭环工作

上一篇已经介绍如何完成关键外设的MCC初始化配置,这篇文章介绍如何让同步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入门专题算是告一段落,欢迎各位提出意见与交流,谢谢大家!

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 10
收藏 9
关注 823
成为作者 赚取收益
全部留言
0/200
  • huanjue562018 2022-03-31 08:55
    3p3Z的系数是怎么确定的,求楼主再讲仔细些,感谢
    回复
  • luofeng4900 2020-11-16 20:13
    谢谢楼主!
    回复
  • 阳光帝国 2020-11-11 09:18
    精彩,很多东西还没接触到
    回复
  • sandtech168 2020-11-04 11:01
    思路清晰,受益匪浅
    回复