Експерименти с ултразвуков далекомер

ултразвуков

Реших да направя няколко експеримента с ултразвуковия далекомер DYP-MY007.

Тези (и подобни) далекомери са много разпространени, продават се от всички и всякакви. Те обикновено се позиционират като щит Arduino. Купих тук.

Характеристики на устройството:

Захранващо напрежение: 5V
Консумация на ток: до 15 mA
Измерен обхват на разстоянието: 2 - 500 cm
Зрителен ъгъл: 15 градуса.

Интерфейсът на устройството е изключително прост. Цялото управление се осъществява чрез 2 пина - "Trigger" и "Echo".

За да започнете да измервате, трябва да изпратите сигнал от високо ниво към входа "Trigger" (мин. Продължителност 10 μs). След това далекомерът излъчва поредица от ултразвукови импулси и улавя отразения сигнал. Далекомерът генерира импулс от високо ниво на изхода "Echo" и продължителността на този импулс е пропорционална на измереното разстояние.

За да бъдем точни:

Това е просто, просто трябва да започнем измерването (чрез изпращане на импулс на високо ниво към „Trigger“) и да измерим продължителността на импулса на високо ниво на щифта „Echo“.

далекомер

Има няколко нюанса: след стартиране на измерването импулсът на щифта „Echo“ може изобщо да не се появи или този щифт преминава на високо ниво и не се връща до началото на проследяващото измерване. Това се случва, когато приемникът на ултразвуковия далекомер не е получил отразения ултразвуков импулс. По принцип всичко това не е критично и може лесно да бъде решено програмно.

Не виждам смисъл да се спирам на контролната програма, всичко е изключително просто. Пример за програма за STM32F100 е прикрепен към стълба (импулсът на спусъка се формира на PWM1 на таймера TIM2 (крак PA0), импулсът "Echo" се улавя като външно прекъсване на крака PB7).

Въз основа на резултатите от първите тестове мога да обобщя следното: