器原理與門限計算:運放正反饋的工程應(yīng)用)
干硬件這行的幾乎都經(jīng)歷過一個“開竅”時刻同一個運算放大器接成負反饋的時候乖巧得不行虛短虛斷隨手就用可一旦把反饋從反相輸入端挪到同相輸入端整個電路就像變了個人——輸出死死頂在電源軌上怎么都不肯停在中間。這個讓無數(shù)新手懷疑人生的接法正是施密特觸發(fā)器也叫遲滯比較器。它用的不是負反饋而是正反饋。這篇文章想做的事很具體把運算放大器在正反饋狀態(tài)下的行為講透從施密特觸發(fā)器的基本原理到反相、同相兩種最常用電路的門限推導(dǎo)再到實際選型、調(diào)試和工程應(yīng)用。適合剛接觸運放比較電路的學(xué)生也適合在產(chǎn)品里被噪聲觸發(fā)問題折磨的工程師參考。1. 正反饋與負反饋的本質(zhì)差異為什么虛短虛斷在這里全部失效1.1 負反饋時代養(yǎng)成的“直覺”在正反饋這里全是坑學(xué)習(xí)運算放大器的時候最先接觸的是同相放大、反相放大、跟隨器這些負反饋電路。負反饋的核心是讓輸出的一部分以“抵消”的方式送回輸入端輸出升高了反饋會讓輸入差值減小于是輸出又被拉回來。最終電路穩(wěn)定在虛短和虛斷成立的工作點上增益只取決于外部電阻的比例。這套思維用順了之后碰到正反饋電路會非常別扭。正反饋的反饋信號不是去抵消輸入差值而是去“助長”它。輸出只要偏離一點點反饋就會把偏離放大輸出繼續(xù)偏離直到撞上電源軌。整個過程沒有任何機制把輸出拉回中間所以虛短虛斷不再成立運放也徹底退出了線性放大區(qū)變成一個雙穩(wěn)態(tài)器件。在負反饋電路里運放的開環(huán)增益越高虛短越精確在正反饋電路里開環(huán)增益越高翻轉(zhuǎn)越干脆。1.2 用公式看正反饋的“雪崩”過程可以把運放等效成一個高增益放大器輸出與輸入差模電壓的關(guān)系是Vout A × (Vp - Vn)其中 A 是開環(huán)增益Vp 是同相輸入端電壓Vn 是反相輸入端電壓。負反饋電路里反饋網(wǎng)絡(luò)把輸出的一部分接到 Vn輸出升高會導(dǎo)致 Vn 升高從而把 Vp - Vn 壓回去。正反饋電路則把輸出的一部分接到 Vp輸出升高會進一步抬高 Vp于是 Vp - Vn 繼續(xù)增大輸出繼續(xù)升高。這個循環(huán)不會收斂只會一路“雪崩”到運放的飽和輸出。假設(shè) Vp 抬高了微小量 δ經(jīng)過增益 A 放大輸出變化 Aδ反饋網(wǎng)絡(luò)又把其中的 β 送回 Vp于是 Vp 又額外變化 Aβδ。只要 Aβ 大于 1擾動就會指數(shù)級增長直到輸出達到飽和電壓反饋回路才歸于平靜。工程上很少用這個公式去算具體數(shù)值但這個 A×β 大于 1 的條件值得記住它解釋了為什么正反饋電路天生就是“非高即低”的狀態(tài)也解釋了為什么它天然適合做比較和整形。1.3 兩個穩(wěn)定狀態(tài)的記憶效應(yīng)正反饋運放電路有兩個穩(wěn)定狀態(tài)分別對應(yīng)輸出為高飽和和低飽和。真正妙的地方在于這兩個穩(wěn)定狀態(tài)之間存在一個過渡區(qū)輸入電壓在這個過渡區(qū)里往不同方向變化時翻轉(zhuǎn)點不一樣。也就是說電路“記得”自己上一次輸出是什么狀態(tài)輸出狀態(tài)會影響下一次翻轉(zhuǎn)的臨界電壓。這就是遲滯。也是為什么很多場景里施密特觸發(fā)器比普通比較器實用得多。2. 從單門限到遲滯噪聲環(huán)境下比較器為什么要“記憶”2.1 普通比較器在噪聲面前的狼狽相先看普通的單門限比較器反相輸入端接參考電壓 Vref同相輸入端接輸入信號輸出只有高和低兩種狀態(tài)。輸入高于 Vref 時輸出翻高低于 Vref 時輸出翻低。理想情況下這沒問題但實際信號總帶著噪聲。假設(shè) Vref 設(shè)定在 2.5V而輸入信號恰好是個緩慢變化的電壓上面疊加了幾十毫伏的紋波。當(dāng)信號在 2.5V 附近緩慢爬升時噪聲可能讓信號在門限附近來回穿越幾十次輸出也跟著瘋狂翻轉(zhuǎn)。輸出端的數(shù)字電路或繼電器根本來不及響應(yīng)這么高頻的翻轉(zhuǎn)輕則邏輯混亂重則器件過熱甚至燒毀。解決思路有兩個方向一是加低通濾波把噪聲濾掉但濾波會帶來延遲對響應(yīng)速度有要求的場合不適用二是讓比較器本身具備“免疫”能力這就是遲滯的作用。2.2 遲滯的工作方式兩個門限而不是一個遲滯比較器有兩個門限上門限 VTH 和下門限 VTL。輸入從低往高走的時候要越過 VTH 輸出才翻轉(zhuǎn)輸入從高往低走的時候要跌回 VTL 輸出才翻轉(zhuǎn)。VTH 和 VTL 之間的區(qū)域就是遲滯窗口。噪聲幅度只要小于遲滯窗口寬度輸出就不會發(fā)生誤翻轉(zhuǎn)。一旦輸出翻轉(zhuǎn)了門限會自動切換到另一個值相當(dāng)于給電路建立了一道“安全隔離帶”。這種特性和空調(diào)溫控非常像設(shè)定 26 度啟動制冷等溫度降到 24 度才停機中間留出兩度的緩沖區(qū)避免壓縮機頻繁啟停。2.3 遲滯窗口寬度由什么決定遲滯窗口寬度等于 VTH 與 VTL 之差。對運放施密特觸發(fā)器來說這個差值主要由兩個因素決定運放輸出高電平和低電平之差以及反饋電阻的分壓比例。反饋越強窗口越寬反饋越弱窗口越窄。值得注意的是輸出高電平和低電平之差并不是電源電壓而是運放實際輸出的飽和電壓差。很多運放在輕負載下高電平輸出能到 VCC - 1.5V 左右低電平輸出到 VEE 0.1V 左右具體數(shù)值手冊里都有。設(shè)計時拿這個實際差值去算門限而不是直接拿 VCC 和 GND 算。3. 反相與同相施密特觸發(fā)器的門限推導(dǎo)與實例計算3.1 反相施密特觸發(fā)器電路結(jié)構(gòu)與工作原理反相施密特觸發(fā)器是最常見的一種接法。輸入信號經(jīng)過電阻接到反相輸入端參考電壓 Vref 接到同相輸入端輸出端通過反饋電阻 R2 也接到同相輸入端。同相輸入端的電壓是 Vref 和 Vout 通過兩個電阻分壓的結(jié)果。當(dāng)輸出為高電平 VOH 時同相輸入端電壓被抬高表達式為Vp Vref (VOH - Vref) × R1 / (R1 R2)此時輸入 Vin 必須升到比 Vp 更高輸出才會翻轉(zhuǎn)為低。所以這個值是上門限 VTH。當(dāng)輸出翻轉(zhuǎn)為低電平 VOL 后同相輸入端電壓被拉低表達式變?yōu)閂p Vref (VOL - Vref) × R1 / (R1 R2)輸入 Vin 必須回落到比這個值更低輸出才會翻轉(zhuǎn)為高因此這個值是下門限 VTL。遲滯窗口寬度為VTH - VTL (VOH - VOL) × R1 / (R1 R2)用一個實際例子走一遍計算。設(shè) VCC 5VVref 2.5V運放輸出高電平 VOH 4.8V輸出低電平 VOL 0.2VR1 10kΩR2 100kΩ。VTH 2.5 (4.8 - 2.5) × 10 / 110 ≈ 2.709V VTL 2.5 (0.2 - 2.5) × 10 / 110 ≈ 2.291V輸入信號從低往高走超過 2.709V 時輸出翻低從高往低走跌回 2.291V 以下時輸出翻高。窗口寬度約 0.418V只要噪聲峰峰值小于這個窗口輸出就能保持穩(wěn)定。3.2 同相施密特觸發(fā)器門限關(guān)系恰好相反同相施密特觸發(fā)器的接法是輸入信號通過 R1 接到同相輸入端反相輸入端接參考電壓 Vref反饋電阻 R2 從輸出端接到同相輸入端。兩個電阻在同相輸入端匯合形成分壓網(wǎng)絡(luò)。節(jié)點電壓滿足關(guān)系(Vin - Vp) / R1 (Vout - Vp) / R2解出 Vp 的表達式后令 Vp Vref 即可得到翻轉(zhuǎn)條件。當(dāng)輸出為低電平時輸出把節(jié)點電壓往下拉輸入需要升得更高才能把節(jié)點電壓拉回 Vref所以此時對應(yīng)的是上門限VTH [Vref × (R1 R2) - VOL × R1] / R2當(dāng)輸出為高電平時輸出把節(jié)點電壓往上抬輸入需要降得更低才能讓節(jié)點電壓回到 Vref對應(yīng)下門限VTL [Vref × (R1 R2) - VOH × R1] / R2繼續(xù)用上面的參數(shù)驗證Vref 2.5VVOH 4.8VVOL 0.2VR1 10kΩR2 100kΩ。VTH [2.5 × 110 - 0.2 × 10] / 100 2.73V VTL [2.5 × 110 - 4.8 × 10] / 100 2.27V可以看到同相施密特的 VTH 和 VTL 與反相施密特略有差異但遲滯窗口寬度都是接近 0.46V 的量級。設(shè)計時需要根據(jù)輸入端信號的參考電位選擇合適的拓撲。3.3 門限計算中的兩個關(guān)鍵細節(jié)第一門限計算用的是 VOH 和 VOL不是電源軌。以 LM358 這類輸出級不是軌到軌的運放為例在 5V 供電下 VOH 可能只有 3.5V 左右直接拿 5V 去算門限實際翻轉(zhuǎn)點會和你設(shè)計值差出一大截。第二如果 Vref 接近 VOH 或 VOL會導(dǎo)致某一側(cè)門限非??拷娫窜壣踔了愠鰜淼拈T限超出合理范圍。設(shè)計時要把兩個門限都算一遍確保它們落在輸入信號的正常變化范圍之內(nèi)。3.4 用電阻比值控制遲滯寬度的經(jīng)驗值反饋越強遲滯窗口越寬。R2 相對 R1 越大窗口越窄。實際設(shè)計的時候可以先確定窗口寬度再反推電阻比值。比如需要遲滯寬度 0.5V輸出高低溫差按 4.6V 估算那么 R1 / (R1 R2) ≈ 0.5 / 4.6 ≈ 0.109也就是說 R2 大約是 R1 的 8 倍左右。這個估算方法非常實用。先粗算再根據(jù)運放型號的實際飽和電壓精調(diào)比盲調(diào)電阻快得多。4. 實際選型與測量VOH/VOL、失調(diào)、電阻精度這些容易被忽略的因素4.1 用運放做比較器還是直接用比較器芯片運放和比較器雖然符號相似但設(shè)計目標(biāo)不同。運放優(yōu)化的是線性放大性能比較器優(yōu)化的是翻轉(zhuǎn)速度和電平兼容性。用運放做施密特觸發(fā)器優(yōu)點是門限可以精準(zhǔn)設(shè)定缺點是翻轉(zhuǎn)速度相對慢過驅(qū)恢復(fù)時間長。用專用比較器芯片比如 LM393、TLV7011 這類翻轉(zhuǎn)速度快但要注意輸出結(jié)構(gòu)。LM393 這類芯片的輸出級是開集電極必須外接上拉電阻才能輸出高電平。上拉電阻的接法會影響 VOH 的值門限計算公式也要做相應(yīng)調(diào)整。很多工程師第一次用 LM393 搭施密特觸發(fā)器輸出死活沒有高電平排查半天才發(fā)現(xiàn)忘了加上拉電阻。如果信號頻率不高精度要求優(yōu)先運放完全夠用如果信號頻率高或者后級是高速數(shù)字接口選擇專用比較器更穩(wěn)妥。4.2 失調(diào)電壓和偏置電流會悄悄移動門限運放的輸入失調(diào)電壓 Vos 會直接疊加在門限上。一個 Vos 為 5mV 的運放理論上計算出來的門限可能是 2.500V實際卻是 2.505V。如果門限精度要求很高需要選擇低失調(diào)的運放型號或者在電路里增加調(diào)零網(wǎng)絡(luò)。偏置電流的影響在電阻值很大的時候尤其明顯。反饋電阻用到 1MΩ 級別時哪怕偏置電流只有 100nA也會在電阻上產(chǎn)生 0.1V 的壓降直接把門限偏掉。設(shè)計高阻值反饋網(wǎng)絡(luò)的時候要認真看運放輸入偏置電流的指標(biāo)必要時選擇 FET 輸入型運放。4.3 電阻精度對門限精度的影響門限計算依賴 R1 和 R2 的比例那么電阻精度就決定了門限精度。使用普通 1% 精度電阻門限偏差可能達到 2% 左右如果要求門限落在很窄的范圍內(nèi)建議選 0.1% 精度的電阻或者用多個電阻串聯(lián)并聯(lián)構(gòu)成精密分壓網(wǎng)絡(luò)。批量生產(chǎn)的時候電阻溫漂也值得關(guān)注。碳膜電阻的溫漂比金屬膜電阻大如果產(chǎn)品工作溫度范圍很寬門限漂移可能超出預(yù)期。選型時優(yōu)先考慮低溫漂的金屬膜電阻或薄膜貼片電阻。4.4 壓擺率與帶寬對翻轉(zhuǎn)速度的限制運放做比較器時輸出從一個飽和狀態(tài)翻轉(zhuǎn)到另一個飽和狀態(tài)需要時間。影響這個時間的主要指標(biāo)是壓擺率。壓擺率低的運放翻轉(zhuǎn)沿會變得很緩輸出波形不陡峭后級數(shù)字電路可能識別困難。更隱蔽的問題是運放內(nèi)部補償電容。很多通用運放為了穩(wěn)定做了密勒補償導(dǎo)致過驅(qū)狀態(tài)下恢復(fù)很慢。輸入信號越過門限之后輸出可能要在原來狀態(tài)上“愣”一段時間才開始翻轉(zhuǎn)這個延遲在高速比較場景下不可接受。所以用運放做比較器別指望它能像專用比較器那樣干脆利落。4.5 實測門限的正確方法測量門限時不要直接用萬用表去量門限電壓然后草草記錄。正確做法是用信號發(fā)生器輸入一個三角波或緩慢變化的正弦波用示波器同時觀察輸入和輸出波形在輸出翻轉(zhuǎn)點附近用光標(biāo)讀出輸入電壓值。注意信號源內(nèi)阻和示波器探頭電容可能對電路產(chǎn)生負載效應(yīng)內(nèi)阻較高的信號源尤其明顯。如果要在仿真軟件里跑這個電路正反饋結(jié)構(gòu)沒有穩(wěn)定的直流工作點瞬態(tài)仿真可能無法收斂。解決辦法是給輸出節(jié)點設(shè)置初始條件或者把電源的上升時間設(shè)得足夠慢讓仿真器能夠沿著真實的翻轉(zhuǎn)路徑走。5. 典型工程應(yīng)用波形整形、閾值檢測與RC振蕩器5.1 波形整形把緩慢信號變成干凈的方波施密特觸發(fā)器最經(jīng)典的應(yīng)用之一就是波形整形。傳感器或振蕩器輸出的正弦波、三角波邊緣緩慢而且可能帶著噪聲直接送給數(shù)字電路會觸發(fā)多次翻轉(zhuǎn)。經(jīng)過施密特觸發(fā)器之后輸出變成邊沿陡峭的方波且噪聲引起的抖動被遲滯窗口吸收。實際電路里輸入信號的幅度必須大于遲滯窗口寬度。如果信號幅度比窗口還小輸出可能根本不翻轉(zhuǎn)。所以設(shè)計前先估算信號幅度再決定遲滯窗口大小。5.2 傳感器閾值檢測防抖動的報警電路溫度開關(guān)、光敏檢測、液位報警這類應(yīng)用核心問題都是閾值附近信號抖動導(dǎo)致反復(fù)觸發(fā)。比如光敏電阻分壓檢測環(huán)境光黃昏時分光線緩慢變化正好停在閾值附近如果沒有遲滯報警器會不停地開啟關(guān)閉。把施密特觸發(fā)器的門限設(shè)置成兩個不同的照度值環(huán)境光暗到一定程度才報警環(huán)境光必須亮到更高程度才解除報警。這樣中間就形成了一道緩沖區(qū)實際體驗也好很多。5.3 用運放施密特觸發(fā)器搭RC振蕩器施密特觸發(fā)器加上一個 RC 充放電回路就能構(gòu)成張弛振蕩器。原理是輸出高電平時通過電阻給電容充電電容電壓上升到上門限后輸出翻低然后電容通過電阻放電下降到下門限后再翻高如此往復(fù)。振蕩周期取決于 RC 時間常數(shù)和門限位置。假設(shè)輸出高電平為 VOH低電平為 VOL上門限 VTH下門限 VTL周期近似為T RC × ln[(VOH - VTL) / (VOH - VTH)] RC × ln[(VTL - VTH) / (VOL - VTH)]如果門限對稱輸出高低電平對稱周期可以進一步簡化。設(shè)計時先定頻率再選 R 或 C注意電容的漏電流會影響低頻振蕩的精度優(yōu)先選低漏電的薄膜電容或 C0G 陶瓷電容。5.4 過壓欠壓保護與窗口比較器電源監(jiān)測電路里施密特觸發(fā)器用來防止系統(tǒng)在閾值附近來回切換。比如檢測 12V 電源高于 12.5V 認為過壓低于 11.5V 認為欠壓中間 1V 的遲滯避免電源波動導(dǎo)致的誤動作。這種設(shè)計既簡單又可靠比單純用 ADC 加軟件濾波的方案響應(yīng)更快。兩個施密特觸發(fā)器可以組成遲滯窗口比較器一個檢測上門限一個檢測下門限輸出邏輯組合判斷信號是否落在窗口內(nèi)。每個比較器各自的遲滯都保留整體抗干擾能力比純窗口比較器更強。6. 實測體會三個調(diào)試誤區(qū)和對應(yīng)的排查方法6.1 誤區(qū)一把電源軌當(dāng)成 VOH 和 VOL這是最常踩的坑。用普通運放搭出來的施密特觸發(fā)器輸出高電平往往比電源電壓低不少。拿 5V 電源軌直接代入公式計算門限結(jié)果實際翻轉(zhuǎn)點和設(shè)計值差了 0.3V 以上怎么調(diào)電阻都調(diào)不對。排查方法也很簡單先讓電路工作在穩(wěn)定的高或低狀態(tài)用萬用表實測 VOH 和 VOL再代入公式重新計算。把運放實際輸出電平測出來之后所有計算都準(zhǔn)確了。6.2 誤區(qū)二忽視電源去耦門限附近高頻振蕩正反饋電路自帶遲滯理論上抗噪聲能力很強但前提是運放電源是干凈的。如果運放電源引腳旁邊沒有去耦電容或者去耦電容離得太遠輸出翻轉(zhuǎn)瞬間的電流沖擊會讓電源電壓塌陷反饋網(wǎng)絡(luò)把這個塌陷又送回了輸入端產(chǎn)生高頻振蕩。排查方法是用示波器看輸出波形如果翻轉(zhuǎn)沿附近出現(xiàn)幾十兆赫茲的衰減振蕩先把電源去耦做好。每個運放的電源引腳都就近放一個 0.1μF 陶瓷電容再并聯(lián)一個 10μF 左右的鉭電容或電解電容大多數(shù)振蕩問題都能解決。6.3 誤區(qū)三信號源內(nèi)阻與輸入電阻分壓當(dāng)輸入信號來自高內(nèi)阻傳感器時傳感器內(nèi)阻會與施密特觸發(fā)器輸入端的電阻形成分壓導(dǎo)致實際到達運放輸入端的電壓發(fā)生變化。門限測量值看起來是對的但接上傳感器后實際工作點完全偏離。排查方法是在設(shè)計時估算傳感器內(nèi)阻的影響。如果傳感器內(nèi)阻達到幾千歐以上建議先加一級緩沖器隔離或者重新計算包含內(nèi)阻的分壓網(wǎng)絡(luò)。6.4 調(diào)門限時值得養(yǎng)成的幾個習(xí)慣我個人的習(xí)慣是設(shè)計階段先在紙上把 VTH、VTL、窗口寬度全算一遍記錄在原理圖旁邊焊接完先測 VOH 和 VOL再實測門限最后用三角波掃一遍完整回滯曲線確保波形干凈利落。這個流程看起來多花了幾分鐘實際能省掉后面大量的調(diào)試時間。調(diào)試的時候還有一個自己的偏方把遲滯窗口調(diào)到比噪聲峰峰值大兩到三倍。留的余量太大窗口變寬可能把正常信號變化范圍也吃掉余量太小又起不到抗干擾作用。兩到三倍是經(jīng)驗上一個比較舒服的區(qū)間。