Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Устройство сканирование местности на 360 ° по технологии LiDAR

    Устройство сканирование местности на 360 ° по технологии LiDAR


    В этой статье мастер расскажет нам, как создать бюджетный вращающийся датчик LiDAR на базе Arduino. Его диаметр составляет всего 30 мм. В нем используются два диаметрально противоположных друг другу датчика. Это решение удваивает скорость сканирования. Все детали корпуса напечатаны на 3D-принтере.

    Но сначала давайте вкратце разберемся, что такое LiDAR.
    LIDAR расшифровывается как «Light Identification Detection and Ranging» — или система световой идентификации, обнаружения и определения дальности. Разница у лидара и радара в том, что вместо СВЧ-радиоволн, как в радаре, здесь используются волны оптического диапазона. По этой технологии делаются оптические дальномеры и беспилотные автомобили, они устанавливаются на БПЛА и на метеорологические установки. Лидары не боятся засветки солнцем, а скорость реакции у них выше, чем у ультразвуковых датчиков.

    Инструменты и материалы:
    Башня
    -Два лазерных датчика расстояния VL53L0X TOF;
    -Повышающий преобразователь MT3608;
    -Модуль драйвера двигателя постоянного тока MX1508;
    -8-контактный разъем;
    -Двигатель N20 6V 60 об / мин;
    -6-проводное контактное поворотное кольцо;
    -Винт M2,5x12 + гайка M2,5;
    Базовая станция
    -Arduino uno;
    -USB-кабель;
    -Адаптер 5V 1A;
    -8-контактный разъем;
    -Штыревой разъем;
    -4 винта M3x12 + 4 гайки M3;
    Остальные материалы
    -Бессвинцовый припой;
    -Термоусадка;
    -Изолента;
    -Клей;
    -3D-принтер;
    -Компьютер;
    -Отвертка;
    -Паяльник;
    -Инструмент для зачистки проводов;
    -Бокорезы;
    -Нож;
    -Напильник;


    Шаг первый: дизайн
    Основные задачи при изготовлении устройства были:
    Низкая стоимость - общая стоимость комплектующих должна быть как можно ниже.
    Минимальный размер - акцент на сохранении минимально возможных размеров.
    Производительность - охват почти 360 ° и высокая скорость сканирования.
    В устройстве используются широко доступные компоненты.

    У мастера уже был опыт изготовления подобных устройств, ультразвуковых (HC-SR04) и ИК, но без вращения. Имеющиеся в продаже вращающиеся датчики LiDAR довольно дороги , поэтому он хотел попробовать разработать датчик с минимальными затратами. В случае успеха он планировал использовать этот датчик для навигации небольших роботов. Датчики VL53L0X, который был выбран для этого устройства, имеют длину волны 940 нм, невидимую для человеческого глаза, но фиксируемую камерой смартфона.
    Основные детали корпуса изготавливаются на 3D-принтере. Материал для печати - нить PLA.

    Для реализации функции поворота датчика мастер использует специальное поворотное кольцо.


    Шаг второй: 3D-печать
    Все файлы для печати можно скачать по этой ссылке. Ссылка содержит файлы .stl, готовые для экспорта в программу для печати, а также файлы .step. Файлы с расширением .step нужны, если пользователь захочет изменить дизайн корпуса.

    Для основного устройства нужно всего 4 напечатанные детали. Они должны быть напечатаны в показанной ориентации. Качество должно быть максимальным, насколько это возможно. Мастер использовал высоту слоя 0,1 мм и очень низкую скорость печати.

    После печати нужно обработать детали, удалив и отшлифовав наплывы и неровности. После сборки большинство компонентов немного болтаются, это сделано намеренно. Мастер использует кусочки малярной ленты и изоленты, чтобы сделать плотную посадку.





    Шаг третий: монтаж
    Схема состоит из двух частей - узел датчиков и базовая часть. 8-контактный разъем обеспечивает связь между ними.
    Провода протягиваются через узкий канал, соединяющий верхнюю и нижнюю части корпуса. Затем их нужно соединить с проводами контактного кольца. Провода необходимо прозвонить и промаркировать.

    Затем контактное кольцо установить в крышку и приклеить. Нижняя половина контактного кольца должна легко вращаться.





    Шаг четвертый: сборка нижней части
    Припаиваем пару проводов к контактным площадкам мотора. Устанавливаем его в держатель мотора внутри печатной части 'carriage.
    Установите плату MX1508. Если посадка неплотная, добавьте малярный скотч или изоленту. Снова снимите плату. Отрежьте провода двигателя до нужной длины и припаяйте их к контактам «Motor A». Припаяйте два провода длиной 10 см к контактам IN1 и IN2, которые будут использоваться для управления приводом двигателя. Установите плату на место.

    Дальше нужно установить повышающий модуль. Перед установкой модуля подключите к контактам VIN + и VIN- провода от адаптера 5 В. Отрегулируйте выходное напряжение на плате 6 В. Отсоедините адаптер. Теперь прикрепите отрезки к контактам VIN + и VIN-, а контакты VOUT + и VOUT- подключите к контактам + и - платы драйвера двигателя.
    Установите разъем, и подключите провода согласно схемы.







    Шаг пятый: установка датчиков
    Припаяйте короткие отрезки провода к контактам VIN, GND, SDL, SCA и X каждой платы VL53L0X. Провода припаиваются на стороне, противоположной стороне самого датчика.

    Каждый датчик VL53L0X имеет 5 подключенных проводов, итого 10 - однако интерфейс контактных колец, через который они должны проходить, имеет только 6 проводов.

    Контакты VIN (5 В), GND, SDA и SCL на платах общие. Соедините эти провода между двумя платами, а затем припаяйте каждый из них к одному из проводов контактного кольца. Каждый провод «X» от каждого VL53L0X должен быть соединен с отдельным проводом контактного кольца.
    Вставьте оба модуля VL53L0X на место, а затем аккуратно упакуйте выступающие провода в пространство между двумя платами.
    Соедините две части устройства.







    Шаг шестой: основание
    LiDAR предназначен для установки на небольшого робота, но для тестирования мастер сконструировал основание. В основании устанавливаются Arduino Uno, разъем для источника питания 5 В, а также 8-контактный штекер для подключения к стойке.
    Корпус состоит из двух частей: основания и крышки, которые соединяются 4 болтами и гайками M3x12.

    Для питания мастер использует USB-кабель длиной 1 м, подключенный к адаптеру 5 В, 1 А. Разрежьте этот провод и подключите красный провод к 5 В и черный к GND. Arduino будет потреблять питание через USB с ПК, но важно соединить контакт GND Arduino с входной линией заземления от адаптера.

    Припаяйте остальные провода к разъему и заизолируйте их.
    Затем разъем подключается к гнезду стойки и две части устройства можно соединить.





    Шаг седьмой: программирование
    Дальше нужно подключить устройство к компьютеру и загрузить код. Для работы устройства так же понадобится библиотека «Adafruit_VL53L0X.h» и программа обработки. Processing - это графическая библиотека с открытым исходным кодом, и она будет использоваться для визуального отображения вывода LiDAR на экране компьютера.

    Скетчи снабжены аннотациями, объясняющими все аспекты их работы.
    После установки ПО запустите прикрепленную программу обработки, и она инициализирует черное прямоугольное полноэкранное окно с небольшим белым кружком в центре. Маленький кружок представляет диаметр самого датчика, а большой кружок представляет максимальный диапазон датчика, установленный / ограниченный кодом Arduino.

    Двигатель начнет вращаться и сделает примерно 10 оборотов. Это этап калибровки, на котором устройство измеряет скорость вращения и вычисляет, сколько показаний снимается за один оборот. Эта информация позже используется при обработке данных.
    После завершения калибровки на экране начнут появляться маленькие точки, показывающие, где LiDAR обнаруживает находящиеся поблизости объекты.

    Ниже можно скачать файл с кодом и посмотреть видео объясняющие некоторые шаги по программированию
    LiDAR_v1.96.ino
    processing_lidar_v1_1.pde

    Шаг восьмой: тестирование
    Чтобы проверить работу LiDAR, он поместил устройство в большую коробку.
    Поместив небольшие объекты в ту же коробку, можно увидеть в результатах теста, как датчик смог успешно определить положение объекта. Для наглядности он наложил изображения коробки поверх результатов соответствующих тестов.




    Шаг девятый: итог
    Работа над проектом мастеру понравилась, но есть некоторые детали, которые можно было бы улучшить.
    Желательно сократить интервал времени, необходимый для считывания показаний датчиков. Изначально цикл чтения занимал более 100 мс. После обновления кода удалось уменьшить это значение до 57 мс, что позволяет записывать гораздо больше данных за один оборот. Мастер думает, что дальнейшее уменьшение

    интервала ограничено датчиком VL53L0X, а не кодом. Возможно поможет установка еще одного Ардуино и закрепление каждого датчика за "своим" устройством.

    Также он думает, что более полную картину окружения можно было бы создать, добавив небольшую временную задержку между записями каждого последовательного вращения. Такой сценарий привел бы к смещению набора данных каждого вращения на несколько градусов и, после нескольких поворотов, к более "плотным" данным.

    Демонстрацию работы устройства, а также его изготовления можно посмотреть на видео.

    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

    Система сигнализации с датчиком движения и передачей информации на смартфон

    9.5
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    9.5
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    9.5
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 9.5 из 10 (голосов: 2 / История оценок)

    Добавить комментарий

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии