找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4467|回复: 0
收起左侧

利用Arduino+光敏電阻做紅外線不可見光的電測治具

[复制链接]
ID:76244 发表于 2015-4-6 23:59 | 显示全部楼层 |阅读模式
我們公司產品有時候會用在紅外線的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);
}



透過這種方式,也可以檢測一般家電用的遙控器
因為一般的家電遙控器也是透過紅外線來控制的~


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表