|
轉(zhuǎn)速計(jì)是日常生活中比較重要的計(jì)量儀表之一,在汽、電子、紡織、造紙等方面有廣泛的應(yīng)用。但是由于過去的技術(shù)比較落后轉(zhuǎn)速計(jì)一般都使用機(jī)械式或機(jī)電式的機(jī)構(gòu)。其結(jié)構(gòu)原理如下:

這樣的機(jī)構(gòu)雖然原理非常簡單,設(shè)計(jì)也比較方便,但其缺點(diǎn)也是顯而易見的。例如:
·機(jī)械接觸式設(shè)計(jì)會(huì)影響被測(cè)件的正常工作,低速運(yùn)轉(zhuǎn)時(shí)會(huì)產(chǎn)生較大影響
·傳動(dòng)式結(jié)構(gòu)使測(cè)量器件壽命變短,間接提高了產(chǎn)品價(jià)格,影響其市場(chǎng)占有率
·采用測(cè)速電機(jī),增加了整個(gè)系統(tǒng)的成本降低了測(cè)量精度
·功率消耗大,無便攜性可言
可見,這樣的設(shè)計(jì)給市場(chǎng)推廣帶來了很大的阻礙,而且降低了測(cè)量精度。從而給很難占領(lǐng)市場(chǎng)。
相比之下本文介紹的智能轉(zhuǎn)速計(jì)避免了老式轉(zhuǎn)速計(jì)的以上缺點(diǎn)。采用光電測(cè)量的方法。
結(jié)構(gòu)框圖如下:
   
光電測(cè)量部分原理:
檢測(cè)齒輪上有10個(gè)齒均勻分布在輪盤周圍,并被直接固定在被測(cè)軸上,安裝時(shí)光電耦合器的發(fā)光二極管和光敏三極管正對(duì)齒輪上的齒,當(dāng)被測(cè)軸轉(zhuǎn)動(dòng)時(shí)帶動(dòng)檢測(cè)齒輪轉(zhuǎn)動(dòng),光電耦合器通過對(duì)檢測(cè)齒輪上的齒進(jìn)行耦合從而產(chǎn)生數(shù)字脈沖。脈沖經(jīng)過放大送向單片機(jī)的計(jì)數(shù)端。
單片機(jī)部分工作原理:
本文采用的單片機(jī)為AT89C51,內(nèi)有兩個(gè)定時(shí)/計(jì)數(shù)器。在程序設(shè)計(jì)時(shí)筆者將T0定時(shí)/計(jì)數(shù)器作為1秒定時(shí)使用,將T1定時(shí)/計(jì)數(shù)器作對(duì)脈沖的計(jì)數(shù)器使用。單片機(jī)計(jì)數(shù)端在接收到脈沖后對(duì)脈沖進(jìn)行計(jì)數(shù),每隔1秒提取TH1和TL1中的計(jì)數(shù)數(shù)據(jù),并進(jìn)行相應(yīng)的運(yùn)算,對(duì)16進(jìn)制數(shù)據(jù)進(jìn)行處理,得到10進(jìn)制數(shù)據(jù),送顯示緩存進(jìn)行顯示輸出。
在對(duì)TH1和TL1數(shù)據(jù)整合處理時(shí)使用到了C程序中的結(jié)構(gòu)和共用的概念
union
{ unsigned int word;
struct
{ unsigned char high;
unsigned char low;
} bytes;
} result;
…
result.bytes.high=TH1;
result.bytes.low=TL1;
counter=result.word;
這樣一來就可以把兩個(gè)無符號(hào)字符型變量數(shù)據(jù)按高低字節(jié)合并成一個(gè)整型變量來處理了。在本文中四位7段LED能夠顯示0~9999的數(shù)值,根據(jù)下文提供的計(jì)數(shù)值與轉(zhuǎn)速之間的關(guān)系可確定計(jì)數(shù)值范圍必須達(dá)到0~1667,很顯然這樣的數(shù)據(jù)通過字節(jié)來處理是非常不方便的,但如果通過上述方法轉(zhuǎn)化成整型變量來處理值域變?yōu)?/SPAN>0~65535,足以容納0~1667中的任何一個(gè)整型數(shù)值。
具體計(jì)數(shù)值與轉(zhuǎn)速之間的數(shù)學(xué)關(guān)系如下:
轉(zhuǎn)速(round/minute)=
并將轉(zhuǎn)速值通過動(dòng)態(tài)掃描電路和程序顯示在4位7段LED數(shù)碼管上。
其優(yōu)點(diǎn)如下:
·采用單片機(jī)控制,精度高,穩(wěn)定性好,測(cè)量范圍大
·功率小,易于提高其便攜性能,突出產(chǎn)品優(yōu)勢(shì)
·產(chǎn)品成本低廉,整套系統(tǒng)價(jià)格不超過15元人民幣
·抗干擾能力強(qiáng),可避免外界電磁干擾和其他干擾因素的影響
·非接觸式測(cè)量,采用光電器件測(cè)量,無連接軸,對(duì)被測(cè)件無任何影響,提高測(cè)量精度
·電子式測(cè)量方法縮小整個(gè)系統(tǒng)的體積,使便攜式產(chǎn)品的開發(fā)更具可操作性
·非機(jī)械式測(cè)量方法,采用電子器件,提高設(shè)備的壽命,間接降低成本
通過以上比較不難看出智能轉(zhuǎn)速計(jì)不管從成本上、精度上還是便攜性能上都比原有的機(jī)電式設(shè)備好得多。從市場(chǎng)開發(fā)的角度來看各方面都比較出色。
該產(chǎn)品通過改進(jìn)還可以做成出租車?yán)锍逃?jì)、水文監(jiān)測(cè)以及氣象監(jiān)測(cè)的有關(guān)儀器儀表。 #include "reg51.h" #define uchar unsigned char #define uint unsigned int
uchar code disptab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar code bittab[]={0x01,0x02,0x04,0x08}; uchar data dispbuf[]={0,0,0,0};
void main(void) { void disp(); EA=1;ET0=1; TMOD=0x51; TH0=0x3c;TL0=0xb0; TR0=1;TR1=1; for(;;) { disp(); } }
void disp(void) { uchar i,deley; for(i=0;i<4;i++) {P1=bittab[i]; P2=disptab[dispbuf[i]]; for(deley=0;deley<200;deley++); } }
void timer(void) interrupt 1 using 1 { static uchar i; uint counter; union {uint word; struct {uchar high; uchar low; } byte; } result; TH0=0x3c;TL0=0xb0; i++; if(i==10) {result.byte.high=TH1; result.byte.low=TL1; counter=result.word; counter*=6; dispbuf[0]=counter%10; dispbuf[1]=counter%100/10; dispbuf[2]=counter%1000/100; dispbuf[3]=counter/1000; } }
|