Ультразвуковой
сенсор расстояния
Проект, в котором рассматривается простое и дешевое решение
ультразвукового сенсора для измерения расстояния, выполнен на базе
микроконтроллера PIC16F877A компании Microchip, но пользователями исходный код может быть
адаптирован под другие микроконтроллеры. Сенсор может быть встроен в
пользовательские разработки и устройства: детекторы присутствия, роботы,
автомобильные системы парковки, устройства измерения расстояния и пр.
Отличительные особенности:
Как известно, скорость звука в воздухе равна около 340 м/с. Таким образом,
принцип ультразвукового сенсора состоит в посылке ультразвуковой импульса
частотой 40 кГц и отслеживание отраженного сигнала (эхо). Конечно, звука вы не
услышите, но ультразвуковой датчик способен определить отраженный импульс.
Следовательно, зная время прохождения импульса и отраженного ультразвукового
сигнала, мы сможем получить расстояние. Разделив на два, мы получим расстояние
от ультразвукового датчика до первого препятствия, от которого был отражен
сигнал.
В устройстве применен пьезокерамический ультразвуковой излучатель MA40B8S и пьезокерамический ультразвуковой датчик MA40B8R открытого типа. Основные параметры приведены в
таблице ниже.
Устройство |
Назначение |
Частота |
Направленность, |
Емкость, |
Область |
Входное |
MA40B8S |
Излучатель |
40 кГц |
50 (симметричный) |
2000 |
0.2 … 6 |
40 |
MA40B8R |
Датчик |
40 кГц |
50 (симметричный) |
2000 |
0.2 … 6 |
— |
Для тестирования была применена отладочная платформа компании mikroElektronika EasyPic4.
Однако пользователь может использовать любой микроконтроллер PIC, у
которого имеется хотя бы один канал АЦП и один канал ШИМ.
Принципиальная схема ультразвукового
сенсора
Управление излучателем осуществляется посредством транзистора BD135. Диод 1N4007 служит для защиты транзистора от обратного
напряжения. Благодаря использованию транзистора и резонансной цепочки, которая
образована параллельным включением дросселя L1 330 мкГн
и конденсатора, образованного самим излучателем, напряжение питания излучателя
составит около 20 В, что обеспечивает дальность обнаружения до 200 см. Стоит
заметить, что управлять излучателем возможно непосредственно с вывода
микроконтроллера, однако в таком случае диапазон расстояний не превышает 50 см.
Датчик подключен непосредственно к АЦП микроконтроллера (при использовании
PIC16F877A – канал 1 АЦП), резистор, включенный параллельно датчику, необходим
для согласования импеданса.
Для начала необходимо послать ультразвуковой импульс. Сигнал с частотой 40
кГц легко получить с использованием аппаратного ШИМ микроконтроллера.
Отраженный сигнал с датчика поступает в АЦП, разрешение АЦП составляет 4 мВ,
что вполне достаточно для считывания данных с датчика, и дополнительные
компоненты не нужны.
Внешний вид макетной платы ультразвукового
сенсора
Этот сенсор – самое простое решение, и поэтому имеет несколько недостатков:
небольшая вибрация ультразвукового приемника может привести к неправильным
измерениям. Так как посылаемый импульс не модулирован и не кодирован,
посторонние источники ультразвуковой частоты могут влиять на измерение, и все
это может привести к неправильным результатам (выход за пределы измерений).
Осциллограмма сигнала на выходе
ультразвукового датчика.
Надписи на изображении:
ultrasonic burst
– ультразвуковой импульс;
mechanical echo (removed by software) –
механическое эхо (исключается программно);
ultrasonic wave reflected by remote object – ультразвуковая волна, отраженная от удаленного
объекта.
Цена деления осциллографа: по горизонтали – 1 мс/дел,
по вертикали - 5 мВ/дел.
Механическое эхо исключается программно путем
введения задержки. Отраженная волна, имеющая амплитуду около 40 мВ, получена
через 9.5 мс после отправленного импульса. Учитывая,
что скорость звука 340 м/с, получаем:
0.0095 / 2×340 = 1.615 м.
В реальности – это был потолок помещения на расстоянии от датчика 172 см,
на ЖК дисплее, установленном на отладочной плате было
отображено значение 170 см.