Максимальная длина провода для ультразвукового датчика hc-sr04
- Войдите на сайт для отправки комментариев
Сб, 21/02/2015 - 18:07
Добрый вечер!
Парни, не нашел нигде инфу о допустимой максимальной длине проводов от ултразвукового датчика hc-sr04 до Arduino Uno.
Как spi/iic.
Десятки см.
Как spi/iic.
Десятки см.
Спасибо, но хотелось бы конкретный ответ от того, кто пробовал разную длину.
так проведите иследование и нам доложите
так проведите иследование и нам доложите
Я буду проводить такие исследования, но только не раньше чем через пару недель...
Если до меня никто не задавался таким вопросом, то обязательно отпишусь о результатах.
Ну строго говоря, нас ограничивает 3 вещи:
- конечность времени, за которое можно обработать сигнал, и отсюда
- частота поступания сигнала
- теорема Котельникова-Найквиста. Дискретизация (т. о. обработка сигнала) должна проводиться с частотой, хотя-бы вдвое большей чем частота сигнала.
Дано: скорость звука 343 м/с, минимальная дистанция 2 см. Время T=0.02/343=0.0000583. Частота F=1/T=17152.65. Удвоим, получим максимум 35 кГц.
Формула такая: длина проводов в метрах = скорость света в метрах / частота в герцах. То есть не более 8 м 57 см. Иначе сигнал будет слишком долго идти по кабелю и невозможно будет распознать меньшие расстояния.
Реально условия ухудшает ёмкость проводов и наводки. Скажем в 4 раза.
Индуктивность витой пары 0.5 мм в районе 9.212 нГн/см, ёмкость 0.4842 пФ/см. Допустим наш провод 2 м. Он является параллельным LC-контуром (то есть lowpass-фильтром). Частота среза такого фильтра F=1/(2*pi*√LC)=~11 МГц, что явно больше 35 кГц. Так что двухметровый провод будет работать с полпинка.
Кстати 8-метровый провод (имеется в виду такой же, то есть 0.5) пропустит максимум 3.5 МГц. Так что он датчику тоже индифферентен будет. Во всяком случае, если рядом с ним не варить трёхкиловаттной сваркой.
Ну строго говоря, нас ограничивает 3 вещи:
- конечность времени, за которое можно обработать сигнал, и отсюда
- частота поступания сигнала
- теорема Котельникова-Найквиста. Дискретизация (т. о. обработка сигнала) должна проводиться с частотой, хотя-бы вдвое большей чем частота сигнала.
Дано: скорость звука 343 м/с, минимальная дистанция 2 см. Время T=0.02/343=0.0000583. Частота F=1/T=17152.65. Удвоим, получим максимум 35 кГц.
Формула такая: длина проводов в метрах = скорость света в метрах / частота в герцах. То есть не более 8 м 57 см. Иначе сигнал будет слишком долго идти по кабелю и невозможно будет распознать меньшие расстояния.
Реально условия ухудшает ёмкость проводов и наводки. Скажем в 4 раза.
Индуктивность витой пары 0.5 мм в районе 9.212 нГн/см, ёмкость 0.4842 пФ/см. Допустим наш провод 2 м. Он является параллельным LC-контуром (то есть lowpass-фильтром). Частота среза такого фильтра F=1/(2*pi*√LC)=~11 МГц, что явно больше 35 кГц. Так что двухметровый провод будет работать с полпинка.
Кстати 8-метровый провод (имеется в виду такой же, то есть 0.5) пропустит максимум 3.5 МГц. Так что он датчику тоже индифферентен будет. Во всяком случае, если рядом с ним не варить трёхкиловаттной сваркой.
Вобщем с теорией знаком не плохо, но речь идет о реальной практике. Теория без практики мертва :). Собственно говоря, я завел эту тему, чтобы узнать результат у практикующих такой експеримент, т.к. мне не требуется точный результат, погрешность в 10% меня вполне устраивает.
Меня интересует расстояние до дисплея порядка 10 метров. Задавал вопрос по поводу применения в этой ситуации модуля Bluetooth HC-05, но что-то никто не ответил...
Обещал отписаться по поводу длины провода от датчика до платы, но время поэксперементировать выдалось только сейчас.
1. Провод типа телефонного или другого, в котором жила не чистая медь, а омедненный металл или еще какая китайская хрень, не работает уже на длине более 1 метра.
2. Витая пара (медь), был у меня кусок 6 метров, работает без глюков. Сравнивал показания двух датчиков, один подключил на длине провода 20 см, а второй витой парой (соединил пары в паралель) 6 метров, показания от 0 до 2 м одинаковы.
Подскажите, пожалуйсто, пути существенного увеличения длины проводов. Нужно - 50 метров!!!
Если плату Ардуино (у меня Nano) поместить рядом с датчиком, (чего очень не хочется), то дисплей LCD всё равно уносить на те же 50 метров.
Передатчики всякие. RF24 там, или RS-485 какой-нибудь.
На 4 метрах аудиокабеля (простенький экранированый) работает нормально.
Так возьмите два МК. На стороне датчика - Attiny85, далее два провода (шина 1-Wire) или три провода (шина RS-485) и в качестве приемника-мозга уже Arduino. До 200-300 метров работать должно стабильно.
Спасибо ответившим. Сложность в том, что я чайник. Моё фундаментальное электронное образование закончилось 40 лет назад. RF24, RS-485, МК, Attiny85, шина 1-Wire - для меня кажется очень сложным.
А если отбросить провод Trig. Рядом с датчиком ставим мультивибратор формирующий этот самый импульс в 10 - 15 мкс. Теперь Ардуино ловит импульс Echо. Кстати, интервал между измерениями в 100 мс мне не нужен. В одну секунду достаточно. (Можно даже 5 секунд).
Минимальная длительность Echo - 150 мкс. Для него 50 метров по силам? Или в этом предложении есть подводные камни, которых не вижу. Поделитесь, пожалуйсто.
На входе ардуины желательно использовать дополнительный компаратор.
С одной стороны, он защитит вход, учитывая наличие длинной линии, с другой, обострит импульс, если тот излишне расплывется.