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

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

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

  • andros77
  • andros77 аватар
  • Оффлайн
  • I live here
  • Дописи: 843
  • Подяка отримана: 49
  • 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 15:26 від andros77.
Адміністратор заборонив доступ на запис.

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

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13312
  • Подяка отримана: 5046
  • sxem.org 2019,2021 Respect Author
Подробности Вы хорошо расписали, а вот целостной картины нет. Что должно делать устройство?
Адміністратор заборонив доступ на запис.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • andros77
  • andros77 аватар
  • Оффлайн
  • I live here
  • Дописи: 843
  • Подяка отримана: 49
  • Author
Светодиод дублирует выход. Можно попробовать сделать 30 миллисекунд.
Адміністратор заборонив доступ на запис.

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

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

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

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

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

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13312
  • Подяка отримана: 5046
  • 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 15:21 від Soir. Причина: Обновление прошивки
Адміністратор заборонив доступ на запис.

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

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

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

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

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

  • andros77
  • andros77 аватар
  • Оффлайн
  • I live here
  • Дописи: 843
  • Подяка отримана: 49
  • Author
Прошивка на 10 секунд.
Долучення:
Адміністратор заборонив доступ на запис.

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

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

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

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

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

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

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

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13312
  • Подяка отримана: 5046
  • 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 14:36 від Soir.
Адміністратор заборонив доступ на запис.

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

  • andros77
  • andros77 аватар
  • Оффлайн
  • I live here
  • Дописи: 843
  • Подяка отримана: 49
  • Author
В новой прошивке не записывается дистанция. В EEPROM пусто FF.
Время записывается.
Адміністратор заборонив доступ на запис.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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