Как далеко может стоять HC-SR04 от микроконтроллера?
Мне было интересно, если я подключу HC-SR04 к Arduino или любому другому микроконтроллеру обычными кабелями, какова будет максимальная длина этого кабеля, чтобы измерения по-прежнему были верными, и на него не влияла длина этого кабеля. кабель?
3 ответа
Лучший ответ:
эта проблема состоит из двух вещей:
- падение уровня снабжения (это имеет серьезные последствия)
- падение уровня сигнала (немного более щадящее)
поскольку сигналы в кабелях не имеют высоких частот, проблема сводится к падению уровня напряжения из-за сопротивления кабеля.
падение уровня питания: в техническом описании SR04 указано, что для правильной работы устройства требуется максимальный активный ток 20 мА. напряжение питания 4,5~5,5В. поэтому, если вы подаете на него питание 5 В, кабель не должен падать ниже 4,5 В. рассчитывается максимальное сопротивление кабеля
R=V/I => R = (0,5/20)*10^3 = 25 Ом
. вы можете использовать это значение, чтобы узнать максимальную длину кабеля, используя таблицы сопротивлений, предоставленные производителями кабеля. например, если вы купили кабель 5 Ом/метр, максимальная длина должна быть менее 5 метров, чтобы обеспечить хорошую подачу питания.
С другой стороны, между сигналами проходит очень небольшой ток. так как выводы MCU/Module имеют очень высокий входной импеданс. так что они не такие серьезные, как падение предложения.
было бы здорово использовать конденсатор на 100 мкФ рядом с выводами питания SR04.
Сигналом HC-SR04 является импульс на проводе "Эхо". Длина этого импульса прямо пропорциональна расстоянию до объекта.
Поскольку длина кабеля не влияет на продолжительность этого импульса, это не влияет и на точность измерения.
У меня есть пара приборов для измерения уровня жидкости в двух резервуарах.
Устройства удалены от микроконтроллера 12-футовым медным кабелем со сплошной жилой 18ga.
Тестирование проводилось с другим микроконтроллером с датчиком, подключенным 6-дюймовым кабелем, чтобы обеспечить точные показания.
Это самое длинное, что мне было нужно, поэтому я не проверял дальше.
- Чтение данных из Google Таблиц с помощью Nodemcu
- Сдвиг уровня 5В <-> 3,3В
- Ультразвуковой датчик (HC-SR04), регистрирующий случайное расстояние
- Код точки доступа ESP32 не компилируется
- 3v3 ESP односторонняя связь с 5 V Arduino?
- Управление двигателем постоянного тока ARDUINO через ИК-датчик INPUT
- Сколько мА / ч в ESP8266-01 Работает в LiPo-аккумуляторе, если функция WI-FI постоянно включена
- NodeMCU ESP32 в качестве замены для проекта arduino
Хотя это не означает, что вы можете использовать кабель любой длины. В какой-то момент сопротивление кабеля может стать слишком высоким, что приведет к слишком низкому напряжению для правильного определения Arduino. Также увеличение емкости может сгладить края сигнала. Но это можно проверить только с бывшим в употреблении кабелем, поскольку стандарта для «обычного кабеля» не существует., @chrisl
О, абсолютно. Я не думаю, что на практике это окажет большое влияние - входное сопротивление Unos довольно велико, как и подтягивающий резистор. Если ничего не помогает, вы, вероятно, могли бы даже прочитать порт., @towe