在電氣工程實踐中,經常會遇到各種需要測量轉速的場合,在對設備轉速和控制中,常需要分時或連續測量、顯示其轉速及瞬時速度。為了能精確地測量轉速,還要保證測量的實時性,要求能測得瞬時轉速。本文提出一種基于STC單片機實現對電機轉速測量的方法,利用霍爾傳感器采集脈沖信號,通過定時計數算法程序,將轉速通過數碼管實時顯示。
圖1 系統方框圖
本系統由傳感器、處理器和顯示3個部分幾部分組成,方框圖如圖1所示。
此系統由開關型霍爾傳感器A3144E根據檢測電機的旋轉信號并產生脈動波形,由8位微控制器STC 89S52RC對波形進行處理并計算,最終把電機轉速通過四位共陽極LED顯示。
2.1 速度檢測電路
測量電機轉速要將電機的轉速表示為單片機可以識別的脈沖信號,從而進行脈沖計數。霍爾器件作為一種轉速測量系統的傳感器,具有結構牢固、體積小、重量輕、壽命長、安裝方便等優點,當電機轉動時,帶動傳感器,產生對應頻率的脈沖信號,經過信號處理后輸出到計數器或其他的脈沖計數裝置,進行轉速的測量。傳感器檢測電路如圖2所示。
圖2 傳感器檢測電路
2.2 微控制器最小系統電路
微控制器最小系統電路如圖3所示,由主控制器STC 89S52RC、時鐘電路和復位電路三部分組成。單片機STC 89S52RC作為核心控制器控制著整個系統的工作,而時鐘電路負責產生單片機工作所必需的時鐘信號,復位電路使得單片機能夠正常、有序、穩定地工作。
圖3 微控制器最小系統電路
2.3 數碼管顯示電路
LED又稱為數碼管,可以顯示0~9和A~F共16個數字和字母。這種裝入數碼管中顯示字形的數據稱字形碼,又稱段選碼,本系統采用共陽極動態掃描方式進行電機轉速的實時顯示,LED動態顯示電路如圖4所示。
圖4 LED顯示電路
2.4 RS-232串行通信接口電路
通過單片機的串行口可以把單片機系統的數據傳回電腦處理或者接受電腦傳過來的數據而進行相應的控制。微控制器有許多標準的通信方法,但在單片式控制系統中,最常用的是RS232串行接口。串行接口電路如圖5所示。
圖5 串行通信接口電路
3.1 主程序設計
本系統采用微控制器STC89S52RC中的T0定時器和T1計數器配合使用對轉速脈沖定時計數。計數器T1工作于計數狀態對外部脈沖進行計數;T0工作為定時器方式每次定時10ms。本設計程序編程的思想就是在給定的10ms之內,用單片機自帶的計數器T1對外部脈沖進行計數。主程序的流程圖如圖6所示。
圖6 主程序流程圖
主程序部分程序如下:
#include<AT89X51.H>
#define uint unsigned int
sbit CNPN0=P0^0;
sbit CNPN1=P0^1;
sbit CNPN2=P0^2;
sbit CNPN3=P0^3;
uint buf_min=0x1,flag;
void delay(uint x)//x=1000表示4ms
{
while(--x);
}
…………………
void main()
{
uint num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uint i,j,temp;
uint sum=0x0,disnum[4]={0};
TMOD=0x51; //TO工作為定時方式,T1工作為計數方式
TH0=-10236/256;
TL0=-10236%256;
TH1=0;
TL1=0;
EA=1; //啟動外部中斷0
…………………
3.2 T0定時中斷程序設計
T0定時中斷程序主要是完成10ms的定時任務,并且對變量buf_min進行加一處理,其中在對T0進行賦初值時,選擇為10236而不是10000。T0定時器中斷流程圖如圖7所示。
圖7 T0定時中斷流程圖
T0 定時中斷部分程序:
void time0() interrupt 1 //定時10ms
{
EA=0;
ET0=0;
TR0=0;
TH0=-10236/256;
TL0=-10236%256;
buf_min++;
EA=1;
ET0=1;
TR0=1;
}
本系統在工業用除塵風機,高低壓水泵電機以及TRT余熱發電中都得到了應用,系統采集信號后計算顯示的多組數據和專用手持測速儀測得的多組數據進行對比,誤差不超過千分之一。而且在電磁信號較強的環境中表現出了很強的抗干擾能力,不管是測速實時顯示還是在閉環控制中為上級控制系統反饋模擬信號都實現得非常理想。
在本系統中,介紹了一種基于微控制器STC系列單片機的電機測速系統,該測速系統采用集成霍爾傳感器采集電機速度信號,具有頻率響應快、抗干擾能力強等特點。霍爾傳感器的輸出信號經信號調理后,通過單片機對連續脈沖記數來實現轉速測控,并且充分利用了單片機的內部資源,有很高的性價比。并且在測量范圍內轉速越高測量精度越高。所以該系統在一般的工業領域轉速檢測和閉環控制中均可應用。
編自《電氣技術》,原文標題為“基于STC系列微控制器的電機數字測速系統設計”,作者為王瑜、王斌。