利用放大器调整输出信号的共模电压——放大器电路设计思路(图文)

放大器必须掌握的知识

明确设计要求

设计要求

  • 有两路差分信号,假设为sin+/sin-,信号Vpp=0.5V,共模电压=2.5V,要求把差分信号±sin转成单端信号sin,且波形幅值范围在[0, 3.3V]。

波形示意图

在这里插入图片描述

设计一个符合要求的放大器电路应该怎么思考

心路历程

  • step1:
    明确输入波形的最大频率f,最大峰峰值Vpp,能用表达式表示出来那就更好了。例如本文中提出的差分sin,其实是光栅编码器读数头在供电5V时输出的单路共模电压=2.5V,峰峰值=0.5Vpp的sin波,那就很好用表达式表述:
    sin+ = 0.25sin(θ)+2.5;
    sin- = -0.25sin(θ)+2.5;

  • step2:
    对输出波形的要求,就是说想输出什么样的波形,能用表达式表示出来更好。例如本文中要求的输出波形的共模电压=1.65V,峰峰值=3.3Vpp,那是因为ADC的输入信号满量程范围是[0—3.3V].于是也可以用表达式描述:
    sin = 1.65sin(θ)+1.65;

  • step3:
    放大器选型。(根据项目需求的不同,放大器的选型严格程度也不同,不得不承认那是个技术活,主要是那几个参数压摆率SR,满功率带宽积FPBW,偏置电压Offset voltage等等,不是本文重点,不做展开讲解,以后用实际项目再解释放大器选型)

  • step4:
    那么问题来了,怎么样才能将输入波形从共模电压2.5V给降到1.65V呢?于是就会这么想,放大器可以组成很多功能的电路,比如反相放大器器,正向放大器,加法器,积分器,减法器。。。,好像减法器有戏。那减法器长什么样子呢?从网上找一个标准的减法器,如下图(其实是我画的)。
    在这里插入图片描述

  • step5:
    减法器好像能行,那怎么确定那些阻值呢?其实上面那个图基本上就是差分放大器内部结构。
    (其实像这种差分转单端的应用,有专门的差分放大器可用,基本上就是Vout=A-B,倍数也可以调,但也同样面临电阻值设置的问题)

灵魂解法

  • 已经知道了输入输出的表达式;
  • sin(θ)有最大值1,此时应该对应输出的最大值3.3V,最小值-1应该对应输出最小值0;
  • 那么我们有两个已知条件,可以求出两个未知数,即电路中的两个未知电阻值;
  • 人为设定R1=R2=10kΩ,一方面10这个数字好计算,两一方面阻值太大会引入电阻热噪声甚至大幅削弱信号能量,比如用个1GΩ,那信号就阻断了,太小了可能会让放大器震荡,有时候datasheet会推荐这个阻值,有时候凭着经验觉得这个值就行,那就这个值吧(我在实际中测试过了,可行)。令R3=xkΩ,R4=ykΩ;如下图
    在这里插入图片描述
  • 虚短虚断利用起来,得到Vout的表达式;我已经算好了:
    在这里插入图片描述
    把值带进去就得到:
    在这里插入图片描述
    前面已经提到有两个已知条件:
    当sin(θ)=1时,Vout=3.3,
    当sin(θ)=-1时,Vout=0;
    带入公式中,是不是有初中学的二元一次方程组内味了。
  • 我们用matlab解二元一次方程组:
syms x y;
[x y]=solve((x*(10+y))/(10*(10+x))*(0.25+2.5)-y/10*(-0.25+2.5)==3.3,(x*(10+y))/(10*(10+x))*(-0.25+2.5)-y/10*(+0.25+2.5)==0)

得到:x=106.7647kΩ,y=29.7kΩ;

注意事项

  • 本文用的是rail-to-rail 放大器,ADI公司的AD8544

仿真

方法1

用TI的TINA软件仿真,选用rail-to-rail 放大器进行仿真;

方法2

用matlab仿真,不是用Simulink,而是仿真用虚短虚断求出来的Vout公式,

%共模2.5V
sin_p=0.25.*sin(x)+2.5;	%sin+表达式
sin_n=-0.25.*sin(x)+2.5; %sin-表达式
sin=3.63.*sin_p-2.97.*sin_n; %Vout表达式,3.63/2.97是把已知值带进去直接算出来的
plot(sin_p)
hold on
plot(sin_n)
hold on
plot(sin)
max(sin)
min(sin)

在这里插入图片描述
由上图可以看出,求出的R3,R4的值可以满足我们需要的范围[0, 3.3V]。

方法3

实际搭电路测试。我是直接用光栅读数头输出的差分sin进行电路测试,实际结果跟matlab仿真结果基本一致。

总结与展望

  • 本文中设计要求输出范围在[0, 3.3V],在设计时不会把输出值卡的正好,都会留出一定的裕量,例如这次我只把输出范围调在了[0.1, 3.2V],这样可以增加系统的鲁棒性;
  • 一切的仿真都是理论,一定要搭电路测试电路模块的正确性,然后再集成到系统中;
  • 放大器电路的设计思路一般都是从后往前推;

猜你喜欢

转载自blog.csdn.net/aqwtyyh/article/details/105621110