Андрей Смирнов
Время чтения: ~17 мин.
Просмотров: 5

Ультразвуковой датчик расстояния Ардуино HC-SR04

1557147803_1.jpgПринцип действия ультразвукового дальномера основан на измерении времени между отправкой и получением звукового импульса. Известно, что скорость звука составляет 343 м/с при температуре 20 ºC, 50% влажности и атмосферном давлении на уровне моря.1557147808_2.jpgСоответственно, звуку потребуется 29,2 микросекунды, чтобы пройти один сантиметр. Поэтому можно получить расстояние исходя из времени между излучением и приемом импульса с помощью следующего уравнения:Расстояние (см) = время (мкс)/29,2/2.Причина деления времени на два заключается в том, что устройство измерило время, необходимое для прохождения и возврата импульса. Поэтому пройденное звуком расстояние в два раза больше того значения, которое требуется измерить.1557147897_3.jpg

Сфера применения

Ультразвуковые дальномеры часто используются при создании роботов, в проектах автоматизации технологических объектов, в промышленности. Но наиболее широкое применение они нашли в сфере строительства и ремонта, а также в производстве мебели. Современная ультразвуковая рулетка демонстрирует хорошую точность измерения и удобна в эксплуатации. Ее нередко используют в быту для подсчета расстояний до тех или иных объектов. Ряд моделей имеют корпус, защищенный от попадания пыли и влаги. Поэтому подобные приборы подходят для сложных условий эксплуатации.

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

Ультразвуковой дальномер своими руками

Можно создать ультразвуковой дальномер своими руками на базе контроллера Arduino. Для этого потребуется датчик, который будет измерять расстояние с помощью ультразвука. На рынке представлено несколько моделей, наиболее популярными и доступными из которых являются HC-SR04 и его улучшенная версия HC-SRF05.

Датчик HC-SR04 — это датчик расстояния, который использует ультразвук для определения расстояния до объекта в диапазоне от 2 до 450 см. Он отличается небольшими размерами, низким энергопотреблением, хорошей точностью и отличной ценой. Модель HC-SR04 является наиболее часто используемым устройством среди ультразвуковых датчиков, главным образом из-за большого количества информации и проектов, доступных в Интернете.Также можно использовать датчик US-016, который аналогичен HC-SR04, но имеет аналоговый выход. Если же необходим выход UART, то подойдет модель US-100. Ультразвуковой датчик HC-SR04 довольно дешевый. На AliExpress его можно приобрести за 0,65 €.
Для отображения измеряемых значений рекомендуется использовать жидкокристаллический дисплей. Но допускается и подключение небольшого светодиодного индикатора с отображением 3-х символов, что будет достаточным для демонстрации значения расстояния в сантиметрах.
Номинальный диапазон измерений датчика HC-SR04 составляет от 2 до 400 см. Однако, на практике фактический диапазон измерений является более ограниченным: от 20 см до 2 метров. Характеристики датчика HC-SR04:

  • Рабочее расстояние: 2 см — 400 см;
  • Частота звука: 40 кГц;
  • Эффективный угол: 15º;
  • Напряжение питания: 5 В;
  • Потребляемый ток: 15 мА.

Датчик HC-SR04 имеет два преобразователя: пьезоэлектрический передатчик и приемник. Принцип работы заключается в следующем: передатчик испускает 8 ультразвуковых импульсов на частоте 40 кГц. Звуковые волны распространяются в воздухе и при обнаружении объекта отражаются от него и улавливаются приемником.Время задержки волны с момента ее излучения до момента ее обнаружения измеряется микроконтроллером и, таким образом, можно рассчитать расстояние к объекту. На функционирование датчика не влияют солнечный свет или цвет материала. Но при обнаружении акустически мягких материалов, таких как ткань или шерсть, могут возникнуть трудности.Для измерения расстояний с помощью датчика HC-SR04 следует подключить его к контроллеру Arduino. Ультразвуковой дальномер, схема подключения которого приведена выше, собрать довольно просто. После этого нужно написать программу, скомпилировать ее и загрузить в контроллер Arduino.Для написания программы рекомендуется использовать библиотеку NewPing, доступную в менеджере библиотек IDE Arduino. Она предоставляет ряд дополнительных функций, в том числе подключение медианного фильтра для устранения шума или использование одного вывода в качестве триггера и эха. Ниже приводится один из вариантов программы с использованием данной библиотеки.

#include <newping> const int UltrasonicPin = 5; const int MaxDistance = 200; NewPing sonar(UltrasonicPin, UltrasonicPin, MaxDistance); void setup() { Serial.begin(9600); } void loop() { delay(50); Serial.print(sonar.ping_cm()); Serial.println("cm"); }</newping>

Датчик имеет следующие разъемы:

  • Vcc — для подключения цепи +5В.
  • Trig — цифровой вход. На него подается сигнал для начала измерительного цикла. Обычно сигнал логической единицы устанавливают на 10 мкс.
  • Echo — цифровой выход. Когда измерение закончится, на данном выходе появится сигнал логической единицы на время, соответствующее измеренному расстоянию.
  • GND — для подключения цепи -5В.

Важным нюансом, который следует учитывать, чтобы избежать ошибочных результатов, является время между циклами измерения. Рекомендуется делать задержку не менее 60 мс перед каждым измерением.<tx><ttl> статья из рубрики </ttl></tx><txt>Сохраните эту страницу в своей соц. сети и вернитесь к ней в удобное время.</txt>ДОБАВИТЬ КОММЕНТАРИЙ<ttl> Другие статьи про измерительные рулетки </ttl>Электронная измерительная рулетка: особенности и выбор Измерительный прибор нового поколения, применяемый как в быту, так и в профессиональной деятельности. Отличается простотой использования и точностью измерения. Использование строительной рулетки (электронной и механической) Рулетка – популярный прибор для измерения ширины, длины и высоты объектов. Рулетки бывают электронные и механические. Для правильного использования нужно учесть все нюансы и конструкцию. Как сделать рулетку: ремонт и принцип действия Измерительная рулетка — вспомогательный прибор для выполнения строительных и монтажных работ. Но, как и любой другой инструмент, строительная рулетка может ломаться. Причины могут быть разными, как и способы их решения.

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

Принцип действия

Датчики ультразвукового излучения используются для обнаружения объектов, контроля их движения и измерения расстояний до них. Принцип действия состоит в следующем.  Прибор излучает звуковые колебания с частотой больше 20000 герц.  При встрече с объектом они отражаются, попадают в приемник, и фиксируется.  Электронная схема отсчитывает время, которое прошло с момента импульса до момента приема эха. Расстояние высчитывается по формуле: R= tV/2, где t – время между импульсом и приемом эха, V —   скорость звука. Произведение делится на 2, потому что звуковые волны проходят путь, равный двойному расстоянию между объектом и датчиком.  Скорость звука в различных средах неодинаковая: в воздухе это 331 м/сек, в дереве –1500, в воде – 1430.

Расстояние, на котором обнаруживаются объекты – до 8 метров, при условии, что у них твердая и гладкая поверхность.  Если они изготовлены из мягкого, пористого материала, поглощающего звук – расстояние сокращается.

Описание и назначение

Датчик ультразвука — техническое устройство, которое состоит из нескольких основных частей:

Излучатель

Наиболее распространены два вида излучателей: магнитострикционный и пьезоэлектрический.

Магнитострикционный — ультразвуковые колебания возникают при изменении линейных размеров ферромагнетика в переменном магнитном поле.

Достоинства:

  • надежность — не менее 10 000 часов непрерывной работы;
  • коэффициент полезного действия 80%.

Недостатки:

  • сложная конструкция;
  • необходимо водяное охлаждение.

Пьезоэлектрический – ультразвуковые волны возникают при изменении линейных размеров диэлектрика, выполненного в виде мембраны, в переменном электрическом поле.

Достоинства:

  •  простота конструкции;
  • получение ультразвука широкого частотного диапазона;
  • незначительные размеры.

Недостатки:

  • низкая мощность излучения.
  • В ультразвуковых датчиках используются в основном пьезоэлектрические излучатели.

Приемник

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

По конструкции приемо-передающей системы выделяют два типа датчиков:

  • с одной головкой

В данной схеме передатчик и приемник — единый элемент. Мембрана, излучив ультразвук, принимает отраженный сигнал и формирует электрический сигнал. Это упрощает конструкцию, уменьшает размер.  Однако есть недостаток. Мембрана после излучения не может сразу перейти к приему – необходимо время, чтобы колебания погасли. Этот период получил наименование «мертвое время». Расстояние до приемника, ближе которого отраженный объектом сигнал будет попадать на мембрану в мертвое время, называется слепой зоной. На таком расстоянии прибор не фиксирует сигнал, и объект не обнаружиться.  С этим явлением борются.  При помощи настроек и специальных режимов работы удается уменьшить слепую зону в 2 раза, но полностью устранить ее невозможно.

  • с двумя головками

Передатчик и приемник – отдельные части конструкции.  У прибора нет слепой зоны, однако требуется настройки элементов для совпадения частоты передачи и приема сигнала.

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

Примеры

Ультразвуковой датчик Lego Mindstorm EV 3

Входит в робототехнический конструктор Lego Mindstorm EV 3. Основная функция — измерение расстояния до объектов, находящихся в поле зрения сенсора.

Выполнен по схеме с двумя головками. Одна – пьезоэлектрический преобразователь-излучатель AW8T40,  другая —  пьезоэлектрический преобразователь-приемник AW8R40. Головки размещены в общем корпусе вместе с микроконтроллером   и микросхемами усиления сигнала. Датчик через кабель подключается к центральному микрокомпьютеру EV 3.

Характеристики:

  • Частота излучения – 40000 герц.
  • Дистанция обнаружения — до 255 см.
  • Слепая зона — 3 см.
  • Точность измерения — +/- 1 см.
  • Вес – 0,05 кг.

Лучше обнаруживает объекты с гладкой, хорошо отражающей звуковые волны поверхностью. Объекты, покрытые мягкой тканью, могут не обнаруживаться датчиком.  Затруднено фиксирование объектов сферической формы, либо имеющих наклонные поверхности.

Работает в двух режимах:

  •  режим определения расстояния;
  • режим обнаружение другого ультразвукового излучателя.

Датчик сконструирован для использования в наборе Lego Mindstorm EV 3 и автоматически определяется программным обеспечением микрокомпьютера. Устанавливается на роботах, собранных из элементов набора.

Ультразвуковой датчик HC-SR04

Датчик также выполнен по двухголовочной схеме и состоит из пьезоэлектрического преобразователя-излучателя TCT40-16T, и пьезоэлектрического преобразователя-приемника TCT40-16R. Они размещены на плате, размером 45х25 мм, с обратной стороны которой смонтированы микросхемы и другие элементы. Внизу платы выведены четыре контакта: 2 – питания, 2 – цифровые вход и выход.

Характеристики:

  • Напряжением — 5 В.
  • Частота ультразвука — 40 кГц
  • Дистанция обнаружения — до 400 см.
  • Слепая зона – 2 см.
  • Минимальный разрешение – 0,3 см.
  • Эффективный угол наблюдения — 15°.
  • Вес- 8,3 гр.

Обычно он интегрируется с   аппаратной платформой Arduino, но может подключаться и к другим микроконтроллерам. Благодаря открытой архитектуре и программному коду Arduino, HC-SR04 широко используется в любительских и профессиональных проектах: конструирование робототехники, создание измерительных приборов и сторожевых систем и т.п.

Работает только в активном режиме – не определяет посторонние источники ультразвука.

Востребованности прибора способствует цена – около 100 рублей.

Применение сенсоров ультразвукового излучения в робототехнике

Главная задача, решаемая в робототехнике с помощью датчиков этого вида — ориентирование робота на местности, предотвращение столкновений и обеспечение обхода препятствий.

Достоинства систем ориентации, построенных на ультразвуковых датчиках:

  • цена;
  • проста в изготовлении, так как монтируется из легкодоступных элементов;
  • при интегрировании в роботизированные устройства не требуется менять схему управления робота;
  • универсальность;
  • нечувствительность к неблагоприятным факторам окружающей среды: задымленность, запыленность, отсутствие света, высокая влажность.

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

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

Другие сферы применения

Ультразвуковые сенсоры применяют в различных областях:

  • Для контроля физико-химических характеристик веществ. Принцип действия основан на сравнения скорости звука в проверяемом веществе с эталонным – расхождение указывает на изменения в веществе.
  • Для контроля расхода жидких веществ в трубопроводах. Принцип действия основывается на сравнении скорости ультразвуковых колебаний по направлению потока и против него. Метод не требует помещение датчика внутрь трубопровода — сенсор крепится с наружной стороны.
  • Для определения уровней жидких или сыпучих материалов. Принцип действия основан на отражении ультразвука, посылаемого датчиком, от границы раздела «газ – жидкий или сыпучий материал». При понижении уровня время прохождения колебаний меняется, и прибор сигнализирует об этом.
  • Для охраны помещений. Принципов действия несколько:
  • охранный датчик испускает ультразвуковое излучение. При появлении в зоне обнаружение объекта отраженный сигнал принимается датчиком. Далее он действует по выбранному алгоритму: включает сирену, подает сигнал на пульт охраны и т.д.;
  • сигнал охранного датчика попадает на приемник, расположенный на некотором расстоянии. При прохождении объекта между приемником и излучателем сигнал прерывается, и сенсор действует по приведенному алгоритму.

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

  • Пожарная безопасность. Ультразвуковой пожарный извещатель действует по тому же принципу, что и охранный. Реагирует не на объект, а на движение нагретого огнем воздуха. Отличается высокой чувствительностью.    Измерители температуры газов и пожарные сигнализаторы, основанные на изменении скорости распространения при изменении температуры среды или появления дыма.

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

  • Медицина. Проведение ультразвукового исследования для диагностики внутренних патологий. Принцип работы датчика основан том, что скорость прохождения ультразвуковых волн в тканях человека. Отраженный сигнал меняет длину волны в различных тканях организма. Визуализация сигнала на экране прибора дает возможность увидеть строение внутренних органов человека.

Дальномер — это устройство для измерения расстояния до некоторого предмета. Дальномер помогает роботам в разных ситуациях. Простой колесный робот может использовать этот прибор для обнаружения препятствий. Летающий дрон использует дальномер для баражирования над землей на заданной высоте. С помощью дальномера можно даже построить карту помещения, применив специальный алгоритм SLAM. DSC00603_.jpg

1. Принцип действия

На этот раз мы разберем работу одного из самых популярных датчиков — ультразвукового (УЗ) дальномера. Существует много разных модификаций подобных устройств, но все они работают по принципу измерения времени прохождения отраженного звука. То есть датчик отправляет звуковой сигнал в заданном направлении, затем ловит отраженное эхо и вычисляет время полета звука от датчика до препятствия и обратно. Из школьного курса физики мы знаем, что скорость звука в некоторой среде величина постоянная, но зависящая от плотности среды. Зная скорость звука в воздухе и время полета звука до цели, мы можем рассчитать пройденное звуком расстояние по формуле: s = v*t где v — скорость звука в м/с, а t — время в секундах.  Скорость звука в воздухе, кстати, равна 340.29 м/с. Чтобы справиться со своей задачей, дальномер имеет две важные конструктивные особенности. Во-первых, чтобы звук хорошо отражался от препятствий, датчик испускает ультразвук с частотой 40 кГц. Для этого в датчике имеется пьезокерамический излучатель, который способен генерировать звук такой высокой частоты. Во-вторых, излучатель устроен таким образом, что звук распространяется не во все стороны (как это бывает у обычных динамиков), а в узком направлении. На рисунке представлена диаграмма направленности типичного УЗ дальномера. HC-SR04_polar_pattern.jpg Как видно на диаграмме, угол обзора самого простого УЗ дальномера составляет примерно 50-60 градусов. Для типичного варианта использования, когда датчик детектирует препятствия перед собой, такой угол обзора вполне пригоден. Ультразвук сможет обнаружить даже ножку стула, тогда как лазерный дальномер, к примеру, может её не заметить. Если же мы решим сканировать окружающее пространство, вращая дальномер по кругу как радар, УЗ дальномер даст нам очень неточную и шумную картину. Для таких целей лучше использовать как раз лазерный дальномер. Также следует отметить два серьезных недостатка УЗ дальномера. Первый заключается в том, что поверхности имеющие пористую структуру хорошо поглощают ультразвук, и датчик не может измерить расстояние до них. Например, если мы задумаем измерить расстояние от мультикоптера до поверхности поля с высокой травой, то скорее всего получим очень нечеткие данные. Такие же проблемы нас ждут при измерении дистанции до стены покрытой поролоном. Второй недостаток связан со скоростью звуковой волны. Эта скорость недостаточно высока, чтобы сделать процесс измерения более частым. Допустим, перед роботом есть препятствие на удалении 4 метра. Чтобы звук слетал туда и обратно, потребуется целых 24 мс. Следует 7 раз отмерить, прежде чем ставить УЗ дальномер на летающих роботов.

2. Ультразвуковой дальномер HC-SR04

В этом уроке мы будем работать с датчиком HC-SR04 и контроллером Ардуино Уно. Этот популярный дальномер умеет измерять расстояние от 1-2 см до 4-6 метров. При этом, точность измерения составляет 0.5 — 1 см. Встречаются разные версии одного и того же HC-SR04. Одни работают лучше, другие хуже. Отличить их можно по рисунку платы на обратной стороне. Версия, которая работает хорошо выглядит так:

А вот версия, которая может давать сбои:

3. Подключение HC-SR04

Датчик HC-SR04 имеет четыре вывода. Кроме земли (Gnd) и питания (Vcc) еще есть Trig и Echo. Оба этих вывода цифровые, так что подключаем из к любым выводам Ардуино Уно:

HC-SR04 GND VCC Trig Echo
Arduino Uno GND +5V 3 2

Принципиальная схема устройстваsonic_схема.jpgВнешний вид макетаsonic_bb-1024x543.png

4. Программа

Итак, попробуем приказать датчику отправить зондирующий ультразвуковой импульс, а затем зафиксируем его возвращение. Посмотрим как выглядит временная диаграмма работы HC-SR04. HC-SR04_sequence_chart.png На диаграмме видно, что для начала измерения нам необходимо сгенерировать на выводе Trig положительный импульс длиной 10 мкс. Вслед за этим, датчик выпустит серию из 8 импульсов и поднимет уровень на выводе Echo, перейдя при этом в режим ожидания отраженного сигнала. Как только дальномер почувствует, что звук вернулся, он завершит положительный импульс на Echo. Получается, что нам нужно сделать всего две вещи: создать импульс на Trig для начала измерения, и замерить длину импульса на Echo, чтобы потом вычислить дистанцию по нехитрой формуле. Делаем.

int echoPin = 2;   int trigPin = 3;      void setup() {       Serial.begin (9600);       pinMode(trigPin, OUTPUT);       pinMode(echoPin, INPUT);   }      void loop() {       int duration, cm;       digitalWrite(trigPin, LOW);       delayMicroseconds(2);       digitalWrite(trigPin, HIGH);       delayMicroseconds(10);       digitalWrite(trigPin, LOW);       duration = pulseIn(echoPin, HIGH);       cm = duration / 58;      Serial.print(cm);       Serial.println(" cm");       delay(100);  }

Функция pulseIn замеряет длину положительного импульса на ноге echoPin в микросекундах. В программе мы записываем время полета звука в переменную duration. Как мы уже выяснили ранее, нам потребуется умножить время на скорость звука: s = duration * v = duration * 340 м/с Переводим скорость звука из м/с в см/мкс: s = duration * 0.034 м/мкс Для удобства преобразуем десятичную дробь в обыкновенную: s = duration * 1/29 = duration / 29 А теперь вспомним, что звук прошел два искомых расстояния: до цели и обратно. Поделим всё на 2: s = duration / 58 Теперь мы знаем откуда взялось число 58 в программе! Загружаем программу на Ардуино Уно и открываем монитор  последовательного порта. Попробуем теперь наводить датчик на разные  предметы и смотреть в мониторе рассчитанное расстояние.

Задания

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

  1. Строительный дальномер. Программа каждые 100мс измеряет расстояние с помощью дальномера и выводит результат на символьный ЖК дисплей. Для удобства полученное устройство можно поместить в небольшой корпус и запитать от батареек.
  2. Ультразвуковая трость. Напишем программу, которая будет «пищать» зуммером с различной частотой, в зависимости от измеренного расстояния. Например, если расстояние до препятствия более трех метров — зуммер издает звук раз в пол секунды. При расстоянии 1 метр — раз в 100мс. Менее 10см — пищит постоянно.

Заключение

Ультразвуковой дальномер — простой в использовании, дешевый и точный датчик, который отлично выполняет свою функцию на тысячах роботов. Как мы выяснили из урока, у датчика есть недостатки, которые следует учитывать при постройке робота. Хорошим решением может стать совместное использование ультразвукового дальномера в паре с лазерным. В таком случае, они будут нивелировать недостатки друг друга.1+Используемые источники:

  • https://instrumentoria.ru/100-ultrazvukovoy-dalnomer.html
  • https://prodatchik.ru/vidy/datchik-ultrazvukovoj/
  • https://robotclass.ru/tutorials/arduino-sonic-hc-sr04/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации