در برخی از پروژه های خود نیاز به اندازه گیری فاصله دارید. خوب ، شما باید بدانید که VL53L0X دستگاهی است که امکان اندازه گیری آنها را با دقت بالا فراهم می کند. علاوه بر این ، اندازه کوچک و قیمت پایین آن را برای پروژه های DIY شما به ویژه برای ادغام با آردوینو ایده آل می کند.
دستگاه های زیادی وجود دارد که می توانند مسافت را اندازه گیری کنند ، بعضی از آنها متر سنجی بر اساس سونوگرافی هستند که صدایی را ساطع می کنند و هنگام جهش با جسم اجازه می دهد تا با دقت کافی فاصله را بدانیم اما اگر بالاترین دقت را می خواهید ، برای این کار شما به یک a فاصله سنج نوری. این نوع دستگاه های اندازه گیری بر اساس لیزر است، همانطور که در مورد VL53L0X وجود دارد.
ToF چیست؟
زمان پرواز یا دوربین ToF (زمان پرواز) این روشی است که برای اندازه گیری فاصله استفاده می شود. این بر اساس اپتیک است ، و زمان سپری شده بین انتشار یک پرتو نور و دریافت آن را اندازه گیری می کند. آنها می توانند سنسورهای CCD ، CMOS و پالس ها مادون قرمز ، لیزر و غیره باشند. این سیستم همزمان می شود تا اندازه گیری زمان دقیقاً هنگام شروع پالس شروع شود و با دریافت گزاف گویی از سنسور ، شمارنده را متوقف کند.
در آن راه فاصله را می توان کاملاً دقیق محاسبه کرد. فقط یک مدار منطقی اضافی در تراشه لازم است تا محاسبات را از لحظه شلیک پرتو تا زمان دریافت انجام دهد و بنابراین فاصله را تعیین کند. اصل کاملاً ساده است.
این نوع دستگاه در استفاده می شود روباتیک اجازه دادن به ربات یا هواپیمای بدون سرنشین برای جلوگیری از موانع ، دانستن فاصله آنها از هدف ، تشخیص حرکت یا نزدیکی ، برای سنسورهای اتومبیل که برای کاربردهای مختلف استفاده می شود ، یک متر الکترونیکی مانند یک محرک را پیاده سازی می کند تا آردوینو هنگام انجام کاری این نزدیکی خاص یک شی را تشخیص می دهد ، و غیره
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 در داخل تراشه ساطع کننده پالس لیزر و سنسور است تا پرتو بازگشت را ضبط کند. در این حالت ، امیتر یک لیزر با طول موج 940nm و نوع VCSEL (لیزر Vertical Cavity Survey-Surveying) است. در مورد سنسور ضبط ، این یک SPAD (دیودهای بهمن تک فوتونی) است. همچنین یک الکترونیک داخلی به نام FlightSense M را ادغام می کند که مسافت را محاسبه می کند.
El زاویه اندازه گیری یا FOV (میدان دید) در این حالت 25 درجه است. این به یک منطقه اندازه گیری قطر 0,44 متر در فاصله 1 متر ترجمه می شود. اگرچه دامنه اندازه گیری به شرایط اطراف بستگی خواهد داشت. اگر در فضای بسته انجام شود کمی بالاتر از آن است که در فضای باز انجام شود. همچنین به بازتاب شی ای که به آن اشاره می کنید بستگی دارد:
بازتاب هدف | قوانین و مقررات | داخلی | خارجی |
---|---|---|---|
هدف سفید | معمول | 200cm | 80cm |
تقلید | 120cm | 60cm | |
هدف خاکستری | معمول | 80cm | 50cm |
Mínimo | 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 و اتصال
برای اینکه همه اینها به درستی کار کنند ، شما نیاز دارید رابطی با دنیای خارج. و این از طریق برخی پین ها یا اتصالات حاصل می شود. pinout مدل VL53L0X کاملاً ساده است و فقط 6 پایه دارد. برای ادغام آن با آردوینو ، می توان از طریق I2C ارتباط برقرار کرد.
برای تغذیه آن می توانید اتصال پین ها بنابراین:
- VCC تا 5v از آردوینو
- GND به GND آردوینو
- SCL به یک پین آنالوگ Arduino. به عنوان مثال A5
- SDA به یک پین آنالوگ دیگر. به عنوان مثال A4
- در حال حاضر نیازی به استفاده از پایه های GPI01 و XSHUT نیست.
ادغام با آردوینو
همانطور که برای بسیاری از ماژول های دیگر ، برای VL53L0X شما همچنین کتابخانه دارید (به عنوان مثال یکی برای آدافورت) کد موجود است که هنگام نوشتن می توانید برای کار با توابع خاصی استفاده کنید کد منبع برای مدیریت پروژه شما در Arduino IDE. اگر اولین بار است که با 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); }
در صورت نیاز به کتابخانه خود آدفروت ، شما نمونه های بیشتری از استفاده را دارید ...
اولین کسی باشید که نظر