Ультразвуковой датчик HC-SR05 и МК ATtiny13.

Опубликовано bondrogeen

Для контролера лестничного освещения, потребовался датчик для обнаружения проходящего мимо человека. Из-за небольшого угла срабатывания и возможность регулировать дистанцию до объекта, принял решение использовать ультразвуковой датчик расстояния (SRF05). Так как датчик «напрямую» информацию о расстоянии не выдает, то  для получения и обработки данных от него потребуется МК. В сети можно найти много примеров работы с данным датчиком. Большинство этих примеров построенные на arduino с выводом информации о дистанции на LCD дисплей. Так как для моей задачи, не нужно рассчитывать точное расстояние и выводить данные на дисплей, а достаточно только знать пересек ли объект контролируемую линию или нет,  в проекте  использовал простой AVR МК ATtiny13.

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

  • Напряжение питания : 4.5 В — 5.5 В
  • Рабочий ток : 10 — 40 мА
  • Ток покоя : 2 мА
  • I/O высокий уровень : 5 В
  • I/O низкий уровень : 0 В
  • Угол : не более 15 градусов
  • Дальность обнаружения : 2 см-400 см
  • Точность : до 0.3 см
  • Частота :  40кГц

Подключение :

  • VCC — питание
  • TRIG — вход сигнала запуска измерения
  • ECHO — выход
  • OUT — n/a
  • GND  — земля

Получения информации от датчика:

  1. Подаем импульс продолжительностью 10 uS, на вход (Trig).
  2. Датчик генерирует  8 импульсов частотой 40 кГц. Импульсы отражаются  от препятствия и принимаются обратно датчиком.
  3.  На выводе Echo получаем выходной сигнал, длительность которого зависит от расстояния до препятствия.
  4. На стороне МК рассчитываем расстояния  по формуле  Echo (мкс) / 58= дистанция (см).

 

О готовом устройстве:

Схема состоит из самого датчика (HC-SR05), AVR микроконтроллера IC1 (ATtiny13), линейного стабилизатора напряжения на 5В (7805),  светодиода LED1 информирующего о срабатывании датчика, кнопки SW1 для установки дистанции и транзистор VT1 (BC847) в качестве ключа.

 

Установка дистанции срабатывания датчика производиться кнопкой SW1, если при нажатии и удержании кнопки частота мигания светодиода начинает медленно увеличиваться (начинает часто мигать), это свидетельствует об уменьшении дистанции. При повторном нажатии и удержании, частота мигания светодиода начинает уменьшаться и соответственно расстояния, на котором будет срабатывать датчик, увеличивается. Минимальный порог срабатывания датчика ~5 см, а а максимальное ~ 250 см.

Печатная плата выполнена в двухстороннем варианте с разводкой под SMD компоненты с возможностью установки двух вариантов линейных стабилизаторов на 5В (7805 (SOT-89) и 1117-5.0 (SOT-223)) и двух вариантов кнопок. Так же на плате предусмотрен разъем для прошивки МК

Фьюзы.

Файлы.

Ниже можно скачать версию прошивки с автоматической настройкой дистанции. Для установки дистанции достаточно установить напротив датчика объект от которого будет отражаться сигнал и один раз кратковременно нажать на кнопку SW1, в память будет записана текущая дистанция за вычетом ~10 см.

firmware_v0.2

firmware_10sec


28
Отправить ответ

avatar
9 Comment threads
19 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
Андрейbondrogeenimac Recent comment authors

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Subscribe  
newest oldest most voted
Notify of
Андрей
Гость
Андрей

Собрал это устройство а как настроить не написано у вас. Нажимаю кнопку светодиод мигает а что потом делать подскажите пожалуйста.

Андрей
Гость
Андрей

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

Андрей
Гость
Андрей

Ещё хотел спросить а на какой частоте работает микроконтроллер. Какие фьюзы надо выставить?

Андрей
Гость
Андрей

bondrogeen а можно сделать настройку дальности по другому. Например направить датчик на нужное расстояние на стену примерно 1 метр и нажать на кнопку светодиод моргнёт и расстояние запишется в память контроллера. Примерно так.

Андрей
Гость
Андрей

Большое спасибо. Буду ждать)

imac
Гость
imac

Доброе Bondrogeen. Поделитесь, пожалуйста, прошивкой с задержкой на выходе (после отработки датчика) примерно на 10 секунд. Спасибо

Андрей
Гость
Андрей

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

Андрей
Гость
Андрей

/Не понял вопроса, что значит «время включения датчика»?/

Время включения при срабатывании датчика. У вас есть на 1 секунду и на 10 секунд. Если можно сделать что бы в еепром самому можно это время выставлять .

Андрей
Гость
Андрей

Уважаемый Bondrogeen на алиэкспрессе есть ультрозвуковые водонепроницаемые датчики JSN-SR04T. Выход такой же как и у HC–SR04 вы случайно на них ничего не делали, интересно как они себя ведут в работе.