VL53L0X: cảm biến khoảng cách laser chính xác cao

VL53L0X

Trong một số dự án của bạn, bạn sẽ cần phải đo khoảng cách. Chà, bạn nên biết rằng VL53L0X là thiết bị cho phép đo chúng với độ chính xác cao. Ngoài ra, kích thước nhỏ và giá rẻ của nó làm cho nó trở nên lý tưởng cho các dự án DIY của bạn, đặc biệt là tích hợp với Arduino.

Có nhiều thiết bị có thể đo khoảng cách, một số là máy đo khoảng cách dựa trên sóng siêu âm phát ra âm thanh và khi dội lại với vật thể, nó cho phép biết với đủ độ chính xác khoảng cách đó. Nhưng nếu bạn muốn độ chính xác cao nhất, bạn cần một máy đo khoảng cách quang học. Loại thiết bị đo lường này dựa trên tia laser, như trường hợp của VL53L0X.

ToF là gì?

Nguyên tắc ToF (lược đồ)

Máy ảnh Thời gian bay hoặc ToF (Thời gian bay) nó là một kỹ thuật được sử dụng để đo khoảng cách. Nó dựa trên quang học, đo thời gian trôi qua giữa quá trình phát ra một chùm ánh sáng và sự tiếp nhận của nó. Chúng có thể là cảm biến CCD, CMOS và các xung có thể là tia hồng ngoại, tia laser, v.v. Hệ thống sẽ được đồng bộ để bắt đầu đo thời gian ngay khi xung được kích hoạt và dừng bộ đếm khi chúng nhận được phản hồi từ cảm biến.

Theo cách đó khoảng cách có thể được tính toán khá chính xác. Chỉ cần một mạch logic bổ sung được tích hợp vào chip để thực hiện các phép tính từ thời điểm chùm tia được bắn ra cho đến khi nó được nhận và do đó xác định khoảng cách là bao nhiêu. Nguyên tắc khá đơn giản.

Đặc biệt
Bài viết liên quan:
ESP8266: mô-đun WIFI cho Arduino

Loại thiết bị này được sử dụng trong người máy để cho phép rô bốt hoặc máy bay không người lái tránh chướng ngại vật, biết chúng cách mục tiêu bao xa, phát hiện chuyển động hoặc khoảng cách gần, đối với cảm biến ô tô được sử dụng cho các ứng dụng khác nhau, triển khai đồng hồ điện tử, chẳng hạn như thiết bị truyền động để Arduino thực hiện điều gì đó khi nó phát hiện một số khoảng cách nhất định của một đối tượng, v.v.

VL53L0X và biểu dữ liệu là gì

VL53L0X

El VL53L0X sử dụng nguyên lý này để đo khoảng cách bằng tia hồng ngoại laser. thế hệ cuối cùng. Cùng với một bộ xử lý, như Arduino, nó có thể là một công cụ mạnh mẽ để đo lường. Cụ thể, con chip này có thể chụp khoảng cách từ 50mm đến 2000mm, tức là từ 5 cm đến 2 mét.

Để đo khoảng cách gần hơn, bạn có thể cần một biến thể của con chip này có tên là VL6180X cho phép bạn đo phạm vi từ 5 đến 200 mm, tức là từ nửa cm đến 20 cm. Nếu bạn muốn tìm một thiết bị tương tự nhưng dựa trên sóng siêu âm vì bất kỳ lý do kỹ thuật nào, thì bạn nên xem xét HC-SR04, một mô-đun khá rẻ khác phổ biến với các nhà sản xuất.

El Chip VL53L0X đã được thiết kế để hoạt động ngay cả khi ánh sáng xung quanh khá cao. Hãy nhớ rằng khi làm việc trong lĩnh vực quang học, độ "ô nhiễm" ánh sáng của môi trường càng lớn thì càng khó thu nhận đầy đủ tín hiệu dội lại. Nhưng trong trường hợp này, nó không có quá nhiều vấn đề. Ngoài ra, hệ thống bù trừ mà nó tích hợp cho phép nó đo được ngay cả khi bạn sử dụng nó sau lớp kính bảo vệ.

Điều đó làm cho nó trở thành một cảm biến khoảng cách tốt nhất mà bạn sẽ tìm thấy trên thị trường. Với độ chính xác cao hơn nhiều so với cảm biến dựa trên sóng siêu âm hoặc tia hồng ngoại (IR). Lý do chính xác như vậy là tia laser sẽ không bị ảnh hưởng bởi tiếng vang hoặc phản xạ từ các vật thể như trong các trường hợp khác.

Hiện tại, bạn có thể tìm thấy nó được tích hợp trong các con la với một số phụ phí khoảng € 16 hoặc trong các tấm đơn giản hơn chỉ hơn € 1 hoặc € 3 trong các trường hợp khác. Bạn đã biết rằng bạn sẽ tìm thấy nó trong các cửa hàng như eBay, AliExpress, Amazon, v.v. Các nhà sản xuất của các thiết bị này rất đa dạng, vì vậy nếu bạn cần biết chi tiết về kiểu máy bạn đã mua, tốt nhất là bạn nên kiểm tra bảng dữ liệu của nhà sản xuất mà bạn đã chọn. Ví dụ:

El VL53L0X Nó có bên trong chip là bộ phát xung laser và bộ cảm biến để bắt chùm tia quay trở lại. Trong trường hợp này, bộ phát là tia laser bước sóng 940nm và loại VCSEL (Laser phát ra bề mặt khoang dọc). Đối với cảm biến chụp, nó là một SPAD (Điốt quang tuyết đơn). Nó cũng tích hợp một thiết bị điện tử bên trong gọi là FlightSenseTM sẽ tính toán khoảng cách.

El góc đo hoặc FOV (Trường nhìn) nó là 25º trong trường hợp này. Điều đó chuyển thành một vùng đo có đường kính 0,44m ở khoảng cách 1m. Mặc dù phạm vi đo sẽ phụ thuộc vào các điều kiện xung quanh. Nếu nó được thực hiện trong nhà, nó sẽ cao hơn một chút so với nếu nó được thực hiện ngoài trời. Nó cũng sẽ phụ thuộc vào độ phản xạ của đối tượng bạn đang trỏ vào:

Phản xạ mục tiêu Điều khoản Cảnh Nội Thất Ngoại Thất
Mục tiêu trắng Điển hình 200cm 80cm
Bắt chước 120cm 60cm
Mục tiêu màu xám Điển hình 80cm 50cm
Tối thiểu 70cm 40cm

Ngoài ra, VL53L0X có một số chế độ hoạt động điều đó có thể thay đổi kết quả. Các chế độ đó được tóm tắt trong bảng sau:

Modo Thời gian Phạm vi Độ chính xác
Mặc định 30ms 1.2m Xem bảng bên dưới
Độ chính xác cao 200ms 1.2m + / - 3%
Tầm xa 33ms 2m Xem bảng bên dưới
Tốc độ cao 20ms 1.2m + / - 5%

Theo các chế độ này, chúng tôi có một số độ chính xác tiêu chuẩn và tầm xa mà bạn có trong bảng này:

Cảnh Nội Thất Ngoại Thất
Phản xạ mục tiêu Khoảng cách 33ms 66ms Khoảng cách 33ms 66ms
Mục tiêu trắng một 120cm 4% 3% một 60cm 7% 6%
Mục tiêu màu xám một 70cm 7% 6% một 40cm 12% 9%

Sơ đồ chân và kết nối

Sơ đồ chip VL53L0X

Để tất cả những điều này hoạt động bình thường, bạn cần một giao diện với thế giới bên ngoài. Và điều đó đạt được thông qua một số chân hoặc kết nối. Sơ đồ chân của VL53L0X khá đơn giản, nó chỉ có 6 chân. Để tích hợp với Arduino, giao tiếp có thể được thực hiện thông qua I2C.

Để nuôi nó, bạn có thể kết nối chân Vì thế:

  • VCC sang 5v từ Arduino
  • GND sang GND của Arduino
  • SCL đến một chân tương tự Arduino. Ví dụ A5
  • SDA đến một chân tương tự khác. Ví dụ A4
  • Hiện tại không cần sử dụng chân GPI01 và XSHUT.

Tích hợp với Arduino

VL53L0X được kết nối với Arduino

Đối với nhiều mô-đun khác, đối với VL53L0X, bạn cũng có các thư viện (ví dụ: thư viện dành cho Adafbean) của mã có sẵn mà bạn có thể sử dụng để làm việc với các chức năng nhất định khi bạn viết mã nguồn để xử lý dự án của bạn trong Arduino IDE. Nếu đây là lần đầu tiên bạn sử dụng Arduino, tôi khuyên bạn nên hướng dẫn lập trình của chúng tôi.

Một ví dụ về Mã đơn giản để bạn thực hiện các phép đo và hiển thị giá trị đo thông qua cổng nối tiếp vì vậy bạn có thể thấy nó từ màn hình PC của mình khi bạn đã kết nối bảng Arduino là:

#include "Adafruit_VL53L0X.h"
 
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
 
void setup() {
  Serial.begin(9600);
 
  // Iniciar sensor
  Serial.println("VL53L0X test");
  if (!lox.begin()) {
    Serial.println(F("Error al iniciar VL53L0X"));
    while(1);
  }
}
 
 
void loop() {
  VL53L0X_RangingMeasurementData_t measure;
    
  Serial.print("Leyendo sensor... ");
  lox.rangingTest(&measure, false); // si se pasa true como parametro, muestra por puerto serie datos de debug
 
  if (measure.RangeStatus != 4)
  {
    Serial.print("Distancia (mm): ");
   Serial.println(measure.RangeMilliMeter);
  } 
  else
  {
    Serial.println("  Fuera de rango ");
  }
    
  delay(100);
}

Trong thư viện riêng của Adafruit, bạn có nhiều ví dụ sử dụng hơn nếu cần ...


Hãy là người đầu tiên nhận xét

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.