这个例子展示了使用控制系统工具箱™的非反相反馈放大器电路的设计。这个设计是围绕运算放大器(运放)而设计的,运算放大器是电子反馈电路的标准组成部分。
本教程介绍如何使用控制系统工具箱提供的工具设计、建模和分析真实的电气系统。
电子反馈电路的标准组成部分是运算放大器(运放),这是一种差分电压放大器,设计具有极高的直流增益,通常在1e5到1e7的范围内。
运算放大器的电气符号如下所示。
本示例假设使用具有2极(频率w1、w2)和高直流增益(a0)的无补偿运算放大器。假设该运算放大器在其线性模式(非饱和)下工作,则其开环传递函数可表示为线性时不变(LTI)系统,如上所示。
虽然物理运算放大器中会存在高阶极点,但在这种情况下,假设这些极点位于幅值远低于单位的频率范围内。
开环传递函数:
假设以下系统参数:
a0=1e5;w1=1e4;w2=1e6;
接下来,您想要使用控制系统工具箱创建这个系统的传递函数模型。该模型将作为LTI对象存储在MATLAB®工作空间中。
首先,使用TF命令定义拉普拉斯变量s。然后使用“s”构造开环传递函数a(s):
s=tf('s'); a=a0/(1+s/w1)/(1+s/w2)
a=1e15-----------------s^2+1.01e06 s+1e10连续时间传递函数。
您可以使用BODEPLOT命令查看a(s)的频率响应:
h=博德普洛特(a,“r”); setoptions(h,“频率单位”,“rad/s”,“磁单元”,“dB”,“相位单位”,“度”,...“YLimMode”,“手册”,“YLim”,{[0,110],[-180,0]});
右键单击绘图可访问此Bode图的属性菜单。左键单击曲线可创建可移动的数据标记,可用于获取响应详细信息。
您可以使用STEPPLOT和DCGAIN命令查看a(s)的标准化阶跃响应:
a_范数=a/D增益(a);步进图(a_范数,“r”)头衔(“标准化开环阶跃响应”); 伊拉贝尔(“归一化振幅”);
右键单击绘图并选择“特征->稳定时间”以显示稳定时间。将鼠标悬停在稳定时间标记上以显示稳定时间的准确值。
现在添加一个电阻反馈网络,并将系统作为非反相放大器连接。
该反馈网络b(s)只是一个具有输入Vo和输出Vn的分压器。求出Vn/Vo之比,得到b(s)的传递函数:
b=Vn/Vo=R1/(R1+R2)
系统的框图表示如下所示。
求解Vo/Vp比得出闭环增益A(s):
A=Vo/Vp=A/(1+ab)
如果产品“ab”足够大(>>1),则A(s)可近似为
A=1/b
现在假设您需要设计一个直流增益(Vo/Vp)为10的放大器,并且R1固定在10千欧。求解R2得到:
A0=10;b=1/A0;%ab的近似值>>1R1=10000;R2=R1*(1/b-1)
R2=90000
使用反馈命令构建闭环系统:
=反馈(A, b);
接下来,使用BODEMAG命令将a(s)和a(s)的频率响应绘制在一起:
博德马克(a,“r”A.“b”);传奇(‘开环增益(a)’,“闭环增益(A)”)ylim([0110]);%注释opampdemo_注释(1)
使用负反馈降低低频(LF)增益导致系统带宽相应增加(定义为增益下降3dB低于其最大值的频率)。
这种增益/带宽折衷是设计反馈放大器电路的有力工具。
由于增益现在由反馈网络支配,因此考虑的有用关系是该增益对运算放大器的自然(开环)增益的变化的敏感性。
然而,在推导系统灵敏度之前,定义环路增益L(s)=a(s)b(s)是很有用的,它是信号在环路中传播的总增益:
L = a * b;
您将使用该数量评估系统灵敏度和稳定性裕度。
系统灵敏度S(S)表示A(S)对A(S)变化的灵敏度。
S(S)和L(S)之间的反向关系揭示了负反馈的另一个好处:“获得敏感性”。
S=1/(1+L);
S(S)与反馈方程具有相同的形式,因此,可以使用更稳健的反馈命令来构造:
S=反馈(1,L);
S(S)和A(S)的大小可使用BODEMAG命令一起绘制:
博德马克(A,“b”s“g”)传奇('闭环增益(A)',“系统灵敏度”,“位置”,‘东南’)
非常小的低频灵敏度(约-80 dB)表示闭环增益受开环增益变化影响最小的设计。由于制造变化、温度变化等,a(s)中的这种变化很常见。
您可以使用STEPPLOT命令检查A(s)的阶跃响应:
阶梯图(A)%注释opampdemo_注释(2)
注意,使用反馈大大减少了沉淀时间(约98%)。然而,阶跃响应现在显示了大量的振铃,表明稳定性裕度差。
您可以通过使用margin命令绘制环路增益L(s)来分析稳定裕度:
保证金(L)
结果图显示相位裕度小于6度。您需要对该放大器进行补偿,以将相位裕度提高到可接受的水平(通常为45度或更高),从而减少过冲和振铃。
在这种类型的电路中,一种常用的补偿方法是“反馈引线补偿”。这种技术通过添加一个电容器C和反馈电阻器R2并联来修改b(s)。
选择电容值,以便在交叉频率附近的b(s)引入相位引线,从而增加放大器的相位裕度。
新的反馈传递函数如下所示。
通过将b(s)的零点置于L(s)的0dB交叉频率处,可以近似计算C的值:
[Gm、Pm、Wcg、Wcp]=保证金(L);C=1/(R2*Wcp)
C=1.1139e-12
要研究C对放大器响应的影响,请围绕您的初始猜测为几个C值创建一个LTI模型阵列b(s):
K=R1/(R1+R2);C=[1:2:3]*1e-12;对于n=1:length(C)b_数组(:,:,n)=tf([K*R2*C(n)K],[K*R2*C(n)1]);结束
现在您可以为A(s)和L(s)创建LTI阵列:
A_数组=反馈(A,b_数组);L_数组=A*b_数组;
您可以使用STEPPLOT命令绘制LTI阵列、A_array(s)和A(s)中所有模型的阶跃响应:
步进图(A,“b:”,一个数组,“b”[0.005:1]*1.5e-6);头衔('闭环阶跃响应(补偿)');%绘图注释opampdemo_注释(3)
使用MARGIN命令可以找到环路增益阵列L_阵列的相位裕度:
[通用点,Wcg航空]=利润率(L_array);
现在可以把相位裕度画成C的函数。
地块(C*1e12,下午,“g”); ax=gca;xlim([0.83.6]);ylim([45-60]);斧头箱=“开”; xlabel(‘补偿电容器,C(pF)’); 伊拉贝尔(“相位裕度(度)”)%绘图注释opampdemo_注释(4)
当C=2pF(2e-12)时,可获得58°的最大相位裕度。
对应于C=2pF的模型是LTI阵列中的第六个模型,即b_阵列。通过选择LTI阵列A_阵列的索引6,可以绘制该模型闭环系统的阶跃响应:
A_comp=A_数组(:,:,6);步进图(A,“b:”,A_comp,“b”)传奇('未补偿(0 pF)',‘补偿(2 pF)’)
注意,沉降时间进一步缩短(额外减少85%)。
我们可以使用BODE命令叠加所有三个模型(开环、闭环、补偿闭环)的频率响应:
博德普洛特(a,“r”A.“b:”,A_comp,“b”)传奇("a(s)","A(s)",“A\\ u公司”);
请注意,补偿电容的添加消除了闭环增益中的峰值,并大大扩展了相位裕度。
非反相反馈放大器电路设计中元件值选择的简要总结:
最终成分值:R1=10千欧,R2=90千欧,C=2千欧。
选择电阻反馈网络(R1,R2)以产生10(20 dB)的宽带放大器增益。
反馈引线补偿用于调整交叉频率附近的环路增益。补偿电容C的值经过优化,以提供约58度的最大相位裕度。