生器設(shè)計(jì):從滯回比較器原理到Multisim仿真與實(shí)物調(diào)試)
1. 為什么是LM358這顆經(jīng)典運(yùn)放的選型邏輯做方波信號發(fā)生器很多人第一反應(yīng)是上555定時(shí)器或者覺得運(yùn)放方案太老土。但當(dāng)你真正想在實(shí)驗(yàn)臺(tái)上搭一個(gè)成本不到五塊錢、頻率還能隨意擰著調(diào)的小工具時(shí)LM358反而是最順手的選擇——前提是你別再把它焊反、把電源接反或者拿它去驅(qū)動(dòng)大電流負(fù)載然后眼睜睜看著它冒煙。先說說LM358這顆運(yùn)放本身的底細(xì)。它是雙運(yùn)放封裝一顆芯片里集成了兩個(gè)獨(dú)立的運(yùn)算放大器工作電壓范圍是3V到32V單電源或者±1.5V到±16V雙電源靜態(tài)電流只有幾百微安。這意味著你可以用兩節(jié)干電池、一個(gè)9V方塊電池、甚至是電腦USB取電的5V都能讓它正常干活。對于桌面實(shí)驗(yàn)來說這種寬電壓適應(yīng)性真的太省心了。相比之下NE5532雖然音頻指標(biāo)更好但在低壓單電源下工作遠(yuǎn)不如LM358從容軌到軌輸出就更不用想了。其次是驅(qū)動(dòng)能力的問題。很多人把運(yùn)放當(dāng)功率放大器用這就走偏了。LM358的輸出電流典型值在20mA左右極限大概40mA它的本職是處理信號而不是驅(qū)動(dòng)負(fù)載。在方波發(fā)生器這個(gè)場景里輸出端接的是后續(xù)電路的輸入端比如比較器、計(jì)數(shù)器、ADC阻抗通常都在幾十千歐以上LM358那點(diǎn)電流完全夠用。如果你非要讓方波發(fā)生器直接點(diǎn)亮LED或者驅(qū)動(dòng)蜂鳴器那確實(shí)會(huì)過載但這是用法問題不是芯片的問題。還有一個(gè)非常重要的選型理由是LM358的輸出級是推挽結(jié)構(gòu)在單電源供電下輸出低電平可以非常接近地電位理論上能到幾毫伏輸出高電平雖然到不了電源軌但也能達(dá)到Vcc-1.5V左右。這個(gè)特性在后面的方波發(fā)生器電路里很關(guān)鍵——電容充放電的參考電壓越接近0V頻率計(jì)算的誤差就越小。不過我在這必須潑一盆冷水別被手把手三個(gè)字騙了以為搭出來就能用。實(shí)際測試中LM358的壓擺率只有0.6V/μs左右?guī)捲鲆娣eGBW大約1.1MHz。這意味著在比較器模式開環(huán)下輸出翻轉(zhuǎn)是需要時(shí)間的方波的上升沿和下降沿不會(huì)是理想的垂直直線而是一個(gè)有斜率的斜坡。在幾十千赫茲以內(nèi)這個(gè)斜坡可以忽略但你要是試圖讓它輸出500kHz以上的方波波形會(huì)變成三角波——這是GBW不夠的直接體現(xiàn)。所以這個(gè)電路的實(shí)用頻率上限撐死到100kHz左右再高就該換TL072或者LM318這類高速運(yùn)放了。那為什么不用電路結(jié)構(gòu)更簡單的555我的理解是555雖然也能做方波發(fā)生器但它輸出的是0到Vcc的滿幅方波電壓擺幅固定且不可調(diào)而且頻率和占空比是耦合在一起調(diào)節(jié)的。而運(yùn)放方案的優(yōu)勢在于你可以通過改變滯回比較器的參考電壓來獨(dú)立設(shè)置占空比還可以通過改變RC充放電時(shí)間常數(shù)來調(diào)頻率兩者互不干擾。再加上運(yùn)放電路本身就能讓你直觀地理解滯回比較器積分器這個(gè)經(jīng)典的信號鏈結(jié)構(gòu)學(xué)到的原理可以平移到信號調(diào)理、振蕩器設(shè)計(jì)、開關(guān)電源補(bǔ)償網(wǎng)絡(luò)等一大堆場景里不僅僅是做一個(gè)方波玩具而已。一句話總結(jié)選型邏輯不是LM358有多強(qiáng)而是它在低壓、低成本、寬電源范圍、中等頻率、易于理解這五個(gè)維度上取得了一個(gè)非常實(shí)用的平衡點(diǎn)。接下來我們就用這顆芯片搭出一個(gè)頻率可從幾赫茲調(diào)到幾十千赫茲、輸出幅度可以調(diào)整的方波發(fā)生器。2. 從開環(huán)比較器到自激振蕩核心原理拆解很多教程上來就給你一張電路圖讓你照著焊但完全不解釋原理。這樣做的問題在于一旦輸出波形不對你連從哪個(gè)方向排查都不知道。所以我先花點(diǎn)篇幅把原理講透這部分真的不難高中物理加一點(diǎn)直覺就能跟上。2.1 運(yùn)放開環(huán)比較器輸出只有兩種狀態(tài)的電壓天平先拋開振蕩器只看單個(gè)運(yùn)放的最簡單用法。當(dāng)運(yùn)放工作在沒有反饋的開環(huán)狀態(tài)時(shí)它其實(shí)是一個(gè)增益極高的比較器。LM358的直流開環(huán)增益通常有100dB也就是十萬倍。什么意思同相輸入端和反相輸入端-之間的電壓差哪怕只有零點(diǎn)幾毫伏放大十萬倍之后就足以把輸出推到飽和——要么推到接近正電源軌要么推到接近地。這就像一臺(tái)靈敏度極高的天平左邊重哪怕一丁點(diǎn)橫梁就徹底歪向左邊右邊重一丁點(diǎn)橫梁就徹底歪向右邊不存在中間狀態(tài)。運(yùn)放比較器就是這個(gè)邏輯輸出只有兩個(gè)穩(wěn)定狀態(tài)——高電平或低電平。2.2 引入正反饋滯回比較器解決臨界抖動(dòng)問題如果直接把這個(gè)比較器用來檢測一個(gè)緩慢變化的電壓信號你會(huì)發(fā)現(xiàn)一個(gè)問題當(dāng)輸入電壓恰好經(jīng)過翻轉(zhuǎn)閾值附近時(shí)輸出會(huì)快速地來回抖動(dòng)。原因是現(xiàn)實(shí)世界中的信號總有噪聲哪怕幾百微伏的噪聲在十萬倍增益下也能讓輸出大幅跳動(dòng)。而你的后級電路比如計(jì)數(shù)器會(huì)被這種快速抖動(dòng)誤觸發(fā)造成讀數(shù)亂跳。解決辦法是在輸出到同相輸入端之間加一個(gè)正反饋電阻構(gòu)成滯回比較器也叫施密特觸發(fā)器結(jié)構(gòu)。這時(shí)翻轉(zhuǎn)閾值不再是一個(gè)固定的值而是分成了兩個(gè)閾值一個(gè)是輸入電壓從低往高走時(shí)的觸發(fā)閾值另一個(gè)是從高往低走時(shí)的觸發(fā)閾值。兩個(gè)閾值之間存在一個(gè)區(qū)間——滯回窗口。在窗口內(nèi)部輸出保持原狀態(tài)不變除非輸入電壓越過對面那個(gè)閾值輸出才翻轉(zhuǎn)。用生活化的類比來說這就像空調(diào)溫控器設(shè)定24度開啟制冷22度關(guān)閉制冷中間2度的差值就是滯回帶。如果沒有這條滯回帶室溫在24度附近微小波動(dòng)時(shí)壓縮機(jī)就會(huì)頻繁啟停很快就燒了。滯回比較器解決的就是同一個(gè)問題——輸出狀態(tài)切換不是發(fā)生在單一閾值點(diǎn)而是要跨越一個(gè)區(qū)間從而獲得極強(qiáng)的抗噪聲能力。2.3 充電、翻轉(zhuǎn)、放電、再翻轉(zhuǎn)自激振蕩的閉環(huán)路徑有了滯回比較器只要把它的輸出通過一個(gè)RC網(wǎng)絡(luò)反饋到反相輸入端就能產(chǎn)生振蕩。這招的關(guān)鍵在于電容的電壓不能突變這個(gè)物理特性。假設(shè)剛上電時(shí)電容兩端電壓為0此時(shí)比較器輸出為高電平接近Vcc。高電平通過電阻R給電容充電電容電壓按指數(shù)曲線緩慢上升。當(dāng)電容電壓上升到滯回比較器的上閾值時(shí)輸出翻轉(zhuǎn)為低電平。此時(shí)電容開始通過同一個(gè)電阻放電電壓從高往低指數(shù)下降。當(dāng)電容電壓下降到下閾值時(shí)輸出又翻回高電平重新進(jìn)入充電階段。如此循環(huán)輸出端就得到了一個(gè)連續(xù)翻轉(zhuǎn)的方波。這里的本質(zhì)是什么滯回比較器負(fù)責(zé)判決RC積分器負(fù)責(zé)延時(shí)。判決結(jié)果決定電容是充電還是放電而電容電壓到達(dá)閾值所需的時(shí)間決定了方波的周期。兩者首尾相連形成一個(gè)閉合的負(fù)反饋環(huán)路振蕩自然就產(chǎn)生了。這也解釋了為什么這個(gè)電路必須在輸出和反相輸入之間接電容——沒有這個(gè)積分環(huán)節(jié)電路就只是一次性的比較器永遠(yuǎn)振蕩不起來。2.4 頻率公式推導(dǎo)不是死記硬背而是理解每一個(gè)變量假設(shè)運(yùn)放輸出高電平為VH低電平為VL滯回比較器的兩個(gè)閾值為VTH上閾值和VTL下閾值。在電容充電階段電壓從VTL上升到VTH時(shí)間常數(shù)τ RC充電目標(biāo)電壓是VH。在放電階段則相反電壓從VTH下降到VTL目標(biāo)電壓是VL。根據(jù)RC一階電路的充放電公式可以推導(dǎo)出單個(gè)半周期的時(shí)間T1 RC·ln[(VH - VTL) / (VH - VTH)]另一個(gè)半周期T2 RC·ln[(VTH - VL) / (VTL - VL)]??傊芷?T T1 T2。當(dāng)R1 R2滯回比較器兩個(gè)分壓電阻相等時(shí)閾值恰好在VH和VL的中間位置VTH (VH VL) / 2 ΔVTL (VH VL) / 2 - Δ其中Δ是滯回窗口的半寬。將這個(gè)條件代入上式可以化簡出實(shí)際電路中常用的公式f 1 / (2RC · ln(1 2·R2/R1))其中R1是同相輸入端對地的電阻R2是輸出到同相輸入端的正反饋電阻??吹竭@個(gè)公式你就明白了——頻率由三個(gè)因素決定R和CRC越大電容充放電越慢頻率越低R2/R1的比值比值越大滯回窗口越寬電容需要充放更多電壓才能翻轉(zhuǎn)頻率就越低反過來說只要調(diào)整R、C或者反饋比中的任何一個(gè)就能改變頻率。這給了我們極大的設(shè)計(jì)自由度粗調(diào)用波段開關(guān)切換不同的電容細(xì)調(diào)用電位器改變R的值就能實(shí)現(xiàn)幾個(gè)數(shù)量級范圍內(nèi)的連續(xù)可調(diào)。3. 電路設(shè)計(jì)與元器件選型把參數(shù)算出來而不是猜出來原理清楚了現(xiàn)在進(jìn)入實(shí)際設(shè)計(jì)環(huán)節(jié)。為了讓電路既好理解又能真正落到實(shí)驗(yàn)臺(tái)上我給出一套完整的設(shè)計(jì)參數(shù)并把計(jì)算過程展開這樣你之后想改動(dòng)頻率范圍時(shí)自己就能照著算。3.1 完整電路結(jié)構(gòu)一顆LM358半顆用于振蕩這個(gè)設(shè)計(jì)只用了LM358里的一個(gè)運(yùn)放另一半可以留作緩沖輸出后面會(huì)講整體電路分成三塊滯回比較器運(yùn)放的輸出端通過R2正反饋電阻接到同相輸入端R1從同相輸入端到地構(gòu)成正反饋分壓網(wǎng)絡(luò)確定兩個(gè)翻轉(zhuǎn)閾值。RC積分器從輸出端接Rt到反相輸入端再從反相輸入端接Ct到地。Rt是頻率調(diào)節(jié)電阻Ct是頻率粗調(diào)電容。輸出緩沖如果希望方波驅(qū)動(dòng)能力更強(qiáng)、波形更干凈可以用LM358里的另一半接成電壓跟隨器輸出直接連反相輸入將振蕩級和后級負(fù)載隔離開來。具體元件選型如下表元件推薦參數(shù)作用與選擇思路U1LM358PDIP-8直插雙運(yùn)放單電源5V供電實(shí)驗(yàn)插面包板方便R110kΩ滯回比較器下分壓電阻決定滯回窗口R247kΩ正反饋電阻與R1配合確定滯回窗口寬度Rt10kΩ電位器串聯(lián)1kΩ固定電阻頻率細(xì)調(diào)串聯(lián)1kΩ防止電位器擰到0時(shí)振蕩頻率過高Ct100nF聚酯薄膜電容粗調(diào)電容配合Rt覆蓋大約1kHz到15kHz的中間頻段C1100nF輸出濾波電容濾除高頻毛刺R31kΩ輸出串聯(lián)電阻保護(hù)運(yùn)放輸出級防止外部短路或容性負(fù)載過沖R110kΩ、R247kΩ時(shí)滯回窗口寬度的計(jì)算過程如下。輸出高電平約VH≈3.5V5V供電減去1.5V壓降低電平約VL≈0.1V。同相輸入端的電壓就是輸出通過R2和R1分壓的結(jié)果所以VTH VH · R1 / (R1 R2) 3.5 × 10 / 57 ≈ 0.61V輸出為高時(shí)的比較閾值 VTL VL · R1 / (R1 R2) 0.1 × 10 / 57 ≈ 0.018V輸出為低時(shí)的比較閾值單看這個(gè)窗口你可能覺得太窄但請記住滯回窗口的半寬Δ (VH - VL) · R1 / (R1 R2) / 2 ≈ 0.3V這個(gè)寬度在噪聲環(huán)境下足夠形成穩(wěn)定判決。頻率計(jì)算公式代入得f 1 / (2 × Rt × Ct × ln(1 2 × 47/10)) 1 / (2 × Rt × Ct × ln(10.4)) 1 / (2 × Rt × Ct × 2.34)當(dāng)Rt 10kΩ、Ct 100nF時(shí)f ≈ 1 / (2 × 10k × 100n × 2.34) ≈ 214Hz。當(dāng)Rt調(diào)到1.1kΩ1k串聯(lián)電位器最低阻值時(shí)頻率升高到約1.9kHz。所以這組參數(shù)在中間檔覆蓋大約200Hz到2kHz。如果想要更低頻把Ct換成1μF頻率就落到20Hz到200Hz區(qū)間換10nF則到2kHz到20kHz區(qū)間。三個(gè)電容用單刀三擲開關(guān)切換就能覆蓋20Hz到20kHz的完整音頻范圍。3.2 頻率調(diào)節(jié)的非線性問題音頻電位器并不是好選擇接下來說一個(gè)很容易被忽略的細(xì)節(jié)——調(diào)節(jié)手感。如果是用普通的線性電位器B型來調(diào)Rt你會(huì)發(fā)現(xiàn)頻率變化不是均勻的電位器轉(zhuǎn)到前30%時(shí)頻率幾乎沒怎么動(dòng)轉(zhuǎn)到最后20%時(shí)頻率嗖地一下躥上去。這是因?yàn)轭l率與電阻值成反比不是線性關(guān)系。更好的選擇是使用對數(shù)型電位器A型俗稱指數(shù)電位器它的阻值變化曲線是凹的正好可以補(bǔ)償頻率的反比關(guān)系讓旋鈕旋轉(zhuǎn)角度與頻率變化近似線性調(diào)起來手感和直覺一致。如果手頭只有線性電位器也沒關(guān)系把電位器旋轉(zhuǎn)范圍分成多個(gè)檔位配合電容粗調(diào)一樣能解決問題只是操作上要多擰兩下。3.3 給輸出加緩沖為什么直接接示波器不夠優(yōu)雅有些人搭完電路直接把輸出端往示波器上一插看到波形挺漂亮就完事了。但當(dāng)你把方波信號接到一個(gè)低阻抗負(fù)載——比如音頻功放輸入端通常10kΩ左右——時(shí)波形幅度會(huì)明顯下降甚至出現(xiàn)變形。原因很簡單LM358輸出阻抗不是零負(fù)載拉走電流之后輸出高電平會(huì)被拉低。解決方式就是前面提到的用剩下的那半個(gè)運(yùn)放接成跟隨器。跟隨器的電壓增益是1但輸入阻抗極高運(yùn)放同相輸入端的阻抗通常在兆歐級別輸出阻抗極低幾十歐相當(dāng)于在振蕩級和后級之間加了一道隔離墻。后級電路的負(fù)載效應(yīng)被完全消除振蕩級能夠穩(wěn)定振蕩輸出端也能提供足夠干凈的方波信號。4. Multisim仿真從畫原理圖到看到波形細(xì)節(jié)仿真這一步一定要做。不是因?yàn)槲覍ψ约旱挠?jì)算沒信心而是仿真能讓你在上電之前就發(fā)現(xiàn)原理性錯(cuò)誤也能幫助你理解理論波形和實(shí)際波形之間的差距。Multisim在這個(gè)場景里的核心價(jià)值就三個(gè)字可視化。4.1 仿真工程的建立步驟與關(guān)鍵設(shè)置打開Multisim新建工程按以下步驟操作放置元件從放置菜單選擇元件在組Group里選Analog在系列Family里選OPAMP從列表中找到LM358P并放置。電容在Basic組的CAPACITOR里找電阻在RESISTOR里找。如果嫌逐個(gè)翻菜單太慢直接在右側(cè)的元件面板搜索框輸入LM358回車定位。電源設(shè)置LM358在這里用單電源5V供電所以從放置-電源里放兩個(gè)直流電源一個(gè)設(shè)為5V接到VCC引腳一個(gè)設(shè)為0V或者直接用接地符號接到GND引腳。正負(fù)電源一定別搞反這是燒芯片的頭號原因。接線按上一節(jié)的電路圖連接。特別注意運(yùn)放圖標(biāo)上可能沒有直接標(biāo)注電源引腳位置你需要把5V接到標(biāo)著VCC的引腳地接到VEE或者GND引腳。不同版本的Multisim引腳標(biāo)注可能不一樣接之前雙擊運(yùn)放符號查看引腳定義。放置虛擬儀器在右側(cè)儀器面板里找到示波器Oscilloscope拖放到原理圖中把通道A的正極接在LM358的輸出引腳上。仿真這一步有一個(gè)很多新手會(huì)踩的坑接了示波器但沒接接地端。示波器的地線端子必須連接到電路的地否則仿真會(huì)報(bào)錯(cuò)或者顯示一條毫無意義的水平線。養(yǎng)成習(xí)慣所有虛擬儀器的地端都接到公共地節(jié)點(diǎn)。4.2 仿真速度太慢或波形不顯示先檢查這兩個(gè)地方Multisim仿真速度慢是高頻振蕩類電路的常見問題。原因是軟件默認(rèn)的最小步長太小而方波邊緣的翻轉(zhuǎn)又要求極短的時(shí)間步長。實(shí)測下來兩個(gè)設(shè)置能立竿見影打開仿真-交互仿真設(shè)置將最大時(shí)間步長從默認(rèn)的1e-5s改小到1e-6s甚至1e-7s。要注意這里說的是最大步長步長越小仿真精度越高但速度越慢。方波翻轉(zhuǎn)沿越陡需要的步長越小。先用1e-6s跑如果波形邊緣毛刺大再調(diào)小。仿真時(shí)間設(shè)置要合理。比如你要觀察一個(gè)200Hz的方波一個(gè)周期是5ms想看穩(wěn)定態(tài)波形至少仿真20ms以上。但很多人只設(shè)置仿真1ms結(jié)果示波器上顯示的只是電容充電的初始暫態(tài)根本看不到完整方波。如果仿真提示Transient analysis too slow或者長時(shí)間卡死還有一個(gè)辦法把Rt暫時(shí)調(diào)小比如換成1kΩ讓振蕩頻率升高到幾千赫茲。因?yàn)楦哳l信號的周期短仿真器在同樣的仿真時(shí)間長度內(nèi)能更早計(jì)算出完整波形調(diào)試速度明顯加快。等波形確認(rèn)正確后再把Rt調(diào)回原值做精確的頻率測量。4.3 測量方法如何用虛擬示波器讀出準(zhǔn)確頻率虛擬示波器默認(rèn)情況下顯示的是電壓-時(shí)間曲線。要讀出準(zhǔn)確的頻率有兩個(gè)技巧使用示波器上的游標(biāo)Cursor功能將兩個(gè)游標(biāo)分別放到相鄰兩個(gè)上升沿的對應(yīng)位置示波器左下角會(huì)直接顯示時(shí)間差ΔT。頻率就是1/ΔT。這個(gè)方法最直觀。更省事的方法是直接放一個(gè)頻率計(jì)數(shù)器Frequency Counter儀器在輸出節(jié)點(diǎn)上。它是Multisim自帶的專業(yè)測頻工具顯示的數(shù)字就是振蕩頻率幾乎沒有手動(dòng)讀數(shù)誤差。用這個(gè)方法要確保仿真已經(jīng)穩(wěn)定運(yùn)行了一段時(shí)間不要在啟動(dòng)瞬間讀數(shù)。4.4 參數(shù)掃描一口氣看清楚電容和電阻各檔位對應(yīng)的頻率Multisim除了跑瞬態(tài)仿真看波形還有DC Sweep和參數(shù)掃描Parameter Sweep功能。在方波發(fā)生器這個(gè)場景里用參數(shù)掃描來看Rt從1kΩ變到20kΩ時(shí)頻率怎么變化是最直觀的方式。操作路徑是仿真-分析與仿真-參數(shù)掃描。在參數(shù)掃描設(shè)置里選擇Ct或者Rt作為掃描對象設(shè)置起始值和步長把掃描結(jié)果輸出到瞬態(tài)分析Transient Analysis。軟件會(huì)跑多輪仿真每輪使用不同的參數(shù)值結(jié)束后你可以在后處理器里看到不同Rt值對應(yīng)的輸出波形。再配合游標(biāo)測量每個(gè)波形的周期就能畫出一張頻率-電阻對照表。這個(gè)操作的價(jià)值在于你可以用仿真代替反復(fù)拆裝電位器去試探頻率范圍節(jié)省大量實(shí)驗(yàn)桌時(shí)間。4.5 如果彈出訪問數(shù)據(jù)庫發(fā)生錯(cuò)誤怎么辦這個(gè)話題在網(wǎng)絡(luò)熱搜里反復(fù)出現(xiàn)確實(shí)值得單獨(dú)說。Multisim的元件數(shù)據(jù)庫默認(rèn)放在安裝目錄下的數(shù)據(jù)庫文件夾里如果安裝時(shí)沒給對權(quán)限或者殺毒軟件攔截了數(shù)據(jù)庫文件的讀寫就會(huì)在放置元件時(shí)彈出訪問數(shù)據(jù)庫發(fā)生錯(cuò)誤這類提示。標(biāo)準(zhǔn)排查步驟是以管理員身份重新運(yùn)行Multisim右鍵圖標(biāo)選擇以管理員身份運(yùn)行。檢查C盤用戶目錄下是否有Multisim的隱藏配置文件夾如果存在說明之前安裝過其他版本留下了沖突配置將其備份后刪除。重裝時(shí)關(guān)閉殺毒軟件和Windows Defender實(shí)時(shí)防護(hù)Multisim的授權(quán)文件和數(shù)據(jù)庫文件經(jīng)常被誤殺。如果是綠色版或?qū)W習(xí)版解壓路徑不要放在含中文或空格過多的目錄這會(huì)導(dǎo)致數(shù)據(jù)庫路徑解析失敗。我這幾年幫人排查過很多次這個(gè)報(bào)錯(cuò)八成以上是權(quán)限問題或者安裝殘留沖突。管理員身份運(yùn)行能解決其中一半的問題剩下的通過重新配置數(shù)據(jù)庫路徑能解決。5. 實(shí)物搭建與調(diào)試從面包板到示波器波形實(shí)測仿真通過只是第一步真正有意思的是把電路搭到面包板上通電測試。這一節(jié)的每個(gè)坑都是我親手踩過的寫出來比仿真步驟更值錢。5.1 面包板搭建的接地方案與電源去耦很多面包板項(xiàng)目的噪聲問題都出在接地方式上——導(dǎo)線亂飛地線走了一個(gè)大環(huán)各個(gè)模塊的地電位不一致。正確的做法是在面包板的最下邊留一整條母線作為公共地所有接地元件就近接入這條母線電源從面包板頂端的正電源母線統(tǒng)一引出。一句話先鋪好地和電源再放信號線。第二個(gè)容易被忽略的細(xì)節(jié)是電源去耦電容。LM358在狀態(tài)翻轉(zhuǎn)的瞬間會(huì)有電流脈沖如果電源線和芯片之間沒有去耦電容這個(gè)電流脈沖會(huì)在電源線上產(chǎn)生壓降造成輸出波形上疊加毛刺。在芯片的VCC和GND引腳之間接一個(gè)100nF陶瓷電容電容本體盡可能貼近芯片引腳。如果手頭有10μF以上的電解電容再在電源入口處并聯(lián)一個(gè)低頻穩(wěn)定性會(huì)更好。5.2 上電自檢別直接看波形先量三個(gè)電壓插好面包板、接好電源之后不要急著拿示波器去戳輸出端。先用萬用表做三個(gè)基礎(chǔ)檢查量LM358的VCC引腳對地電壓確認(rèn)確實(shí)是5V而不是因?yàn)槎搪繁浑娫蠢偷搅?V。量輸出引腳對地電壓此時(shí)應(yīng)該能看到大概2.5V左右的中間電壓——因?yàn)殡娐吩诓煌U袷幦f用表測到的是方波的平均值。量同相輸入端和反相輸入端之間的電壓差應(yīng)該基本為0V虛擬短路。如果差分電壓很大比如1V以上說明反饋回路沒接通電路根本沒在振蕩只是在上電瞬間輸出了一個(gè)飽和電平。這三個(gè)檢查做完基本能確認(rèn)電路起振。如果第三步不對百分之九十是電容接反了方向電解電容有極性鉭電容更明顯或者電阻值焊錯(cuò)。5.3 示波器測量技巧1x探頭和10x探頭的選擇實(shí)測時(shí)示波器探頭的檔位選擇會(huì)直接影響波形讀數(shù)。無源探頭上有1x和10x的切換開關(guān)很多新手直接用1x檔結(jié)果發(fā)現(xiàn)高頻方波的邊沿嚴(yán)重變圓甚至幅度比預(yù)期的低。原因是1x檔下探頭電纜的電容通常50到100pF直接并聯(lián)在被測節(jié)點(diǎn)上等于給電容充放電電路增加了一個(gè)負(fù)載電容改變了振蕩頻率。10x檔通過探頭內(nèi)部電阻分壓把電纜電容的影響縮小10倍以上對被測電路的干擾小得多。測量振蕩器這類對電容敏感的高阻節(jié)點(diǎn)時(shí)務(wù)必用10x檔。如果你觀察到方波頻率和仿真計(jì)算值差得離譜先檢查探頭是不是在1x檔。5.4 波形異常的分析思路常見故障場景與對應(yīng)處理我整理了三個(gè)在調(diào)試中最常見的問題場景每個(gè)都附上排查思路現(xiàn)象一完全沒有輸出波形輸出一直保持高電平或低電平。這個(gè)問題的本質(zhì)是電路沒有起振。檢查的優(yōu)先級先查電源有沒有真正加到芯片上萬用表量VCC再查反饋回路是否接通——Rt和Ct是否虛焊或插錯(cuò)孔位最后查同相輸入端的兩個(gè)電阻是否形成了正反饋分壓網(wǎng)絡(luò)。如果輸出保持高電平且一直不變大概率是電容Ct沒接入——反相輸入端被直接連到了地或者懸空電路退化成了單純的比較器?,F(xiàn)象二有輸出但頻率只有計(jì)算值的一半甚至更低。這種情況最常發(fā)生在電容選錯(cuò)的時(shí)候。你用的是電解電容實(shí)際容值可能比標(biāo)稱值偏差很大正負(fù)20%是常態(tài)離譜的可能偏差50%。另外電解電容的頻率特性差在方波充放電這種階躍信號條件下等效串聯(lián)電阻ESR較高也會(huì)拖慢充放電速度。換成CBB聚丙烯電容或者M(jìn)LCC陶瓷電容頻率讀數(shù)會(huì)立刻準(zhǔn)回來?,F(xiàn)象三波形邊沿有嚴(yán)重的過沖或振鈴。過沖通常不是運(yùn)放本身的問題而是示波器探頭補(bǔ)償不正確或者被測節(jié)點(diǎn)與示波器探頭之間形成了地環(huán)路。先把探頭接到示波器自帶的1kHz方波校準(zhǔn)輸出端用一字螺絲刀調(diào)整探頭上的電容補(bǔ)償螺絲直到方波邊沿變成完美的直角然后再測你的振蕩器。如果校準(zhǔn)完畢仍然過沖檢查面包板上的信號線是不是太長長導(dǎo)線在這種阻抗節(jié)點(diǎn)上就是一根天線會(huì)感應(yīng)噪聲。5.5 關(guān)于燒運(yùn)放的那些事逆向排查總結(jié)標(biāo)題叫別再燒運(yùn)放了那到底為什么會(huì)燒我總結(jié)成四類電源接反。把正負(fù)電源接到相反引腳上芯片幾秒內(nèi)就報(bào)廢。LM358的DIP封裝上有一個(gè)半圓缺口和1號引腳標(biāo)記上電前一定對著數(shù)據(jù)手冊核對。超過絕對最大額定值。電源電壓超過32V或者輸入引腳電壓超過VCC0.3V以下都會(huì)造成內(nèi)部ESD保護(hù)二極管導(dǎo)通并燒毀。實(shí)驗(yàn)中最常見的場景是把一個(gè)高于VCC的外部信號誤接到輸入引腳上。輸出短路時(shí)間過長。LM358輸出內(nèi)部沒有過流保護(hù)如果輸出端直接短路到地或VCC持續(xù)的過流會(huì)讓結(jié)溫飆升最終燒毀內(nèi)部輸出管。所以我在輸出端串聯(lián)一個(gè)1kΩ保護(hù)電阻即使誤短路電流也限制在幾毫安芯片不會(huì)受傷。靜電擊穿。特別是在干燥的冬天人體靜電可能達(dá)到數(shù)千伏直接觸碰芯片引腳就可能造成閂鎖效應(yīng)Latch-up甚至永久損壞。拿芯片時(shí)捏住封裝外殼不要碰引腳在防靜電墊上操作能很大程度避免靜電問題。6. 延伸玩法從固定頻率到壓控振蕩器VCO的思路擴(kuò)展方波發(fā)生器搭好之后這個(gè)電路的潛力遠(yuǎn)不止于此。我列兩個(gè)最有實(shí)用價(jià)值的擴(kuò)展方向它們都用同一顆LM358和同一個(gè)核心結(jié)構(gòu)但能玩出完全不同的應(yīng)用。6.1 改變充電電壓把調(diào)頻率變成調(diào)電壓替代手工調(diào)節(jié)Rt電位器用外部電壓來控制充電電流這就是壓控振蕩器VCO。具體做法是把Rt換成一只三極管或者JFET恒流源恒流源對電容充電時(shí)充電曲線是線性的頻率與控制電壓呈良好的線性關(guān)系。在鎖相環(huán)、變頻掃描信號源、調(diào)頻音頻合成器里VCO都是核心模塊。你只需要理解充電電流越大到達(dá)閾值時(shí)間越短頻率越高這一條鏈路就能搭建出基本的壓控振蕩器。6.2 獨(dú)立調(diào)節(jié)占空比把方波變成可調(diào)脈寬波形前面說過這個(gè)電路的占空比其實(shí)是可以獨(dú)立設(shè)置的。做法是在充電和放電兩個(gè)路徑上分別接兩個(gè)二極管將Rt拆成兩個(gè)獨(dú)立的電阻一個(gè)用于充電一個(gè)用于放電。這樣改變充電電阻只影響高電平時(shí)長不影響低電平時(shí)長占空比就能獨(dú)立于頻率調(diào)節(jié)。配合后面接一個(gè)積分器就能把方波轉(zhuǎn)變成三角波再接一個(gè)比較器三角波轉(zhuǎn)變成正弦波三角波經(jīng)過非線性整形電路。也就是說一個(gè)看起來簡單的LM358方波發(fā)生器是真正意義上的函數(shù)信號發(fā)生器的雛形。如果你把Rt和Ct的取值范圍進(jìn)一步擴(kuò)展讓最低頻率低至0.1Hz這個(gè)電路甚至可以直接用來做LED慢閃裝飾燈的控制時(shí)鐘或者作為低頻時(shí)鐘源驅(qū)動(dòng)步進(jìn)電機(jī)控制器。LM358在這種低速場景下可以說是游刃有余。7. 實(shí)測數(shù)據(jù)參考一組能抄作業(yè)的頻率-元件對照表最后分享一組我實(shí)測的數(shù)據(jù)環(huán)境是5V單電源供電面包板搭建示波器是100MHz帶寬數(shù)字示波器探頭10x檔。這些數(shù)據(jù)可以幫你快速找到自己想要的頻率檔位不用每次都從零開始調(diào)試。粗調(diào)電容Ct電位器旋到最大阻值約10k電位器旋到最小阻值約1.1k并串聯(lián)1k理論頻率范圍按公式計(jì)算1μF21Hz213Hz20Hz-214Hz100nF205Hz1.9kHz200Hz-2.1kHz10nF1.9kHz18.5kHz2kHz-21kHz1nF17kHz113kHz20kHz-214kHz從數(shù)據(jù)可以直觀看到理論計(jì)算值和實(shí)測值在高頻段幾十kHz以上偏差開始變大主要原因就是LM358的壓擺率限制了輸出翻轉(zhuǎn)速度導(dǎo)致波形從方正變成圓滑周期也因此變長。所以在100kHz以上頻段LM358方案只適合做演示實(shí)驗(yàn)不適合做精密時(shí)鐘。還有一點(diǎn)值得注意換電容實(shí)現(xiàn)頻段切換時(shí)電容的介質(zhì)類型會(huì)影響頻率穩(wěn)定性。CBB薄膜電容溫漂系數(shù)好適合做要求穩(wěn)定的信號源而X7R陶瓷電容的容值會(huì)隨直流偏置電壓變化頻率在電源電壓波動(dòng)時(shí)會(huì)跟著漂。所以如果你想做一個(gè)穩(wěn)定輸出的信號發(fā)生器Ct的選型優(yōu)先級是聚苯乙烯電容 CBB薄膜電容 NP0/C0G陶瓷電容 X7R陶瓷電容 電解電容。這套電路我從剛?cè)腴T玩電子的時(shí)候就開始搭前后做了不下五版只換元件不換結(jié)構(gòu)——從面包板到洞洞板從固定頻率到電位器可調(diào)再到加緩沖輸出級和頻率粗調(diào)檔位每一次改動(dòng)都讓我對反饋和時(shí)間常數(shù)這兩個(gè)概念的理解更深一層。如果你搭出來遇到波形不對的情況先別急著懷疑芯片用示波器看一眼電容兩端的電壓波形——那才是整個(gè)電路真正的心跳。