A. 單片機引腳阻抗測量方法
單片機引腳阻抗測量方法:
1.從原理上來看,阻抗測量有三種方法:
(1)自動平衡電橋技術
(2)IV和RF-IV技術
(3)傳輸/反射技術
2.從儀器種類上來看,阻抗測量可以通過三大類儀器來完成:
(1)LCR表,LCR表與阻抗分析儀採用RF-IV/IV或自動平衡電橋技術
(2)阻抗分析儀
(3)網路分析儀,網路分析儀則是基於傳輸/反射技術
LCR表和阻抗分析儀的主要區別之一是它們對測量結果的顯示方式。LCR表用數字顯示測量結果,而阻抗分析儀既可以用數字也可以用圖形顯示測量結果。使用自動平衡電橋技術的LCR表又稱為LCR數字電橋,這也是最便宜和簡單的阻抗測試儀器。網路分析儀主要用於通信領域,其價格也是最為昂貴的。
所謂的阻抗測量,就是通過儀器來得到待測元件的電阻(R)、電容(C)、電感(L)、品質因數(Q)、損耗因數(D)等信息,可以通過上圖把這些關系簡明的表示出來。
B. 高手來看 要求基於單片機的rlc測量儀
基於PIC單片機控制的RLC智能測量儀設計
現代電子技術
使用電子元器件時,首先需要了解其參數,這就要求能夠對元器件的參數進行精確測量。採用傳統的儀表進行測量時,首先要從電路板上焊開器件,再根據元件的類型,手動選擇量程檔位進行測量,這樣不僅麻煩而且破壞了電路板的美觀。經過理論分析和實驗研究,採用正交采樣演算法,並由單片機控制實現在線測量、智能識別、量程自動轉換等多種功能,可大大提高測量儀的測量速度和精度,擴大測量范圍。因此這種RLC測量儀既可改善系統測量的性能,又保持了印刷電路的美觀,較傳統的測量儀還具有高度的智能化和功能的集成化,在未來的應用中將具有廣闊的前景。
1 硬體電路設計
此測量儀硬體設計思路如圖1所示。
由於PIC單片機只能正確採集0~5 V之間的電壓,而輸入的信號是正弦波信號,因此在將此正弦信號送入單片機之前需對其進行電位提升,使整個正弦信號任意時刻的電位均大於或等於0。另外本測量儀具有量程自動轉換和增益自動可控的特點,實現電路如圖2所示。
圖2中U1(CD4051)是一個單刀八擲的模擬開關,用以完成量程電阻擋位的轉換;U2(CD4052)是一個雙刀四擲的模擬開關,用來選擇待測元件或基準電阻信號;U3,U4,U5,U6共同組成一個增益可以控制的儀用差分式放大電路,其中U5(CD4052)是用來切換增益倍數的;U8(74LS273)是一個鎖存器,用於將由單片機發出的控制信號鎖存並傳輸給U1,U2,U5實現程式控制;由於U1,U2,U5開關切換的驅動電壓要求達到5 V以上,而單片機的高電平僅為3~5 V,達不到驅動電壓,所以要採用一個集電極開路的驅動器(74LS07)才能實現由單片機控制的開關切換(R13,R14,R15,R16,R17為74LS07輸出端的上拉電阻)。
這樣通過程序控制單片機與74LS273相接埠的高低電位,就可以控制模擬開關選擇不同的通道,從而實現自動的量程檔位轉換和增益控制。
2 軟體程序設計
本測量儀的測量原理是以正交采樣為基礎。首先選用頻率恆定的正弦信號作為標准測量信號,然後用待測元件和基準電阻串聯對測量信號進行分壓,最後由單片機分別對待測元件和基準電阻分壓後所得的信號進行正交采樣處理。
由於流過電容或電感的電流與其兩端的電壓存在90°的相位差,因此只需在任一時刻采樣得到交流信號瞬時值V1,然後相移90°,再采樣得到瞬時值V2,就可用V1和V2表示完整的交流信號:V2=V1+jV2。
軟體程序的設計思路如圖3所示。
3 實驗結果
表1給出了該測量儀在測量頻率為100 Hz,1 kHz,10 kHz±0.02%三種情況下的測量范圍與測量精度。其中L,C,R,Q,D分別表示電感量、電容量、電阻值、品質因數、損耗角正切值。
4 結 語
本文設計了一種基於PIC單片機的RLC智能測量儀,其主要功能如下:
(1) 能夠智能地識別出待測元件是電容、電感、還是電阻。
(2) 能精確測量出電容、電感、電阻的參數值。
(3) 可以實現量程電阻的自動轉換,無須人工選擇檔位。
(4) 當測量正弦信號的幅度過小時,可以自動實現增益放大,從而不影響精度。
(5) 對測量儀進行擴充後還實現了二極體、三極體的測量。
由此可見,此測量儀具有高度的智能化和集成化,可精確地對元器件參數進行測量,這正符合當今測量儀器的發展趨勢,他將具有廣闊的應用前景。
C. 怎麼用單片機實現帶寬的自動測量
頻率范圍多大 ? 如果較高的話 , 建議用DSP吧
在非精確、低速的測量下 可以用 F-V 轉換電路,在通過AD進入單片機
D. 51單片機的數字頻率計
本應用系統設計的目的是通過在「單片機原理及應用」課堂上學習的知識,以及查閱資料,培養一種自學的能力。並且引導一種創新的思維,把學到的知識應用到日常生活當中。在設計的過程中,不斷的學習,思考和同學間的相互討論,運用科學的分析問題的方法解決遇到的困難,掌握單片機系統一般的開發流程,學會對常見問題的處理方法,積累設計系統的經驗,充分發揮教學與實踐的結合。全能提高個人系統開發的綜合能力,開拓了思維,為今後能在相應工作崗位上的工作打下了堅實的基礎。
1.1數字頻率計概述
數字頻率計是計算機、通訊設備、音頻視頻等科研生產領域不可缺少的測量儀器。它是一種用十進制數字顯示被測信號頻率的數字測量儀器。它的基本功能是測量正弦信號,方波信號及其他各種單位時間內變化的物理量。在進行模擬、數字電路的設計、安裝、調試過程中,由於其使用十進制數顯示,測量迅速,精確度高,顯示直觀,經常要用到頻率計。
本數字頻率計將採用定時、計數的方法測量頻率,採用一個1602A LCD顯示器動態顯示6位數。測量范圍從1Hz—10kHz的正弦波、方波、三角波,時基寬度為1us,10us,100us,1ms。用單片機實現自動測量功能。
基本設計原理是直接用十進制數字顯示被測信號頻率的一種測量裝置。它以測量周期的方法對正弦波、方波、三角波的頻率進行自動的測量。
點擊重新載入
1.2頻率測量儀的設計思路與頻率的計算
圖1 頻率測量原理圖
頻率測量儀的設計思路主要是:對信號分頻,測量一個或幾個被測量信號周期中已知標准頻率信號的周期個數,進而測量出該信號頻率的大小,其原理如右圖1所示。
若被測量信號的周期為,分頻數m1,分頻後信號的周期為T,則:T=m1Tx 。由圖可知: T=NTo
(註:To為標准信號的周期,所以T為分頻後信號的周期,則可以算出被測量信號的頻率f。)
由於單片機系統的標准頻率比較穩定,而是系統標准信號頻率的誤差,通常情況下很小;而系統的量化誤差小於1,所以由式T=NTo可知,頻率測量的誤差主要取決於N值的大小,N值越大,誤差越小,測量的精度越高。
1.3 基本設計原理
基本設計原理是直接用十進制數字顯示被測信號頻率的一種測量裝置。它以測量周期的方法對正弦波、方波、三角波的頻率進行自動的測量。
所謂「頻率」,就是周期性信號在單位時間(1s)內
E. 求單片機自動電阻測量儀設計方法
首先你可以設計兩個方案:
1 恆流測量電阻
2 恆壓測量電阻
建議測量大電阻(兆歐)的儀器使用恆壓,且電壓必須是比較大的直流;如果測量的電阻比較小,則可以採用恆流法.這樣會比較准確.
測量必須要用adc採集兩個信號:1電阻兩端的電壓;2通過電阻的電流.
通過測量得到這兩個量來求出電阻值.
如果要做到自動測量,又要做到准確,那麼最好使用恆流法,就是在測量時改變加在兩端的電流(電阻越小電流可以變大,前提是電阻功率夠),但是改變後必須穩定在最佳測試電流,然後測量電壓電流這個兩個信號可以通過繼電器來切換檔位,以保證最佳測量狀態,且每個檔位都要有獨立的修正系數,這樣就做到了自動測量
F. 交流電壓220V如何用單片機測量電壓有哪些需要注意的事情
用單片機測量220V交流電壓主要有以下步驟,一是通過用電壓互感器將220V的高電壓交流信號轉化為低電壓交流信號,二是將低電壓交流信號輸入進單片機,單片機可以采樣信號,三是單片機通過加工和處理輸入的交流信號,最後處理成正常電壓輸出,這就是利用單片機測量220V交流電壓的三個步驟。
在進行單片機測量交流電壓信號時,一定要按照步驟進行一步步測量,做到認真細致的測量,在測量時也要注意單片機測量的注意事項,這樣才可以讓單片機受到噪音的影響最小,才可以測出准確的數據。
G. 設計一個以單片機為核心的頻率測量裝置。求大神給寫一下程序。
單片機頻率計模擬。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit p0=P1^0;
bit tb0,tb1;
uchar tt0,tt1,tt2,tt3;
uchar code led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void main()
{
TMOD=0x11;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1; //開定時器0中斷
ET1=1; //開定時器1中斷
TR0=1; //啟動定時器0
TR1=1; //啟動定時器1
while(1)
{
if(TR1==0)
{
// tt3=65536*tt2+266*TH1+TL1
TH1=0x00;TL1=0x00;
tt1=0x00;tt2=0x00;
tb1=1;
led[0]=tt3/1000000;
led[1]=tt3/100000%10;
led[2]=tt3/100000%10;
led[3]=tt3/10000%10;
led[4]=tt3/1000%10;
led[5]=tt3/100%10;
led[6]=tt3/10%10;
led[7]=tt3%10;
}
if(tt0==1 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[0];P0=0xfe
}
if(tt0==2 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[1];P0=0xfd
}
if(tt0==3 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[2];P0=0xfb
}
if(tt0==4 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[3];P0=0xf7
}
if(tt0==5 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[4];P0=0xef
}
if(tt0==6 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[5];P0=0xdf
}
if(tt0==7 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[6];P0=0xbf
}
if(tt0==8 && tb0=1)
{
tb0=1;P0==0xff;
P2=led[7];P0=0x7f
tt0=0;
}
}
}
void timer0() interrupt 1
{
TH0=(65535-2000)/256;
TL0=(65535-2000)%256;
tt1++;
if(tt1==500)
{
TR1=0; //啟動定時器1
tb1=0
}
tt0++;tb0=1;
if(tb1==1 && TR1==0)TR1=1;
}
void timer1() interrupt 3
{
tt2++;
}