US-100 ультразвуковой модуль для бесконтактного измерения расстояния от 2 см ~ до 4.5 м., с широким диапазоном напряжения питания 2.4 ~ 5.5V, потребляемый ток в режиме ожидания до 2mA, встроенный температурный датчик для коррекции результатов измерений, два режима работы GPIO и UART (скорость двоичной передачи 9600 битов в секунду). Для управления режимами работы служит перемычка на плате (2Pin), когда перемычка разомкнута, включен режим GPIO, когда перемычка установлена, включен последовательный режим.
- Напряжение питания: DC 2.4V~5.5V
- Ток в режиме ожмдания :2mA
- Рабочаа температура: -20~+70°C
- Выход: Уровень или UART(выбирается перемычкой)
- Угол обзора: <15°
- Измеряемое расстояние: 2cm-450cm
- Погрешность измерения: 0.3cm+1%
- Конфигурация UART:9600,1,1,8,nul
Описание
1. Размеры: 45*20*1.6 мм
2. Напряжение питания постоянного тока: 2,4 Вольт -5,5 Вольт
3. Потребляемый ток в режиме приема: менее 2 ма
4. Угол обзора: менее 15 градусов
5. Дальность обнаружения: 2 см-450 см
6. Точность определения расстояния до объекта: 3 мм + 1%
7. Полная совместимость с модулями Arduino
8. Температурная стабилизация модуля
9. Рабочая температура: от -20 до +70 градусов
10. Выход: импульс пропорциональный дистанции до объекта или цифровой код через последовательный порт UART (устанавливается перемычкой)
11. Конфигурация последовательного порта UART: скорость 9600 бод, 1 стартовый бит, 1 стоповый бит, 8 бит данных, без проверки четности, без управления потоком.
Описание интерфейса
Этот модуль имеет 5 контактный разъем и два режима работы интерфейса, режимы выбираются перемычкой на тыльной стороне модуля.
Нумерация выводов модуля читается слева направо 1,2,3,4,5 если смотреть с фронтальной стороны модуля:
Выбор режима интерфейса перемычкой (шаг перемычки 2.54мм): при замыкании перемычкой контактов модуля его вход 2 (Trig/TX) переходит в режим (TX) приема цифрового кода в формате последовательного порта UART, при снятии перемычки вход 2 (Trig/TX) модуля переходит в режим (Trig — тригера) приема запускающего импульса.
ultrasonic sonar module 1r0
Приветствую всех. Попал мне в руки недавно ультразвуковой датчик, который измеряет расстояние до объекта – US-100. Подобную вещь можно приобрести на торговых интернет площадках. На рынках своего города таких игрушек в продаже не удалось найти. Было решено построить схему на основе такого датчика на распространенном микроконтроллере AVR ATmega8. Назначение устройства состоит в измерении расстояния до объекта, а также измерения температуры. К слову о температуре. Модель US-100 это ультразвуковой датчик с температурной компенсацией. Скорость распространения звуковой (ультразвуковой) волны при разных температурах будет отличаться. Измерение датчика основано на времени прохождения звуковой волны от объекта до приемника датчика. Температурная компенсация, скорее всего не полностью, устранит погрешность вызванную температурой окружающей среды.
При рассмотрении печатной платы, можно сделать заключение об источнике измерения температуры: термометр находится в микросхеме или измерение температуры идет за счет диода, расположенного на краю платы. При измерении температуры диодом используется его P-N переход и связано это с температурным коэффициентом проводимости. С большой уверенностью это второй вариант, так как при работе ниже приведенной схемы при касании пальцами этого диода, температура изменяется. Так что при измерении лучше всего стараться руками не трогать датчик, чтобы получить более точные данные о расстоянии.
Для измерения датчик использует 2 головки, напоминающие большой микрофон или маленький динамик. По сути это и то, и то. Одна из головок излучает ультразвуковую волну, вторая принимает отраженный сигнал ультразвуковой волны. По времени прохождения определяется пройденное расстояние. По видимому ограничение измеряемого расстояния в 4,5 метра обусловлена мощностью излучателя.
Что относительно общения датчика с микроконтроллером, модель US-100 имеет два возможных интерфейса, выбираемые перемычкой на задней стороне платы датчика. Если перемычка стоит выбран интерфейс UART, если перемычка снята, используется интерфейс или режим работы GPIO. В первом случае для общения с микроконтроллером используется либо аппаратные средства микроконтроллера, либо программные. Во втором случае принимать и передавать данные придется только вручную. В схеме устройства задействуем более простой режим работы с использованием UART интерфейса.
Параметры ультразвукового датчика US-100:
- напряжение питания – 2,4 – 5,5 вольт постоянного напряжения
- потребляемый ток в режиме ожидания – 2 мА
- рабочая температура – минус 20 – плюс 70 С
- угол обзора – 15 градусов
- интерфейс – GPIO или UART
- измеряемое расстояние – от 2 см до 450 см
- погрешность – плюс минус 3 мм + 1%
Конфигурация UART для датчика: 9600 baud rate, 8 data bits, parity: none, 1 stop bit.
Перейдем к схеме устройства.
Схема ультразвукового дальномера построена на основе микроконтроллера Atmega8 и ультразвуковом датчике US-100. Питание схема берется от линейного стабилизатора напряжения L7805, его можно заменить отечественным аналогом КР142ЕН5А, конденсаторы в обвязке стабилизатора обязательны, хотя может работать и без них. Некоторые стабилизаторы просто не запускаются без конденсаторов. Линейный стабилизатор можно заменить на импульсный, например MC34063 или LM2576, но придется немного изменить схему согласно подключению импульсных стабилизаторов в схеме. Конденсаторы С5-С7 необходимы для обеспечения стабильности работы микроконтроллера и датчика. Номиналы всех конденсаторов можно варьировать в разумных пределах. Резистор R2 необходим для предотвращения самопроизвольного перезапускания микроконтроллера и служит подтяжкой положительного питания на вывод reset. Резистор R1 регулирует контраст LCD-дисплея. В качестве информационной панели был взят жидкокристаллический (ЖК или по другому LCD) экран SC1602, 2 строки по 16 символов на основе контроллера HD44780. Заменить LCD-дисплей можно на любую другую модель на базе контроллера HD44780 с таким же количеством строк и символов в строке или больше. На печатной плате LCD-дисплея есть возможность задействовать подсветку экрана двумя способами – либо при помощи допаивания резистора и перемычки на самой плате экранчика или при помощи специальных выводов, обычно обозначенных как “А” и “К”. Анод и катод соответственно. К ним через токоограничительный резистор подключается напряжение питания схемы 5 вольт. В данной схеме задействован первый способ, поэтому на схеме не обозначено. Вместо тактовых кнопок S1 – S5 можно использовать любые другие кнопки. Светодиод LED1 можно использовать любой подходящий по цвету или заменить его на транзистор и управлять какой-либо другой схемой в зависимости от превышения дистанции от датчика. В зависимости от примененного типа транзисторов (P-N-P или N-P-N) при превышении лимита дистанции или расстояния выход будет иметь положительное или отрицательное напряжение, то есть при высоком логическом сигнале микроконтроллера транзистор N-P-N будет открыт, а транзистор P-N-P закрыт. В прошивку микроконтроллера заложен параметр, при котором при превышении обозначенного лимита расстояния на вывод PB0 будет подаваться высокий логический уровень напряжения. В данной схеме светодиод просто сигнализирует о превышении. Данный сигнал дублируется на LCD-дисплее подчеркиванием данный о лимите дистанции. Данный параметр можно регулировать кнопками S1, S2. При нажатии происходит увеличение или уменьшение на 10 мм. Информация о дистанции на дисплей выводится также в миллиметрах. Информация о температуре окружающей среды выводится на дисплей в градусах Цельсия. К статье прилагается два варианта прошивок: 1) непрерывное измерение параметров дистанции и температуры (интервал примерно 0,2 секунды), при этом кнопки S4, S5 не задействуются, 2) при нажатии кнопок S4, S5 происходит однократный запрос к датчику на измерение температуры и расстояния. Видео к статье сделано с прошивкой номер 1. Для программирования микроконтроллера необходимо прошить фьюз биты:
Новичкам рекомендую пользоваться шестнадцатеричными значениями фьюз битов HIGH и LOW, чтобы не напортачить с расстановкой галочек. Скриншот из AVRstudio (есть отличия от дудки, sina prog и других программ для прошивки микроконтроллеров). Если Вы используете программы для прошивки микроконтроллеров AVR, в которых нет ввода параметров фьюзов, то можно воспользоваться фьюз калькуляторами для перевода галочек в шестнадцатеричную форму и наоборот.
Схема была собрана и проверена на макетной плате для Atmega8:
Конструктивно схему можно оформить, например, в виде пистолета с лазерным указателем направления ультразвукового датчика. Единственно ограничено измеряемое расстояния, при превышении которого погрешность резко возрастает. Также ограничение касается положения и размера предмета, до которого измеряется расстояние – расстояние до слишком мелких объектов или объектов находящихся под большим углом будет искажено. Идеальное сочетание достаточно большие предметы, находящиеся перпендикулярно направлению датчика. Погрешность измерений примерно соответствует заявленным производителем. Данное устройство при дальнейшем развитии можно использовать как обнаружитель препятствий, наподобие парктроника в комнатных условиях, так как на улице ультразвуковые головки данного датчика будут забиваться грязью.
Предлагайте свои идеи и варианты применения, наиболее интересные идеи в будущем могут быть реализованы.
К статье прилагаю 2 варианта HEX прошивок для МК, проект в Proteus (версия 7.7, ультразвукового датчика US-100 в базе proteus’а нет, но задействован UART отладчик), а также небольшое видео, демонстрирующее работу схемы.
Список радиоэлементов
Оценить статью
Средний балл статьи: 0
Проголосовало: 0 чел.
Приветствую всех. Продолжая играться с ультразвуковым датчиком US-100, родилось новое устройство на его основе – радар скорости движущихся объектов. Прошерстив интернет в поисках вдохновения на функционал в это устройство, открыл для себя, что подобного радиолюбители особо вообще не делали еще. Конечно, точность измерений, возможно не всегда соответствует действительности, в ситуации, требующей ответственности и точности не стоит применять данное устройство, но для любительских целей получается дешево и сердито. Например, если вас постоянно беспокоит вопрос о том с какой же скоростью бегает ваш любимый питомец, кот или собака, то вам однозначно сюда.
Серьезному тестированию устройство не подвергалось, однако в “лабораторных” условиях все более менее соответствует действительности. Наибольшая точность получается только в случае, если движущийся объект находится на одной линии с измерителем. Если же объект находится под некоторым углом относительно измерителя, в зависимости от величины угла, показания начнут отклоняться от действительных значений, это стоит учитывать, хотя исходя из целей использования, не стоит сильно загоняться по этому поводу.
Устройство собирается по такой схеме:
По традиции схема собрана на народном микроконтроллере Atmega8. Можно применять контроллер как в DIP корпусе, так и в смд исполнении tqfp корпусе. Резистор R3 служит подтяжкой положительного напряжения к выводу reset микроконтроллера для предотвращения самопроизвольного перезапуска микроконтроллера. В качестве устройства индикации информации используется LCD-дисплей на базе микроконтроллера HD44780 – 2 строки по 16 символов – SC1602. В данном случае подсветка дисплея подключена на плате самого дисплея резистором и перемычкой предусмотренными производителем. В таких дисплеях также предусмотрена возможность отдельного подключения подсветки через разъемы, обозначенные “А” и “К” – анод и катод соответственно. Подключается как обычный светодиод, через токоограничительный резистор порядка 20 – 30 Ом. Подстроечный резистор R1, подключаемый к выводам дисплея, служит для регулировки его контрастности. В небольших или разумных пределах его номинал можно варьировать. Тактовые кнопки для управления устройством можно заменить на любые другие. Светодиод LED1 служит для индикации условия превышения измеряемой скорости относительно установленного лимита. Можно применять любой светодиод или убрать его, применив вывод микроконтроллера для управления чем-либо другим. R4 – токоограничительный резистор для светодиода. Питание схемы осуществляется DC-DC преобразователем на микросхеме MC34063. Включение этой схемы стандартное для понижающего преобразователя. Резистор R6 задает максимальный ток на выходе преобразователя – 500 мА. Чтобы подобрать номинал в 0,3 Ом, можно использовать подключение нескольких резисторов в параллель. Резисторы R2 и R5 задают выходное напряжение преобразователя, отклонение от номиналов не желательно совсем. Конденсатор С3 задает частоту преобразования, при отсутствии номинала, заданного в схеме можно использовать наиболее близкие. Дроссель L1 также можно варьировать по номиналу (но не менее 65 мкГн). Сглаживающие и фильтрующие конденсаторы С1, С2 и С4, С5 можно варьировать в больших пределах. 1N5819 – диод Шотки, при замене важно учитывать напряжение. В качестве датчика для измерения скорости используется ультразвуковой датчик расстояния US-100. Данный УЗ датчик используется с интерфейсом приема и передачи данных по UART. Данный режим выбирается установкой перемычки на обратной стороне датчика. Что касается вопроса о том, что этот датчик измеряет расстояние, а не скорость, то просто нужно вспомнить начальные классы школы и задачки по математике про движущиеся объекты, про скорость в целом и ее формулу. А именно скорость равна пройденному расстоянию, деленному на время прохождения этого расстояния. Исходя из этой информации чтобы измерить скорость нам нужно знать проходимое расстояние (чем и занимается по сути датчик US-100) и время за которое это расстояние проходится. Возможно два варианта проведения измерений: взять за постоянное значение проходимое расстояние (например 1 метр или 2 метра) и измерять время, за которое это расстояние преодолевается, или вариант номер два – взять за постоянное значение время и измерять расстояние, преодолеваемое за это время. Все не так сложно, даже просто в какой-то мере. Было решено пойти по второму пути. Постоянная времени была взята равной 0,1 секунду, или 100 мили секунд. Устройство делает измерение расстояния до объекта номер один, через 0,1 секунду делает измерение расстояния номер два. Разность между этими значениями будет пройденным путем за время, равное 0,1 сек. И наконец вычисляется скорость перемещения по формуле: это расстояние поделить на константу времени. Данные выводятся на LCD-дисплей в двух вариантах, или точнее в двух единицах – метры в секунду и километры в час. Перевод одних единиц в другую также осуществляется при помощи школьной математики. Поразмыслив, решил, что при измерении скорости цифры на дисплее будут скакать и иногда их будет трудно прочитать или уследить за ними, поэтому индикация скорости в целом организована следующим образом: происходит измерение расстояния и вычисление скорости, значение заносится в буфер, далее происходит следующий цикл измерений расстояния и вычисление скорости, если вычисленное значение скорости больше значения в буфере, то буферное значение принимается равным вычисленному значению скорости. При следующем цикле измерений расстояния если вычисленное значение скорости меньше значения из буфера, то буферное значение остается максимальным. Таким образом, происходит измерение максимальной скорости или другими словами просто фиксация показаний на максимальном значении. Для сброса показаний в ноль используется кнопка S5.
Дополнительно устройство имеет две функции: измерение и индикация температуры (при нажатии кнопки S4) и индикация превышения скорости, значения лимита скорости регулируются кнопками S1, S2. Измерение температуры осуществлено на основе все того же датчика US-100. Он при помощи измерения температуры осуществляет температурную компенсацию показаний измерения расстояния и имеет возможность при обращении выдать текущее значение температуры. Что касательно индикации превышения скорости, то регулировка значения лимита происходит слегка замедленно. Это из-за того, что основной функцией является измерение расстояния и вычисление скорости. Для более достоверных данных измерение и вычисление скорости происходит более секунды, при этом программа микроконтроллера не прерывается на что-либо другое.
Главным ограничением устройства является то, что максимальное расстояние, на котором датчик работает составляет 4,5 метра. И только в этом пределе или радиусе может происходит измерение скорости.
Схема собиралась на макетной плате для Atmega8:
Для большей эффектности можно сделать схему в форме пистолета.
Для программирования контроллера необходимо знать конфигурацию фьюз битов:
Микроконтроллер работает от внутреннего RC генератора на частоте 8 МГц.
К статье прилагается прошивка в формате HEX, проект Proteus (версия 7.7, ультразвукового датчика US-100 в базе proteus’а нет, но задействован UART отладчик) и видео работы устройства в комнатных условиях (за котами гоняться не будем, просто скорость движения руки для демонстрации).
Ультразвуковой датчик дальности US-015 идеально подходит для разных приложений, которым требуется выполнение измерений между движущимися или стационарными объектами. Естественно он очень популярен для робототехники, но также этот продукт может быть полезным в системах безопасности или если так пожелаете в качестве замены инфракрасного. Датчик расстояния с помощью гидролокатора; Ультразвуковой (значительно выше человеческого слуха) импульс передается от устройства и расстояние до цели определяется путем измерения времени, необходимого для возвращения эха.
В отличие от инфракрасного дальномера, на показания ультразвукового дальномера не влияет засветка от солнца или цвет объекта. Однако он не лишен недостатков. С помощью ультразвукового дальномера практически невозможно определить расстояние до очень тонких или пушистых объектов.
Подключение дальномера осуществляется с помощью стандартных проводов. Для начала измерения необходимо подать на цифровой вход логическую единицу на 10мкс. После завершения измерения, на выход будет подана логическая единица на время, пропорциональное расстоянию до объекта.
Документация и другая информация:
Обзор
Библиотека для Arduino