


摘 要:以測量電機轉速為目的,使用電渦流傳感器、AT89C5l單片機設計出電機轉速測量系統,首先說明了設計思想,隨后進行了軟、硬件設計。實驗表明該測量系統的測試誤差小,精度高。
關鍵詞:電渦流傳感器;AT89C51;轉速測量
DOI:10.16640/j.cnki.37-1222/t.2017.10.168
1 引言
隨著現科技的不斷進步,各個領域對測速系統的應用越來越多,同時也對測速精度的要求越來越高。從測速儀器是否與轉軸接觸又可分為接觸式,非接觸式,目前常用的是非接觸測量,采用傳感器為檢測元件,讀取到的信號通過微處理器來進行計算、顯示。
2 系統設計
在系統中,AT89C5l作為控制器負責讀取電渦流傳感器輸出的脈沖信號,通過外部中斷對脈沖信號計數,每1s讀取一次外部中斷計數值,此值為脈沖信號的頻率,最后通過電機轉速計算公式得到轉速,并由LCD顯示,如果電機的轉速超出限定值,蜂鳴器報警。系統框圖如圖1所示。
2.1 硬件設計
2.1.1 測量原理
電渦流位移傳感器屬于非接觸測量器件,當金屬物體接近電渦流傳感器的感應面時,金屬表面吸取電渦流傳感器中的高頻振蕩能量,使振蕩器的輸出幅度衰減或頻率變化,輸出脈沖信號,單片機根據脈沖信號的數目可以計算出與被檢測物體的轉速。測量原理如圖2所示。
2.1.2 仿真電路
根據系統設計進行電路仿真,仿真電路圖如圖3所示。
2.1.3 硬件電路
(1)電渦流傳感器。電渦流傳感器的基本工作原理是電渦流效應,當金屬導體置于高頻磁場中,會在金屬表面產生感應電流。電渦流傳感器就是利用電渦流效應來檢測金屬物體的位移、振動、轉速等機械量的,具有非接觸測量、線性范圍寬、靈敏度高、抗干擾能力強、無介質影響、穩定可靠、易于處理等優點,經常應用在旋轉機械狀態的測量中。
(2)微處理器。微處理器AT89C51對電渦流傳感器輸出的脈沖信號進行計數,利用定時閘門完成轉速頻率的測量,通過計算得到電機的轉速,電機轉速計算公式:
其中n為電機轉速,f為電機脈沖信號頻率,z為轉軸旋轉一圈產生的脈沖數。
(3)硬件電路。硬件電路如圖4所示。
2.2 軟件設計
2.2.1 工作過程
對各中斷初值進行初始化,電渦流輸出脈沖信號到來后,啟動外部中斷,每來一個脈沖信號啟動一次中斷,記錄中斷次數;并在啟動外部中斷的同時啟動T0定時器,每1秒T0定時中斷一次,讀取在1秒中記錄的中斷次數,即電機輸出的脈沖信號頻率,將頻率值代入公式計算電機的轉速,LCD顯示轉速值,若轉速高于1000則報警。
2.2.2 流程圖
如圖5所示。
2.2.3 程序
main()
{
TCONDF=0x11;
P20=1;
TMODF=0x01;
P20=0;
IE=0x83;
TWH0=TH_M1;
init_WEB();
TWL0=TL_M1;
while(count==0){ }
WPS=0;
if(zs>=1000)
{
P20=1;
}
disp_led();
}
void counter(void) interrupt 0
{ count++;
if(count%6==0)
{ zs++;}
}
void DelayTime(void) interrupt 1
{TWH0=TH_M1;
TWL0=TL_M1;
if(++count==20)
{ fwb=1; }
}
void disp_led() //LED顯示
{ int i;
while(1)
{ display_count();
write_contrs(0x80);
for (i=0;i { write_lable(display[i]); } } } void display_count() {display[12]=(icount/1000+'0'); display[13]=(icount/100%10+'0'); display[14]=(icount/10%10+'0'); display[15]=(icount%10+'0'); } void init_WEB(void) { write_contrs(0x01); yc1ms(15); write_contrs(0x38); write_contrs(0x0f); write_contrs(0x06); } void write_contrs(char inst) { RES=0; REW=0; ent=1; LCDP=inst;
ent=0;checkbestf();
}
void write_lable(int shuju)
{ RES=1;REW=0;
ent=1;
LCDP=display;
ent=0;check_BF();
}
void checkbestf(void)
{ char y,q=0x80;
while(x&0x80)
{
RES=0;REW=1;
ent=1;
q=LCDP;
ent=0;
for(y=0;y<10;y++);
}
}
void yc1ms(int m)
{ int i,j;
for(i=1;i for(j=1;j<120;j++);} 3 結論 本文利用電渦流傳感器和89C51相結合設計了電機轉速測量系統,該測量系統能進行實時非接觸測量,并具有線性范圍寬、靈敏度高、精度高的特點。 參考文獻: [1]梁森,王侃負.自動檢測與轉換技術[M].北京:機械工業出版社,2011. [2]王元慶.新型傳感器原理及應用[M].北京:機械工業出版社,2002. [3]曲波.工業常用傳感器選型指南[M].北京:清華大學出版社,2002. [4]張福學.傳感器應用及其電路精選[M].北京:電子工業出版社,2000. [5]阮智利,黃杭美.自動檢測與轉換技術[M].北京:機械工業出版社,1990. [6]謝維成,楊加國.單片機原理與應用及C51程序設計[M].北京:清華大學出版社,2009. [7]張義和,王敏男.基于例說51單片機[M].北京:人民郵電出版社,2008. [8]嚴天峰.單片機應用系統設計與仿真調試[M].北京:北京航空航天大學出版社,2005. [9]李建忠.單片機原理及應用[M].西安:西安電子科技大學出版社,2002. [10]譚浩強.C程序設計(第2版)[M].北京:清華大學出版社,1999. 作者簡介:毛敏(1976-),女,碩士研究生,研究方向:電子信息。