光電傳感器——基于紅外反射式的測速機(jī)
引言 在工程實(shí)踐中,經(jīng)常會遇到各種需要測量轉(zhuǎn)速的場合。轉(zhuǎn)速是電動(dòng)機(jī)極為重要的一個(gè)狀態(tài)參數(shù),在很多運(yùn)動(dòng)系統(tǒng)的測控中,都需要對電機(jī)的轉(zhuǎn)速進(jìn)行測量,不論是直流調(diào)速系統(tǒng)還是交流調(diào)速系統(tǒng),只有轉(zhuǎn)速的高精度檢測才能得到高精度的控制系統(tǒng)。迄今為止,測速可分為兩類:模擬電路測速和數(shù)字電路測速。隨著微電子技術(shù)的發(fā)展,計(jì)算機(jī)技術(shù)的廣泛應(yīng)用,出現(xiàn)了以計(jì)算機(jī)為核心的數(shù)字測速裝置。這樣的速度測量裝置測量范圍寬、工作方式靈活多變、適應(yīng)面廣,具有普通數(shù)字測速裝置不可比擬的快速性、精確性和優(yōu)越性。 一:設(shè)計(jì)思路 用一個(gè)紅外發(fā)光二極管和一個(gè)接受紅外光的二極管組成一套光電管。當(dāng)檢測到物表面為黑色時(shí),反射光很弱,接收端檢測到的光線可以忽略,使接收端呈現(xiàn)一種狀態(tài),例如開關(guān)管截止;當(dāng)被檢測物表面為白色時(shí),反射光強(qiáng)烈,發(fā)射端發(fā)射的紅外線被接收端全部接收,使接收端呈現(xiàn)另一種相反的狀態(tài),例如開關(guān)管開通。這兩種相反的狀態(tài)表現(xiàn)在電路中,就是高低電平組成的脈沖信號。由此,我想到用一個(gè)比較器來比較兩種接受到的信號,從而輸出“0”“1”兩種高低電平,并把兩種信號傳給單片機(jī)進(jìn)行統(tǒng)計(jì),然后利用設(shè)定算法進(jìn)行計(jì)算,最后通過數(shù)碼顯示管顯示計(jì)算結(jié)果。 二:所需模塊 本測速系統(tǒng)共有兩個(gè)模塊構(gòu)成,一個(gè)為光電傳感器部分,用于接收光信號并轉(zhuǎn)換為電信號,即高低電平信號;另一個(gè)為單片機(jī)部分,用于接收高低電平信號并通過內(nèi)部計(jì)算,然后再通過數(shù)碼顯示管顯示測出的結(jié)果。 (1)LM339工作原理及管腳圖: LM339類似于增益不可調(diào)的運(yùn)算放大器。每個(gè)比較器有兩個(gè)輸入端和一個(gè)輸出端。 兩個(gè)輸入端中的一個(gè)稱為同相輸入端,用“+”表示,另一個(gè)稱為反相輸入端,用“-”表示。當(dāng)用作比較兩個(gè)電壓時(shí),任意一個(gè)輸入端加一個(gè)固定電壓做參考電壓(也稱為門限電平,它可選擇LM339輸入共模范圍的任何一點(diǎn)),另一端加一個(gè)待比較的信號電壓,當(dāng)“+”端電壓高于“-”端時(shí),輸出管截止,相當(dāng)于輸出端開路。當(dāng)“-”端電壓高于“+”端時(shí),輸出管飽和,相當(dāng)于輸出端接高電位。兩個(gè)輸入端電壓差別大于10mV就能確保輸出能從一種狀態(tài)可靠地轉(zhuǎn)換到另一種狀態(tài),因此,把LM339用在弱信號檢測等場合是比較理想的。 LM339的輸出端相當(dāng)于一只不接集電極電阻的晶體三極管,在使用時(shí)輸出端到正電源一般須接一只電阻(稱為上拉電阻,選3-15K)。選不同阻值的上拉電阻會影響輸出端高電位的值。因?yàn)楫?dāng)輸出晶體三極管截止時(shí),它的集電極電壓基本上取決于上拉電阻與負(fù)載的值。 下圖(1a)給出了一個(gè)LM399的基本單限比較器。輸入信號Uin為待比較電壓,把它加到同相輸入端,在反相輸入端接一個(gè)參考電壓(門限電平)Ur。當(dāng)輸入電壓Uin>Ur時(shí),輸出為高電平UOH。圖(1b)為其傳輸特性。圖(1c)為LM339的管腳圖。
1.001.jpg (7.29 KB, 下載次數(shù): 168)
下載附件
2017-7-1 22:50 上傳
1.002.jpg (7.18 KB, 下載次數(shù): 195)
下載附件
2017-7-1 22:50 上傳
(c) 圖(1)LM339工作原理圖及管腳圖 (2)整體連線圖:如下圖(2)所示:
1.003.jpg (35.77 KB, 下載次數(shù): 188)
下載附件
2017-7-1 22:50 上傳
圖(2) 比較型光電傳感器整體電路圖 在上圖中, LED燈相當(dāng)于一個(gè)紅外線發(fā)射管,JP1是紅外線接收管,接收光強(qiáng)在上面轉(zhuǎn)換成電流,在R上成為電壓信號。當(dāng)光線照射到白色面上時(shí),光線反射強(qiáng)烈,光線照射到黑色面上時(shí),光線反射較弱。因此當(dāng)光照在不同顏色面上時(shí),阻值會發(fā)生明顯的變化。將阻值的變化值與RA1的標(biāo)準(zhǔn)值進(jìn)行比較,就可以從LM339輸出邏輯電平給單片機(jī)。 (1)單片機(jī)外部連線圖:如下圖(3)所示
1.004.jpg (43.25 KB, 下載次數(shù): 174)
下載附件
2017-7-1 22:50 上傳
圖(3)單片機(jī)連線圖 在上接線圖中,可在數(shù)碼管與單片機(jī)之間接上一個(gè)分壓電阻,起到保護(hù)作用。單片機(jī)型號選89C51或89C52都行。在試驗(yàn)板上把圖(1)中的2管腳(邏輯電平輸出管腳)和圖(2)中的12管腳(中斷輸入管腳)連接,即可構(gòu)成整個(gè)測速系統(tǒng)。 (2)單片機(jī)內(nèi)部主程序流程圖 主程序是控制單片機(jī)系統(tǒng)按照預(yù)定的操作方式運(yùn)轉(zhuǎn),它完成人機(jī)對話和各種控制功能,是單片機(jī)系統(tǒng)程序的框架。主程序的主要任務(wù)是完成系統(tǒng)自檢、初始化、處理鍵盤命令等功能。在本實(shí)驗(yàn)中,未涉及到鍵盤命令。 本系統(tǒng)的主程序流程如下圖(4)所示。
1.005.jpg (8.99 KB, 下載次數(shù): 199)
下載附件
2017-7-1 22:50 上傳
1.006.jpg (10.12 KB, 下載次數(shù): 191)
下載附件
2017-7-1 22:50 上傳
圖(4)主程序流程圖 圖(5)外部中斷0 中斷程序流程圖 在該測速系統(tǒng)的程序中,主程序執(zhí)行的過程中共執(zhí)行了3 個(gè)中斷程序,即外部中斷0 中斷、外部脈沖計(jì)數(shù)0 中斷和定時(shí)器1 中斷。圖(5)所示為外部中斷0 中斷程序流程圖。外部中斷0 中斷程序主要用于測速起始。當(dāng)測速開始時(shí),執(zhí)行外部中斷0 中斷,外部脈沖計(jì)數(shù)加1,并判斷T0、T1 是否開啟,若沒有開啟則開啟,再判斷1S 定時(shí)到了沒有,若1S 定時(shí)到計(jì)算轉(zhuǎn)速,并關(guān)INT0、T0、T1 軟件清零。 圖(6)為T0 中斷程序流程圖。T0 對內(nèi)部時(shí)鐘脈沖計(jì)數(shù), T0 為8 位定時(shí)器,1S 定時(shí)的內(nèi)部時(shí)鐘脈沖超過了T0 上限,故采用軟件延時(shí)計(jì)數(shù)。圖(7)為T1 中斷程序流程圖,T1 定時(shí)1S, 當(dāng)一秒定時(shí)到,則置位標(biāo)志位。
1.007.jpg (5.63 KB, 下載次數(shù): 178)
下載附件
2017-7-1 22:50 上傳
1.008.jpg (7.19 KB, 下載次數(shù): 196)
下載附件
2017-7-1 22:50 上傳
圖(6)T0 中斷程序流程圖 圖(7)T1 中斷程序流程圖 三:測速原理 首先,選一小型直流電機(jī),在其軸上固定一張圓形硬紙片,以此來代替被測物。其次把此圓形紙片平均分成6等分,并把其中的三塊涂黑(具體見實(shí)物)。再次,用光電管正對圓形紙片。最后,啟動(dòng)整個(gè)系統(tǒng)就可以進(jìn)行測速了。 因?yàn)楫?dāng)紅外線照到面黑色時(shí),反射光很弱,接收端檢測到的光線可以忽略,當(dāng)照到白色面時(shí),反射光強(qiáng)烈,發(fā)射端發(fā)射的紅外線幾乎被接收端全部接收,因此,檢測到的信號經(jīng)過比較電路輸出后,會給單片機(jī)輸入高低兩種電平。所以,在編程中,假定在1S時(shí)間內(nèi)共檢測到n個(gè)低電平信號,那么此電機(jī)的轉(zhuǎn)速為
1.009.jpg (2.81 KB, 下載次數(shù): 178)
下載附件
2017-7-1 22:50 上傳
。 四:整體電路圖及實(shí)物圖 見附一圖所示。 五:所需器件 六:總結(jié) 本設(shè)計(jì)的光電傳感器測速機(jī)能夠快速檢測到電機(jī)橫截面上的黑白相間的面,并通過單片機(jī)編寫測速程序,用數(shù)碼管顯示。但本設(shè)計(jì)的測速系統(tǒng)的整體性能只能滿足一般小型電機(jī)和一些要求不高的測速,并且在其測速時(shí),還需要在被測物上安裝一個(gè)黑白相間的圓盤,這對某些被測物體來說是不太好實(shí)現(xiàn)的,即其是存在一定的局限性的。除此之外,其精確度也不盡完美。 但整體來說,此測速系統(tǒng)還是具有可行性的。當(dāng)我們需要知道某電機(jī)的轉(zhuǎn)速而又缺少測速裝置時(shí),就可以用此套系統(tǒng)來進(jìn)行測速。它的簡單性,方便性和快捷性也是某些測速裝置不可比擬的。至于其缺點(diǎn),由于設(shè)計(jì)者水平目前有限,暫不能完美解決,只待以后對此方面有較多理解后在解決,同時(shí)也希望對此精通的師生給予指點(diǎn),從而進(jìn)行改進(jìn)測速方法,提高整個(gè)系統(tǒng)的測速性能。 附一:整體電路圖
1.010.jpg (101.67 KB, 下載次數(shù): 235)
下載附件
2017-7-1 22:50 上傳
附二:程序源代碼 - #include
- #define uint unsigned int
- uint temp,qian,bai,shi,ge,aa,n;
- sbit dula=P0;
- sbit wela=P1;
- sbit zd=P3^2;
- uint code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
-
- void display(uint qian,uint bai,uint shi,uint ge);
- void delay (uint z);
- void init();
-
- void main()
- {
- EA=1;//開總中斷
- EX0=1;//開外部中斷0
- init();//初始化子程序
- while(1)
- {
- display(qian,bai,shi,ge);
- }
- }
-
- void delay(uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
-
- void display(uint qian,uint bai,uint shi,uint ge)
- {
- P0=table[qian];
- P1=0xf7;
- delay(1);
-
- P0=table[bai];
- P1=0xfb;
- delay(1);
-
- P0=table[shi];
- P1=0xfd;
- delay(1);
-
- P0=table[ge];
- P1=0xfe;
- delay(1);
- }
-
- void exter0() interrupt 0
- {
- n++;
- while(zd==0);
- }
-
- void init()
- {
- wela=0;
- dula=0;
- temp=0;
- TMOD=0x01;
- TCON|=0X04;
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- EA=1;
- ET0=1;
- TR0=1;
- }
-
- timer0() interrupt 1
- {
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- aa++;
- if(aa==20)
- {
- aa=0;
- temp=20*n;
- n = 0;
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
完整論文下載(word格式 可編輯):
基于51單片機(jī)的紅外反射式光電傳感器測速機(jī)的簡易設(shè)計(jì).doc
(9.44 MB, 下載次數(shù): 656)
2017-7-1 21:14 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|