李 健 魯業(yè)頻 潘高生
(巢湖學(xué)院電子工程與電氣自動化學(xué)院,安徽 巢湖 238000)
峰值檢測電路作為一種檢測信號波形峰值的基本電路在數(shù)據(jù)采樣方面應(yīng)用很廣[1]。比如:在軸承生產(chǎn)行業(yè)中,軸承振動噪聲的峰值檢測是一項(xiàng)重要的指標(biāo)[2];數(shù)字存儲示波器及數(shù)據(jù)采集卡中用來實(shí)現(xiàn)波形的毛刺捕捉或高占空比的信號的檢測[3];建筑行業(yè)中檢測某建筑物中梁的最大承受力,檢測一根鋼絲的最大允許拉力等[4]。
圖1 峰值檢測原理
本文介紹了一種峰值檢測系統(tǒng)的設(shè)計與仿真,采用AT89C51單片機(jī)作為核心控制器,實(shí)現(xiàn)模擬信號峰值的保持、采樣和顯示,編寫了軟件代碼并通過仿真加以驗(yàn)證,達(dá)到了一定頻率范圍內(nèi)的信號峰值檢測的目的。
峰值檢測電路(PKD,Peak Detector)的作用是儲存輸入信號的峰值,并輸出 Vo=Vpeak,為了實(shí)現(xiàn)這樣的功能,電路輸出值會一直保持,等到一個新的峰值出現(xiàn)或電路復(fù)位[5]。它的時域波形如圖1所示。
如圖2所示,待檢測的信號接入采樣保持電路,保持的信號峰值經(jīng)單片機(jī)啟動模數(shù)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字量,再送入單片機(jī)進(jìn)行換算并由顯示電路顯示出相應(yīng)的模擬電壓值。當(dāng)新的峰值到來前,單片機(jī)發(fā)送放電脈沖,使保持電路放電后能充電達(dá)到新的峰值,再重復(fù)模數(shù)轉(zhuǎn)換和顯示。
圖2 設(shè)計方案
圖3 峰值采樣保持電路
峰值采樣保持電路如圖3所示,其工作原理為:電路采用了兩級運(yùn)放,待測信號輸入前級運(yùn)放的同相端,當(dāng) Vi>Vo時(Vi為輸入信號,Vo為輸出端電壓), Vi大于二極管導(dǎo)通電壓,使 D1、D2、D3導(dǎo)通后對電容C1進(jìn)行充電,此時前級運(yùn)放相當(dāng)一個電壓跟隨器;當(dāng)信號電壓下降Vi C1保持的峰值電壓經(jīng)后級運(yùn)放的跟隨作用再送給模數(shù)轉(zhuǎn)換器ADC0804的模擬電壓輸入引腳。三極管Q1和Q2的基極接至單片機(jī)的P3.0引腳,由單片機(jī)發(fā)送的放電脈沖控制三極管的通斷。當(dāng)檢測完當(dāng)前的電壓值后,為了迎接新的峰值,要將之前電容電壓釋放,只要單片機(jī)送一個高電平,使兩個三極管導(dǎo)通,電容就會放電,為檢測新的峰值做好充電準(zhǔn)備。放電脈沖由單片機(jī)給出,通過編程使P3.0輸出占空比為1:14的脈沖信號,周期為0.2s,可根據(jù)需要進(jìn)行修改。 如圖4左下所示,保持的峰值送入ADC0804的正輸入引腳VIN+,ADC0804是8位的模數(shù)轉(zhuǎn)換器,轉(zhuǎn)換速度快,其讀寫引腳(RD、WR)、轉(zhuǎn)換完結(jié)束引腳(INTR)以及轉(zhuǎn)換后的8位數(shù)據(jù)都與單片機(jī)相連。 圖4 模數(shù)轉(zhuǎn)換、單片機(jī)和顯示電路 系統(tǒng)的核心控制器采用的是AT89C51單片機(jī),圖4中間部分為單片機(jī)最小系統(tǒng),包括單片機(jī)和單片機(jī)正常工作需要的晶振電路和復(fù)位電路。另外,P0口接了上拉電阻,與顯示部分?jǐn)?shù)碼管的8段相連;P1口與ADC0804的數(shù)字量輸出口相連;P2口的低四位控制四位數(shù)碼管的位選。其他的引腳接線見圖上標(biāo)號所示。 檢測的結(jié)果要顯示出來,本系統(tǒng)采用了四位數(shù)碼管動態(tài)顯示,如圖4上方所示,各引腳接法見單片機(jī)最小系統(tǒng)部分?jǐn)⑹觥?/p> 軟件程序流程如圖5:首先對單片機(jī)進(jìn)行初始化,設(shè)置計時器初始值;再啟動ADC采集儲存在電容上的模擬信號電壓,轉(zhuǎn)換結(jié)束后將數(shù)字量送給單片機(jī);同時單片機(jī)通過計數(shù)器判斷時間是否達(dá)到脈沖發(fā)射周期,如果沒有,則單片機(jī)將數(shù)字量輸出到數(shù)碼管進(jìn)行顯示,如果達(dá)到脈沖發(fā)射周期,輸出固定時間的+5V脈沖將使BJT導(dǎo)通,雙BJT與電容形成回路,電容放電結(jié)束,然后脈沖消失,BJT斷開,電容又重新充電記錄下一個峰值。 將上述各電路模塊整合到一起,組成一個檢測系統(tǒng)。采用Keil編寫好程序無誤后,在Proteus中進(jìn)行電路仿真。輸入幅值4V、頻率為20Hz的正弦波信號,仿真結(jié)果如圖6所示。從中可以看出,結(jié)果有一定的誤差,這主要是ADC采集量化造成的。如果在采樣保持電路前加上放大電路,系統(tǒng)還可以實(shí)現(xiàn)微弱信號的峰值檢測。 圖5 程序流程圖 圖6 仿真結(jié)果 [1]李凌,虞禮貞.電壓幅值可達(dá)毫伏數(shù)量級的小信號峰值檢測電路的設(shè)計[J].南昌大學(xué)學(xué)報(理科版),2003,(4). [2]李暉英,王宗俠,常曉明,等.基于C8051F206的軸承噪聲信號峰值檢測方法[J].電子測量與儀器學(xué)報,2008,(S2). [3]胡理,師奕兵,黃建國,等.峰值檢測技術(shù)在數(shù)據(jù)采集卡中的應(yīng)用[J].儀器儀表學(xué)報,2004,(S1). [4]曹吉花,王洪艷.信號峰值檢測儀的設(shè)計與應(yīng)用[J].宿州學(xué)院學(xué)報,2006,(2). [5]峰值檢測電路總匯.百度文庫 http://wenku.baidu.com/view/fff9b983d4d8d15abe234efb.html3.2 模數(shù)轉(zhuǎn)換電路
3.3 單片機(jī)最小系統(tǒng)
3.4 數(shù)碼管顯示電路
4 軟件設(shè)計
5 仿真結(jié)果與分析