Датчики
Ультразвуковой дальномер HC-SR04
Ультразвуковой дальномер HC-SR04 представляет собой простое и дешевое решение задачи измерения расстояния, не превышающего
Принцип действия HC-SR04 основан на хорошо известном явлении эхолокации. При его использовании излучатель формирует акустический сигнал, который отразившись от преграды, возвращается к датчику и регистрируется приемником. Зная скорость распространения ультразвука в воздухе (примерно 340м/с) и время запаздывания между излученным и принятым сигналом, легко рассчитать расстояние до акустической преграды.
Внешний вид HC-SR04 |
Характеристики HC-SR04.
- Напряжение питания:+5В
- Ток ожидания: <2mA
- Ток, потребляемый в рабочем режиме: 15mA
- Измеряемое расстояние: 2см – 400см
- Частота импульсов: 40кГц
- Разрешение: 0.3см
- Угол измерения: 30°
- Импульс запуска измерения: 10uS
- Габаритные размеры: 45мм x 20мм x 15мм
Для подключения к схеме измерения датчик оснащен 4 выводами. Два из них служат для подключения питания. На вход Trig подается запускающий импульс, а с выхода Echo снимается сигнал, длительность которого пропорциональна измеренному расстоянию.
Алгоритм работы с датчиком следующий:
- для старта измерения, на вход Trig подается запускающий импульс длительностью 10 микросекунд.
- после обнаружения запускающего импульса, датчик излучает пачку из 8 импульсов с частотой 40кГц.
- обнаружив отраженный сигнал, HC-SR04 устанавливает высокий уровень на выходе Echo. Длительность данного состояния в микросекундах будет пропорциональна измеренному расстоянию в метрах.
- запускающие импульсы рекомендуется формировать 1 раз в 50мс.
Диаграмма работы HC-SR04 |
Все что требуется от управляющего микроконтроллера – сформировать запускающий импульс и измерить значение эхо-сигнала. На практике для этого достаточно использовать таймер, инкрементирующийся с частотой 1 МГц, (1 микросекунда). При обнаружении эхо-сигнала таймер следует запустить, а по отрицательному фронту прочесть значение счетчика. Учитывая значения величин, требуется использовать 16 разрядный таймер.
Для получения точного значения расстояния в приемлемых единицах необходим дополнительный расчет. Он должен учитывать, что измеренное значение включает прямой и обратный путь распространения сигнала. Соответственно, для расчета дистанции время надо поделить на 2. Также следует учесть скорость ультразвука в воздухе. В итоге общая формула будет иметь следующий вид:
Здесь: L – расстояние в метрах, t – время эхо-импульса в секундах, V =340м/с – скорость ультразвука. Для упрощения расчетов, гораздо выгоднее применить формулу вида:
где, l – дистанция в сантиметрах, tus – время в микросекундах.
В качестве примера использования ниже приведена схема и программа, обеспечивающие работу ультразвукового модуля HC-SR04. Программа написана на языке mikroPascal определяет время эхо-импульса путем прямого запуска и останова 16-разрядного счетчика. Такой подход очень прост, но далек от идеала. Для реального использования алгоритм лучше переработать. Тем не менее, в качестве демонстрационного, проект вполне жизнеспособен.
Схема использования HC-SR04 |