賴瑞鏹
摘? ?要:本文介紹了一種基于Arduino的電阻、電容、電感測(cè)量?jī)x;該測(cè)量?jī)x可測(cè)量電子設(shè)計(jì)中常用的電阻、電容以及電感的值。Arduino主板上的單片機(jī)通過(guò)檢測(cè)NE555構(gòu)成的多諧振蕩器電路產(chǎn)生的波形的頻率,經(jīng)過(guò)轉(zhuǎn)換從而測(cè)量出RLC的值。測(cè)量電感時(shí)NE555電路輸出的波形頻率較高,則通過(guò)一個(gè)分頻器將頻率降低后再傳輸?shù)紸rduino主板的單片機(jī)進(jìn)行計(jì)算。測(cè)量時(shí),將待測(cè)元器件接入到對(duì)應(yīng)的接入端口,按下對(duì)應(yīng)測(cè)量按鍵,顯示屏上顯示測(cè)量到的頻率以及對(duì)應(yīng)的測(cè)量值。
關(guān)鍵詞:Arduino? RLC測(cè)量? 頻率? NE555
中圖分類號(hào):TM934? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ? ? ? 文章編號(hào):1674-098X(2019)06(c)-0121-04
Abstract: This paper describes an Arduino-based resistor, capacitor, and inductance meter that measures the values of electric-resistors, electric-capacitors, and electric-sensor commonly used in electronic design. The MCU on the Arduino motherboard detects the RLC value by detecting the frequency of the waveform generated by the multiple-vibrator circuit formed by NE555. When measuring the inductance, the output frequency of the NE555 circuit is higher, and the frequency is reduced by a frequency divider and then transmitted to the micro-controller of the Arduino motherboard for calculation. When measuring, connect the component to be tested to the corresponding access port, press the corresponding measurement button, and the frequency measured and the corresponding measured value are displayed on the display.
Key Words: Arduino; RLC? measure;? Frequency; NE555
電子測(cè)量?jī)x器是從事電子設(shè)計(jì)工作的電子工程師們?cè)谠O(shè)計(jì)、檢測(cè)電路時(shí)一種必不可少的測(cè)量工具,隨著智能化的不斷發(fā)展,測(cè)量工具也必將朝著智能化的功能多樣化發(fā)展。目前最常用的電子測(cè)量?jī)x器是數(shù)字萬(wàn)用表,進(jìn)入20世紀(jì)90年代以來(lái),數(shù)字萬(wàn)用表在我國(guó)不斷發(fā)展,在實(shí)際生產(chǎn)中不斷被使用,現(xiàn)在已經(jīng)成為學(xué)習(xí)、實(shí)驗(yàn)、電子設(shè)計(jì)、維修工作的一個(gè)重要工具。數(shù)字萬(wàn)用表主要是要測(cè)量的元器件數(shù)值通過(guò)轉(zhuǎn)換電路轉(zhuǎn)換成直流電壓的信號(hào)[1],轉(zhuǎn)換之后的信號(hào)由A/D(模擬和數(shù)字信號(hào)相互轉(zhuǎn)換)轉(zhuǎn)換器將采集到的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),再通過(guò)計(jì)數(shù)器進(jìn)行計(jì)數(shù),最終將結(jié)果呈現(xiàn)在顯示屏上;該類型儀器的測(cè)量精度主要決定于A/D轉(zhuǎn)換器的轉(zhuǎn)換精度。目前國(guó)內(nèi)外儀器設(shè)備制造公司在設(shè)計(jì)數(shù)字萬(wàn)用表時(shí)都一直往低功耗、高精度、體積小等方向考慮;在精度提高、功耗降低、體積變小的同時(shí)價(jià)格也不斷在上升。在使用數(shù)字萬(wàn)用表的時(shí)候很大部分使用的是其測(cè)量電壓和電流的功能,并且具有一定的局限性,比如:大部分無(wú)法測(cè)量電感,無(wú)法測(cè)量容量較大的電容。因此設(shè)計(jì)一個(gè)操作簡(jiǎn)單、測(cè)量方便、價(jià)格低的電抗性元器件測(cè)量?jī)x是很有必要的。本文所設(shè)計(jì)的RLC測(cè)量?jī)x是能夠測(cè)量電阻、電感、電容的測(cè)量?jī)x器,主要是通過(guò)測(cè)量其電抗性元器件組成的電路所產(chǎn)生波形的頻率,Arduino主控板上的單片機(jī)通過(guò)外部中斷采集其頻率,經(jīng)過(guò)換算將對(duì)應(yīng)元器件的值顯示OLED屏幕上。使用少數(shù)的元器件以及IC,該測(cè)量?jī)x具有價(jià)格低、操作簡(jiǎn)單、測(cè)量方便等特點(diǎn)。
1? 系統(tǒng)設(shè)計(jì)方案
本設(shè)計(jì)采用Arduino UNO為主控板,整個(gè)系統(tǒng)由7個(gè)模塊組成:電阻測(cè)量電路、電感測(cè)量電路、電容測(cè)量電路、頻率測(cè)量電路、測(cè)量輸入選擇電路、按鍵電路、顯示電路。整個(gè)系統(tǒng)方案框圖如圖1所示。
在測(cè)量過(guò)程中,先將待測(cè)的元器件接入到對(duì)應(yīng)的接入端口,對(duì)應(yīng)測(cè)量模塊所組成的多諧振電路輸出波形,按下對(duì)應(yīng)的測(cè)量按鍵,74LS153測(cè)量選擇電路選擇輸入,頻率信號(hào)接入單片機(jī)外部中斷I/O口,單片機(jī)對(duì)頻率進(jìn)行計(jì)數(shù),從而測(cè)量出振蕩頻率,測(cè)量出的頻率經(jīng)過(guò)轉(zhuǎn)換得到待測(cè)元器件的數(shù)值[2];顯示電路顯示頻率以及轉(zhuǎn)換后的元器件值。測(cè)量電感的多諧振電路輸出的頻率較大,因此要采用74LS90對(duì)其進(jìn)行分頻處理。
2? 硬件電路設(shè)計(jì)
2.1 主控板
主控板采用的是Arduino UNO板,Arduino是一塊基于開放源代碼的USB接口simple I/O接口板[3];Arduino UNO板是一款入門級(jí)的單片機(jī)開發(fā)板,其主控芯片采用的是高性能、低功耗、高耐力的ATmega328P,它的核心處理器是AVR。Arduino UNO與其他型號(hào)開發(fā)板一致所用的開發(fā)環(huán)境是Arduino IDE,集成的Arduino IDE能夠幫助初學(xué)者快速掌握和利用單片機(jī)功能。Arduino UNO的工作電壓為5V;有14個(gè)數(shù)字輸入/輸出引腳(其中有3、5、6、9-11這幾個(gè)引腳可以用作PWM輸出),最大輸出電流為40mA;6路分辨率為10位的模擬量輸入(A0-A5),可以直接將現(xiàn)實(shí)中的模擬量直接轉(zhuǎn)換成對(duì)應(yīng)的10位數(shù)字量;一個(gè)模擬輸入信號(hào)的參考電壓引腳(AREF);16MHz晶振時(shí)鐘;具有32KB的Flash內(nèi)存(其中有0.5KB用作于引導(dǎo)程序)。
2.2 按鍵電路與測(cè)量輸入選擇電路
本設(shè)計(jì)通過(guò)三個(gè)獨(dú)立按鍵選擇測(cè)量模式以及顯示信息;測(cè)量輸入選擇則采用的是74LS153選擇輸入。當(dāng)74LS153芯片的使能端1E(2E)=0時(shí),多路開關(guān)正常工作,根據(jù)地址碼(A和B)的狀態(tài)不同,將X0-X3的數(shù)據(jù)傳送到輸出端Y;例如:當(dāng)A、B地址碼接收到低電平,則選擇器的X0數(shù)據(jù)傳送到輸出端Y(即Y=X0);本設(shè)計(jì)只要選擇三個(gè)信號(hào)輸入,因此只用到三個(gè)數(shù)據(jù)輸入端。具體的連接如圖2所示。三個(gè)按鍵為了保證一開始的電平為高電平連接三個(gè)電阻上拉。測(cè)量時(shí),將待測(cè)電阻接入到接入端口時(shí),NE555多諧振電路工作輸出頻率,1X0與 多諧振電路NE555芯片輸出端3連接,這個(gè)時(shí)按下按鍵SW1,測(cè)量電阻值,AB地址碼都為0,74LS153選擇器的1X0數(shù)據(jù)傳送到1Y,1Y輸出端與Arduino uno主控板的2引腳(INT0) 連接。以此類推,測(cè)量電感地址碼A=0、B=1,1X1=1Y;測(cè)量電容地址碼A=1、B=0,1X0=1Y。
2.3 RLC測(cè)量電路
RLC測(cè)量電路是本設(shè)計(jì)中最主要的組成部分,電阻、電感、電容測(cè)量采用的都是由NE555構(gòu)成多諧振器測(cè)量其振蕩頻率的方法。NE555是一款8腳的時(shí)基集成電路,只需要簡(jiǎn)單的電阻、電容就能完成特定的振蕩;NE555的作用范圍很廣,但一般多應(yīng)用于單穩(wěn)態(tài)多諧振蕩器和無(wú)穩(wěn)態(tài)多諧振蕩器兩種[4]。
2.3.1 電阻測(cè)量電路
測(cè)量電路采用NE555典型應(yīng)用電路(多諧振蕩器),由電阻R1、R2和電容C2、C1構(gòu)成定時(shí)電路。電阻測(cè)量電路圖如圖3所示。原理如下:電阻測(cè)量電路上電之后,電源VCC經(jīng)過(guò)R1、R2為C2充電,C2的電壓小于VCC,內(nèi)部觸發(fā)器中的放電管處于導(dǎo)通狀態(tài),C2處于繼續(xù)充電狀態(tài),其電壓不斷上升,電壓在未達(dá)到VCC之前,觸發(fā)器中的放電管仍為導(dǎo)通狀態(tài);當(dāng)C2的電壓大于VCC之后,觸發(fā)器工作產(chǎn)生復(fù)位動(dòng)作,其中的放電管為截止?fàn)顟B(tài),C2充電電荷經(jīng)R2泄放,C2電壓高于VCC時(shí),觸發(fā)器輸出端都保存之前的工作狀態(tài)。R1、R2、C2構(gòu)成的電路與放電光相結(jié)合,NE555的2、6引腳輸入端根據(jù)電壓的高低發(fā)生了電位變化,從而內(nèi)部比較器控制觸發(fā)器產(chǎn)生0、1的矩形波,完成振蕩輸出。其中C1為消噪電容。當(dāng)R2、C2值固定時(shí)改變R1的值電路振蕩產(chǎn)生的頻率也發(fā)生變化。根據(jù)電容C2充放電的脈沖時(shí)間維持可得到其脈沖頻率。其公式如下:
充電所需時(shí)間:
t1=(R1+R2)×C2×ln2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
放電所需時(shí)間:t2=(R2)×C2×ln2? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)
脈沖輸出頻率:? ? ? ? ? (3)
由式(3)可得:RX=R1=-2R2? ? ? ? ? ? ? ? ? ? (4)
因此將待測(cè)電阻作為R1接入到電路中即可測(cè)量出待測(cè)電阻RX的阻值,電阻測(cè)量電路中消噪電容C1=C2=0.1uF,R2=10kΩ。
2.3.2 電容測(cè)量電路
測(cè)量電容電路與測(cè)量電阻電路原理一致,電容測(cè)量電路如圖4所示。
由式(3)可得:CX=C2=
因此將待測(cè)電容作為C2接入到電路中即可測(cè)量出待測(cè)電容CX的值,電容測(cè)量電路中消噪電容C1=C3=0.1uF,R1=R2=R3=R4=510kΩ。
2.3.3 電感測(cè)量電路與分頻電路
使用NE555定時(shí)器構(gòu)成的多諧振蕩器測(cè)量電感原理如下:整個(gè)振蕩器上電之后,電感L1的電流并未發(fā)生大的變化,隨著電流的不斷增大,電阻R9的壓降也不斷增大,引腳2(TR)和6(TH)的輸入電壓在減小,當(dāng)2、6引腳上的電壓小于VCC時(shí)電路翻轉(zhuǎn);3(OUT)引腳輸出高電平,引腳7為高阻態(tài)(與地?cái)嚅_)。R9和L1組成的回路斷開,電感處于放電過(guò)程,R5的壓降隨電流減小而減小,而引腳2(TR)和6(TH)的輸入電壓不斷增大,當(dāng)電壓大于VCC時(shí)電路再次翻轉(zhuǎn);3(OUT)引腳輸出低電平,引腳7為地阻態(tài)(對(duì)地導(dǎo)通),L1則再次充電;如此L1重復(fù)充電放電過(guò)程實(shí)現(xiàn)自振蕩,根據(jù)電路輸出波形的高低電平時(shí)間可得到其輸出頻率,公式如下:
輸出波形高電平時(shí)間:? ? ? ? ? ? ? ? ? ?(5)
輸出波形高電平時(shí)間:? ? ? ? ? ? ? ? ?(6)
輸出頻率:? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(7)
由式(7)可得:LX=L1=(其中τ=)? ? ? ? ? ? ? ? ? ? (8)
因此將待測(cè)電感作為L(zhǎng)1接入到電路中即可測(cè)量出待測(cè)電感LX的值,電感測(cè)量電路中消噪電容C4=0.1uF,R9=100Ω。測(cè)量電感電路如圖5所示。
電感測(cè)量電路構(gòu)成的多諧振蕩器輸出引腳3(OUT)的頻率較高,因此需要先將輸出頻率經(jīng)過(guò)74LS90組成的分頻電路進(jìn)行10分頻,分頻之后的頻率再通過(guò)單片機(jī)外部中斷采集。74LS90是一個(gè)中規(guī)模集成的TTL電平計(jì)數(shù)器,由一個(gè)二進(jìn)制計(jì)數(shù)器和一個(gè)五進(jìn)制計(jì)數(shù)器構(gòu)成,通過(guò)引腳間的連接即可實(shí)現(xiàn)二分頻、五分頻以及十分頻等功能[5]。74LS90十分頻連接圖如圖5所示。
3? 軟件設(shè)計(jì)
整個(gè)系統(tǒng)上電之后,Arduino開發(fā)板開始工作進(jìn)入初始化狀態(tài);按下按鍵SW1,進(jìn)入測(cè)量電阻程序,測(cè)量選擇器選擇1X0輸入端口數(shù)據(jù)輸出,系統(tǒng)測(cè)量到振蕩器輸出頻率經(jīng)過(guò)轉(zhuǎn)換計(jì)算得到R值,測(cè)量到的頻率F和阻值顯示在OLED屏幕上。同理,當(dāng)按下按鍵SW2、SW3時(shí),分別進(jìn)入測(cè)量電容、電感程序,測(cè)量選擇器選擇1X1、1X2輸入端口數(shù)據(jù)輸出,系統(tǒng)測(cè)量到振蕩器輸出頻率經(jīng)過(guò)轉(zhuǎn)換計(jì)算得到C、L值,測(cè)量到的頻率F和C、L值顯示在OLED屏幕上。整個(gè)系統(tǒng)的主程序框圖如圖6所示。
4? 結(jié)語(yǔ)
本文介紹的RLC測(cè)量?jī)x是以Arduino開發(fā)板為主控板,電阻、電容、電感測(cè)量都采用NE555定時(shí)器構(gòu)成的多諧振蕩器通過(guò)測(cè)量其振蕩頻率之后再進(jìn)行轉(zhuǎn)換計(jì)算從而得到要測(cè)量的值。該測(cè)量?jī)x僅有三個(gè)按鍵,操作簡(jiǎn)單、功耗低,使用的電路元件結(jié)構(gòu)簡(jiǎn)單,造價(jià)成本低。通過(guò)仿真測(cè)試,測(cè)量?jī)x的精度較高,在學(xué)習(xí)、實(shí)驗(yàn)以及電路維修中有一定的使用價(jià)值。
參考文獻(xiàn)
[1] 羅銀波,高敬東,胡柏青,等.基于LabVIEW的數(shù)字萬(wàn)用表設(shè)計(jì)與實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2011,11(19):4592-4596.
[2] 王明娟,曾繁政,曲藝.電容電感測(cè)試儀的設(shè)計(jì)[J].電子科技,2010,23(11):35-37.
[3] 鄭昊,鐘志峰,郭昊,等.基于Arduino/Android的藍(lán)牙通信系統(tǒng)設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2012,2(5):50-51.
[4] 何香玲.多諧振蕩器的研究與仿真[J].電子技術(shù),2009,46(2):53-56.
[5] 陳圣濤.基于中規(guī)模集成電路實(shí)現(xiàn)任意進(jìn)制定時(shí)器[J].西安文理學(xué)院學(xué)報(bào):自然科學(xué)版,2018,21(4):37-41.