當(dāng)前位置: 首頁 > 傳感測量產(chǎn)品 > 工業(yè)傳感器 > 光電傳感器
發(fā)布日期:2022-10-09 點(diǎn)擊率:162
使用時把右手食指指肚放在st188反射式紅外傳感器上,放置合適時會看到指示燈隨心跳同時閃動,如果沒有閃爍請適當(dāng)調(diào)節(jié)手指壓力,調(diào)節(jié)完后在測試過程中手指壓力不要變,保持穩(wěn)定,當(dāng)指示燈有規(guī)律閃爍時表示信號正確。當(dāng)單片機(jī)檢測到大約第五次信號時開始顯示這五次信號算出的平均心率。當(dāng)超過大約1.5秒沒有檢測到信號,清除心率。
如果手指抖動或者不穩(wěn)定會看到指示燈亂閃,這樣測得的數(shù)據(jù)不準(zhǔn),在測試過程中保持穩(wěn)定!
1:初始化液晶和定時器
2:檢測外部中斷,并記錄中斷時間間隔
3:當(dāng)有超過5個符合要求的時間記錄,算出5個時間的平均值和對應(yīng)的60s的心率并顯示
4:當(dāng)超過1.5s沒有檢測到中斷發(fā)生停止顯示
2-3-4循環(huán)
電路原理圖如下:
單片機(jī)源程序如下:
#include
if(displayOK==1)
{
rate=/(time[1]/5+time[2]/5+time[3]/5+time[4]/5+time[5]/5);
LCD_write_char(5,1,rate/100+48);
LCD_write_char(6,1,(rate%100)/10+48);
LCD_write_char(7,1,rate%10+48);
}
DelayMs(300);
}
}
void ex0() interrupt 0
{
EX0=0;//暫時關(guān)外部中斷
if(timecount
光電傳感器——基于紅外反射式的測速機(jī)
引言
在工程實(shí)踐中,經(jīng)常會遇到各種需要測量轉(zhuǎn)速的場合。轉(zhuǎn)速是電動機(jī)極為重要的一個狀態(tài)參數(shù),在很多運(yùn)動系統(tǒng)的測控中,都需要對電機(jī)的轉(zhuǎn)速進(jìn)行測量,不論是直流調(diào)速系統(tǒng)還是交流調(diào)速系統(tǒng),只有轉(zhuǎn)速的高精度檢測才能得到高精度的控制系統(tǒng)。迄今為止,測速可分為兩類:模擬電路測速和數(shù)字電路測速。隨著微電子技術(shù)的發(fā)展,計算機(jī)技術(shù)的廣泛應(yīng)用,出現(xiàn)了以計算機(jī)為核心的數(shù)字測速裝置。這樣的速度測量裝置測量范圍寬、工作方式靈活多變、適應(yīng)面廣,具有普通數(shù)字測速裝置不可比擬的快速性、精確性和優(yōu)越性。
一:設(shè)計思路
用一個紅外發(fā)光二極管和一個接受紅外光的二極管組成一套光電管。當(dāng)檢測到物表面為黑色時,反射光很弱,接收端檢測到的光線可以忽略,使接收端呈現(xiàn)一種狀態(tài),例如開關(guān)管截止;當(dāng)被檢測物表面為白色時,反射光強(qiáng)烈,發(fā)射端發(fā)射的紅外線被接收端全部接收,使接收端呈現(xiàn)另一種相反的狀態(tài),例如開關(guān)管開通。這兩種相反的狀態(tài)表現(xiàn)在電路中,就是高低電平組成的脈沖信號。由此,我想到用一個比較器來比較兩種接受到的信號,從而輸出“0”“1”兩種高低電平,并把兩種信號傳給單片機(jī)進(jìn)行統(tǒng)計,然后利用設(shè)定算法進(jìn)行計算,最后通過數(shù)碼顯示管顯示計算結(jié)果。
二:所需模塊
本測速系統(tǒng)共有兩個模塊構(gòu)成,一個為光電傳感器部分,用于接收光信號并轉(zhuǎn)換為電信號,即高低電平信號;另一個為單片機(jī)部分,用于接收高低電平信號并通過內(nèi)部計算,然后再通過數(shù)碼顯示管顯示測出的結(jié)果。
光電傳感器部分
(1)LM339工作原理及管腳圖:
LM339類似于增益不可調(diào)的運(yùn)算放大器。每個比較器有兩個輸入端和一個輸出端。
兩個輸入端中的一個稱為同相輸入端,用“+”表示,另一個稱為反相輸入端,用“-”表示。當(dāng)用作比較兩個電壓時,任意一個輸入端加一個固定電壓做參考電壓(也稱為門限電平,它可選擇LM339輸入共模范圍的任何一點(diǎn)),另一端加一個待比較的信號電壓,當(dāng)“+”端電壓高于“-”端時,輸出管截止,相當(dāng)于輸出端開路。當(dāng)“-”端電壓高于“+”端時,輸出管飽和,相當(dāng)于輸出端接高電位。兩個輸入端電壓差別大于10mV就能確保輸出能從一種狀態(tài)可靠地轉(zhuǎn)換到另一種狀態(tài),因此,把LM339用在弱信號檢測等場合是比較理想的。
LM339的輸出端相當(dāng)于一只不接集電極電阻的晶體三極管,在使用時輸出端到正電源一般須接一只電阻(稱為上拉電阻,選3-15K)。選不同阻值的上拉電阻會影響輸出端高電位的值。因為當(dāng)輸出晶體三極管截止時,它的集電極電壓基本上取決于上拉電阻與負(fù)載的值。
下圖(1a)給出了一個LM399的基本單限比較器。輸入信號Uin為待比較電壓,把它加到同相輸入端,在反相輸入端接一個參考電壓(門限電平)Ur。當(dāng)輸入電壓Uin>Ur時,輸出為高電平UOH。圖(1b)為其傳輸特性。圖(1c)為LM339的管腳圖。
(c)
圖(1)LM339工作原理圖及管腳圖
(2)整體連線圖:如下圖(2)所示:
圖(2) 比較型光電傳感器整體電路圖
在上圖中, LED燈相當(dāng)于一個紅外線發(fā)射管,JP1是紅外線接收管,接收光強(qiáng)在上面轉(zhuǎn)換成電流,在R上成為電壓信號。當(dāng)光線照射到白色面上時,光線反射強(qiáng)烈,光線照射到黑色面上時,光線反射較弱。因此當(dāng)光照在不同顏色面上時,阻值會發(fā)生明顯的變化。將阻值的變化值與RA1的標(biāo)準(zhǔn)值進(jìn)行比較,就可以從LM339輸出邏輯電平給單片機(jī)。
單片機(jī)部分
(1)單片機(jī)外部連線圖:如下圖(3)所示
圖(3)單片機(jī)連線圖
在上接線圖中,可在數(shù)碼管與單片機(jī)之間接上一個分壓電阻,起到保護(hù)作用。單片機(jī)型號選89C51或89C52都行。在試驗板上把圖(1)中的2管腳(邏輯電平輸出管腳)和圖(2)中的12管腳(中斷輸入管腳)連接,即可構(gòu)成整個測速系統(tǒng)。
(2)單片機(jī)內(nèi)部主程序流程圖
主程序是控制單片機(jī)系統(tǒng)按照預(yù)定的操作方式運(yùn)轉(zhuǎn),它完成人機(jī)對話和各種控制功能,是單片機(jī)系統(tǒng)程序的框架。主程序的主要任務(wù)是完成系統(tǒng)自檢、初始化、處理鍵盤命令等功能。在本實(shí)驗中,未涉及到鍵盤命令。
本系統(tǒng)的主程序流程如下圖(4)所示。
圖(4)主程序流程圖 圖(5)外部中斷0 中斷程序流程圖
在該測速系統(tǒng)的程序中,主程序執(zhí)行的過程中共執(zhí)行了3 個中斷程序,即外部中斷0 中斷、外部脈沖計數(shù)0 中斷和定時器1 中斷。圖(5)所示為外部中斷0 中斷程序流程圖。外部中斷0 中斷程序主要用于測速起始。當(dāng)測速開始時,執(zhí)行外部中斷0 中斷,外部脈沖計數(shù)加1,并判斷T0、T1 是否開啟,若沒有開啟則開啟,再判斷1S 定時到了沒有,若1S 定時到計算轉(zhuǎn)速,并關(guān)INT0、T0、T1 軟件清零。
圖(6)為T0 中斷程序流程圖。T0 對內(nèi)部時鐘脈沖計數(shù), T0 為8 位定時器,1S 定時的內(nèi)部時鐘脈沖超過了T0 上限,故采用軟件延時計數(shù)。圖(7)為T1 中斷程序流程圖,T1 定時1S, 當(dāng)一秒定時到,則置位標(biāo)志位。
圖(6)T0 中斷程序流程圖 圖(7)T1 中斷程序流程圖
三:測速原理
首先,選一小型直流電機(jī),在其軸上固定一張圓形硬紙片,以此來代替被測物。其次把此圓形紙片平均分成6等分,并把其中的三塊涂黑(具體見實(shí)物)。再次,用光電管正對圓形紙片。最后,啟動整個系統(tǒng)就可以進(jìn)行測速了。
因為當(dāng)紅外線照到面黑色時,反射光很弱,接收端檢測到的光線可以忽略,當(dāng)照到白色面時,反射光強(qiáng)烈,發(fā)射端發(fā)射的紅外線幾乎被接收端全部接收,因此,檢測到的信號經(jīng)過比較電路輸出后,會給單片機(jī)輸入高低兩種電平。所以,在編程中,假定在1S時間內(nèi)共檢測到n個低電平信號,那么此電機(jī)的轉(zhuǎn)速為
。
四:整體電路圖及實(shí)物圖
見附一圖所示。
五:所需器件
名稱
型號
個數(shù)
價格
51單片機(jī)
STC89C51RC
1件
9元
光電管
1套
5元
四電壓比較器
LM339
1件
1.5元
四位數(shù)碼顯示管
12管腳
1件
5元
1/4電阻
0.47K,1K,3.3K,10K,
各10個(備用)
0.8元
電位器
103(10K)
2個
1元
瓷片電容
22PF,104(100nF)
各10個(備用)
2元
萬用版
1塊
3元
電池盒
1個
1元
PIC座
20,40腳
(2+1)個
1元
排針
40PIN
2排
1元
晶振
12M
1個
1元
復(fù)位開關(guān)
1個
0.1元
LED燈
5個
0.5元
共計:
31.9元
六:總結(jié)
本設(shè)計的光電傳感器測速機(jī)能夠快速檢測到電機(jī)橫截面上的黑白相間的面,并通過單片機(jī)編寫測速程序,用數(shù)碼管顯示。但本設(shè)計的測速系統(tǒng)的整體性能只能滿足一般小型電機(jī)和一些要求不高的測速,并且在其測速時,還需要在被測物上安裝一個黑白相間的圓盤,這對某些被測物體來說是不太好實(shí)現(xiàn)的,即其是存在一定的局限性的。除此之外,其精確度也不盡完美。
但整體來說,此測速系統(tǒng)還是具有可行性的。當(dāng)我們需要知道某電機(jī)的轉(zhuǎn)速而又缺少測速裝置時,就可以用此套系統(tǒng)來進(jìn)行測速。它的簡單性,方便性和快捷性也是某些測速裝置不可比擬的。至于其缺點(diǎn),由于設(shè)計者水平目前有限,暫不能完美解決,只待以后對此方面有較多理解后在解決,同時也希望對此精通的師生給予指點(diǎn),從而進(jìn)行改進(jìn)測速方法,提高整個系統(tǒng)的測速性能。
附一:整體電路圖
附二:程序源代碼
#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=(-)/256;
TL0=(-)%256;
EA=1;
ET0=1;
TR0=1;
}
timer0() interrupt 1
{
TH0=(-)/256;
TL0=(-)%256;
aa++;
if(aa==20)
{
aa=0;
temp=20*n;
n=0;
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
完整論文下載(word格式 可編輯):
基于51單片機(jī)的紅外反射式光電傳感器測速機(jī)的簡易設(shè)計.doc
(9.44 MB, 下載次數(shù): 611)
2017-7-1 21:14 上傳
點(diǎn)擊文件名下載附件
計算器
評分
參與人數(shù) 2黑幣 +10
收起
理由
嘖嘖嘖嘖嘖嘖嘖
+ 5
贊一個!
多德
+ 5
很給力!
查看全部評分
?
圖
1
方案一原理圖
?
?
如上圖所示是方案一,采用純模電硬件電路設(shè)計,所設(shè)計的電路沒有控制模
塊功能,
只能通過光敏電阻檢測當(dāng)前的環(huán)境光強(qiáng)是否符合一個定值之下,
若光強(qiáng)
低于設(shè)定值則蜂鳴器蜂鳴和
LED
閃而報警。此方案雖然輸入光強(qiáng)定制可以調(diào)節(jié),
但是檢測靈敏度不高且不可以讀出當(dāng)前的光強(qiáng)以及電阻。
因此應(yīng)用不強(qiáng),
不符合
一般的應(yīng)用,所以本系統(tǒng)設(shè)計不采用。
?
?
?
圖
2
方案二原理圖
?
如上圖是方案二,也是本系統(tǒng)所采用的方案。
?
?
本方案通過光敏電阻檢測周圍的光強(qiáng)變化,
通過
ADC0832
將模擬數(shù)據(jù)轉(zhuǎn)換為
單片機(jī):基于STC89C52RC單片機(jī)制作的紅外循跡小車(4個傳感器)
個人感覺紅外循跡小車和那些遙控小車的區(qū)別就是信號發(fā)射不同:遙控小車是通過遙控器發(fā)出信號執(zhí)行相應(yīng)的動作,而紅外循跡是通過紅外傳感器檢測不同顏色來執(zhí)行相應(yīng)的操作,本例是以白底黑線為例。
小車跑道是恩智浦跑道,邊緣是五厘米寬的黑線,用于檢測識別,由于明年要參加第十五屆恩智浦,所以先從51學(xué)起
我們先來看看小車所用的材料(硬件部分):
1.小車車殼是亞克力板材質(zhì),(后來發(fā)現(xiàn)很容易裂開,還不如用塊木板)。
2.紅外傳感器:該傳感器對環(huán)境光線適應(yīng)能力強(qiáng),當(dāng)檢測方向遇到障礙物(反射面)時,紅外線反射回來被接收管接收,綠色指示燈會亮起,可調(diào)節(jié)靈敏度,干擾小,可采用3-5V直流電源供電。兩邊各兩個,根據(jù)檢測的黑白色來執(zhí)行前進(jìn),后退,停止。
連接方式:VCC-VCC,GND-GND,OUT-IO
3.驅(qū)動:驅(qū)動選用L298N,用L298N驅(qū)動模塊驅(qū)動兩個直流減速電機(jī)。引腳A,B可用于PWM控制。如果直行前進(jìn),則可將IN1,IN2和IN3,IN4兩對引腳分別接高電平和低電平,僅用單片機(jī)的兩個端口給出PWM信號控制使能端A,B即可實(shí)現(xiàn)直行,轉(zhuǎn)彎,加減速等動作。
接線:ENA,ENB(使能端)——IO
IN1,IN2,IN3,IN4——IO
兩側(cè)端口分別連接電機(jī)引腳。
4.電池:電池采用的是3000mAh,11.1v的鋰電池,
5.使用STC98C52RC芯片,本來自己焊了一個51最小系統(tǒng),感覺調(diào)試的時候比較麻煩,所以用的現(xiàn)成的,取放芯片也方便。
6.前面加了舵機(jī)和超聲波避障,結(jié)果發(fā)現(xiàn)沒多大用,循跡就可以完成,我就暫且沒用它。后面加了兩個尾燈,通電后常亮。
我們來看一下整體布局(個人感覺不太好,線有點(diǎn)多,只簡單用扎帶扎起來)
我們來看看軟件部分:
通過控制左右電機(jī)運(yùn)動狀態(tài)來控制小車。
1.定義正反轉(zhuǎn)和占空比:
2選擇定時器:
3.中斷:
4.前進(jìn),左轉(zhuǎn),右轉(zhuǎn)(因為沒有障礙區(qū),所以沒有寫后退函數(shù),當(dāng)然寫的話也挺簡單)
5.四個傳感器判斷前進(jìn)或轉(zhuǎn)向(這個我先注釋了,后面還有兩個傳感器函數(shù),參見6)
6.兩個傳感器判斷狀態(tài)
7.通過信號短檢測到的三種情況來執(zhí)行不同狀態(tài)函數(shù)
8.主函數(shù)
9.最后給大家看一下全程序(調(diào)速還不是很好,轉(zhuǎn)彎有點(diǎn)卡頓,還請大神多多指教qq:)
下一篇: PLC、DCS、FCS三大控
上一篇: 電氣控制線路圖控制原
型號:E3FARP21
價格:面議
庫存:10
訂貨號:E3FARP21
型號:E3Z-LS61 2M BY OMS
價格:面議
庫存:10
訂貨號:E3Z-LS61 2M BY OMS
型號:BOS R020K-PS-RX11-00,2-S49
價格:面議
庫存:10
訂貨號:BOS R020K-PS-RX11-00,2-S49
型號:HG-C1400
價格:面議
庫存:10
訂貨號:HG-C1400
型號:EE-SX672P
價格:面議
庫存:10
訂貨號:EE-SX672P
型號:E3Z-T61-D 2M
價格:面議
庫存:10
訂貨號:E3Z-T61-D 2M