【雕爺學編程】Arduino動手做(78)---槽型光耦測速模塊

37款傳感器與執行器的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑑於本人手頭積累了一些傳感器和執行器模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流爲目的,這裏準備逐一動手嘗試系列實驗,不管成功(程序走通)與否,都會記錄下來---小小的進步或是搞不掂的問題,希望能夠拋磚引玉。

【Arduino】168種傳感器模塊系列實驗(資料代碼+仿真編程+圖形編程)

實驗七十八:槽型光耦對射光電開關模塊(紅外計數測速傳感器)


槽型光耦

以光爲媒介傳輸電信號。它對輸入、輸出電信號有良好的隔離作用,所以,它在各種電路中得 1553b耦合器線纜接頭到廣泛的應用。目前它已成爲種類最多、用途最廣的光電器件之一。光耦合器一般由三部分組成:光的發射、光的接收及信號放大。輸入的電信號驅動發光二極管(LED),使之發出一定波長的光,被光探測器接收而產生光電流,再經過進一步放大後輸出。這就完成了電—光—電的轉換,從而起到輸入、輸出、隔離的作用。由於光耦合器輸入輸出間互相隔離,電信號傳輸具有單向性等特點,因而具有良好的電絕緣能力和抗干擾能力。又由於光耦合器的輸入端屬於電流型工作的低阻元件,因而具有很強的共模抑制能力。所以,它在長線傳輸信息中作爲終端隔離元件可以大大提高信噪比。在計算機數字通信及實時控制中作爲信號隔離的接口器件,可以大大增加計算機工作的可靠性。槽型光耦作爲一種非常常見的電子元件,在電子電路系統設計的過程中,其選型的正確與否是非常重要的。槽型光耦合器也常常被稱爲直射式光電傳感器,其工作原理是通過對紅外發射光的阻斷和導通,在紅外接收管感應出的電流變化來實現開和關的判斷。光電耦合器具有體積小、使用壽命長、工作溫度範圍寬、抗干擾性能強。無觸點且輸入與輸出在電氣上完全隔離等特點,因而在各種電子設備上得到廣泛的應用。光電耦合器可用於隔離電路、負載接口及各種家用電器等電路中。


光耦合器(opTIcalcoupler,英文縮寫爲OC)

亦稱光電隔離器或光電耦合器,簡稱光耦。它是以光爲媒介來傳輸電信號的器件,通常把發光器(紅外線發光二極管LED)與受光器(光敏半導體管)封裝在同一管殼內。以光爲媒介把輸入端信號耦合到輸出端的光電耦合器,由於它具有體積小、壽命長、無觸點,抗干擾能力強,輸出和輸入之間絕緣,單向傳輸信號等優點,在數字電路上獲得廣泛的應用。

槽型光耦對輸入、輸出電信號有良好的隔離作用,所以,它在各種電路中得到廣泛的應用。目前槽型光耦已成爲種類最多、用途最廣的光電器件之一。槽型光耦一般由三部分組成:光的發射、光的接收及信號放大。輸入的電信號驅動發光二極管(LED),使之發出一定波長的光,被光探測器接收而產生光電流,再經過進一步放大後輸出。這就完成了電—光—電的轉換,從而起到輸入、輸出、隔離的作用。由於槽型光耦輸入輸出間互相隔離,電信號傳輸具有單向性等特點,因而具有良好的電絕緣能力和抗干擾能力。所以,槽型光耦在長線傳輸信息中作爲終端隔離元件可以大大提高信噪比。在計算機數字通信及實時控制中作爲信號隔離的接口器件,可以大大提高計算機工作的可靠性。


槽型光耦的特點:

1、檢測距離長。與接近開關等比較,光電開關的檢測距離非常長,且是無接觸式的,所以不會損傷檢測物體,也不受檢測物體的影響。

2、幾乎不受檢測物體的制約。由於是採用對檢測對象的表面進行反射及光透過方式,不像接近開關只能對金屬,還能對玻璃、塑料、木製物體、液體等各種物質進行檢測。

3、響應速度快。與接近開關同樣,由於無機械運動,所以能對高速運動的物體進行檢測。鏡頭容易受有機塵土等的影響鏡頭免受污染後,光會散射或被遮光,所以在有活水蒸汽、塵土等較多的環境下使用的場合,需施加適當的保護裝置。

4、不受環境強光的影響。幾乎不受一般照明光的影響,但像太陽光那樣的強光直接照射受光體時,會造成誤動作或損壞。


光電耦合器原理

當電信號送入光電耦合器的輸入端時,發光二極體通過電流而發光,光敏元件受到光照後產生電流,CE導通;當輸入端無信號,發光二極體不亮,光敏三極管截止,CE不通。對於數位量,當輸入爲低電平“0”時,光敏三極管截止,輸出爲高電平“1”;當輸入爲高電平“1”時,光敏三極管飽和導通,輸出爲低電平“ 0”。若基極有引出線則可滿足溫度補償、檢測調製要求。這種光耦合器性能較好,價格便宜,因而應用廣泛。光電耦合器之所以在傳輸信號的同時能有效地抑制尖脈衝和各種雜訊干擾,使通道上的信號雜訊比大爲提高,主要有以下幾方面的原因:(1)光電耦合器的輸入阻抗很小,只有幾百歐姆,而干擾源的阻抗較大,通常爲105~106Ω。據分壓原理可知,即使干擾電壓的幅度較大,但饋送到光電耦合器輸入端的雜訊電壓會很小,只能形成很微弱的電流,由於沒有足夠的能量而不能使二極體發光,從而被抑制掉了。(2)光電耦合器的輸入迴路與輸出迴路之間沒有電氣聯繫,也沒有共地;之間的分佈電容極小,而絕緣電阻又很大,因此迴路一邊的各種干擾雜訊都很難通過光電耦合器饋送到另一邊去,避免了共阻抗耦合的干擾信號的產生。(3)光電耦合器可起到很好的安全保障作用,即使當外部設備出現故障,甚至輸入信號線短接時,也不會損壞儀表。因爲光耦合器件的輸入迴路和輸出迴路之間可以承受幾千伏的高壓。(4)光電耦合器的迴應速度極快,其迴應延遲時間只有10μs左右,適於對迴應速度要求很高的場合。


槽型光耦對射光電開關模塊特色

1、使用進口槽型光耦傳感器

2、槽寬度5mm。

3、有輸出狀態指示燈,輸出高電平燈滅,輸出低電平燈亮。

4、有遮擋,輸出高電平;無遮擋,輸出低電平。

5、比較器輸出,信號乾淨,波形好,驅動能力強,超過15mA。

6、工作電壓3.3V-5V

7、輸出形式 :數字開關量輸出(0和1)

8、設有固定螺栓孔,方便安裝

9、小板PCB尺寸:3.2cm x 1.4cm

10、使用寬電壓LM393比較器

模塊電原理圖


模塊4針的定義  

VCC 電源正,GND電源負,DO數字量輸出,AO無效

模塊使用說明:

1.模塊槽中無遮擋時,接收管導通,模塊DO輸出低電平,遮擋時,DO輸出高電平;

2.模塊DO可與繼電器相連,組成限位開關等功能,也可以與有源蜂鳴器模塊相連,組成報警器。


實驗開源代碼

/*

 【Arduino】168種傳感器模塊系列實驗(資料代碼+仿真編程+圖形編程)

  實驗七十八:槽型光耦對射光電開關模塊(紅外計數測速傳感器)

測量電機轉速Speed ,單位 轉/分

G接GND、V接5V、S接數字引腳2或者3(使用中斷,只能接這兩個腳),

接好後,用一個遮擋物放在U型開關之間,模塊上的LED點亮,無遮擋

物時,LED不亮;利用這一原理,當信號輸出變化一次就計數一次,再

經過一些列的換算就可以得到轉速了~~

*/

int U_Pin = 2;  

float Val = 0;    //設置變量Val,計數

float time;  //設置變量time,計時

float Speed;  //設置變量Speed,存儲轉速

void setup(){

  Serial.begin(9600);

  attachInterrupt(0,count,CHANGE);  //引腳電平發生改變時觸發

}

void loop(){

  time = millis();

  Speed =  (Val/40)/(time/60000) ;

  Serial.println(Speed);

  delay(1000);

}

void count(){

  Val += 1;

}

實驗串口返回情況

實驗場景圖


實驗開源代碼

/*

  【Arduino】168種傳感器模塊系列實驗(資料代碼+仿真編程+圖形編程)

  實驗七十八:槽型光耦對射光電開關模塊(紅外計數測速傳感器)

程序之二,遮斷計數器

VCC 5V

GND GND

OUT D2

*/

int speedPin=2;//定義數字3接口

int cntValue=0;

void setup ()

{

pinMode(speedPin,INPUT);//3號數字口設置爲輸入狀態

Serial.begin(9600);

Serial.println("Speed Count\n");

}

void loop()

{

//判斷是否被遮擋

if(digitalRead(speedPin)==0)

{cntValue++;//計數增加

Serial.println(cntValue);//串口輸出計數值

while(digitalRead(speedPin)==0);//等待遮擋結束

}

}

實驗串口返回情況

實驗開源仿真編程(Linkboy V4.2)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章