計(jì)競(jìng)賽測(cè)量系統(tǒng)構(gòu)建:從儀表放大器到FFT算法的精度實(shí)戰(zhàn))
1. 項(xiàng)目背景與核心挑戰(zhàn)一場(chǎng)關(guān)于“測(cè)量”的硬仗2019年全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽的D題題目全稱是“簡(jiǎn)易電路特性測(cè)試儀”這個(gè)題目一出來(lái)當(dāng)時(shí)很多參賽隊(duì)伍包括我自己帶的隊(duì)伍心里都是“咯噔”一下。為什么因?yàn)樗昝赖夭仍诹穗娮釉O(shè)計(jì)競(jìng)賽從“功能實(shí)現(xiàn)”向“系統(tǒng)精度”轉(zhuǎn)型的關(guān)鍵節(jié)點(diǎn)上。早幾年的題目可能你做個(gè)循跡小車、做個(gè)無(wú)線充電功能跑通了基礎(chǔ)分就能拿到。但2019年的D題它不跟你玩虛的它直接把你拉到了電子測(cè)量這個(gè)最考驗(yàn)基本功、最吃細(xì)節(jié)的領(lǐng)域。說(shuō)白了這就是一場(chǎng)關(guān)于“測(cè)量”的硬仗比的不是你代碼寫(xiě)得有多花哨而是你的電路有多干凈你的系統(tǒng)誤差分析有多透徹你對(duì)每一個(gè)噪聲源的理解有多深刻。這道題的核心任務(wù)是設(shè)計(jì)并制作一個(gè)能測(cè)量特定頻率范圍內(nèi)我記得是1kHz到100kHz正弦波信號(hào)的幅度、頻率以及一個(gè)待測(cè)“黑箱”二端口網(wǎng)絡(luò)題目會(huì)給定幾個(gè)拓?fù)浔热鏡C串聯(lián)、RLC并聯(lián)等的阻抗幅頻特性和相頻特性的儀器。聽(tīng)起來(lái)好像就是把示波器、網(wǎng)絡(luò)分析儀的功能做個(gè)簡(jiǎn)易版但真正做起來(lái)你會(huì)發(fā)現(xiàn)每一步都是坑。信號(hào)源要自己產(chǎn)生測(cè)量電路要自己搭建數(shù)據(jù)處理和顯示要自己完成最關(guān)鍵的是精度指標(biāo)卡得非常死。比如幅度測(cè)量誤差要小于5%相位測(cè)量誤差要小于5°在幾十kHz的頻率下5°的相位誤差對(duì)電路設(shè)計(jì)和調(diào)試水平是極大的考驗(yàn)。我當(dāng)時(shí)和隊(duì)友們熬了整整四天三夜經(jīng)歷了一次又一次的調(diào)試、失敗、再調(diào)試。最大的體會(huì)是這道題成功的關(guān)鍵絕不僅僅是看懂題目要求而是能否構(gòu)建一套完整的、自洽的測(cè)量系統(tǒng)方法論。它要求你從信號(hào)源的質(zhì)量、前端調(diào)理電路的精度、核心測(cè)量算法的選擇到最后的誤差補(bǔ)償與校準(zhǔn)形成一個(gè)閉環(huán)。任何一個(gè)環(huán)節(jié)的短板都會(huì)在最終的測(cè)量數(shù)據(jù)上被無(wú)限放大。接下來(lái)我就結(jié)合我們當(dāng)時(shí)的方案、踩過(guò)的坑以及賽后復(fù)盤(pán)的經(jīng)驗(yàn)把這套方法論拆解開(kāi)來(lái)希望能給未來(lái)備戰(zhàn)類似題目的同學(xué)一些實(shí)實(shí)在在的參考。2. 系統(tǒng)架構(gòu)設(shè)計(jì)與核心模塊選型思路面對(duì)這樣一個(gè)系統(tǒng)性的題目最忌諱的就是拿到手就開(kāi)始埋頭焊電路、寫(xiě)代碼。我們花了將近半天的時(shí)間在方案論證和系統(tǒng)框圖繪制上這是我認(rèn)為整個(gè)比賽過(guò)程中最值的時(shí)間。我們的核心思路是“分離信號(hào)通路數(shù)字化處理核心”。2.1 總體架構(gòu)框圖與信號(hào)流我們最終確定的系統(tǒng)架構(gòu)如下圖所示此處以文字描述信號(hào)發(fā)生模塊采用DDS直接數(shù)字頻率合成芯片如AD9833或單片機(jī)如STM32的DAC配合運(yùn)放濾波來(lái)產(chǎn)生高純度、頻率可調(diào)的正弦波。這是整個(gè)系統(tǒng)的“源頭”源頭的噪聲和失真會(huì)傳遞到整個(gè)鏈路。待測(cè)網(wǎng)絡(luò)DUT題目給定的“黑箱”可能是純電阻、RC、RL、RLC等組合。我們需要測(cè)量其兩端的電壓和流過(guò)的電流轉(zhuǎn)化為電壓信號(hào)。前端信號(hào)調(diào)理模塊這是精度之戰(zhàn)的主戰(zhàn)場(chǎng)。核心任務(wù)是將待測(cè)網(wǎng)絡(luò)的電壓信號(hào)和電流信號(hào)無(wú)失真地、以高輸入阻抗采集過(guò)來(lái)并調(diào)理到后端ADC適合測(cè)量的范圍通常是0-3.3V。電壓采樣通道直接使用高輸入阻抗的電壓跟隨器如OPA2188這類高精度、低偏置電流運(yùn)放進(jìn)行緩沖。電流采樣通道這是難點(diǎn)。需要在待測(cè)網(wǎng)絡(luò)回路中串聯(lián)一個(gè)小的采樣電阻例如1Ω-10Ω將電流轉(zhuǎn)化為電壓。但這個(gè)采樣電阻的引入不能顯著改變?cè)娐诽匦运宰柚狄⊥瑫r(shí)轉(zhuǎn)化出的電壓信號(hào)也小需要高增益、低噪聲的放大器進(jìn)行放大。這里通常選用儀表放大器如INA128, AD620或由高精度運(yùn)放搭建的差分放大電路。核心測(cè)量與處理模塊我們選擇了以高性能單片機(jī)STM32F4系列主頻高且?guī)PU為核心。兩路調(diào)理后的模擬信號(hào)電壓V和電流I送入單片機(jī)的雙通道同步采樣ADC。在單片機(jī)內(nèi)完成幅值、頻率、相位差的計(jì)算。人機(jī)交互與顯示模塊使用LCD屏幕實(shí)時(shí)顯示測(cè)量結(jié)果幅頻特性曲線、相頻特性曲線、數(shù)值等并通過(guò)鍵盤(pán)或編碼器進(jìn)行頻率設(shè)置、量程切換等操作。這個(gè)架構(gòu)的關(guān)鍵在于將模擬域的精度保障前端調(diào)理和數(shù)字域的靈活處理算法計(jì)算明確分開(kāi)。模擬部分的目標(biāo)是“保真”數(shù)字部分的目標(biāo)是“精確計(jì)算”。2.2 關(guān)鍵器件選型背后的“為什么”為什么用儀表放大器測(cè)電流這是由測(cè)量需求決定的。采樣電阻兩端的電壓是差分信號(hào)V和V-且共模電壓可能很高等于待測(cè)網(wǎng)絡(luò)輸入電壓。普通運(yùn)放放大電路對(duì)共模電壓抑制能力有限會(huì)引入很大誤差。儀表放大器天生具有極高的輸入阻抗和共模抑制比CMRR能精準(zhǔn)提取出差分小信號(hào)是電流測(cè)量的不二之選。我們當(dāng)時(shí)選用的是INA128性價(jià)比高。為什么ADC要同步采樣測(cè)量阻抗的相位本質(zhì)是測(cè)量電壓和電流波形的時(shí)間差相位差。如果兩路ADC采樣不同步即使只有微秒級(jí)的延遲在幾十kHz的頻率下也會(huì)引入可觀的相位誤差。STM32F4的多通道ADC支持“交替模式”或“雙重模式”下的同步采樣能保證兩路信號(hào)在同一時(shí)刻被采樣這是保證相位測(cè)量精度的硬件基礎(chǔ)。為什么單片機(jī)主頻要高且?guī)PU因?yàn)槲覀円跍y(cè)量間隔內(nèi)完成大量的實(shí)時(shí)計(jì)算。除了基本的幅值計(jì)算均方根核心的相位計(jì)算可能需要用到離散傅里葉變換DFT或相關(guān)算法這些涉及大量的浮點(diǎn)乘加運(yùn)算。硬件FPU能將這些計(jì)算速度提升數(shù)十倍確保系統(tǒng)能快速響應(yīng)頻率切換并刷新顯示。3. 精度生命線前端調(diào)理電路設(shè)計(jì)與陷阱規(guī)避如果說(shuō)算法是系統(tǒng)的大腦那么前端調(diào)理電路就是系統(tǒng)的感官它的精度直接決定了大腦接收到的信息質(zhì)量。這里是我們踩坑最多的地方。3.1 儀表放大器電路的精髓與常見(jiàn)誤區(qū)以INA128為例其基本放大公式是Vout G * (V - V-)增益G 1 50kΩ / Rg。看起來(lái)很簡(jiǎn)單但布板和調(diào)試時(shí)處處是細(xì)節(jié)。陷阱一參考端Ref的接地。INA128的Ref引腳通常需要接地以設(shè)定輸出信號(hào)的基準(zhǔn)。但這個(gè)“地”必須是干凈的模擬地。很多同學(xué)直接把它連到了數(shù)字地或電源地導(dǎo)致輸出信號(hào)上疊加了巨大的數(shù)字噪聲。正確的做法是將Ref引腳通過(guò)一個(gè)0Ω電阻或磁珠單點(diǎn)連接到你的模擬地平面并且這個(gè)連接點(diǎn)要盡量靠近INA128的電源去耦電容的地端。陷阱二增益電阻Rg的選取。Rg決定增益而增益影響帶寬和噪聲。INA128的增益帶寬積是有限的。如果你需要放大100倍G100在100kHz時(shí)其有效帶寬可能會(huì)下降導(dǎo)致信號(hào)幅度衰減和相位偏移。我們的經(jīng)驗(yàn)是先確定你需要放大后的信號(hào)最大幅度接近但不超過(guò)ADC量程反推所需增益。然后查閱芯片手冊(cè)的“增益 vs. 帶寬”曲線確保在最高測(cè)量頻率下帶寬衰減在可接受范圍內(nèi)比如小于1%。如果不行就要考慮降低采樣電阻值或者選用更高帶寬的儀表放大器。陷阱三輸入端的保護(hù)與濾波。儀表放大器的輸入阻抗很高容易受到靜電和空間干擾。必須在兩個(gè)輸入端靠近芯片引腳處到模擬地之間添加小容量電容如10pF-100pF構(gòu)成低通濾波器濾除高頻噪聲。但要注意這個(gè)電容會(huì)和輸入阻抗形成一個(gè)極點(diǎn)影響相位。需要通過(guò)計(jì)算或仿真確保這個(gè)濾波器的截止頻率遠(yuǎn)高于你的最高測(cè)量頻率例如10倍以上以免引入額外的相位延遲。3.2 電源去耦被忽視的噪聲之源運(yùn)放和儀表放大器對(duì)電源噪聲極其敏感。尤其是當(dāng)數(shù)字電路單片機(jī)、LCD和模擬電路共用電源時(shí)數(shù)字部分的開(kāi)關(guān)噪聲會(huì)通過(guò)電源線耦合進(jìn)模擬部分在輸出信號(hào)上產(chǎn)生毛刺。我們的血淚教訓(xùn)最初我們只是給每個(gè)運(yùn)放的電源引腳就近接了一個(gè)0.1μF的陶瓷電容到地。測(cè)試時(shí)發(fā)現(xiàn)當(dāng)LCD刷新或ADC頻繁啟動(dòng)時(shí)測(cè)量波形上總有規(guī)律的尖刺。后來(lái)我們采用了分級(jí)去耦策略芯片級(jí)每個(gè)運(yùn)放/INA的電源引腳并聯(lián)一個(gè)10μF的鉭電容或電解電容和一個(gè)0.1μF的陶瓷電容。陶瓷電容負(fù)責(zé)濾除高頻噪聲鉭電容負(fù)責(zé)應(yīng)對(duì)電流突變。模塊級(jí)在模擬電路板的電源入口處增加一個(gè)更大的濾波電容如100μF和一個(gè)鐵氧體磁珠Ferrite Bead構(gòu)成一個(gè)簡(jiǎn)單的π型濾波器隔離從主電源來(lái)的噪聲。布局級(jí)電源走線盡可能寬并且先經(jīng)過(guò)去耦電容再到達(dá)芯片引腳。地平面盡量完整模擬地和數(shù)字地在電源入口處單點(diǎn)連接。注意去耦電容的擺放順序有講究。理論上電流路徑應(yīng)該是電源 - 大電容儲(chǔ)能 - 小電容濾高頻 - 芯片引腳。布局時(shí)應(yīng)讓電容的接地端盡可能靠近芯片的接地引腳形成最小的回流環(huán)路。3.3 關(guān)于“射頻濾波器”的思考在一些網(wǎng)絡(luò)討論中我看到有人提到在儀表放大器前加“射頻濾波器”。對(duì)于2019年D題1kHz-100kHz的頻段這通常不是必須的除非你的測(cè)試環(huán)境存在極強(qiáng)的射頻干擾如靠近電臺(tái)。所謂的“射頻濾波器”在此場(chǎng)景下更應(yīng)理解為抗混疊濾波器。因?yàn)锳DC采樣時(shí)如果信號(hào)中有高于采樣頻率一半奈奎斯特頻率的成分就會(huì)發(fā)生混疊產(chǎn)生無(wú)法消除的誤差。我們的做法在信號(hào)進(jìn)入ADC之前設(shè)置一個(gè)無(wú)源RC低通濾波器其截止頻率略高于我們關(guān)心的最高頻率100kHz但遠(yuǎn)低于ADC采樣頻率的一半例如我們采樣率用1MHz奈奎斯特頻率是500kHz濾波器截止頻率可以設(shè)在150-200kHz。這樣既能濾除帶外高頻噪聲和可能的混疊分量又不會(huì)對(duì)我們需要測(cè)量的信號(hào)造成明顯的幅度衰減和相位影響。這個(gè)濾波器的電阻、電容要選擇溫度穩(wěn)定性好的類型如金屬膜電阻、C0G/NP0陶瓷電容并且要精確匹配兩路通道的RC值否則會(huì)引入通道間的相位差。4. 核心算法實(shí)現(xiàn)從時(shí)域到頻域的相位測(cè)量策略拿到干凈的模擬信號(hào)后如何精準(zhǔn)計(jì)算幅度和相位尤其是相位是軟件算法的核心。我們對(duì)比了三種主流方法。4.1 過(guò)零檢測(cè)法簡(jiǎn)單但脆弱這是最直觀的方法檢測(cè)兩路信號(hào)波形從負(fù)到正過(guò)零點(diǎn)的時(shí)刻時(shí)間差Δt除以周期T再乘以360°就是相位差。在MCU里可以用比較器或ADC數(shù)據(jù)判斷過(guò)零點(diǎn)。為什么我們放棄了它這個(gè)方法對(duì)噪聲太敏感了。實(shí)際信號(hào)總有噪聲在過(guò)零點(diǎn)附近噪聲會(huì)導(dǎo)致多次虛假過(guò)零觸發(fā)很難精確判斷真正的過(guò)零點(diǎn)時(shí)刻。特別是在信號(hào)幅度較小或失真時(shí)誤差會(huì)非常大。雖然可以通過(guò)軟件濾波如多次平均改善但在精度要求高5°且頻率變化的場(chǎng)合可靠性不足。4.2 相關(guān)函數(shù)法穩(wěn)健的選擇這是我們認(rèn)為最適合本題目的方法。原理是計(jì)算兩個(gè)離散信號(hào)序列的相關(guān)函數(shù)尋找其最大值或通過(guò)公式直接計(jì)算相位差。對(duì)于正弦波兩個(gè)同頻信號(hào)x[n]和y[n]的相位差φ可以通過(guò)它們乘積的積分離散求和來(lái)求得。一個(gè)常用的公式是φ arctan( (Σ(x[n]*y[n])) / (Σ(x[n]*y[n])) )其中y[n]是y[n]的希爾伯特變換或正交序列對(duì)于單頻正弦可以簡(jiǎn)單地將y[n]移動(dòng)四分之一個(gè)周期來(lái)近似。更實(shí)用的是直接使用離散傅里葉變換DFT的結(jié)果。我們的實(shí)現(xiàn)步驟同步采集N個(gè)點(diǎn)例如1024點(diǎn)的電壓序列V[n]和電流序列I[n]。對(duì)每個(gè)序列進(jìn)行加窗如漢寧窗減少頻譜泄漏后進(jìn)行FFT快速傅里葉變換。在頻譜中找到信號(hào)主頻對(duì)應(yīng)的譜線k。分別提取V[n]和I[n]在該頻點(diǎn)k處的復(fù)數(shù)頻譜值V(k)和I(k)。相位差φ angle(V(k)) - angle(I(k))其中angle()是求復(fù)數(shù)相角的函數(shù)C語(yǔ)言中的atan2函數(shù)。這種方法抗噪聲能力強(qiáng)因?yàn)镕FT本身具有濾波效果能從噪聲中很好地提取出主頻分量。而且能同時(shí)得到幅度復(fù)數(shù)模值和頻率譜線位置對(duì)應(yīng)頻率一舉多得。4.3 數(shù)字鎖相放大器DSP思路高階玩法這相當(dāng)于用軟件實(shí)現(xiàn)一個(gè)鎖相放大器如AD630的原理。需要產(chǎn)生一對(duì)同頻的正交參考信號(hào)sin(ωt)和cos(ωt)分別與輸入信號(hào)V(t)和I(t)相乘并積分低通濾波通過(guò)運(yùn)算可以得到信號(hào)的幅值和相對(duì)于參考信號(hào)的相位。這種方法精度極高特別適合提取深埋在噪聲中的小信號(hào)。為什么我們沒(méi)有作為首選因?yàn)槠鋵?shí)時(shí)計(jì)算量相對(duì)較大且需要精確生成正交參考信號(hào)。在賽題有限的4天時(shí)間里實(shí)現(xiàn)和調(diào)試一個(gè)穩(wěn)定的數(shù)字鎖相環(huán)PLL或直接數(shù)字合成DDS參考信號(hào)風(fēng)險(xiǎn)較高。但如果你對(duì)DSP算法很熟悉這是一個(gè)能極大提升測(cè)量下限噪聲抑制能力的豪華方案。我們的取舍最終我們選擇了相關(guān)函數(shù)法基于FFT。它在精度、抗噪性和實(shí)現(xiàn)復(fù)雜度之間取得了最佳平衡。我們利用STM32F4的DSP庫(kù)中的FFT函數(shù)大大加快了計(jì)算速度。5. 系統(tǒng)校準(zhǔn)與誤差分析從“差不多”到“精確”任何測(cè)量系統(tǒng)都有誤差精密的儀器之所以精密關(guān)鍵在于校準(zhǔn)。對(duì)于這道題校準(zhǔn)不是可選項(xiàng)而是必選項(xiàng)。5.1 幅度與相位校準(zhǔn)實(shí)戰(zhàn)幅度校準(zhǔn)基準(zhǔn)源使用一個(gè)高精度的函數(shù)信號(hào)發(fā)生器如果實(shí)驗(yàn)室有輸出一系列已知幅度和頻率的正弦波直接接入你的測(cè)試儀電壓通道。記錄誤差記錄你的儀器測(cè)量值與真實(shí)值的偏差。這個(gè)偏差可能包含ADC的增益誤差、偏移誤差、前端運(yùn)放的增益誤差等。建立查找表或擬合公式在整個(gè)幅度和頻率范圍內(nèi)多點(diǎn)測(cè)量建立一個(gè)誤差查找表?;蛘咴趩纹瑱C(jī)里用一個(gè)簡(jiǎn)單的線性公式進(jìn)行修正V_real a * V_measured b。系數(shù)a和b通過(guò)最小二乘法擬合得到。相位校準(zhǔn)這是難點(diǎn)因?yàn)樾枰阎辔徊畹男盘?hào)源。制造已知相移用高精度的電阻、電容搭建一個(gè)已知相移的網(wǎng)絡(luò)。例如一個(gè)純電阻相移0°和一個(gè)RC高通/低通網(wǎng)絡(luò)相移可計(jì)算。將這些網(wǎng)絡(luò)作為待測(cè)網(wǎng)絡(luò)進(jìn)行測(cè)量。測(cè)量系統(tǒng)固有相移即使輸入同相信號(hào)由于兩路ADC通道、前端調(diào)理電路的元器件參數(shù)不可能完全一致也會(huì)存在一個(gè)固有的相位差φ_offset。這個(gè)值需要在多個(gè)頻點(diǎn)測(cè)量并記錄。補(bǔ)償實(shí)際測(cè)量待測(cè)網(wǎng)絡(luò)時(shí)最終的相位結(jié)果φ_result需要減去這個(gè)固有相移φ_offsetφ_final φ_result - φ_offset。5.2 誤差來(lái)源深度拆解你必須清楚誤差從哪里來(lái)才能有的放矢地去減少它。我們的誤差分析報(bào)告主要包含以下幾類系統(tǒng)誤差可校準(zhǔn)增益誤差運(yùn)放、儀表放大器的實(shí)際增益與理論值的偏差A(yù)DC的參考電壓誤差。偏移誤差運(yùn)放的輸入失調(diào)電壓、ADC的零點(diǎn)誤差。通道間延遲誤差兩路ADC采樣保持電路和調(diào)理電路的不對(duì)稱導(dǎo)致的固定時(shí)間差表現(xiàn)為固定的相位誤差。非線性誤差運(yùn)放和ADC在滿量程范圍內(nèi)的非線性。隨機(jī)誤差可通過(guò)平均減小噪聲電阻熱噪聲、運(yùn)放電壓噪聲和電流噪聲、電源噪聲、環(huán)境電磁干擾。量化誤差A(yù)DC的位數(shù)限制12位ADC的量化誤差約為L(zhǎng)SB/√12。采樣抖動(dòng)ADC采樣時(shí)鐘的不穩(wěn)定性。理論方法誤差頻譜泄漏FFT時(shí)信號(hào)周期不是采樣窗口的整數(shù)倍導(dǎo)致能量擴(kuò)散到其他頻點(diǎn)。解決方案加窗漢寧窗、平頂窗等。柵欄效應(yīng)FFT后的頻譜是離散的真實(shí)頻率可能落在兩條譜線之間導(dǎo)致幅度和相位讀數(shù)偏差。解決方案增加采樣點(diǎn)數(shù)提高頻率分辨率或采用插值算法如比值法。我們?cè)趫?bào)告中對(duì)每一項(xiàng)誤差進(jìn)行了定量或定性分析并說(shuō)明了我們采取了哪些硬件或軟件措施來(lái)抑制它。例如對(duì)于隨機(jī)噪聲我們通過(guò)連續(xù)采集多組數(shù)據(jù)如16組進(jìn)行平均來(lái)抑制對(duì)于增益和偏移誤差我們通過(guò)前述校準(zhǔn)流程來(lái)修正。這份詳細(xì)的誤差分析是評(píng)審老師非??粗氐牟糠炙w現(xiàn)了你對(duì)測(cè)量系統(tǒng)的深刻理解而不僅僅是功能的堆砌。6. 測(cè)試過(guò)程與故障排查實(shí)錄四天三夜的比賽大部分時(shí)間其實(shí)花在了調(diào)試和排查問(wèn)題上。分享幾個(gè)讓我們記憶深刻的“坑”。故障一測(cè)量純電阻時(shí)相位差不為零且隨頻率變化。現(xiàn)象用一個(gè)精度很高的金屬膜電阻作為待測(cè)網(wǎng)絡(luò)理論上相位差應(yīng)為0°。但我們測(cè)出來(lái)有2-3°的相位差并且頻率越高偏差似乎有增大趨勢(shì)。排查首先懷疑算法。用信號(hào)發(fā)生器產(chǎn)生兩路同相位的正弦波分別接入兩個(gè)通道測(cè)量相位差。結(jié)果接近0°說(shuō)明算法和ADC同步性沒(méi)問(wèn)題。問(wèn)題鎖定在前端調(diào)理電路。檢查電流采樣通道的儀表放大器電路。最終發(fā)現(xiàn)電流采樣通道的輸入端那個(gè)用于抗混疊/濾波的RC低通濾波器其電容用了普通的陶瓷電容可能是X7R材質(zhì)。這種電容的容值會(huì)隨直流偏置電壓和溫度變化而且兩路通道的電容值有微小差異。這個(gè)差異導(dǎo)致了兩個(gè)通道的群延遲不同從而引入了隨頻率變化的相位差。解決將關(guān)鍵路徑上的濾波電容全部更換為C0GNP0材質(zhì)的陶瓷電容這種電容容值穩(wěn)定。更換后純電阻的相位測(cè)量值立刻降到0.5°以內(nèi)。故障二測(cè)量高頻信號(hào)接近100kHz時(shí)幅度讀數(shù)偏小?,F(xiàn)象信號(hào)發(fā)生器輸出100kHz、1Vpp的信號(hào)我們的儀器顯示只有0.9Vpp左右。排查用示波器直接探頭點(diǎn)到儀表放大器的輸出端發(fā)現(xiàn)輸出幅度已經(jīng)衰減了。說(shuō)明問(wèn)題在模擬前端不是ADC或算法的問(wèn)題。查閱INA128手冊(cè)的“增益帶寬積”曲線。我們發(fā)現(xiàn)在設(shè)定的增益下比如G100INA128在100kHz時(shí)的實(shí)際增益已經(jīng)開(kāi)始下降。手冊(cè)上的增益帶寬積是有限的增益越高可用帶寬越窄。同時(shí)檢查電壓跟隨器OPA2188的帶寬發(fā)現(xiàn)其單位增益帶寬足夠不是瓶頸。解決重新評(píng)估系統(tǒng)增益分配。降低了儀表放大器的增益通過(guò)增大Rg讓它在100kHz時(shí)仍有足夠帶寬。同時(shí)為了補(bǔ)償增益降低我們適當(dāng)增大了電流采樣電阻的阻值在允許的范圍內(nèi)確保不影響待測(cè)網(wǎng)絡(luò)使信號(hào)幅度重新回到ADC的最佳量程范圍。這需要在“帶寬”、“噪聲”、“對(duì)原電路影響”之間做一個(gè)權(quán)衡。故障三LCD屏幕刷新時(shí)測(cè)量波形出現(xiàn)毛刺。現(xiàn)象每當(dāng)LCD刷新數(shù)據(jù)時(shí)ADC采集到的波形上就會(huì)出現(xiàn)周期性的尖峰噪聲。排查這明顯是數(shù)字噪聲通過(guò)電源或地耦合到了模擬部分。我們用示波器探頭地線夾接一個(gè)“接地彈簧”短接地線直接探測(cè)運(yùn)放的電源引腳果然看到了與LCD刷新同步的電壓波動(dòng)。解決加強(qiáng)電源去耦如3.2節(jié)所述在每一個(gè)運(yùn)放和INA的電源引腳處增加一個(gè)10μF鉭電容與0.1μF陶瓷電容并聯(lián)。物理隔離如果條件允許將模擬部分和數(shù)字部分MCU、LCD的供電完全分開(kāi)使用兩個(gè)獨(dú)立的LDO穩(wěn)壓器。我們當(dāng)時(shí)因?yàn)榘遄右炎龊貌捎昧苏壑蟹桨冈谀M部分電源入口處增加一個(gè)LC磁珠電容π型濾波器。軟件規(guī)避在ADC采樣期間暫時(shí)關(guān)閉LCD的刷新通過(guò)設(shè)置LCD為休眠模式或簡(jiǎn)單地延遲刷新采樣完成后再更新顯示。這是一個(gè)簡(jiǎn)單有效的軟件策略。通過(guò)這些排查我們深刻體會(huì)到電子設(shè)計(jì)尤其是精密測(cè)量是一個(gè)系統(tǒng)工程。原理圖正確只是第一步PCB布局布線、元器件選型、電源完整性、軟件時(shí)序每一個(gè)細(xì)節(jié)都可能成為那個(gè)“短板”。調(diào)試的過(guò)程就是拿著示波器、邏輯分析儀像偵探一樣順著噪聲和異常現(xiàn)象的蛛絲馬跡找到問(wèn)題根源的過(guò)程。7. 總結(jié)與給后來(lái)者的建議回顧2019年電賽D題它更像是一個(gè)微型的科研項(xiàng)目訓(xùn)練。它考察的不僅僅是焊接和編程能力更是系統(tǒng)的工程設(shè)計(jì)能力、嚴(yán)謹(jǐn)?shù)膶?shí)驗(yàn)分析能力和面對(duì)復(fù)雜問(wèn)題的調(diào)試能力。這道題沒(méi)有“標(biāo)準(zhǔn)答案”但有明確的“精度標(biāo)尺”這迫使你必須深入理解每一個(gè)環(huán)節(jié)的原理。對(duì)于今后備戰(zhàn)類似題目的同學(xué)我的建議是前期準(zhǔn)備吃透基礎(chǔ)模塊。在賽前把基礎(chǔ)模塊做熟做透DDS信號(hào)源、儀表放大器電路、高精度ADC采樣、FFT算法、LCD驅(qū)動(dòng)。準(zhǔn)備好這些模塊的“輪子”比賽時(shí)才能快速搭建系統(tǒng)框架。方案設(shè)計(jì)重視仿真與理論計(jì)算。拿到題目后不要急于動(dòng)手。先用Multisim、LTspice等工具對(duì)關(guān)鍵電路尤其是前端調(diào)理和濾波器進(jìn)行仿真驗(yàn)證帶寬、噪聲、相位響應(yīng)是否滿足要求。計(jì)算采樣電阻的功率、運(yùn)放的壓擺率是否夠用。硬件制作敬畏布局與電源。畫(huà)PCB時(shí)務(wù)必遵循模擬電路布局原則一點(diǎn)接地、電源走線粗、模擬數(shù)字分區(qū)、關(guān)鍵信號(hào)包地。把電源去耦做到極致。一塊好的PCB是成功的一半。軟件算法優(yōu)先選擇穩(wěn)健方案。在有限時(shí)間內(nèi)選擇像相關(guān)法/FFT這種經(jīng)過(guò)驗(yàn)證、抗噪性好的成熟算法比追求最前沿但復(fù)雜的算法更穩(wěn)妥。充分利用MCU的硬件加速功能如DSP庫(kù)、FPU。調(diào)試測(cè)試建立科學(xué)的流程。準(zhǔn)備一份測(cè)試清單從單元到系統(tǒng)逐級(jí)驗(yàn)證信號(hào)源輸出是否純凈放大器增益是否正確ADC采樣值是否準(zhǔn)確算法計(jì)算是否正確用已知的、可量化的標(biāo)準(zhǔn)如高精度信號(hào)發(fā)生器、標(biāo)準(zhǔn)電阻電容網(wǎng)絡(luò)來(lái)檢驗(yàn)?zāi)愕南到y(tǒng)。報(bào)告撰寫(xiě)突出分析與思考。競(jìng)賽報(bào)告不僅是記錄結(jié)果更是展示你思維過(guò)程的窗口。詳細(xì)闡述你的方案選擇理由、誤差來(lái)源分析、校準(zhǔn)方法以及遇到的問(wèn)題和解決方案。圖表清晰數(shù)據(jù)翔實(shí)。電賽的魅力就在于這種從無(wú)到有、將一個(gè)想法變成一臺(tái)精密儀器的過(guò)程。2019年D題的這些經(jīng)歷那些深夜調(diào)試時(shí)示波器上終于穩(wěn)定的波形那些反復(fù)計(jì)算和校準(zhǔn)的數(shù)據(jù)遠(yuǎn)比一個(gè)獎(jiǎng)項(xiàng)名次更讓人銘記。它教會(huì)你的是一種嚴(yán)謹(jǐn)?shù)墓こ趟季S和解決實(shí)際問(wèn)題的能力這才是比賽留給參賽者最寶貴的財(cái)富。