• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

Двойной датчик эхолота на Arduino


 

В этой инструкции объясняется, как определить местоположение объекта с помощью Arduino, двух ультразвуковых датчиков и формулы Херона для треугольников. Нет движущихся частей. Формула Херона позволяет рассчитать площадь любого треугольника, для которого известны все стороны. Как только вы узнаете область треугольника, вы сможете рассчитать положение одного объекта (относительно известной базовой линии), используя тригонометрию и Pythagoras. Точность отличная. Большие области обнаружения возможны с использованием общедоступных ультразвуковых датчиков HC-SR04 или HY-SRF05. Конструкция проста: все, что вам нужно, это острый нож, два сверла, паяльник и деревянная пила.

 

 

Фото 1 показывает собранный «локатор эхолота», На фотографии 2 показан типичный дисплей. Объект - красная (мигающая) точка. На фото 3 показана установка видеопроцессора. Необходимо было установить два ультразвуковых датчика HY-SRF05 на 50 см ниже базовой линии, чтобы полностью «осветить» зону обнаружения звуком. На фото 1 показана схема подключения для «двойного датчика эхолота».

 

 

Датчик B оказывается «пассивным», помещая несколько слоев маскирующей ленты поверх передающего (T) преобразователя. Эта лента блокирует ультразвук. Общая длина каждого провода должна равняться требуемому расстоянию между датчиками плюс небольшое количество для пайки. Затем провода скручиваются вместе, образуя кабель. На фотографии 1 показаны наложенные диаграммы направленности для преобразователя A и преобразователя B. Датчик A получит эхо от любого объекта в «красной области». Датчик B будет получать только эхо, если объект находится в «лиловой зоне». Вне этой области невозможно определить координату объекта.  Большие «лиловые» зоны обнаружения возможны, если датчики широко расставлены.

 

Что касается фотографии 2:

Площадь любого треугольника может быть вычислена по формуле: [1]

площадь = основание * высота / 2 ........................................... .................................... (1)

Преобразование уравнения (1) дает нам высоту (Y-координату):

высота = площадь * 2 / основание ........................................... .................................... (2)

Ответ заключается в том, чтобы пропустить два ультразвуковых преобразователя на известном расстоянии друг от друга (базовая линия) и измерить расстояние, которое каждый датчик находится от объекта, используя ультразвук.

Фото 1 показывает, как это возможно.

Преобразователь A посылает импульс, который отскакивает от объекта во всех направлениях. Этот импульс слышен как преобразователем A, так и преобразователем B. Импульс не передается от преобразователя B ... он прослушивается только. Обратный путь к преобразователю A показан красным цветом. Когда делится на два и скорость звука учитывается, мы можем рассчитать расстояние «d1» по формуле:[2]

d1 (см) = время (микросекунды) / 59 ....................................... ............... (3)

Путь к преобразователю B показан синим цветом. Если вычесть расстояние «d1» от этой длины пути, мы получим расстояние «d2». Формула для вычисления «d2»: [3]

d2 (см) = время (микросекунд / 29,5 - d1 ...................................... ...... (4)

Теперь у нас есть длина всех трех сторон треугольника ABC ...

Формула Герона

Формула Херона использует нечто, называемое «полу-периметром», в которое вы добавляете каждую из трех сторон треугольника и делят результат на два:

s = (a + b + c) / 2 ....................................... ................................................. ( 5)

Теперь площадь может быть рассчитана по следующей формуле:

area = sqrt (s * (sa) * (sb) * (sc)) ................................ ............................. (6)

Как только мы узнаем эту область, мы можем вычислить высоту (Y-координату) из уравнения (2) выше.

Пифагор

Теперь X-координату можно вычислить, отбросив перпендикуляр от вершины треугольника до базовой линии, чтобы создать прямоугольный треугольник. Теперь X-координату можно вычислить с помощью Pythagoras:

c1 = sqrt (b2 - h2) .......................................... ...................................... (7)

 [1]

Целевая область может быть полностью «освещена» звуком, расположив датчики ниже базовой линии.

[2]

Величина 59 для константы получается следующим образом: Скорость звука составляет приблизительно 340 м / с, что составляет 0,034 см / мкс (в сантиметрах / микросферу). Обратное значение 0,034 см / сS составляет 29,412uS / см, которое при умножении на 2, чтобы обеспечить обратный путь, составляет 58,824 или 59 при округлении. Это значение можно настроить вверх / вниз для учета температуры, влажности и давления воздуха.

[3]

Величина 29,5 для константы получается следующим образом: Нет пути возврата, поэтому мы используем 29,5, что является половиной значения, используемого в [2] выше.

Два монтажных кронштейна были изготовлены из алюминиевого листа толщиной 20 мм, используя метод, описанный в моих инструктивных. Размеры моих кронштейнов показаны на фотографии 1.

 

 

Два отверстия, обозначенные «базовой линией», предназначены для прикрепления строки к каждому датчику. Для упрощения настройки просто привяжите шнур на требуемом расстоянии. Сенсорные разъемы (фото 2) выполнены из стандартных разъемов Arduino. Все нежелательные контакты были вытащены, и через пластину просверлено отверстие диаметром 3 мм. При пайке соединений старайтесь не замыкать провода на алюминиевом кронштейне. Небольшой кусок термоусадочной трубки на каждом конце кабеля препятствует разрыву проводов. Для предотвращения нежелательного перемещения кабеля использовались кабельные стяжки.

Установите следующий код в следующем порядке:

Загрузите и установите Arduino IDE (интегрированное окружение разработки) с https://www.arduino.cc/en/main/software, если он еще не установлен. Загрузите и установите Обработку 3 из https://processing.org/download/. Скопируйте содержимое вложенного файла «dual_sensor _echo_locator.ino» в «эскиз» Arduino, сохраните его, а затем загрузите в свой Arduino Uno R3. Закройте Ardino IDE, но оставьте кабель USB подключенным. Скопируйте содержимое вложенного файла «dual_sensor_echo_locator.pde» в «Эскиз обработки». Теперь нажмите левую кнопку «Запустить» ... на экране появится графический экран.

 

Скачать скетчи

dual_sensor_echo_locator.ino

 dual_sensor_echo_locator.pde

 

Подключите USB-кабель Arduino к компьютеру. Запустите «dual_sensor_echo_locator.pde», нажав кнопку запуска «вверху слева» в вашей среде разработки 3 (интегрированная среда разработки). Числа, разделенные запятой, должны начинаться с вашего экрана, как показано на фото 1. При запуске может появиться сообщение об ошибке. Если это так измените [0] в строке 88 фотографии 1, чтобы соответствовать номеру, связанному с вашим портом «COM». В зависимости от вашей системы могут быть указаны несколько портов «COM». Один из номеров будет работать. На фото 1 номер [0] связан с моим «COM4». Проденьте свои датчики на расстоянии 100 см друг от друга с объективом 100 см спереди. Поверните оба датчика медленно к диагонально противоположному углу воображаемого квадрата 1 метр. Когда вы вращаете датчики, вы найдете положение, на котором на графическом дисплее появляется мигающая красная точка.

 

 

Также будут отображаться дополнительные данные (фото 2), когда датчики располагают ваш объект: Дисплей был написан с использованием обработки 3 ... показана базовая линия 100 см. Давайте изменим базовый уровень от 100 см до 200 см: Измените «float Baseline = 100;» в заголовке обработки, чтобы прочитать «float Baseline = 200;» Измените метки «50» и «100» в обработке «draw_grid ()» для чтения «100» и «200». Более крупные целевые области могут контролироваться, если мы расположим датчики ниже базовой линии.

 

В начало обзора



Купить радиодетали для ремонта
 



Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 372



          

Радио для всех© 2024