Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2

ТЕМА: Ультра-Звуковой сенсор прохода на датчике HC-SR04.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 15 сен 2019 18:22 #1

  • andros77
  • andros77 аватар
  • Не в сети
  • I live here
  • Сообщений: 565
  • Спасибо получено: 26
  • Author
Уважаемый Soir. Если у вас есть свободное время для моего проекта, помогите.
В интернете нашел схему ультразвукового датчика прохода, собрал но меня не устраивает время срабатывания.
Вы не могли бы помочь сделать по этой схеме такое же устройство.
Алгоритм такой: Для установки дистанции достаточно установить напротив датчика объект от которого будет отражаться сигнал и один раз кратковременно нажать на кнопку SW1, в память будет записана текущая дистанция за вычетом ~10 см. Время удержания выхода сделать настраиваемым через EEPROM от 1 секунды до 5 минут.
Схема на картинке. Датчик как на картинке.

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

Подключение :
VCC — питание
TRIG — вход сигнала запуска измерения
ECHO — выход
GND — земля

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

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 15 сен 2019 20:17 #2

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 10111
  • Спасибо получено: 3623
  • Respect sxem.org Sponsor 2019 Author
Подробности Вы хорошо расписали, а вот целостной картины нет. Что должно делать устройство?
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 15 сен 2019 20:24 #3

  • andros77
  • andros77 аватар
  • Не в сети
  • I live here
  • Сообщений: 565
  • Спасибо получено: 26
  • Author
Датчик можно использовать по-разному. Для прохода если пересечь его сработает освещение или сигнализация. Можно использовать для уровня воды в баке.
Я хочу сделать что бы когда я садился за стол включался свет, и пока сижу свет горит. Как только встал ушёл свет погаснет.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 15 сен 2019 20:32 #4

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 10111
  • Спасибо получено: 3623
  • Respect sxem.org Sponsor 2019 Author
Я не про то, куда его можно применить. Я не понял, как устройство должно работать. Что делать с этой "дистанцией за вычетом ~10 см"?
Разделили Echo (мкс) / 58 и что?
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 15 сен 2019 20:57 #5

  • andros77
  • andros77 аватар
  • Не в сети
  • I live here
  • Сообщений: 565
  • Спасибо получено: 26
  • Author
Например мы устанавливаем расстояние 1 метр. Если до это го растаяния нет препятствия на выходе "0". А если препятствие появилось от 1 метра и меньше на выходе "1" до того момента пока препятствие не будет больше 1 метра + время отсчёта которое будет выставлено в EEPROM.

Второй вопрос я не могу ответить так как я его с интернета взял о работе датчика.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 15 сен 2019 21:05 #6

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 10111
  • Спасибо получено: 3623
  • Respect sxem.org Sponsor 2019 Author
С первым вопросом понятно.
andros77 пишет:
Второй вопрос я не могу ответить так как я его с интернета взял о работе датчика.
Не вижу никакого смысла в этой операции. МК запомнит микросекунды при настройке и сравнивать будет микросекунды. Сантиметры здесь абсолютно никому не нужны.

Еще вопрос. Как часто производить опрос дальномера?
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 15 сен 2019 21:14 #7

  • andros77
  • andros77 аватар
  • Не в сети
  • I live here
  • Сообщений: 565
  • Спасибо получено: 26
  • Author
А какое время опроса можно сделать минимальным? Если его я буду использовать для прохода он должен сработать в любое время.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 15 сен 2019 21:28 #8

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 10111
  • Спасибо получено: 3623
  • Respect sxem.org Sponsor 2019 Author
Не знаю, у меня нет полного описания работы датчика. 30 мсек, наверно. Так что вопрос скорее всего не какое минимальное, а какое разумное. А это уже Ваш вопрос.

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

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 15 сен 2019 21:41 #9

  • andros77
  • andros77 аватар
  • Не в сети
  • I live here
  • Сообщений: 565
  • Спасибо получено: 26
  • Author
Светодиод дублирует выход. Можно попробовать сделать 30 миллисекунд.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 15 сен 2019 21:55 #10

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 10111
  • Спасибо получено: 3623
  • Respect sxem.org Sponsor 2019 Author
Какой смысл дублировать? Ну то ладно.
А по периоду опроса, с какой скоростью Вы бегаете, что нужно 30 мсек? У Вас же есть прошивка, там какой период? Он Вас устраивает?
Последнее редактирование: 15 сен 2019 21:56 от Soir.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 16 сен 2019 08:29 #11

  • andros77
  • andros77 аватар
  • Не в сети
  • I live here
  • Сообщений: 565
  • Спасибо получено: 26
  • Author
У меня нет осциллографа что бы померить период.
А в протеусе можно померить период?
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 16 сен 2019 08:45 #12

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 10111
  • Спасибо получено: 3623
  • Respect sxem.org Sponsor 2019 Author
Если есть прошивка, то можно.

Собрал проект. Сейчас опрос идет с периодом 0,1 сек. Потом уточним, но я думаю, сильно уменьшить не удастся. Судя по модели в Proteus весь цикл занимает до 40 мсек при максимальном расстоянии. Сколько в реальности и за максимальным расстоянием - я не знаю.

Время выхода задается через EEPROM в первых двух ячейках. Формула расчета времени: [0x00]*256 + [0x01] = время в секундах.
Кроме того, предусмотрена процедура оперативной настройки. Для этого перед подачей питания, нажать и удерживать кнопку. Подать питание и дождаться, пока не загорится светодиод. Отпустить кнопку, светодиод начнет мигать с частотой 1Гц. Начался отсчет времени. Через требуемый промежуток времени снова нажать и удерживать кнопку, пока не перестанет мигать светодиод. Отпустить кнопку. Значение времени запишется в EEPROM. Устройство переходит в рабочий режим.

Дальность устанавливается в рабочем режиме. При нажатии на кнопку измеренная текущая дальность до препятствия запишется в EEPROM.

P.S.
Проект Proteus в версии программы 8.6 SP2.
Вложения:
Последнее редактирование: 16 сен 2019 18:21 от Soir. Причина: Обновление прошивки
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 16 сен 2019 13:03 #13

  • andros77
  • andros77 аватар
  • Не в сети
  • I live here
  • Сообщений: 565
  • Спасибо получено: 26
  • Author
Проверил прошивку, все режимы работают.
Сейчас опрос идет с периодом 0,1 сек. Потом уточним, но я думаю, сильно уменьшить не удастся.
Если можно ещё уменьшить на сколько можно. Сейчас иногда не срабатывает но редко.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 16 сен 2019 13:56 #14

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 10111
  • Спасибо получено: 3623
  • Respect sxem.org Sponsor 2019 Author
Уменьшил вдвое. А сколько в оригинальной прошивке? Дайте hex-файл посмотреть или сами подставьте его в мой проект.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 16 сен 2019 16:52 #15

  • andros77
  • andros77 аватар
  • Не в сети
  • I live here
  • Сообщений: 565
  • Спасибо получено: 26
  • Author
Прошивка на 10 секунд.
Вложения:
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 16 сен 2019 17:01 #16

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 10111
  • Спасибо получено: 3623
  • Respect sxem.org Sponsor 2019 Author
На самом деле, не так. Первоначально опрос идет через 50 мсек. Но, как только будет обнаружено препятствие, тогда уже через 10 сек. Если препятствие "уходит" и истекает заданное время, тогда снова 50 мсек.
Кстати, не заметил срабатывает ли Out. Срабатывает светодиод.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 16 сен 2019 17:13 #17

  • andros77
  • andros77 аватар
  • Не в сети
  • I live here
  • Сообщений: 565
  • Спасибо получено: 26
  • Author
Да там не понятно этот выход, а не работает. Я выход брас с светодиода.
Эта прошивка на 10 секунд по этому опрос при обнаружении препятствия идёт через 10 секунд.
Получается опрос идёт через 50 мсек.

Можно вопрос в EEPROM у меня сейчас меняется 3 ячейки. Первая это время а вторая и третья?

При настройке дальности вычет у вас сколько идёт?
Вложения:
Последнее редактирование: 16 сен 2019 17:22 от andros77.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 16 сен 2019 17:34 #18

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 10111
  • Спасибо получено: 3623
  • Respect sxem.org Sponsor 2019 Author
andros77 пишет:
Эта прошивка на 10 секунд по этому опрос при обнаружении препятствия идёт через 10 секунд.
Получается опрос идёт через 50 мсек.
50 мсек, если прошло 10 сек после ухода препятствия.
Сделал и свой вариант по такому же принципу. Когда препятствие обнаружено, опросы прекращаются. За 1 сек до завершения таймера начинаются запросы. Если препятствие за эту секунду обнаружено не будет, тогда снова каждые 50 мсек. Если препятствие на месте - тогда перезапуск таймера.

andros77 пишет:
При настройке дальности вычет у вас сколько идёт?
Не делал. При настройке Вы сами можете расположить объект в нужном месте, к чему лишняя арифметика? Но если нужно - вычту.

andros77 пишет:
Можно вопрос в EEPROM у меня сейчас меняется 3 ячейки. Первая это время а вторая и третья?
Время - нулевая и первая. Вторая и третья - дистанция ([0x02]*256 + [0x03]). В условных единицах. Для примера: 200 см ~= 870 у.е.
Последнее редактирование: 16 сен 2019 17:36 от Soir.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 16 сен 2019 18:19 #19

  • andros77
  • andros77 аватар
  • Не в сети
  • I live here
  • Сообщений: 565
  • Спасибо получено: 26
  • Author
В новой прошивке не записывается дистанция. В EEPROM пусто FF.
Время записывается.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 16 сен 2019 18:21 #20

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 10111
  • Спасибо получено: 3623
  • Respect sxem.org Sponsor 2019 Author
Да, я уже понял. Обновил прошивку.
Администратор запретил публиковать записи гостям.
Спасибо сказали: andros77

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 16 сен 2019 18:47 #21

  • andros77
  • andros77 аватар
  • Не в сети
  • I live here
  • Сообщений: 565
  • Спасибо получено: 26
  • Author
Да всё заработало, в EEPROM всё совпадает. По тестирую ещё потом отпишусь. СПАСИБО.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 20 сен 2019 18:07 #22

  • andros77
  • andros77 аватар
  • Не в сети
  • I live here
  • Сообщений: 565
  • Спасибо получено: 26
  • Author
Проверил всё работает. Бывает не всегда, редко что не срабатывает. Но это уже не прошивка виновата а попадаю в паузу опроса наверное. А так всё отлично спасибо что помогли.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 20 сен 2019 20:57 #23

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 10111
  • Спасибо получено: 3623
  • Respect sxem.org Sponsor 2019 Author
Если у Вас есть возможность - измерьте длительность импульса датчика при отсутствии препятствия. Или хотя бы визуально оценить - есть там куда ещё уменьшить период или нет.
Можно также при настройке записать без препятствия, а потом считать EEPROM. Или могу наугад уменьшать, пока будет сохраняться работоспособность.

Ну и в общем - это задача по геометрии. Можно рассчитать скорость перемещения препятствия, при котором должно гарантировано происходить определение.
Администратор запретил публиковать записи гостям.

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 22 сен 2019 17:33 #24

  • andros77
  • andros77 аватар
  • Не в сети
  • I live here
  • Сообщений: 565
  • Спасибо получено: 26
  • Author
Если у Вас есть возможность - измерьте длительность импульса датчика

У меня нет осциллографа по этому не смогу померить длительность импульса.

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

Ультра-Звуковой сенсор прохода на датчике HC-SR04. 22 сен 2019 17:54 #25

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 10111
  • Спасибо получено: 3623
  • Respect sxem.org Sponsor 2019 Author
Можно было через запись в EEPROM. Но если Вас все устраивает, тогда смысла продолжать заниматься доработкой нет.
Администратор запретил публиковать записи гостям.
  • Страница:
  • 1
  • 2
Модераторы: wolf2000, Vakula, Айнцвайдрайченко, Soir