Срабатывание ультразвукового датчика

Я сделал умную слепую палку для своего классного проекта. Он использует ультразвуковой датчик для обнаружения препятствий, и мне задали этот вопрос в VIVA...

Зачем на триггерный (Trig) вывод ультразвукового датчика подавать цифровой высокий сигнал длительностью 10 μS?

Почему только 10 μS?

Я изменил его на 5 μS, затем на 20 μS и на 50 μS, и он по-прежнему работает нормально! Почему так?

, 👍1

Обсуждение

очевидно, я искал объяснения в Google, но не смог найти ответ на вопрос «Почему 10u», и я не смог найти его и в вашем ответе, @manish


1 ответ


Лучший ответ:

3

В спецификации1 сказано (выделено мной):

при использовании расстояния триггера ввода-вывода высокий сигнал должен составлять не менее 10 мкс.

Таким образом, длительность более 10 мкс не является проблемой.

Что касается менее 10 мкс, то 5 мкс также могут работать, но это не соответствует техническим характеристикам и, следовательно, не гарантируется и поэтому не всегда может работать правильно или ожидаемо.

Из Источник 1:

Временная диаграмма#1

Из Источника 2:< /п>

Временная диаграмма#2


Что касается того, почему оно должно быть 10 мкс, ну, это вероятно (предположительно) из-за конструкции логики на кристалле и результирующей задержки распространения через логические элементы . Большинство, если не все, логические ИС определяют минимальное количество времени, необходимое для достижения уровня сигнала, чтобы сигнал мог распространяться через транзисторы, составляющие логику, чтобы они правильно переключались. PN-переходам требуется конечное время для движения электронов и дырок, и когда их несколько на последовательных стадиях, это время умножается на количество стадий, через которые должен пройти сигнал. Это очень упрощенный взгляд на это.

Чтобы подтвердить это, вам нужно поговорить либо с дизайнерами, либо взглянуть на маску, использованную для изготовления микросхемы. Тестовое моделирование, вероятно, проводилось на этапе проектирования и предполагало минимальный импульс запуска 10 мкс. Эту цифру также можно получить, просто взглянув на конструкцию, посчитав количество ступеней и умножив это на задержку распространения на ступень.

Однако, как указывает Валбхав, HC-SR04 управляется STM8 (на самом деле это STC11F), и после просмотра STM8 руководство по программированию, оно больше связано с командными циклами. Я предполагаю, что вывод Trig является прерыванием, и из раздела 3.2 Регистры ЦП

При возникновении прерывания регистры ЦП (CC, X, Y, A, PC) помещаются в стек. Эта операция занимает 9 циклов процессора и использует 9 байт оперативной памяти

Итак, 9 циклов ЦП просто начинают обслуживать прерывание, а затем столько, сколько нужно, чтобы фактически сделать все остальное. Я не могу найти временные диаграммы в Руководстве по программированию, которые показывали бы минимальную длину сигнала прерывания. Однако эта информация находится в Справочное руководство

Продолжительность цикла процессора, очевидно, будет зависеть от тактовой частоты. the-hc-sr04-transducer-up-and-running-fast/">Ультразвуковой ярлык – быстрая установка и работа датчика HC-SR04!, составляет 4 МГц:

Схема HC-SR04

Итак, 10 мкс — это 40 циклов процессора.


1 Источники для загрузки описания HC-SR04 в формате pdf:

  • Источник 1
  • Источник 2

Характеристики HC-SR04

  • Рабочее напряжение: 5 В постоянного тока.
  • Рабочий ток: 15 мА
  • Рабочая частота: 40 Гц
  • Максимальная дальность: 4 м.
  • Минимальный диапазон: 2 см.
  • Угол измерения: 15 градусов.
  • Входной сигнал триггера: TTL-импульс 10 мкс.
  • Эхо-выходной сигнал Входной сигнал рычага TTL и пропорциональный диапазон
  • Размеры 45*20*15 мм
,

Но это еще вопрос, почему > 10us. Это похоже на то, что логика, которая находится внутри УЛЬТРАЗВУКОВОГО ДАТЧИКА, имеет что-то вроде проверки состояния контакта TRIG в течение 10 мкс или более. Если он получит высокий уровень, он сгенерирует 8 импульсов частотой 40 кГц., @Vaibhav

Задержка распространения через логические элементы? Большинство, если не все, логические ИС определяют минимальное количество времени, необходимое для достижения уровня сигнала, чтобы сигнал мог распространяться через транзисторы, составляющие логику, чтобы они правильно переключались. PN-переходам требуется конечное время для движения электронов и дырок, и когда их несколько на последовательных стадиях, это время умножается на количество стадий, через которые должен пройти сигнал. Это очень упрощенный взгляд на это., @Greenonline

Он содержит контроллер STM8., @Vaibhav

@Vaibhav - Хорошо, в таком случае. это больше связано с циклами команд, а не с задержками распространения. [Руководство по программированию STM8](https://www.st.com/content/ccc/resource/technical/document/programming_manual/43/24/13/9a/89/df/45/ed/CD00161709.pdf/files/ CD00161709.pdf/jcr:content/translations/en.CD00161709.pdf), @Greenonline

@Vaibhav - я думаю, что это на самом деле STC11F, @Greenonline

Это может отличаться, в каком-то описании я видел STM8., @Vaibhav