我們公司產品有時候會用在紅外線的LED的產品上
這類產品其實不太適用一般的harness電測機去做測試
總廠的客戶的產品最近就有遇到這問題
由於一般的發光二極品可以透過施加適當的工作電壓讓LED發光,讓檢驗人員得知產品是否通過檢驗
但是由於紅外線屬於不可見光
無法透過肉眼來識別進行檢驗的動作
是可以透過三用電表的歐姆檔來量測,但是用三用電表當作測試治具不夠防呆
也可以通過通電用CCD鏡頭來捕捉紅外線光,用肉眼判別
但是由於子彈頭形狀的LED可視角度比較小,再加上LED水晶體折射的問題,在大量生產的時候必須還要調整LED可視角度,會導致檢驗速度不夠快。
所以透過一個簡單的單晶片可程式控制的Arduino來做個簡易的治具
(Arduino在淘寶上面一個大約15塊RMB就能夠買到了,價格相對低廉)
言歸正傳,客戶已經告知此紅外線的規格,LED工作電壓1.2V,最高電流為18mA
由於Arduino沒有1.2V的輸出,所以打算用Arduino的3.3V來供電,再來透過限流的方式確保紅外線LED不會燒毀
限流電阻的方式計算如下
利⽤歐姆定律
V=I*R
限流電阻的端電壓=3.3-1.2=2.1
迴路電流 I=18mA
限流電阻 R=2.1/0.018=116
由上方公式可以得知,電阻用120歐姆左右的即可。
Arduino的電路圖如下

電路接好了

光敏電阻用一小截套管包起來避免周圍的光線干擾影響判斷。
治具的動作說明
1. 將紅外線LED接上 正常的話紅外線會亮
2. 將紅外線靠近光敏電阻
3. 光敏電阻感應到紅外線光之後,阻值變小
Arduino主機判別A2腳電壓升高後由D9 Pin發送信號給蜂鳴器以及PASS指示燈
4. 作業人員聽到蜂鳴器叫聲或是見到PASS指示燈亮均代表此紅外線有正常動作
(透過機械進行 Go & No Go判別,避免誤判作業)
5. 不會叫或是PASS指示燈不亮的即為NG品。
附上影片連結供各位參考
Win 7以上作業系統可以直接點選下方網址觀看影片
備註
影片中的電路暫時為用麵包板臨時插件
正式開始會採用洞洞板直接焊接零件
Arduino的程式碼如下
int photocellPin = 2; // 光敏電阻 (photocell) 接在 anallog pin 2
int photocellVal = 0; // photocell variable
int minLight = 30; // 最⼩光線⾨檻值(這個要看光敏電阻讀取的阻值去設定)
int ledPin = 9;
int ledState = 0;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// 讀取光敏電阻並輸出到 Serial Port
photocellVal = analogRead(photocellPin);
Serial.println(photocellVal);
// 光線不⾜時關閉 LED
if (photocellVal < minLight && ledState == 0) {
digitalWrite(ledPin, LOW); // turn on LED
ledState = 1;
}
// 光線充⾜時啟動 LED
if (photocellVal > minLight && ledState == 1) {
digitalWrite(ledPin, HIGH); // turn off LED
ledState = 0;
}
// 警⽰燈 & 蜂鳴器叫的頻率(每秒⼀聲)
delay(1000);
}
透過這種方式,也可以檢測一般家電用的遙控器
因為一般的家電遙控器也是透過紅外線來控制的~
|