Ультразвуковой датчик расстояния. Принцип работы и устройство. Получение информации. Инфракрасный датчик расстояния. Датчик линии

Мобильная робототехника

Сегодня мы подключим и запрограммируем несколько типов датчиков расстояния, которые применяются в мобильной робототехнике. Начинаем.
Глоссарий
Для успешного освоения материала рекомендуем вам изучить следующие понятия:
Ультразвуковой датчик
Устройство, которое генерируют или воспринимает ультразвуковую энергию
Коннектор
Устройство для соединения электрических цепей между собой
Индикатор
Техническое средство или вещество, предназначенное для установления наличия определенной физической величины или определения ее порогового значения
Инфракрасный датчик
Определяет расстояние по отраженному лучу в инфракрасном спектре. Результатом измерений является аналоговый сигнал, пропорциональный расстоянию до объекта
Видеолекция
Конспект

Ультразвуковой датчик
Рассмотрим ультразвуковой датчик Ping от компании Prolax:
  • обеспечивает точные бесконтактные измерения расстояния от 2 см до 3 м
  • работает от 5 Вольт
  • контролируется через 1 цифровой пин
  • способен передавать все данные при помощи одного сигнального выхода
Принцип работы датчика схож с ориентацией в пространстве летучих мышей. У него есть своего рода динамик и микрофон. При помощи динамика он посылает ультразвуковые импульсы, чтобы, вернувшись обратно к датчику, замерить длину до отражаемого объекта.

Отличие этого ультразвукового датчика от аналогичных — высокая точность измерения. У датчика есть три ножки, при помощи которых происходит подключение к данной модели. Если считать слева направо, то первая ножка — это земля, вторая — питание, третья — сигнал.
Измерение дистанции
Для измерения необходимо:
1. переводить цифровой порт в режим записи

2. кратковременно посылать звуковой импульс

3. перевести цифровой порт в режим чтения, чтобы прослушать
Эхо нашего импульса — тот интервал времени, который шел звук из динамика до объекта и, ударившись от него, создал эхо, которое вернулось к нам в микрофон, будет условной дистанцией. Теперь, зная скорость звука и время, через которое к нам вернулся звук, мы можем посчитать дистанцию до интересующего нас объекта.
Создание подпрограммы
1. Открываем LabVIEW.

2. Делаем New VI.

3. Правой кнопкой мыши вызываем функциональное меню.

4. Используем While loop — это цикл; используем Flat Sequence Structure — это структура, служит для правильного указания очереди.

5. FPJ IO оставляем на закрепке.

6. Подключаем myRIO в коннектор А, в порт DIO-0.
Для этого:
  • выбираем константу IO
  • выбираем пин
  • коннектор, DIO-0 размещаем за рамки цикла
  • подключаем и проводим в цикл
7. Размещаем метод в нашу структуру последовательности.
Важно
После того, как вы подключите коннектор к методу, в методе появятся два варианта. Мы выбираем Set output enable. В появившемся пункте есть зеленая точка. Правой кнопкой мыши нажимаем на нее. Затем Create constant, и переводим в True
8. Достаем IO Node и продолжаем последовательно подключать.

9. Меняем режим IO Node выхода.

10. Создаем промежуток задержки перед тем, как посылать этот звуковой импульс.

11. Генерируем сигнал.

12. Выключаем подачу сигнала.
Дальше нужно закрыть порт в режиме записи и перевести сам порт в режим чтения. Теперь нужно сделать так, чтобы включился микрофон и мы, собственно, слушали эхо звука. Для этого:
  • достаем IO Method
  • подключаем его
  • выбираем Set Output Enable
  • добавляем константу
  • ставим False
Возвращение звука
Нам нужно создать механизм, который будет отслеживать возвращения нашего звука. После того, как мы подали импульс, нам нужно начать отсчитывать время, иначе говоря — задержку. Реализуем это через циклы.

Первый цикл будет служить стартом отсчета времени, а второй — отсчитывать тот промежуток времени, в который возвращается наш звуковой сигнал.
1. Добавляем IO Node.

2. Включаем.

3. Организуем задержку.
Счетчиком будет являться индикатор, который отслеживает итерации цикла, то есть, одна итерация цикла — это одна условная единица измерения.
Надо отсчитывать время, в которое True переведется в False. Для этого:
  • ставим логическую операцию «нет»
  • добавляем индикатор, который будет служить показателем нашей дистанции
  • добавляем False на цикл
  • запускаем нашу программу на компиляцию
Инфракрасный датчик
1. Обеспечивает бесконтактное измерение расстояния от 2 см до 40 и от 10 до 80

2. Работает от 5 Вольт

3. Передает информацию о дистанции посредством аналоговой связи

4. Имеет специальный инфракрасный объектив (1), который принимает отраженный инфракрасный луч на специальную ПЗС-матрицу

5. На основе данных ПЗС-матрицы определяет угол отражения (альфа), который затем используется для расчета дальности

6. Значение дальности подается на аналоговый выход сенсора, на котором может быть считан нашим микроконтроллером
У данного датчика три ножки. Если считать слева направо, то первая ножка — это сигнал, вторая — земля, и третья ножка — это питание. Датчик постоянно при помощи аналогового порта посылает нам значения в вольтах, которые подразумевают дистанцию.
Программа
В программе нам потребуется:
1. Сам выход, посмотреть его мы можем в менеджере проектов.
2. While loop.

3. Индикатор.

Для этого:

  • подводим к нашему коннектору, именно на синюю точку
  • назовем его Sharp AR
  • добавим константу, чтобы цикл здесь работал
  • запускаем на компиляцию (сохраняем, указываем локальный сервер)
Тестирование
Показания ультразвукового датчика выглядят намного стабильнее, чем инфракрасного. Однако, это не совсем верно, так как в среде, где много объектов, ультразвуковой датчик может теряться, обнаруживая посторонние предметы. Это связано с тем, что звук распространяется в виде волны.
Для устранения возможных помех сенсоры Sharp излучают инфракрасный сигнал с модулированной частотой. Это позволяет практически полностью застраховаться от помех от окружающего света. Также применяют различного вида фильтры, например, фильтр медиан поможет избавиться от излишнего шума.
Итак, подведем итоги. Сегодня мы узнали, какие датчики дистанции применяются в робототехнике, как их подключить и запрограммировать на графическом языке LabVIEW. В следующем уроке Дюбанов Андрей расскажет вам о типах колесных баз, о подъемных механизмах. А пока предлагаем ответить на несколько вопросов, чтобы закрепить полученные знания.
Интерактивное задание
Тест
Для закрепления полученных знаний пройдите тест
Стартуем!
Сколько вольт нужно подключить для ультразвукового датчика?
Дальше
Проверить
Узнать результат
Сколько ножек у ультразвукового датчика?
Дальше
Проверить
Узнать результат
В каком диапазоне работает ультразвуковой датчик?
Дальше
Проверить
Узнать результат
К сожалению, вы ответили неправильно
Прочитайте лекцию и посмотрите видео еще раз
Пройти еще раз
Неплохо!
Но можно лучше. Прочитайте лекцию и посмотрите видео еще раз
Пройти еще раз
Отлично!
Вы отлично справились. Теперь можете ознакомиться с другими компетенциями
Пройти еще раз