일부 프로젝트에서는 거리를 측정해야합니다. 글쎄, 당신은 VL53L0X는 고정밀 도로 측정 할 수있는 장치입니다.. 또한 작은 크기와 저렴한 가격으로 DIY 프로젝트, 특히 Arduino와 통합하는 데 이상적입니다.
거리를 측정 할 수있는 장치가 많이 있는데, 그중 일부는 소리를내는 초음파를 기반으로 한 거리 측정기이며 물체와 튀어 오를 때 거리를 충분히 정확하게 알 수 있습니다. 그러나 가장 높은 정밀도를 원하면이를 위해 광학 거리 측정기. 이 유형의 측정 장치 레이저 기반, VL53L0X의 경우와 같습니다.
ToF는 무엇입니까?
Time of Flight 또는 ToF (Time-of-Flight) 카메라 거리를 측정하는 데 사용되는 기술입니다. 이것은 광학을 기반으로하여 광선의 방출과 수신 사이의 경과 시간을 측정합니다. CCD, CMOS 센서가 될 수 있으며 펄스는 적외선, 레이저 등이 될 수 있습니다. 시스템은 펄스가 트리거 될 때 시간 측정을 시작하고 센서에서 바운스를 수신하면 카운터를 중지하도록 동기화됩니다.
그런 식으로 거리를 매우 정확하게 계산할 수 있습니다.. 빔이 발사되는 순간부터 빔이 수신 될 때까지 계산을 수행하고 거리를 결정하기 위해 칩에 통합 된 추가 논리 회로 만 있으면됩니다. 원칙은 매우 간단합니다.
이 유형의 장치는 로봇 로봇이나 드론이 장애물을 피하고, 목표물에서 얼마나 멀리 떨어져 있는지 파악하고, 움직임이나 근접성을 감지하고, 다양한 애플리케이션에 사용되는 자동차 센서의 경우, Arduino가 언제 무언가를 할 수 있도록 액추에이터와 같은 전자 계량기를 구현합니다. 물체 등의 특정 근접을 감지합니다.
VL53L0X 및 데이터 시트 란?
El VL53L0X는이 원리를 사용하여 레이저 적외선으로 거리를 측정합니다. 마지막 세대. Arduino와 같은 프로세서와 함께 사용하면 강력한 측정 도구가 될 수 있습니다. 특히이 칩은 50mm에서 2000mm 사이, 즉 5cm에서 2m 사이의 거리를 캡처 할 수 있습니다.
가까운 거리를 측정하려면 6180 ~ 5mm, 즉 200 ~ 20cm 범위를 측정 할 수있는 VL04X라는이 칩의 변형이 필요할 수 있습니다. 기술적 인 이유로 유사하지만 초음파 기반 장치를 찾고 싶다면 제조업체들에게 인기있는 또 다른 상당히 저렴한 모듈 인 HC-SRXNUMX를 살펴 봐야합니다.
El VL53L0X 칩 설계되었습니다 주변 광이 매우 높을 때도 작동. 광학적으로 작업 할 때 환경의 빛 "오염"이 클수록 신호 바운스를 적절하게 캡처하기가 더 어려워집니다. 그러나이 경우에는 너무 많은 문제가 발생하지 않습니다. 또한 통합 된 보상 시스템으로 보호 유리 뒤에서 사용해도 측정이 가능합니다.
그게 하나 최고의 거리 센서 시장에서 찾을 수 있습니다. 초음파 또는 적외선 (IR) 기반 센서보다 훨씬 높은 정밀도를 제공합니다. 매우 정밀한 이유는 레이저가 다른 경우와 마찬가지로 물체의 에코 나 반사에 영향을받지 않기 때문입니다.
현재 당신은 약 € 16에 대한 추가와 함께 노새에 통합되거나 다른 경우 € 1 또는 € 3를 약간 넘는 더 간단한 플레이트에서 찾을 수 있습니다. eBay, AliExpress, Amazon 등과 같은 상점에서 찾을 수 있다는 것을 이미 알고 있습니다. 이러한 장치의 제조업체는 다양하므로 구입 한 모델의 세부 정보를 알아야 할 경우 확인하는 것이 가장 좋습니다. 제조업체의 데이터 시트 당신이 선택한 것. 예를 들면 :
El VL53L0X 칩 내부에는 레이저 펄스의 방사체와 반사광을 포착하는 센서가 있습니다. 이 경우 이미 터는 940nm 파장 레이저 및 VCSEL 유형 (Vertical Cavity Surface-Emitting Laser)입니다. 캡처 센서는 SPAD (Single Photon Avalanche Diodes)입니다. 또한 거리를 계산하는 FlightSenseTM라는 내부 전자 장치를 통합합니다.
El 측정 각도 또는 FOV (시야) 이 경우 25º입니다. 이는 0,44m 거리에서 직경 1m의 측정 영역으로 변환됩니다. 측정 범위는 주변 조건에 따라 달라집니다. 실내에서하는 경우는 실외에서하는 것보다 약간 높습니다. 또한 가리키는 물체의 반사율에 따라 달라집니다.
타겟 반사율 | 약관 | 내부 | 외부 |
---|---|---|---|
화이트 타겟 | 전형적인 | 200cm | 80cm |
모방 | 120cm | 60cm | |
회색 대상 | 전형적인 | 80cm | 50cm |
미니 모 | 70cm | 40cm |
또한 VL53L0X에는 몇 가지 작동 모드 결과가 다를 수 있습니다. 이러한 모드는 다음 표에 요약되어 있습니다.
모드 | 타이밍 | 도달 범위 | 정도 |
---|---|---|---|
기본 | 30ms | 1.2m | 아래 표 참조 |
고정밀 | 200ms | 1.2m | + / - 3 % |
장거리 | 33ms | 2m | 아래 표 참조 |
고속 | 20ms | 1.2m | + / - 5 % |
이 모드에 따르면 몇 가지 표준 및 장거리 정확도 이 표에있는 것 :
내부 | 외부 | |||||
---|---|---|---|---|---|---|
타겟 반사율 | 거리 | 33ms | 66ms | 거리 | 33ms | 66ms |
화이트 타겟 | 120cm | 4% | 3% | 60cm | 7% | 6% |
회색 대상 | 70cm | 7% | 6% | 40cm | 12% | 9% |
핀아웃 및 연결
이 모든 것이 제대로 작동하려면 외부 세계와의 인터페이스. 그리고 그것은 일부 핀 또는 연결을 통해 달성됩니다. VL53L0X의 핀 배치는 매우 간단하며 6 개의 핀만 있습니다. Arduino와의 통합을 위해 I2C를 통해 통신 할 수 있습니다.
그것을 먹일 수 있습니다. 핀 연결 그래서:
- Arduino에서 VCC에서 5V로
- Arduino의 GND에서 GND로
- Arduino 아날로그 핀에 대한 SCL. 예 : A5
- SDA를 다른 아날로그 핀에 연결합니다. 예 : A4
- GPI01 및 XSHUT 핀은 현재 사용할 필요가 없습니다.
Arduino와 통합
다른 많은 모듈과 마찬가지로 VL53L0X의 경우 라이브러리 (예 : 아다 프룻) 작성시 특정 기능을 사용하는 데 사용할 수있는 사용 가능한 코드 Arduino IDE에서 프로젝트를 처리하기위한 소스 코드. Arduino를 처음 사용하는 경우 프로그래밍 매뉴얼.
의 예 직렬 포트를 통해 측정을 수행하고 측정 값을 표시하는 간단한 코드 Arduino 보드가 연결되어있는 동안 PC 화면에서 볼 수 있습니다.
#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); }
Adafruit의 자체 라이브러리에는 필요한 경우 더 많은 사용 예제가 있습니다 ...