wkhn
认证:优质创作者
作者动态
一种采用CAN总线方式升级F28035芯片Flash的方法(三)
6天前
一种采用CAN总线方式升级F28035芯片Flash的方法(二)
6天前
一种采用CAN总线方式升级F28035芯片Flash的方法(一)
6天前
STM32G4系列MCU——数字电源入门(4)
2023-03-14 10:46
STM32G4系列MCU——数字电源入门(3)
2023-03-13 20:05

一种方便快捷计算开关电源环路参数的方法及实例

      开关电源环路的设计比较复杂,最可靠的方法是用网络分析仪实际测量出功率电路的bode图,然后根据实测的bode图采用相应的补偿器。但是,网分设备有一定的使用门槛,且并不是每个工程师都能配备,所以网分实测的方法注定不适用大多数工程师。

      下面介绍一种方便快捷的方法,能使工程师在设计控制环路前,先大概估算一下环路补偿器的参数,虽然有一定的误差,但对补偿器电路的选择是有指导意的。先说说它的优点:

1)不需要网络分析仪。

2)不需要有数学建模的知识,也不需要自动控制的专业课背景

3)设计的补偿器参数完全不需要数学推导,只需要将所需要的穿越频率和相位裕度输入进去,所有补偿器参数都由matlab的PID工具箱自动完成计算工作,只需要确定该补偿器的类型即可。

      再来说说用该方法的需要具备的条件:

1)需要一台电脑。

2)需要安装 simplis和matlab 2020中的系统识别工具箱和sisotool工具箱(单输入单输出)。

3)要会用simplis仿真,matlab要会一些基本的操作。

      下面用一个电源实例来说明如何进行操作。在开始之前,先确认你的电脑里面安装了simplis、matlab 2020和excel。matlab 2020以前的版本未试过,可能会和现有的版本在操作上有区别。如果matlab安装中不知道如何选装工具箱,那就选完全安装,现在开始。

      下面以boost升压电路为例,电路参数如下:

      输入:250Vdc--350Vdc

      输出:430Vdc   1A

      升压电感:1mH

      输出电容:450uH      ESR:10mΩ

      反馈采用电流电压双闭环的形式,内环为电流环路,外环为电压环路。所以环路设计的步骤为:1)功率级电流环开环传递函数获得。2)电流环路补偿器的参数计算。3)功率级电压环开环传递函数的获得。4)电压环路补偿器的参数计算。

先从内部电流环开始。功率电路电流环开环传递函数及bode图,仿真电路图如下:

针对上面的仿真电路,做几点说明:

         一、电流采样用电流控制电压源来模拟,代替电阻采样和差分放大电路。

         二、V3信号源用来产生锯齿波,该锯齿波的幅值为15V,与现实中的PWM芯片内部的信号并不一致,所以要仿真实际电路,需要输入实际的锯齿波的幅值。

         三、V14电压源的电压值设定为3V,会产生20%的占空比PWM波形。在350V的输入电压时,输出电压在440V左右,输出电流为1A。所以这样的直流偏置符合电路的额定工作状态,因此,V14设定为3V是合适的。

开关频率设为100KHz,先进行瞬态仿真。

瞬态仿真参数设置

得到瞬态波形

再进行AC交流仿真。

交流仿真参数设置

得到电流开环增益的bode图,如下:

要根据上面电流开环传递函数的bode图,设计补偿器,这就要用到matlab软件了。首先将bode图导入到Matlab中,然后用系统识别工具箱识别出传递函数。具体步骤如下:

先将图形通过“Copy ASCII Data”命令拷入到内存中。会弹出下面的对话框。选择“Select All”,单击“ok”。

然后打开Excel,然后用“Ctrl+V”复制到表格中。

需要另外增加两列,用来换算频率和放大倍数。

注意黄色标注的是计算公式,然后双击蓝色圈中的小黑点,自动完成这一列的填充。

然后完成分贝转换成放大倍数的公式。最后点击保存。

打开Matlab2020,点击“导入数据”。

选择刚才保存好的Excel表格,弹出下面的窗口。

在输出类型的下拉列表中,选择“列向量”,然后单击“导入所选内容”。就可以关闭这个窗口了。这时在Matlab的工作区中,就会出现刚才导入的数据了。

然后打开Matlab的系统识别模块“System identification”。

会弹出下面窗口:

按照1、2、3、4、5的顺序完成操作。注意,第4步中,连续系统要填“0”。

输入数据后,可以通过红圈“1”,调出导入数据的bode图,与之前的simplis仿真波形对比一下,应该完全一样。然后按照红圈“2”,让Matlab自动识别传递函数。

先根据经验大概估计一下传递函数中的零极点的个数。在上面的例子中,估计的零点为1个,极点为2个。然后点击”Estimate”,进行系统识别。会出现下面的窗口,判断是否识别成功,可以通过百分比自己判断。如果百分比太低,则要调整零极点的个数或其它识别参数,重新识别。一般超过80%即可。然后,如下图

先双击红圈“1”,会出现右边的窗口,右边的窗口就是识别出来和传函。点击“2”,输出到matlab的命令行。点击“3”,输出到matlab的工作区。

查看matlab的命令行,会看到上图的信息,该bode图的识别率为100%,最上端是功率级电流开环传递函数。

下面,我们要用sisotool工具进行补偿器的设计了。在调用sisitool工具之前,应该先将功率传函导入到sisotool工具中。

双击红圈“1”的“tf1”,会在命令行的上面窗口出现变量“tf1”的具体内容,分别把2、3用“Ctrl+C”和“Ctrl+V”复制到4、5处。然后用“6”的“tf()”命令生成传函。最后通过“7”调用sisotool工具。下图就是sisotool工具和窗口。

通过1、2两个步骤,将频率改为赫兹(Hz)。

按照上图的1、2步骤,用matlab自带的PID调节工具进行补偿器的设计工作。

  • 1. 可以选择控制器的类型。一般就选择“PI”调节器。
  • 2. 在“2”的下拉框中选择“Frequency”。
  • 3. 选择自己想要的穿越频率。本例中是“10KHz”注意要换算成弧度。因为在pfc电流环路设计中,要求电流开环传递函数的穿越频率应该小于开关频率的10%,本例中的开关频率为100KHz,同时为了保证电流环路的快速性,选择穿越频率为10KHz。
  • 4. 选择期望的相角裕度。本例中是“60”
  • 5. 参数输入完成后,按“5”更新bode图。
  • 6. 在“6”的位置,系统指示出,该控制器能让系统稳定。
  • 7. “7”处是系统总的开环传递函数的穿越频率和相位裕度。本例中,穿越频率为“99KHz”相位裕度为“60度”。因此该补偿器达到了设计要求。
  • 8. 单击“8”的位置所在的C。即为控制器的传函。
  • 9. 在“9”的地方,显示了控制器的传函。
  • 10. 在“10”处,单击“Export”。输出C,即将控制器的传函导入matlab的工作区中。

    至此,我们就已经通过matlab的PID工具自动生成了补偿器的传递函数C,下面就要根据这个传递函数设计一个运放反馈电路来进行补偿。未完待续。
声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
本篇所含全部资料,点击此处留下邮箱我会发给你
资料明细:1.电流环开路功率级传递函数.rar
觉得内容不错的朋友,别忘了一键三连哦!
赞 18
收藏 39
关注 443
成为作者 赚取收益
全部留言
0/200
  • 平常心666 04-13 16:58
    老师,能不能发我一下资料,谢谢! 15****@****.com
    回复 1条回复
  • Daveone 03-06 20:48
    老师,能不能发我一下资料,谢谢! 11****@****.com
    回复 1条回复
  • dy-iGugTBNk 02-27 16:25
    老师,能不能发我一下资料,谢谢! pe****@****.com
    回复 1条回复
  • songxium 01-26 13:40
    老师,能不能发我一下资料,谢谢! so****@****.com
    回复 1条回复
  • dy-fr7bqalt 01-04 16:39
    老师,能不能发我一下资料,谢谢! da****@****.com
    回复 1条回复
  • jimu115139 2023-10-19 20:02
    老师,能不能发我一下资料,谢谢! 24****@****.com
    回复 1条回复
  • anono 2023-09-11 13:35
    老师,能不能发我一下资料,谢谢! 10****@****.com
    回复 1条回复
  • bangjg 2023-08-27 14:02
    老师,能不能发我一下资料,谢谢! 15****@****.com
    回复 1条回复
  • dy-lAqZgYJf 2023-05-29 17:46
    老师,能不能发我一下资料,谢谢! gh****@****.com
    回复 1条回复
  • dy-3KbSlHcZ 2023-04-24 15:17
    老师,能不能发我一下资料,谢谢! 64****@****.com
    回复 1条回复
  • lp124512 2023-04-14 17:22
    内容已删除 26****@****.com
    回复 1条回复
  • 神一样的飞哥 2023-04-06 10:14
    老师,能不能发我一下资料,谢谢! Ka****@****.com
    回复 1条回复
  • sdll825 2023-03-16 14:15
    老师,能不能发我一下资料,谢谢! sd****@****.com
    回复 1条回复
  • dy-Dr7xAIn8 2023-03-03 16:17
    老师,能不能发我一下资料,谢谢! 85****@****.com
    回复 1条回复
  • yangwenlong 2023-02-28 22:09
    老师,能不能发我一下资料,谢谢! ya****@****.com
    回复 1条回复
  • kakawa224 2023-02-26 16:37
    老师,能不能发我一下资料,谢谢! 39****@****.com
    回复 1条回复
  • 嘿咻嘿咻123 2023-02-06 11:30
    老师,能不能发我一下资料,谢谢! 10****@****.com
    回复 1条回复
  • Pyramid波 2023-01-13 15:25
    老师,能不能发我一下资料,谢谢! 94****@****.com
    回复 1条回复
  • dy-Dr7xAIn8 2023-01-06 14:04
    老师,能不能发我一下资料,谢谢! 85****@****.com
    回复 1条回复
  • hn_lipengfei 2022-12-08 12:03
    老师,能不能发我一下资料,谢谢! hn****@****.com
    回复 1条回复