Sử Dụng Cảm Biến Bụi Sharp Gp2y10 | Cộng đồng Arduino Việt Nam

Cấu tạo

Trước khi code chúng ta nên tìm hiểu sơ qua về cấu tạo của cảm biến này.

Kết quả hình ảnh cho sharp dust sensor arduino

Kết quả hình ảnh cho sharp dust sensor working

Các bạn có thể thấy nó gồm 03 phần chính:

  • IR LED
  • Phototransistor
  • Amplifier

Nguyên lý hoạt động

Ở đây ta thấy sẽ có 02 bộ phận dùng để truyền và nhận hồng ngoại (IR LED và Phototransistor). 02 bộ phận này được đặt chệch gốc với nhau. Khi có bụi bay vào, tia hồng ngoại từ IR LED sẽ bị dội vào Phototransistor, lúc này điện áp từ phototransistor sẽ được đưa đến mạch khuếch đại (Amplifier) và xuất ra chân Vo.

Phương pháp lấy mẫu

Kết quả hình ảnh cho sharp dust sensor working pulse

Phương pháp đo

Theo datasheet, một lần đo của cảm biến sẽ mất khoảng 10ms để đo. Trong 10ms sẽ có:

  • 0.32ms: Trong khoảng thời gian này, IR LED sẽ được bật lên va chúng ta tiến hành đọc giá trị. Tuy nhiên, chỉ được phép đọc giá trị sau 0.28ms. Vậy những việc chúng ta cần làm trong 0.32ms này đó là:
    • Bật IR LED.
    • Delay 0.28ms.
    • Tắt IR LED.
    • Delay 0.04ms.
  • 9.680ms: Thời gian này cảm biến sẽ không làm gì cả. Vì thế ta chỉ cần delay 9.680ms.

Phương pháp tính kết quả

Tài liệu mô tả cho biết, ta có thể tìm được nồng độ bụi trong không khí bằng quy đổi như sau: 0.5V / 0.1mg/m3.

Nhưng khi sử dụng các chân Analog của Arduino đọc thì điện áp sẽ được chuyển thành giá trị digital (0-1023). Vì vậy chúng ta cần tìm giá trị vol của mỗi mức digital bằng cách đơn giản như sau

vpd = vRef / 1024

Trong đó :

  • vpd: Giá trị điện áp tương ứng với 1 giá trị digital.

  • vRef: Giá trị điện áp cấp cho cảm biến (5.0 hoặc 3.3).

Sau khi đã có vpd, ta chỉ cần nhân với giá trị ADC đọc từ chân Vo của cảm biến là có thể tính ra được điện áp

Vậy là sau khi có điện áp, ta có thể dễ dàng tính ra được nồng bộ bụi trong không khí: dustDensity = (Vo*vpd)/0.5

Kết quả hình ảnh cho dust sensor dust density vs voltage

Tuy nhiên, bằng những phép kiểm thử thực tế, người ta thấy rằng giá trị này không đúng như thực tế. Giá trị đo được không trùng với bảng tham chiếu mà nhà sản xuất đưa ra. Vì vậy người ta dùng phương pháp Linear equation để tìm ra được phương trình cho phép tham chiếu kết quả gần đúng như nhà sản xuất đưa ra.

dustDensity = 0.17 * (Vo * Vpd) - 0.1

Đây là kết quả cuối cùng chúng ta cần tìm!

Từ khóa » Cảm Biến Gp2y1010au0f