(哈爾濱工程大學(xué) 信息與通信工程學(xué)院,哈爾濱 150001)
隨著中國制造2025的提出,電子產(chǎn)品受到了國家的高度重視,智能化發(fā)展趨勢已成定局。如今電子產(chǎn)業(yè)發(fā)展迅猛,電子信息類從業(yè)者對電阻電容等參數(shù)的測量需求與日俱增。目前市面上的電阻電容測量儀存在操作復(fù)雜,精度不足,成本高昂等問題,如何提高此類產(chǎn)品的自動化程度、測量精度,減小體積,降低成本成為了研究的主要方向。
本文介紹了一種采用STC89C52單片機作為主控芯片[1],使用高精度16位ADC LTC1864對待測電阻進行測量,測量范圍0至3 MΩ,單片機控制繼電器實現(xiàn)量程的自動轉(zhuǎn)換;利用NE555芯片分別與100,100 k,10 M等電阻組成多個多諧振蕩器,采集振蕩頻率[2],完成對5 pF到500 μF電容的測量。數(shù)據(jù)通過LCD1602顯示出來,并顯示相應(yīng)提示語句,超出量程時,顯示屏提示報警。電阻測量時將待測電阻插入插槽,即可顯示讀數(shù);電容測量時,只需判斷其大致類型屬于pF、nF、μF哪一種,即可顯示讀數(shù);還增設(shè)了二極管導(dǎo)通判斷功能。實驗結(jié)果表明該系統(tǒng)內(nèi)各量程電阻測量精度可達0.09%,各量程電容測量精度可達1%。本測量儀具有自動化水平高,測量精準,使用簡便,成本低等特點,解決了同類型產(chǎn)品價格高昂,精度不準,操作繁瑣等問題。
本設(shè)計以STC89C52單片機作為主控芯片,由顯示模塊、按鍵模塊、電容測量模塊、電阻測量模塊、ADC模塊、二極管模塊和量程轉(zhuǎn)換模塊組成。
通過按鍵模塊中的復(fù)位按鍵、模式按鍵,單片機接收到使用者發(fā)出的控制信息,憑借按鍵值選擇測量模式,當電阻測量時,電阻測量模塊采集的電壓值模擬量經(jīng)過ADC模塊轉(zhuǎn)化后得到數(shù)字量,傳遞給單片機[3],與此同時單片機控制量程轉(zhuǎn)換模塊,驅(qū)動三極管使繼電器導(dǎo)通,完成量程的自動轉(zhuǎn)換;當電容測量時,單片機對電容測量模塊中多諧振蕩器的振蕩頻率進行計數(shù);測試結(jié)果輸出到LCD1602顯示。
系統(tǒng)電路方框圖如圖1所示。
圖1 系統(tǒng)電路方框圖
主控模塊采用由STC89C52組成的最小系統(tǒng),包括復(fù)位電路,時鐘電路。STC89C52采用了低功耗、高性能的CMOS8位微控制器,具有8 k字節(jié)的系統(tǒng)可編程Flash存儲器,512字節(jié)隨機存取存儲器,4個8位雙向IO口,看門狗定時器,內(nèi)置4 KB EEPROM,MAX810復(fù)位電路;可調(diào)用3個16 位定時器/計數(shù)器,4個外部中斷,以及一個7向量4級中斷結(jié)構(gòu)完成復(fù)雜操作;利用全雙工串行口進行數(shù)據(jù)傳輸、外設(shè)擴展,最高運作頻率可達35 MHz[4]。
在STC89C52單片機中,要使單片機復(fù)位需要在晶振工作時,在RST引腳上保持至少兩個機器周期的高電平信號,為滿足本設(shè)計上電自動復(fù)位的設(shè)計要求,本設(shè)計將VCC通過10 μF電容連接至RST引腳,同時將RST引腳經(jīng)過500 Ω電阻和地相連,利用10 μF電容充電特點,使RST引腳電壓慢慢減小,完成本設(shè)計上電自動復(fù)位的要求。
本設(shè)計時鐘電路采用內(nèi)部時鐘方式,將12 M晶振通過19腳、20腳與單片機內(nèi)部的高增益反向放大器相連,同時接入30 pF的微調(diào)電容構(gòu)成一個穩(wěn)定的自激振蕩器電路。
顯示模塊采用LCD1602,1602 采用標準的16腳接口,其管腳說明如下。
第1腳:VSS為地電源。
第2腳:VDD接5 V正電源。
第3腳:V0為LCD顯示器的對比度調(diào)整端,對比度高低與該腳電壓大小成負相關(guān),對比度設(shè)置的不恰當會影響LCD數(shù)據(jù)顯示,使用時可以通過一個10 k的電位器調(diào)整對比度。
第4 腳:RS為寄存器選擇端,高電平時選擇數(shù)據(jù)寄存器向LCD1602傳輸數(shù)據(jù)、低電平時選擇指令寄存器對LCD1602進行指令控制。
第5腳:RW為讀寫信號線,與單片機的一個IO口連接,當RW為低電平時,進行寫操作;當RW為高電平時,進行讀操作。可與RS端配合,進行更復(fù)雜操作,如果不需要進行讀取操作,可以直接將其接VSS。
第6 腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。
第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。
第15~16腳:這兩個引腳為LCD1602背光端,在仿真中通常隱藏。
LCD1602與單片機P0.0--P0.7及P2.0,P2.1和一排阻連接,用于從單片機接收控制數(shù)據(jù)及顯示數(shù)據(jù);在LCD1602的3腳連接一10 k滑動變阻器,用于修改對比度[5]。
按鍵控制模塊中的模式選擇按鍵由一按鍵和一10 k電阻組成,其SW端連接至單片機P3.3腳。默認測量電阻,當該按鍵按動,即切換至電容測量。
主控模塊原理圖如圖2所示。
圖2 主控模塊
本設(shè)計采用LTC1864作為ADC模塊的主要芯片,利用該芯片16位串行數(shù)據(jù)傳輸?shù)奶攸c,配合5 V電壓,可達到5/65535的測量分辨率[6]。該芯片采用單5 V電源供電,可在-20~ +50 ℃的溫度范圍內(nèi)工作,最大采樣率為250 ksps,隨著采樣速率的降低,供電電流減小,低功耗符合本設(shè)計要求。
LTC1864共8個引腳,在proteus軟件中僅體現(xiàn)6腳,其1腳參考電壓端接5 V VCC;2腳接收電阻測量模塊的數(shù)據(jù);3端接地,與1端中間連接0.1 μF電容隔直;5(CONV)、7(SCK)、8(SDO)腳分別與單片機1、2、3腳連接,用于時鐘及傳送數(shù)據(jù)。
ADC轉(zhuǎn)換模塊原理圖如圖3所示。
圖3 ADC轉(zhuǎn)換模塊
本系統(tǒng)的電阻測量模塊由基準電阻、三極管、穩(wěn)壓二極管、繼電器、反相比例運算放大器、電壓跟隨器和待測電阻組成。
反相比例運算放大器和電壓跟隨器中的運算放大器均采用OP07芯片,OP07是雙極性的運算放大器集成電路,具有低噪聲、非斬波穩(wěn)零、輸入偏置電流低、開環(huán)增益高等特點,在高增益的測量設(shè)備和放大微弱信號傳感器上廣為適用。
不同于以往電阻測量設(shè)計中的比例測量法[7],本系統(tǒng)中反相比例運算放大器承擔了采集待測電阻電壓的主要任務(wù),反相比例運算放大器沒有共模輸入信號,反相端虛地,輸出電阻近似為零,大大減少了電阻測量中產(chǎn)生的誤差。
如圖4所示,當選擇至電阻測量模式時,RX待測電阻與基準電阻從大到小依次連接,直到單片機發(fā)出量程合適信號為止。當繼電器導(dǎo)通時,在U6處的反相比例放大器將采集到待測電阻的負電壓值,在U4處的1:1反相放大器將電壓值由負值轉(zhuǎn)換為正值,由于電壓跟隨器具有輸入阻抗高,輸出阻抗低的顯著特點,最后在輸出級通過U41處的電壓跟隨器將電壓值傳遞給ADC模塊中的 LTC1864,進行模數(shù)轉(zhuǎn)換。
量程控制方面利用單片機控制S1,S2,S3處三極管基極的高低電平,從而控制繼電器某一路導(dǎo)通與否,達到自動轉(zhuǎn)換量程目的,其中STC89C52單片機端口的輸出電流很小,不能直接驅(qū)動繼電器,所以利用三極管進行放大,再用放大的信號去驅(qū)動繼電器[8]。
本設(shè)計所用繼電器為歐姆龍公司C6L系列的信號繼電器,具體型號為G6L-1F-5 V。該繼電器體積小,可高密度安裝,減小了測量儀器體積,便于攜帶;穩(wěn)定性極強,可保證觸點快速咬合,減少故障的發(fā)生;接觸電阻為100 MΩ,消耗功率僅為180 mW,符合本設(shè)計長續(xù)航的設(shè)計要求。
電阻測量模塊原理圖如圖4所示。
圖4 電阻測量模塊
本系統(tǒng)使用STC89C52單片機以及NE555芯片構(gòu)成的多諧振蕩電路進行電容測量[9]。NE555是一種多用途的數(shù)字-模擬混合集成電路,成本低,性能可靠,只需要外接幾個電阻、電容,就可以實現(xiàn)單穩(wěn)態(tài)觸發(fā)器、多諧振蕩器及施密特觸發(fā)器等脈沖產(chǎn)生與變換電路。
在系統(tǒng)中,NE555芯片分別與100,100 k,10 M電阻組成多諧振蕩器,在直接反饋無穩(wěn)態(tài)的狀態(tài)下工作,此時555芯片會輸出一定頻率的方波,其頻率的大小與被測量的電容之間的關(guān)系是:
以往的研究提示,不同年齡及不同臨床分期陰莖癌患者的復(fù)發(fā)和轉(zhuǎn)移存在差異[8-9]。本研究同樣發(fā)現(xiàn),60歲以上的陰莖鱗狀細胞癌患者術(shù)后復(fù)發(fā)和轉(zhuǎn)移的發(fā)生率明顯高于60歲以下的患者(43.4% vs 77.8%)。臨床分期為Ⅲ和Ⅳ期的患者,術(shù)后復(fù)發(fā)和轉(zhuǎn)移的發(fā)生率明顯高于Ⅰ和Ⅱ期的患者(100.0% vs 53.7%)。上述結(jié)果說明不同年齡和臨床分期的患者其預(yù)后和生存期有明顯差異,也提示臨床上應(yīng)對陰莖鱗狀細胞癌患者進行早期診斷和早期干預(yù),尤其對于老年(>60歲)和臨床分期較晚的患者(Jackson分期Ⅲ和Ⅳ期)術(shù)后應(yīng)及時進行復(fù)發(fā)或轉(zhuǎn)移的監(jiān)測[10]。
F=0.722/(RC)
(1)
式中,F(xiàn)為振蕩頻率;R為所選檔位電路的阻值;C為所要測量電容值。
如果電阻值確定,使用單片機定時一秒鐘,用單片機的計數(shù)器測量出相應(yīng)方波的頻率,就能得到電容的大小。
NE555 IN端連接單片機P3.5,μF端連接P2.5,nF連接P2.6,pF連接P2.7。
電容模塊中的換擋電路由3個擋位組成,將電阻串接在NE555芯片3,6腳之間,通過改變電阻值進行擋位的調(diào)整,并使用LED燈提示。
其中C為待測電容,根據(jù)公式(1)。
當SW1閉合時,電阻R的值是100歐姆,公式改寫為:
F=0.00722/C=7220/(C*1 μF)
(2)
該檔位可以測量μF級別的電容。
同理,當SW2閉合時,電阻R的值是100 k歐姆,此時多諧振蕩器中RC的數(shù)量級不變,振蕩頻率仍在單片機可測范圍內(nèi),由此可以測量nF級別的電容。
同理,當SW3閉合時,電阻R的值是10 M歐姆,由此可以測量pF級別的電容。
電容測量模塊原理圖如圖5所示。
圖5 電容測量模塊
實物制作時,需考慮采用何種供電方式如何供電,本設(shè)計大部分為典型數(shù)字元器件,供電要求都為+5 V或-5 V,由于基準電壓決定著電阻測量模數(shù)轉(zhuǎn)換的精度,其中LTC1864對供電要求尤其嚴格。
LM385系列為微功率二端帶隙穩(wěn)壓器二極管,具有非常低的動態(tài)阻抗、低噪聲、穩(wěn)定性強等特點,可隨時間和溫度的變化而穩(wěn)定工作,使用方便,用途廣泛。
本設(shè)計采用9 V方電池,通過電壓基準芯片LM385-5V0得到+5.00 V基準電壓,5 V電壓通過電源極性轉(zhuǎn)換器ICL7660,產(chǎn)生-5 V電壓,從而實現(xiàn)OP07的雙極性供電要求。
系統(tǒng)程序設(shè)計采用模塊化設(shè)計方法[10]。整個程序由主程序模塊、ADC轉(zhuǎn)換模塊、電阻測量模塊、電容測量模塊、延時模塊,計數(shù)器模塊、定時器模塊、中斷模塊、LCD顯示模塊等模塊組成。其中最主要的是主程序、ADC轉(zhuǎn)換模塊、電阻測量及電容測量程序設(shè)計。
當系統(tǒng)上電之后,單片機開始初始化操作,默認按鍵值為1進行電阻測量,按動一次mood模式按鍵后,按鍵值改變?yōu)?進行電容測量,而二極管模式上電即運行,不需程序控制,僅需將待測二極管按提示插入相應(yīng)位置,若二極管導(dǎo)通,即蜂鳴器發(fā)聲提醒。
主程序流程圖如圖6所示。
圖6 主程序流程圖
在ADC LTC1864子程序中,需先將CONV端置高電平,打開ADC轉(zhuǎn)換,再將CONV置低,并延時幾微秒,判斷16位采樣值是否為1,再將該數(shù)據(jù)傳入單片機中。
LTC1864 子程序流程圖如圖7所示。
圖7 16位ADC LTC1864子程序流程圖
電阻測量子程序是通過調(diào)用ADC采樣程序,對所測電阻范圍進行大致估計,同時依據(jù)ADC最大檔位采樣后的值進行檔位選擇,將繼電器換到合適的測量檔位,為減小誤差,五次調(diào)用A/D采樣子程序五次讀取A/D采樣值取平均值,經(jīng)過數(shù)據(jù)處理,最后將數(shù)據(jù)顯示在LCD1602上。
交流電壓通過整流、濾波得到的直流電壓會因濾波不充分,含有剩余的交流成分;直接使用電池供電,也會因負載波動而產(chǎn)生波紋。由于存在波紋電壓,基準電壓源波動,從而會影響到LTC1864的基準電壓,導(dǎo)致電阻測量產(chǎn)生誤差。
本設(shè)計在電阻測量數(shù)據(jù)處理上引入數(shù)據(jù)結(jié)構(gòu)的思想,利用LTC1864轉(zhuǎn)換速度快的特點,建立數(shù)組短時間存儲大量電阻測量數(shù)據(jù),使用快速排序法,任取其中一個測量值作為中心,所有比它大的值一律前放,所有比它小的值一律后放,從而形成左右兩個子表,在各子表重新選擇中心值,依此規(guī)律調(diào)整,直至每個子表元素只剩一個,完成對電阻測量數(shù)據(jù)的大小排序。該序列的中心值即為最接近實際值的測量結(jié)果。
該快速排序法每趟可確定多個元素位置,并且成指數(shù)增加,可十分快速地完成排序,不會對實際使用產(chǎn)生任何影響。
電阻測量流程圖如圖8所示。
圖8 電阻測量程序框圖
電容測量子程序是利用單片機的定時計數(shù)器,配合中斷來完成。STC89C52單片機內(nèi)部有兩個定時/計數(shù)器T0和T1,其基本功能都是加1。通過設(shè)定單片機寄存器數(shù)值,可利用定時器進行定時;利用計數(shù)器對外部事件下降沿計數(shù)。我們使用定時器定時一秒鐘,計數(shù)器在此期間內(nèi)增加的數(shù)值就是555多諧振蕩器方波的大小,將得到的頻率依據(jù)公式(1)處理,最后將數(shù)據(jù)顯示在LCD1602上。
電容測量流程圖如圖9所示。
圖9 電容測量程序框圖
為了測試該智能電阻電容測量儀的運作情況及測量精度,先在proteus軟件中畫出本設(shè)計仿真電路圖,再利用proteus軟件將待測電阻電容參數(shù)修改,得到仿真測試數(shù)據(jù)[11]。
仿真環(huán)節(jié)結(jié)束后進行實物制作測試環(huán)節(jié),通電本系統(tǒng)開始工作,首先將想測量的電阻電容插入相應(yīng)的槽內(nèi),默認先開始進行電阻測量,按動mood模式鍵后,進行電容測量,再按動RC復(fù)位鍵,即可又回到電阻測量。二極管導(dǎo)通測量則獨立于電阻電容測量,無需按鍵控制,直接將二級管放在相應(yīng)位置即可,導(dǎo)通即會蜂鳴器發(fā)聲。
電阻、電容的仿真結(jié)果分別如表1表2。
電阻、電容的實測結(jié)果分別如表3表4。
表1 電阻測量仿真數(shù)據(jù) Ω
表2 電容測量仿真數(shù)據(jù)
表3 電阻實測數(shù)據(jù)
Ω
表4 電容實測數(shù)據(jù)
實驗結(jié)果分析:
從表1和表2可知,電阻仿真精度最高可達0.09%,電容測量精度在1%以內(nèi)。操作中無需手動切換檔位,實現(xiàn)了量程的自動轉(zhuǎn)換。
在實際電阻測量環(huán)節(jié)中選用高精度千分之一誤差的電阻500,5 k進行測試,從表3可知,本系統(tǒng)在電阻實測中依然具備高精度的特點;在電容實測時由于待測電容本身精度不足,造成表4中偶爾測量誤差略大。
此外,由于實際制作中各元件間難免存在干擾,其中干擾對電容測量的影響最大,針對此問題,在得到大量電容仿真數(shù)據(jù)的基礎(chǔ)上,通過電容實測值與仿真值的對比校正,依據(jù)最小二乘法,估計干擾比例系數(shù),再對程序進行修改,使電容測量誤差大大減小。另一方面,由于電源本身輸出電壓存在微小波動,也會導(dǎo)致實測值與仿真值稍有不同。
本智能電阻電容測量儀是以STC89C52單片機為操作核心,在電阻測量方面采用LTC1864高精度十六位ADC采集電壓計算電阻值,使電阻測量精度大大提高,其中仿真精度可達0.09%,通過單片機控制繼電器實現(xiàn)電阻的量程自動轉(zhuǎn)換,操作簡便;在電容測量方面使用NE555芯片分別與100,100 k,10 M電阻組成多諧振蕩器,通過單片機計數(shù)器計算振蕩頻率,實現(xiàn)寬量程電容的測量,操作簡單,精度高。該電阻電容測量儀操作界面僅有兩個按鍵,大大簡化了操作流程,易于上手。除此之外,該電阻電容測量儀所采用的元件結(jié)構(gòu)簡單,造價低廉,總成本約為50元,遠低于同功能相似產(chǎn)品,易于推廣。