VL53L0X. Բարձր ճշգրտության լազերային հեռավորության սենսոր

VL53L0X

Ձեր որոշ նախագծերում անհրաժեշտ կլինի հեռավորությունները չափել: Դե, դուք պետք է իմանաք, որ VL53L0X- ը սարք է, որը թույլ է տալիս չափել դրանք բարձր ճշգրտությամբ, Բացի այդ, դրա փոքր չափը և ցածր գինը այն իդեալական են դարձնում ձեր DIY նախագծերի համար, հատկապես `Arduino- ի հետ ինտեգրվելու համար:

Կան շատ սարքեր, որոնք կարող են չափել հեռավորությունները, նրանցից ոմանք հեռավորության հաշվիչներ են, որոնք հիմնված են ուլտրաձայնի վրա, որոնք ձայն են արձակում և օբյեկտի հետ ցատկելով թույլ են տալիս իմանալ, թե ինչ հեռավորություն կա: Բայց եթե ուզում եք ամենաբարձր ճշգրտությունը, դրա համար ձեզ հարկավոր է ա հեռավորության օպտիկական չափիչ, Այս տեսակի չափիչ սարքեր հիմնված է լազերի վրա, ինչպես VL53L0X- ի դեպքում է:

Ի՞նչ է ToF- ը:

ToF սկզբունքը (սխեմա)

Թռիչքի ժամանակ կամ ToF (Թռիչքի ժամանակ) տեսախցիկ դա տեխնիկա է, որն օգտագործվում է հեռավորությունները չափելու համար: Այն հիմնված է օպտիկայի վրա ՝ չափելով լույսի ճառագայթման արտանետման և ընդունման միջև անցած ժամանակը: Դրանք կարող են լինել CCD, CMOS սենսորներ և իմպուլսները կարող են լինել ինֆրակարմիր, լազերային և այլն: Համակարգը համաժամեցվելու է `ժամանակի չափումը սկսելու համար հենց այն ժամանակ, երբ զարկերակը գործարկվում է, և դադարեցնելու է հաշվիչը, երբ սենսորը ստանում է ցատկում:

Այդ կերպ հեռավորությունը կարելի է հաշվարկել բավականին ճշգրիտ, Այն տևում է միայն չիպի մեջ ինտեգրված լրացուցիչ տրամաբանական սխեմաներ, որպեսզի ճառագայթը գործարկվի պահից մինչև այն ստանա հաշվարկները և այդպիսով որոշի, թե որն է հեռավորությունը: Սկզբունքը բավականին պարզ է:

Առնչվող հոդված.
ESP8266. Arduino- ի WIFI մոդուլը

Այս տեսակի սարքն օգտագործվում է ռոբոտներ թույլ տալ ռոբոտին կամ անօդաչու թռչող սարքին խուսափել խոչընդոտներից, իմանալ, թե որքանով են դրանք հեռու թիրախից, հայտնաբերել շարժումը կամ մոտիկությունը, տարբեր ծրագրերի համար օգտագործվող մեքենայի սենսորների համար, իրականացնել էլեկտրոնային հաշվիչ, օրինակ ՝ մղիչ, որպեսզի Arduino- ն ինչ-որ բան անի, երբ այն հայտնաբերում է օբյեկտի որոշակի մոտիկություն և այլն:

Ի՞նչ է VL53L0X- ը և տվյալների թերթը

VL53L0X

El VL53L0X- ն օգտագործում է այս սկզբունքը լազերային ինֆրակարմիրով հեռավորությունները չափելու համար: վերջին սերունդը: Arduino- ի նման պրոցեսորի հետ միասին այն կարող է հզոր գործիք լինել չափման համար: Մասնավորապես, չիպը կարող է գրավել 50 մմ և 2000 մմ հեռավորություններ, այսինքն ՝ 5 սանտիմետրից մինչև 2 մետր:

Ավելի մոտ տարածությունները չափելու համար ձեզ հավանաբար անհրաժեշտ է այս չիպի VL6180X անվանումը, որը թույլ է տալիս չափել միջակայքը 5-ից 200 մմ, այսինքն `կես սանտիմետր և 20 սանտիմետր: Եթե ​​ցանկանում եք գտնել նմանատիպ սարք, բայց ուլտրաձայնի վրա հիմնված ցանկացած տեխնիկական պատճառով, ապա պետք է նայեք HC-SR04- ին ՝ արտադրողների շրջանում սիրված մեկ այլ բավականին էժան մոդուլի:

El VL53L0X չիպ նախատեսված է եղել աշխատել նույնիսկ այն դեպքում, երբ շրջապատող լույսը բավականին բարձր է, Հիշեք, որ օպտիկական աշխատելիս որքան մեծ է շրջակա միջավայրի լույսի «աղտոտումը», այնքան դժվար կլինի ազդանշանային ցատկումը համարժեքորեն որսալը: Բայց այս դեպքում դա չափազանց մեծ խնդիր չի ներկայացնում: Բացի այդ, դրա ինտեգրված փոխհատուցման համակարգը թույլ է տալիս չափել, նույնիսկ եթե այն օգտագործում եք պաշտպանիչ ապակու ետևում:

Դա դարձնում է մեկը լավագույն հեռավորության տվիչների որ կգտնեք շուկայում: Շատ ավելի բարձր ճշգրտությամբ, քան սենսորները, որոնք հիմնված են ուլտրաձայնային կամ ինֆրակարմիր (IR) վրա: Այսքան ճշգրիտ լինելու պատճառն այն է, որ լազերի վրա չի ազդի արձագանքները կամ առարկաներից արտացոլումը, ինչպես մնացած դեպքերում:

Ներկայումս այն կարող եք գտնել ինտեգրված ջորիների մեջ, որոշ հավելյալ արժեքով ՝ մոտ 16 եվրո կամ ավելի պարզ ափսեներում ՝ 1 եվրոյից կամ 3 եվրոյից փոքր-ինչ այլ դեպքերում: Դուք արդեն գիտեք, որ այն կգտնեք այնպիսի խանութներում, ինչպիսիք են eBay, AliExpress, Amazon և այլն: Այս սարքերի արտադրողները բազմազան են, ուստի եթե ձեզ հարկավոր է իմանալ ձեր գնած մոդելի մանրամասները, լավագույնը ստուգելն է արտադրողի տվյալների թերթը որ դու ես ընտրել: Օրինակ:

El VL53L0X Այն ունի չիպի ներսում լազերային զարկերակի արտանետիչը և սենսորը `վերադարձող ճառագայթը գրավելու համար: Այս դեպքում էմիտորը 940 նմ ալիքի լազեր է և VCSEL տիպ (ուղղահայաց խոռոչի մակերեսային արտանետող լազեր): Ինչ վերաբերում է գրավման սենսորին, ապա դա SPAD (Single Photon Avalanche Diodes) է: Այն նաև ինտեգրում է ներքին էլեկտրոնիկան, որը կոչվում է FlightSense M, որը հաշվարկի հեռավորությունը:

El չափման անկյուն կամ FOV (տեսադաշտ) այս դեպքում 25º է: Դա թարգմանաբար նշանակում է 0,44 մ տրամագծի չափման տարածք 1 մ հեռավորության վրա: Չնայած չափման տիրույթը կախված կլինի շրջակա պայմաններից: Եթե ​​դա արվում է ներսում, դա մի փոքր ավելի բարձր է, քան եթե դա արվում է դրսում: Դա կախված կլինի նաև ձեր կողմից մատնանշված օբյեկտի արտացոլանքից.

Թիրախի արտացոլումը Պայմաններ Բնավորությունը Դուրս
Սպիտակ թիրախ Բնորոշ 200cm 80cm
Ընդօրինակել 120cm 60cm
Մոխրագույն թիրախ Բնորոշ 80cm 50cm
Նվազագույնը 70cm 40cm

Բացի այդ, VL53L0X- ն ունի մի քանիսը գործող ռեժիմներ Դա կարող է տարբեր լինել արդյունքից: Այդ ռեժիմներն ամփոփված են հետևյալ աղյուսակում.

modo Կարգավորում Շրջանակ Ճշգրտություն
Կանխադրված 30ms 1.2m Տե՛ս ստորև բերված աղյուսակը
Բարձր ճշգրտություն 200ms 1.2m + / - 3%
Հեռահարություն 33ms 2m Տե՛ս ստորև բերված աղյուսակը
Բարձր արագություն 20ms 1.2m + / - 5%

Այս ռեժիմների համաձայն, մենք ունենք մի քանիսը ստանդարտ և հեռահար ճշգրտություններ որ ունեք այս աղյուսակում.

Բնավորությունը Դուրս
Թիրախի արտացոլումը Հեռավորությունը 33ms 66ms Հեռավորությունը 33ms 66ms
Սպիտակ թիրախ 120 սմ-ով 4% 3% 60 սմ-ով 7% 6%
Մոխրագույն թիրախ 70 սմ-ով 7% 6% 40 սմ-ով 12% 9%

Pinout և միացում

VL53L0X չիպի սխեման

 

Որպեսզի այս ամենը ճիշտ աշխատի, ձեզ հարկավոր է արտաքին աշխարհի հետ ինտերֆեյս: Եվ դա ձեռք է բերվում որոշ քորոցների կամ կապերի միջոցով: VL53L0X- ի փինոնը բավականին պարզ է, այն ունի ընդամենը 6 քորոց: Arduino- ի հետ իր ինտեգրման համար կապը կարող է իրականացվել I2C- ի միջոցով:

Այն կերակրելու համար կարող եք կապել կապում Այսպիսով ՝

  • Arduino- ից VCC- ից 5v
  • GND- ից Arduino- ի GND- ից
  • SCL- ը Arduino- ի անալոգային քորոցին: Օրինակ A5
  • SDA մեկ այլ անալոգային քորոց: Օրինակ A4
  • GPI01 և XSHUT քորոցներն այս պահին պարտադիր չէ օգտագործել:

Ինտեգրում Arduino- ի հետ

VL53L0X- ը միացված է Arduino- ին

Ինչ վերաբերում է շատ այլ մոդուլների, ապա VL53L0X- ի համար դուք նույնպես ունեք գրադարաններ (օրինակ ՝ այն գրքերի համար) Adafruit) մատչելի կոդի, որը կարող եք օգտագործել որոշակի ֆունկցիաների հետ աշխատելու ժամանակ գրելիս ձեր նախագիծը Arduino IDE- ում կարգավորելու սկզբնաղբյուրը, Եթե ​​դուք առաջին անգամ եք Arduino- ով, խորհուրդ եմ տալիս մեր ծրագրավորման ձեռնարկը.

Օրինակ Պարզ կոդ ՝ սերիական պորտի միջոցով չափումներ կատարելու և չափման արժեքը ցուցադրելու համար այնպես որ այն կարող եք տեսնել ձեր համակարգչի էկրանից, մինչդեռ միացված է Arduino տախտակը.

#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- ի սեփական գրադարանում ավելի շատ օգտագործման օրինակներ ունեք, եթե դրա կարիքը ունեք ...


Հոդվածի բովանդակությունը հավատարիմ է մեր սկզբունքներին խմբագրական էթիկա, Սխալի մասին հաղորդելու համար կտտացրեք այստեղ.

Եղիր առաջին մեկնաբանողը

Թողեք ձեր մեկնաբանությունը

Ձեր էլ. Փոստի հասցեն չի հրապարակվելու: Պահանջվող դաշտերը նշված են *

*

*

  1. Տվյալների համար պատասխանատու ՝ Միգել Անխել Գատոն
  2. Տվյալների նպատակը. Վերահսկել SPAM, մեկնաբանությունների կառավարում:
  3. Օրինականություն. Ձեր համաձայնությունը
  4. Տվյալների հաղորդագրություն. Տվյալները չեն փոխանցվի երրորդ անձանց, բացառությամբ իրավական պարտավորության:
  5. Տվյալների պահպանում. Տվյալների շտեմարան, որը հյուրընկալվում է Occentus Networks (EU) - ում
  6. Իրավունքներ. Timeանկացած պահի կարող եք սահմանափակել, վերականգնել և ջնջել ձեր տեղեկատվությունը: