Запрошуємо, Гість
Ім'я користувача: Пароль: Запам’ятати мене
  • Сторінка:
  • 1
  • 2

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

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

  • andros77
  • andros77 аватар
  • онлайн
  • I live here
  • Дописи: 863
  • Подякували: 50
  • 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
  • Дописи: 13643
  • Подякували: 5174
  • sxem.org 2019,2021 Respect Author
Подробности Вы хорошо расписали, а вот целостной картины нет. Что должно делать устройство?
Увійдіть до облікового запису, щоб писати повідомлення.

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

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

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

  • Soir
  • Soir аватар
  • онлайн
  • Moderator
  • Дописи: 13643
  • Подякували: 5174
  • sxem.org 2019,2021 Respect Author
Я не про то, куда его можно применить. Я не понял, как устройство должно работать. Что делать с этой "дистанцией за вычетом ~10 см"?
Разделили Echo (мкс) / 58 и что?
Увійдіть до облікового запису, щоб писати повідомлення.

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

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

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

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

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

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

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

  • andros77
  • andros77 аватар
  • онлайн
  • I live here
  • Дописи: 863
  • Подякували: 50
  • Author
А какое время опроса можно сделать минимальным? Если его я буду использовать для прохода он должен сработать в любое время.
Увійдіть до облікового запису, щоб писати повідомлення.

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

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

А что делает светодиод?
Увійдіть до облікового запису, щоб писати повідомлення.

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

  • andros77
  • andros77 аватар
  • онлайн
  • I live here
  • Дописи: 863
  • Подякували: 50
  • Author
Светодиод дублирует выход. Можно попробовать сделать 30 миллисекунд.
Увійдіть до облікового запису, щоб писати повідомлення.

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

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

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

  • andros77
  • andros77 аватар
  • онлайн
  • I live here
  • Дописи: 863
  • Подякували: 50
  • Author
У меня нет осциллографа что бы померить период.
А в протеусе можно померить период?
Увійдіть до облікового запису, щоб писати повідомлення.

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

  • Soir
  • Soir аватар
  • онлайн
  • Moderator
  • Дописи: 13643
  • Подякували: 5174
  • sxem.org 2019,2021 Respect 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
  • Дописи: 863
  • Подякували: 50
  • Author
Проверил прошивку, все режимы работают.
Сейчас опрос идет с периодом 0,1 сек. Потом уточним, но я думаю, сильно уменьшить не удастся.
Если можно ещё уменьшить на сколько можно. Сейчас иногда не срабатывает но редко.
Увійдіть до облікового запису, щоб писати повідомлення.

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

  • Soir
  • Soir аватар
  • онлайн
  • Moderator
  • Дописи: 13643
  • Подякували: 5174
  • sxem.org 2019,2021 Respect Author
Уменьшил вдвое. А сколько в оригинальной прошивке? Дайте hex-файл посмотреть или сами подставьте его в мой проект.
Увійдіть до облікового запису, щоб писати повідомлення.

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

  • andros77
  • andros77 аватар
  • онлайн
  • I live here
  • Дописи: 863
  • Подякували: 50
  • Author
Прошивка на 10 секунд.
Долучення:
Увійдіть до облікового запису, щоб писати повідомлення.

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

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

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

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

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

При настройке дальности вычет у вас сколько идёт?
Долучення:
Останнє редагування: 16 вер. 2019 17:22 від andros77.
Увійдіть до облікового запису, щоб писати повідомлення.

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

  • Soir
  • Soir аватар
  • онлайн
  • Moderator
  • Дописи: 13643
  • Подякували: 5174
  • sxem.org 2019,2021 Respect 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
  • Дописи: 863
  • Подякували: 50
  • Author
В новой прошивке не записывается дистанция. В EEPROM пусто FF.
Время записывается.
Увійдіть до облікового запису, щоб писати повідомлення.

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

  • Soir
  • Soir аватар
  • онлайн
  • Moderator
  • Дописи: 13643
  • Подякували: 5174
  • sxem.org 2019,2021 Respect Author
Да, я уже понял. Обновил прошивку.
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: andros77

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

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

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

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

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

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

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

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

  • andros77
  • andros77 аватар
  • онлайн
  • I live here
  • Дописи: 863
  • Подякували: 50
  • Author
Если у Вас есть возможность - измерьте длительность импульса датчика

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

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

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

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