天天看點

利用放大器調整輸出信号的共模電壓——放大器電路設計思路(圖文)放大器必須掌握的知識明确設計要求設計一個符合要求的放大器電路應該怎麼思考注意事項仿真總結與展望

放大器調整輸出信号共模電壓——放大器電路設計思路

  • 放大器必須掌握的知識
  • 明确設計要求
    • 設計要求
    • 波形示意圖
  • 設計一個符合要求的放大器電路應該怎麼思考
    • 心路曆程
    • 靈魂解法
  • 注意事項
  • 仿真
    • 方法1
    • 方法2
    • 方法3
  • 總結與展望

放大器必須掌握的知識

  • 關于放大器中的SR參數.
  • 放大器,還是衰減器,或兩者皆可?.
  • 再談運放SlewRate-SR.
  • CMRR在測量差分小信号時的重要性——輸出誤差分析.
  • 運算放大器為什麼不能用作比較器.

明确設計要求

設計要求

  • 有兩路差分信号,假設為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],這樣可以增加系統的魯棒性;
  • 一切的仿真都是理論,一定要搭電路測試電路子產品的正确性,然後再內建到系統中;
  • 放大器電路的設計思路一般都是從後往前推;