吳 瓊,孫巍巍,田明才
(1.沈陽大學(xué) 信息學(xué)院,遼寧 沈陽 110044;2.東軟集團股份有限公司,遼寧 沈陽 110179)
隨著電子產(chǎn)品的普及,電容在工業(yè)器件上隨處可見,電容的測量得到了很好的發(fā)展,測量的理論和方法層出不窮.傳統(tǒng)的測量方法多采用模擬電路測量手段,主要有電橋電路、脈沖寬度調(diào)制電路、脈沖寬度調(diào)頻電路等.其中,電橋電路包括普通交流電橋、變壓電橋、二極管電橋等[1].這些測量方式環(huán)節(jié)多,容易受零漂、溫漂的影響,尤其對小電容的測量,難以保證其精度.
本設(shè)計采用軟硬件結(jié)合的方式進行電容測量.該電容測量儀的核心思想是用恒定電流給電容均勻充電,合理設(shè)定系統(tǒng)參數(shù),通過測量電容充電時間的長短確定電容值的大小.硬件電路包括電容充電電路、充電控制電路、狀態(tài)顯示電路及計數(shù)顯示電路[2];軟件部分接口充電控制電路,通過分頻、選擇、計數(shù)、譯碼、顯示等軟件流程得到顯示信息、再接口狀態(tài)及計數(shù)顯示硬件電路,完成電容測量過程[3].
電容測量原理圖如圖1所示.
圖1 電容測量原理圖Fig.1 Capacitance measurement schematics
(1)復(fù)位電路.為了保證硬件電路中存在可控的放電電路部分,設(shè)計采用雙刀單擲開關(guān),一方面,在電路初態(tài)實現(xiàn)對電容的完全放電,同時將軟件模塊清零,等待電容充電狀態(tài)的開始.
(2)充電電路.本設(shè)計以運算放大器LM 358為核心,使其工作于線性區(qū),應(yīng)用積分電路來實現(xiàn)對電容兩端的恒流充電過程[4-5].
在充電過程中,應(yīng)當保證充電電流恒定.當充電電流恒定不變時,隨著充電時間的增加,電容一端的電壓持續(xù)均勻升高,合理設(shè)置閾值電壓,則電容兩端充到該閾值電壓所用的時間將與電容器電容成正比,因此,可以通過充電時間的長短來測量電容值的大小.
需要注意的是,充電電壓范圍的選擇要滿足均勻充電過程,且低于電容的擊穿電壓值.
(3)比較電路.設(shè)置運放工作于非線性區(qū),依據(jù)充電電壓與閾值電壓的相對大小關(guān)系,通過比較電路向外界輸出信號,來判斷充電完成與否,接入計數(shù)處理模塊,完成狀態(tài)識別.同時輸出控制信號,終止軟件計數(shù).
(4)計數(shù)處理模塊.接收復(fù)位信號信息,將系統(tǒng)復(fù)位清零,依據(jù)設(shè)定內(nèi)部時鐘頻率進行計數(shù),直至接收到比較電路的終止信號時完成計數(shù)過程,計算電容值,并驅(qū)動LED于狀態(tài)顯示電路顯示.
(5)顯示電路.接收計數(shù)處理模塊輸出信號,完成LED與狀態(tài)直觀顯示功能.
電阻R2、R3阻值的確定:一是要當S1斷開時,在運放UIA的反相輸入端產(chǎn)生一個合適的電壓,而形成一個對被測電容器充電的恒定電流電路;二是要產(chǎn)生一個高電平信號控制后續(xù)電路,此處選擇R2=5.1kΩ,R3=4kΩ,滿足上述要求.電容充電電路圖如圖2所示.
圖2 電容充電電路圖Fig.2 Capacitor charging circuit diagram
在開始測量前,將S1、S2閉合,S2閉合將被測電容的電荷全部放掉,使得電容器初始電壓為0;S1閉合是給后續(xù)的軟件模塊一個復(fù)位信號,軟件模塊清零.t=0時刻,S1、S2同時斷開,開始測量.
運放LM 358配合R1、R2、R3與被測電容C組成積分電路,實現(xiàn)對電容器的恒定電流充電.其中
UIB構(gòu)成比較器,比較電壓為3.53V,比較電壓的大小是由電阻R5、R6決定的,也可以選用其他電阻而改變比較電壓.需要注意的是,比較電壓必須大于運放UIA輸出端初始電壓,而且不能太接近.變化范圍就是UIA的輸出電壓(從2.20V逐漸增加)到比較電壓3.53V.初始狀態(tài),輸出端輸出的是高電平,但當變化電壓增加到3.53V時,輸出端輸出低電平.可見,輸出高電平時,表示電路處于測量過程中,電容正在充電;輸出低電平時,表示電路處于飽和階段,測量結(jié)束.比較電路電路圖如圖3所示.
圖3 比較電路電路圖Fig.3 Comparator circuit
將U1=2.2+43×10-3t/C 代入終止條件(閾值電壓3.53V),得
其中,T為系統(tǒng)計數(shù)脈沖頻率.為使得LED數(shù)碼管能更直觀地顯示電容的容量值,保證脈沖計數(shù)個數(shù)和被測電容值相同,取計數(shù)脈沖周期0.03s,頻率32Hz.此時
數(shù)碼管顯示的計數(shù)個數(shù)就等于電容的容量值,實現(xiàn)了直觀顯示.
本電容測量儀的軟件部分使用VHDL語言設(shè)計實現(xiàn)[6-8].
各個模塊對于時鐘的要求各不相同,例如,計數(shù)電路所需要的脈沖信號就遠遠小于顯示電路的高頻掃描信號;多位七段LED數(shù)碼顯示器為了得到較好的顯示質(zhì)量,需要保證掃描循環(huán)周期低于20ms(頻率大于50Hz).為了對各子模塊提供合適的時鐘信號,設(shè)計中設(shè)置分頻模塊,對高頻信號進行恰當分頻,滿足各個模塊對clk時鐘信號的不同要求.分頻模塊VHDL程序仿真圖如圖4所示.
圖4 分頻模塊仿真圖Fig.4 Frequency module simulation Figure
電容處于充電狀態(tài)和飽和狀態(tài),軟件部分的工作方式是截然不同的.在設(shè)計中,依據(jù)輸入信號的不同狀態(tài),產(chǎn)生兩個輸出指示信號,用來顯示硬件電路的工作狀態(tài).充電狀態(tài)的顯示電路通過本模塊的兩個輸出端口分別接兩個LED燈,輸入狀態(tài)的不同直接決定了輸出狀態(tài)的不同,同時存在一個穩(wěn)定的、與輸入信號相同的輸出信號,作為后續(xù)電路的輸入信號.指示模塊VHDL程序仿真圖如圖5所示.
圖5 充電狀態(tài)指示模塊仿真圖Fig.5 Charge status indicator module simulation
由圖5可見,在時鐘clk的作用下,當輸入a為高電平時,輸出LED2為高電平,輸出LED1為低電平;輸入a為低電平時,則正好相反.時鐘輸出信號b與a保持相同.與程序設(shè)計的初始目的相同.
計數(shù)模塊在時鐘信號的作用下工作,記下電容充電過程中所經(jīng)歷的時鐘信號周期數(shù),得到對應(yīng)的充電時間.通過電容均勻充電時間的長短,通過相關(guān)計算和轉(zhuǎn)換而得到電容的容量值.
計數(shù)模塊是軟件設(shè)計模塊中的核心模塊,包括兩個輸入端:reset為復(fù)位信號,由硬件輸入端提供,硬件閉合(低電平)對此模塊進行清零操作,斷開(高電平)開始計數(shù);clk是指示模塊和分頻模塊通過與非門電路產(chǎn)生的時鐘信號,通過對該時鐘信號計數(shù),得到充電時間.計數(shù)模塊VHDL程序仿真圖如圖6所示.
圖6 計數(shù)模塊VHDL程序仿真波形Fig.6 Counting module VHDL procedures simulation waveforms
選用七段數(shù)碼管對測量電容值進行顯示,程序采用掃描顯示方式,分為譯碼和掃描兩部分.譯碼部分是對計數(shù)模塊輸出的數(shù)據(jù)譯碼成七段數(shù)碼管的顯示數(shù)據(jù),掃描部分通過高頻時鐘分時點亮各個數(shù)碼管,輪掃位選.
顯示模塊VHDL程序如圖7和圖8所示.
圖7 位選信號的仿真輸出Fig.7 Bit-select signal simulation output
圖8 段選譯碼的仿真波形Fig.8 The segment select decode simulation waveform
圖9為上文所述的所有軟件模塊的連接圖,總體模塊圖由4個模塊組成,即分頻模塊、指示模塊、計數(shù)模塊和顯示模塊.
圖9 軟件設(shè)計模塊連接圖Fig.9 Software design module connection diagram
如圖9所示的連接圖包括2個輸入接口和4組輸出接口.其中,輸入信號u0接硬件電路的比較電路輸出端,輸入信號u1接充電電路下面的輸出信號,輸出信號LED1接硬件電路中的LED燈1,輸出信號LED2接硬件電路中的LED燈2,輸出信號temp[3..0]分別接八位七段數(shù)碼管的四位掃描接口,輸出信號seg7[6..0]分別接八位七段數(shù)碼管的顯示控制接口.
圖10為軟件設(shè)計部分總體仿真波形全圖.從圖10可以看出,在輸入信號u0,u1的作用下,軟件部分實現(xiàn)了完整的功能.
圖10 軟件設(shè)計部分總體仿真波形全圖Fig.10 Full map of the overall simulation waveforms of software design part
本文以電容測量儀為研究內(nèi)容,使用一種軟硬件結(jié)合的方式實現(xiàn)了對電容的測量.硬件部分通過運放電路、比較電路的使用,完成了電容的恒定電流充電過程,為電容的測量提供了硬件基礎(chǔ);設(shè)定充電電壓閾值,由CPLD采集信息,通過VHDL軟編程完成充電時間的累加;應(yīng)用LED數(shù)碼管,接收CPLD輸出信號,實現(xiàn)電容值的直觀顯示,完成電容測量過程,為電容測量提供了新的解決思路.
[1] 楊金峰,劉鳴.簡易電容測量儀的設(shè)計與調(diào)試[J].實驗科學(xué)與技術(shù),2005(3):110-112.(Yang Jinfeng,Liu Ming.Designing and Debugging Simple Instrument for Capacitance Measuring[J].Experiment Science & Technology,2005(3):110-112.)
[2] 鄔春明,劉海維.隔離病房監(jiān)控系統(tǒng)設(shè)計[J].沈陽大學(xué)學(xué)報:自然科學(xué)版,2012(3):56-59.(Wu Chunming,Liu Haiwei.Design of Isolation Ward Monitoring System[J].Journal of Shenyang University:Natural Science,2012(3):56-59.)
[3] 吳瓊,張明,田明才.基于有限狀態(tài)機的Morse碼識別算法的 VHDL實現(xiàn)[J].沈陽大學(xué)學(xué)報,2011(3):1-4.(Wu Qiong,Zhang Ming, Tian Mingcai. Discerning Algorithm of Morse Code with VHDL Based on Finite State Machine[J].Journal of Shenyang University,2011(3):1-4.)
[4] 沈曉谷.采用脈沖計數(shù)法以單片機實現(xiàn)電容的測量[J].上海應(yīng)用技術(shù)學(xué)院學(xué)報:自然科學(xué)版,2006(4):290-293.(Shen Xiaogu. Capacity Measure of Single-chip Microcomputer by Using Pulse Counting[J].Journal of Shanghai Institute of Technology:Natural Science,2006(4):290-293.)
[5] 邵學(xué)濤,李新娥.振蕩式微小電容測量電路[J].電子測試,2011(1):50-53.(Shao Xuetao, Li Xin’e. Measuring circuit with the oscillating micro-capacitance[J].Electronic Test,2011(1):50-53.)
[6] 侯伯亨.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計[M].西安:西安電子科技大學(xué)出版社,2004.(Hou Boheng.VHDL hardware description language and digital logic circuit design[M].Xi’an:Press of Xi’an University of Electronic Science and Technology,2004.)
[7] 李洋.EDA技術(shù)實用教程[M].北京:機械工業(yè)出版社,2009.(Li Yang.Technology of EDA[M].Beijing:Machinery Industry Press,2009.)
[8] 譚會生,張昌凡.EDA技術(shù)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2004.(Tan Huisheng,Zhang Changfan.EDA Technology and Application[M].Xi’an:Press of Xi’an University of Electronic Science and Technology,2004.)