Ультразвуковой датчик измерения расстояния ЫС-8Я04
В.А. Жмудь, Н.О. Кондратьев, К.А. Кузнецов, В.Г. Трубин, Л.В. Димитров ФГБОУ ВПО НГТУ, Новосибирск, Россия
Аннотация: В статье рассматриваются основные вопросы, возникающие при работе с ультразвуковым дальномером НС-8Ш4 на базе отладочной платы STM32VLDISCOVERY. Приводятся характеристики аналогичных модулей для сравнения.
Ключевые слова: HC-SR04, ультразвуковой дальномер, датчик измерения расстояния, микроконтроллер, STM32.
ВВЕДЕНИЕ
Зачастую, необходимо быстро и достаточно точно измерить расстояние от наблюдателя, до некоторого объекта. Устройства, которые разработаны для решения таких задач, называются дальномерами. Области применения таких устройств широки: от робототехники до систем мониторинга сложных инженерных конструкций.
Условно, дальномеры можно разделить на активные:
• звуковой;
• световой;
• лазерный и др. и пассивные:
• дальномеры, использующие оптический параллакс;
• дальномеры, использующие сопоставление объекта какому-либо образцу, например, нитяной дальномер и др.
Принцип действия дальномеров активного типа одинаков для всех устройств и заключается в измерении времени, за которое сигнал проходит расстояние от передатчика до приемника. Причем, скорость распространения сигнала (скорость света, звука и т.д.) считается известной.
Дальномеры звукового типа являются самыми дешёвыми и распространёнными из всех, которые можно подключить к микроконтроллеру. И в данной статье рассмотрен ультразвуковой дальномер ИС-8Я04.
1. ПРИНЦИП РАБОТЫ УЛЬТРАЗВУКОВОГО ДАЛЬНОМЕРА
Ультразвуковой дальномер - устройство, предназначенное для определения расстояния от датчика до объекта. В основе принципа измерения лежит эхолокация, как у дельфинов или летучих мышей. Датчик состоит из передатчика, генерирующего ультразвуковые волны, приёмника, который «слушает» эхо, и обвязки для нормальной работы модуля.
Ультразвуковой дальномер HC-SR04 представлен на Рис. 1, где передатчик (transmitter) и приемник (receiver), обозначены T и R соответственно.
Рис. 1. Ультразвуковой дальномер ЫС-8Я04
Упрощённо, принцип работы данного датчика можно представить следующим образом. Дальномер генерирует звуковые волны на частоте 40 кГц. После того как эти волны отражаются от объекта и возвращаются на приёмник, датчик выдаёт информацию о времени, затраченном на прохождение звука от датчика до объекта и обратно. Наглядно этот процесс показан на Рис. 2.
Рис. 2. Движение ультразвукового сигнала от передатчика к приёмнику
Ультразвуковой сигнал распространяется широконаправленной волной в 30°. Направление распространения ультразвукового сигнала из передатчика показано на Рис. 3. Наиболее эффективный угол измерения 15°. Посторонние объекты, попадающие под этот угол измерения, могут сбивать показания датчика.
Рис. 3. Диаграмма направленности ультразвуковой волны
На показания ультразвуковых дальномеров не влияют засветки от солнца или цвет объектов, как
это происходит с инфракрасными датчиками. Ультразвуковая волна будет отражаться практически от любых поверхностей, даже прозрачных, но могут возникнуть трудности с определением расстояния до пушистых или мелких предметов.
Также, на показания влияет угол падения волны. Если датчик направлен перпендикулярно объекту, то измерения будут наиболее точными. А если, угол падения будет слишком большим, то волна, отразившись от объекта, не попадёт в приёмник, что приведет к неверному измерению.
S = 0.017 • Т
Рис. 4.- Движение ультразвукового сигнала от передатчика к приёмнику под углом
Далее, перейдём к расчёту расстояния от датчика до объекта. Сам датчик ничего не рассчитывает самостоятельно, а лишь выдает импульс определенной длительности. Все расчёты необходимо производить в микроконтроллере.
Расчёт расстояния происходит на основании полученного времени и вычисляется по следующей формуле:
£ = VI; Г = Т/2 ^£ = уТ/2, (1)
где, и - скорость звука 340 м/с);
/ - время движения волны от датчика до объекта.
Т - время движения волны от датчика до объекта и обратно.
Деление на два нужно из-за того, что сигнал проходит расстояние до объекта и обратно, тогда когда требуется только расстояние до объекта. В этой статье для измерения длительности сигнала предлагается использовать таймер. Таймер настраивается таким образом, что 1 разряд равен 0,000001 с. Следовательно, формула будет выглядеть следующим образом:
£ = УТ/2 ^ £ = УТш • 10-6 /2, (2)
где, Тш - количество отсчетов таймера в мкс.
Окончательная форма будет выглядеть таким образом:
£ = 340 •Ти10~6/2 = 170Тт /106. (3)
Для того, чтобы представить это расстояние в см, умножим на 100.
Л7Т /103,
S„,
(4)
Однако в микроконтроллере не предусмотрены операции над числами с плавающей точкой. Поэтому для вычисления расстояния необходимо использовать формулу (4). Либо заменить число 0,017 на взаимно обратное:
£ст = Т1т /58.8, (6)
Формулу (6) можно найти в документации, но с округлением до 58.
Вышеизложенных формул вполне достаточно для корректного измерения расстояния, однако если имеется необходимость улучшить точность измерения, нужно учесть ряд факторов.
Во-первых, желательно учитывать температуру окружающей среды, в которой производятся измерения. Это объясняется тем, что скорость звука в газах увеличивается с повышением температуры. При повышении температуры воздуха на 1 °С, скорость звука в нем увеличивается на 0,6 м/с. График зависимости скорости звука от температуры приведен на Рис. 5, а в Табл. 1 приведены некоторые значения.
Рис. 5 Зависимость скорости звука от температуры
Таблица 1
Скорость звука при определённой температуре
t, °С -20 -10 0 10 20 30
и, м/с 318,8 325,1 331,5 337,3 343,1 348,9
В результате с помощью одной простой формулы, можно рассчитать расстояние до объекта в сантиметрах:
Чтобы иметь возможность оперативно подстраиваться под изменение температуры окружающей среды, можно добавить в систему измерения температурный датчик и использовать его результаты измерений. На некоторых дальномерах предусмотрены температурные датчики.
Во-вторых, нужно учесть траекторию распространения сигнала. С геометрической точки зрения, нахождение расстояния от датчика до объекта измерения, является нахождением высоты равнобедренного треугольника «к», Рис. 6. Однако стоит заметить, что по формуле (5) или (6) вычисляется длина «а».
Для нахождения высоты «к» обратимся к теореме Пифагора:
к2 = а2 - (Ь / 2)2, (7)
где, к - расстояние от датчика до объекта (высота равнобедренно треугольника); № 4 (22) 19
а - расстояние пройденное звуковой волной от передатчика до объекта или от объекта до приёмника (боковая сторона);
Ь - расстояние от передатчика до приёмника (основание), для ИС-8Я04 Ь = 3 см.
Рис. 6. Геометрическое представление распространения звуковой волны
Т.к. основание «Ь» достаточно мало, оно будет оказывать значительное влияние при малых значениях «а», иначе говоря, при измерении малых расстояний. Для примера возьмем за «к» минимально и максимально возможные расстояния измерения датчика, это 2 см и 400 см.
При к = 2 см получаем:
а = у122 + 32 /4 =у/4 + 2.25 = 2.5
При к = 400 см:
а = у14002 + 32 / 4 =у1160000 + 2.25 = 400.0028
Исходя из расчётов, имеем следующее: при измерении реальных 2 см до объекта, датчик покажет 2,5 см (погрешность 25%), а при измерении 400 см погрешность составит всего лишь 0,0007%. Для компенсации этой погрешности, найденное по формуле (6) расстояние необходимо преобразовать в реальное:
Shcm ЧScm,2 - 2.25 ,
уровнями [1, с.24]. В документации такой вывод помечается как FT.
Работа датчика происходит следующим образом. Изначально выводы «Echo» и «Trig» установлены в «0». Для того чтобы запустить процесс измерения, необходимо подать на вывод «Trig», импульс длительностью 10 мкс. Повторное измерение можно делать не ранее, чем через 50 мс. После этого на передатчик поступают 8 коротких импульсов, для генерации ультразвуковой волны. По завершению генерации серии звуковых волн, вывод «Echo», устанавливается в «1». После отражения серии волн от объекта и возвращения на приёмник, вывод «Echo» устанавливается в «0». В результате получается импульс, длительность которого равна времени, затраченного на прохождения звука от датчика до объекта и обратно. Длительность данного импульса лежит в пределах от 118 мкс до 24 мс. Зная это время можно определить расстояние. На Рис. 7, показана временная диаграмма сигналов дальномера.
В этом случае получается заявленная точность
в 0,3 мм.
2. ПОДКЛЮЧЕНИЕ УЛЬТРАЗВУКОВОГО ДАЛЬНОМЕРА К МИКРОКОНТРОЛЛЕРУ STM32
Для начала следует ознакомиться с характеристиками данного модуля:
• Напряжение питание +5 В;
• Потребление в режиме тишины 2 мА;
• Потребление при работе 15 мА;
• Диапазон измерений от 2 до 400 см;
• Эффективный угол измерения 15°;
• Размеры 45x20x15 мм. На плате имеются 4 вывода:
• Vcc - питание +5 В;
• Gnd - «земля»;
• Trig - для запуска датчика;
• Echo - получение результатов измерения.
При подключении стоит учитывать, что данные выводы микроконтроллера должны поддерживать возможность работы с +5 В © AUTOMATICS & SOFTWARF FNGINFRY. 2017
Рис. 7. Временная диаграмма сигналов дальномера
Подсчитать длительность импульса, пришедшего с вывода «Echo», с помощью STM32 можно различными способами. В данной статье предложен способ измерения при помощи таймера без прерываний. Для этого надо настроить один из каналов таймера в режиме захвата. В этом режиме, таймер записывает длительность входного импульса в тактах в счётный регистр.
Для формирования запускающего сигнала на «Trig», необходимо настроить любой другой вывод на выход. Настроенный вывод формирует импульс длительностью 10 мкс.
В данном примере использовалась отладочная плата STM32VLDISCOVERY на базе микроконтроллера STM32F100RBT6B с использованием библиотеки SPL. Для работы с дальномером использовался первый канал таймера TIM4. Код приведён далее.
Чтобы убедиться, что датчик работает правильно, рассмотрим осциллограммы реальных сигналов с модуля. Импульс, запускающий работу датчика, приведен на Рис. 8.
Для проверки рассчитаем теоретическое значение времени и сравним с реальным сигналом с датчика. Опираясь на формулу (1), рассчитываем длительность импульса, при измерении расстояния в 30 и 100 см.
CH 1 =2.00 V Time = 10 us
Рис. 8. Сигнал, подаваемый микроконтроллером на вход « Trig»
S = vT/2 ^ T = 2S / v, (9)
При 30 см:
T = 2 • 0.3/340 = 1764-10"6 с = 1764 мкс При 100 см:
T = 2 1/340 = 5882 •Ю"6 с = 5882 мкс
На Рис. 9 и 10 можно увидеть реальную длительность импульсов, при измерении расстояния в 30 и 100 см и сравнить её с теоретической. Также, проследить изменение длительности импульса с выхода «Echo», в зависимости от измеряемого расстояния.
CHI =2.00 V Time = 1 ms CH2 = 2.00 V
На Рис. 11, можно наглядно проследить, работу датчика, от момента подачи запускающего импульса, до момента генерации серии ультразвуковых волн и формирования временного импульса. Как можно увидеть, реальная картина сигналов похожа на сигналы с Рис. 6, из документации.
CH = 2.00 V Time = 1 ms CH2 = 2.00 V
Рис. 10. Сигнал на выходе «Echo» с длительностью пропорциональной расстоянию в 100 см (красный) и сигнал на входе«Trig» (синий)
CHI = 2.00 V CH2 = 2.00 V CH3 = 2.00 V Time = 100 (is
Рис. 11. Вид трёх сигналов снятых с входа «Trig» (синий), с модуля при генерации звукового сигнала (чёрный) и с выхода «Echo» (красный)
Рис. 9. Сигнал на выходе «Echo» с длительностью пропорциональной расстоянию в 30 см (красный) и сигнал на входе «Trig» (синий)
RCC_APB2PeriphaockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB 1PeriphClockCmd(RCC_APB 1Periph_TIM4, ENABLE);
GPIO_InitTypeDef Init_PORTB;
//Настройка вывода PB6 TIM4 для измерения сигнала (Echo_Pin) Init_PORTB.GPIO_Pin = GPIO_Pin_6; Init_PORTB.GPIO_Speed = GPIO_Speed_ 10MHz; Init_PORTB.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOB, &Init_PORTB);
//Настройка вывода PB7 для формирование импульса (Trig_Pin) Init_PORTB.GPIO_Pin = GPIO_Pin_7; Init_PORTB.GPIO_Speed = GPIO_Speed_ 10MHz; Init_PORTB.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOB, &Init_PORTB);
RCC_ClocksTypeDef RCC_ClocksStatus; RCC_GetClocksFreq(&RCC_ClocksStatus); //1 тик = 1 мкс (1 тик = 0.170 мм)
uint16_t prescaler = RCC_ClocksStatus.SYSCLK_Frequency / 1000000 - 1;
// Сброс регистров (отключение) таймера 4 TIM_DeInit(TIM4);
//Заполнение полей структуры для инициализации таймера TIM_TimeB aseInitTypeD ef TIM_TimeBaseInitStruct; TIM_TimeBaseInitStruct.TIM_Prescaler = prescaler;
TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInitStruct.TIM_Period = OxFFFF; TIM_TimeBaseInitStruct.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseInit(TIM4, &TIM_TimeBaseInitStruct);
// Настройка 1 канала таймера 4 в режиме захвата сигнала TIM_ICInitTypeDef TIM_ICInitStruct; //Выбор канала 1
TIM_ICInitStruct.TIM_Channel = TIM_Channel_1; // Срабатываение таймера по нарастающему фронту TIM_ICInitStruct.TIM_ICPolarity = TIM_ICPolarity_Rising; //Входы таймера по порядку
TIM_ICInitStruct. TIM_ICS election = TIM_ICSelection_DirectTI; // Срабатываение таймера на каждое происходящее событие TIM_ICInitStruct.TIM_ICPrescaler = TIM_ICPSC_DIV1; // Фильтрация сигналов, через сколько отсчётов начать считать TIM_ICInitStruct.TIM_ICFilter = 0;
/* Настройка TIM4 в соответствие с указанными параметрами в TIMICInitStruct для измерения внешнего сигнала. */ TIM_PWMIConfig(TIM4, &TIM_ICInitStruct);
//Задержка в мкс
void Delay_us(uint32_t us) {
volatile uint32_t nCount; RCC_ClocksTypeDef RCC_Clocks; RCC_GetClocksFreq(&RCC_Clocks);
nCount = (RCC_Clocks.HCLK_Frequency/10000000)*us;
for (; nCount != 0; nCount--); }
// Функция возвращает расстояние до объекта в см
uint32_t GetDistance() {
// Обнуление счетного регистра TIM_SetCounter(TIM4, 0); //Разрешение тактирования счетчика
TIM_Cmd(TIM4, ENABLE);
// Формирование импульса для запуска измерения (10 мкс)
GPIO_SetBits(GPIOB, GPIO_Pin_7); Delay_us(10);
GPIO_ResetBits(GPIOB, GPIO_Pin_7); // Ожидаем установки флага
while(TIM_GetFlagStatus(TIM4, TIM_FLAG_Update) == RESET); // Запрет тактирования счетчика TIM_Cmd(TIM4, DISABLE); // Сброс флага
TIM_ClearFlag(TIM4, TIM_FLAG_Update); // Возврат дистанции до объекта в см
return (TIM_GetCapture2(TIM4) - TIM_GetCapture1(TIM4)) * 17/1000; }
int main(void) {
volatile uint32_t Distance = 0;
while(1) {
/* Переменной Distance присваивается рассчитанное расстояние до объекта в см */
Distance = GetDistance();
/* После этого, значение переменной Distance можно вывести любым удобным способом */
}
}
3. АНАЛОГИЧНЫЕ УСТРОЙСТВА, АКСЕССУАРЫ И ДОПОЛНИТЕЛЬНАЯ ПЕРИФЕРИЯ
Кроме HC-SR04 существуют и другие ультразвуковые датчики. Однако их различия незначительны. Каждый, оснащен передатчиком и приёмником, имеют идентичный принцип измерения, физические размеры устройств практически одинаковы. Различными являются такие параметры как: максимально возможное расстояние измерения, точность. Некоторые датчики поддерживают специализированные интерфейсы для сопряжения.
Рассмотрим некоторые из них. Ультразвуковой датчик HY-SRF05, более дорогая улучшенная модель, по сравнению с HC-SR04. Основное отличие, как заявляет производитель, максимально возможное расстояние измерения -450 см. Кроме того, на плате добавлен еще один вывод «OUT», однако, функциональное назначение этого «выхода» установить не удалось.
Рис. 12. Ультразвуковой дальномер HY-SRF05
Ультразвуковой датчик Ш-015, как заявляет производитель, выполняет измерения с большей точностью, чем HC-SR04. Кроме того цена на это устройство немного выше, потому что датчик получил меньшую популярность. В связи с нераспространённостью модуля сложно установить подлинные характеристики устройства. Например, точность в различных источниках указывается как 0,1 мм или 0,3 мм. Расположения выводов, точно такое же, как и у ПС-Н1{()4. Похожесть харатеристик датчиков делает их взаимозаменяемыми.
ИЯШ
Рис. 13. Ультразвуковой дальномер US-015
Следующий датчик делает акцент на возможности подключения по целому ряду интерфейсов: Serial или PWM, TTL или RS232. Также предусмотрены разные режимы работы: определение расстояния по запросу или постоянное сканирование. Кроме того, на плате установлен датчик измерения температуры, который используется для корректировки показаний измерения дальномера, как говорилось ранее, скорость звука при различных температурах окружающей среды различна.
Рис. 14. Ультразвуковой дальномер URM37
Кроме рассмотренных датчиков, существуют специализированные модули, которые, работая в паре с ультразвуковым дальномером, расширяют функциональные возможности системы. Например, модуль RCW 0012, представленный на Рис. 15, самостоятельно производит все необходимые вычисления, тем самым теряется необходимость в подключении микроконтроллера STM32 или любого другого. А встроенный в модуль трехразрядный семисегментный индикатор позволяет сразу отображать расстояние до объекта в сантиметрах. Основой платы является микроконтроллер STC 11 f-04e. На плате присутствует разъём на 4 контакта, в которой устанавливается ультразвуковой модуль.
Рис. 15. Модуль RCW 0012
Еще один модуль, который способен выполнить эти задачи, это DYP-ME008. Параллельно, разработчики выпустили собственный ультразвуковой датчик DYP-ME007, предполагая их совместную работу. Связка из этих двух устройств представлена на Рис. 16.
■ЙЙЯв&^л
Рис. 16. Модуль DYP-ME008 и ультразвуковой дальномер DYP-ME007
Сравнение характеристик этих ультразвуковых датчиков и некоторых других приведены ниже, в Табл. 2.
Модуль Octasonic 8 x HC-SR04 Ultrasonic Breakout Board, который является частной разработкой «Super Awesome Robots!», позволяет использовать несколько
ультразвуковых датчиков одновременно (имеется в виду в одной системе). Разработчик предлагает использовать своё устройство в качестве необычного синтезатора
Рис. 17. Модуль Octasonic 8 x HC-SR04 Ultrasonic Breakout Board
Т.к. ультразвуковой дальномер часто используют, как «зрение» роботов, следующий немаловажный вопрос, крепление модуля на объекте. Для этих целей в продаже имеются специализированные корпуса. Для обеспечения возможности поворота ультразвукового модуля, существуют крепления для соединения с сервоприводом, Рис. 19.
Рис. 18. Восемь датчиков HC-SR04 подключенных к модулю Octasonic 8 x HC-SR04 Ultrasonic Breakout Board вмонтированные в деревянный корпус
Рис. 19. Крепления для ультразвукового модуля
Табл. 2.
Сравнительная таблица характеристик ультразвуковых датчиков
HC-SR04 HY-SRF05 US-015 US-100 URM37 GH-311 DYP-ME007
Напряжение питание, В +5 +5 +5 +5 +5 +5 +5
Потребление в режиме тишины, мА 2 2 2,2 2 - - -
Потребление при работе, мА 15 15 20 15 20 - 15
Диапазон измерений, см 2 - 400 2 - 450 2 - 400 2 - 450 4-500 2 - 300 2 - 500
Эффективный угол измерения, ° 15 15 15 15 15 15 15
Частота ультразвука, кГц 40 40 40 40 40 40 40
Точность, мм 0,3 0,3 0,1 +1% 0,1 1 - 0,3
Габариты, мм 45х20х15 44х20х14 45х20х12 44х26х14 51х22 46х20х18 45х20х15
Средняя цена на конец 2017 года, руб. ~ 50 ~ 70 ~ 80 ~ 155 ~ 1000 ~ 520 ~ 240
Примечание:
Некоторые характеристики датчиков из разных открытых источников могут отличаться, ссылки на используемые
источники приведены в разделе ЛИТЕРАТУРА;
"-" - неизвестные параметры;
Цены указаны без учета доставки товара в Россию.
ВЫВОДЫ
• Ультразвуковой дальномер ИС-8Я04 является хорошим и дешёвым модулем для измерения расстояния, по сравнению с его аналогами.
• Процесс измерения достаточно прост и понятен, а сопряжение датчика и
микроконтроллера не требует специали-зированых интерфейсов.
• На точность измерений влияет множество факторов, которые нужно учитывать. Это температура окружающей среды, траектория распространения сигнала, угол падения волны, форма и размер объекта. Однако даже с учётом
всех погрешностей не удалось добиться точности, заявленной разработчиком.
• При необходимости максимально точных измерений следует использовать лазерные дальномеры. А ультразвуковые лучше подходят, например, как датчики движения на небольших дистанциях или как «зрение» робота, для нахождения объектов вокруг себя.
• Существуют модули, которые разработаны специально для ультразвуковых датчиков. Использование этих модулей позволяет работать с датчиками без подключения к микроконтроллеру, т.к. могут самостоятельно производить вычисления и отображать результаты.
При использовании любых датчиков следует помнить общие правила их выбора и применения [13]. Использование
ультразвуковых датчиков крайне актуально для разработки подвижных роботов [14-25].
ЛИТЕРАТУРА
[1] Документация на микроконтроллеры: STM32F100x4 STM32F100x6 STM32F100x8 STM32F100xB.http://www.st.com/content/ccc/resource/tec hnical/document/datasheet/dd/87/fd/2a/fb/3f/48/5c/CD0025 1732.pdf/files/CD00251732.pdf/jcr:content/translations/en. CD00251732.pdf
[2] Документация на отладочную плату STM32VLDISCOVERY: UM0919 User Manual. http://www.st.com/content/ccc/resource/technical/document/ user_manual/f3/16/fb/63/d6/3d/45/aa/CD00267113.pdf/files /CD00267113.pdf/jcr:content/translations/en.CD00267113.p df
[3] Документация на ультразвуковой дальномер HC-SR04: Ultrasonic Ranging Module https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCS R04.pdf
[4] Документация на ультразвуковой дальномер HY-SRF05: Ultrasonic Ranging Module http://dl.behnamrobotic.com/shop/datasheet/module/module -srf05-ultrasonic.pdf
[5] Документация на ультразвуковой дальномер US-015: Ultrasonic Ranging Module http://akizukidenshi.com/download/ds/sainsmar/US-015Manul.pdf
[6] Документация на ультразвуковой дальномер US-100: Ultrasonic Ranging Module http://tinkbox.ph/sites/mytinkbox.com/files/downloads/US 1QQ_ULTRASONIC_SENSOR_MODULE.pdf
[7] Документация на ультразвуковой дальномер URM37: Ultrasonic Ranging Module http://files.amperka.ru/datasheets/urm37.pdf
[8] Документация на ультразвуковой дальномер GH-311: Ultrasonic Ranging Module https ://goo.gl/qNTTLV
[9] Документация на ультразвуковой дальномер DYP-ME007: Ultrasonic Ranging Module https://goo.gl/W77pXL
[10] Документация на модуль DYP-ME008: Ultrasonic Ranging Module https://arduino-kit.ru/userfiles/image/DYP-ME008%20Rang%20Ranging%20Distance%20Detecting% 20Ultrasonic%20Sensor%20Display%20Module.pdf
[11] Разработчик Octasonic 8 x HC-SR04 Ultrasonic Breakout Boardboard https://www.tindie.com/products/andygrove73/octasonic-8-x-hc-sr04-ultrasonic-breakout-board/
[12] Сайт для расчета скорость звука в различных газах https ://goo.gl/NCkoAt
[13] В.А. Жмудь. Измерительные устройства автоматики.: учеб. пособие / В. А. Жмудь; Новосиб. гос. техн. ун-т. -Новосибирск: Изд-во НГТУ, 2012. - 72 c.
[14] Печников А.Л., Жмудь В.А., Трубин В.Г., А.Б. Колкер. Перспективы развития робототехнических учебных стендов для высшего специального образования в области робототехники, автоматики и мехатроники. Информатика, вычислительная техника и автоматизация. 2012. №2. Т.5. С. 89-95.
[15] Rao R.V., Zhmud V.A. The review of the Indo-Russian Joint Workshop on Computional Intelligence and Modern Heuristics in Automation and Robotics. Научный вестник НГТУ. 2010. № 4 (41). С.179-182.
[16] Печников А.Л., Жмудь В.А., Трубин В.Г. Удаленное управление роботом посредством хтрр-протокола. Сборник научных трудов НГТУ. 2013. № 3(73). С. 85 -92.
[17] А.Б. Колкер, Д.А. Ливенец, Кошелева А.И., В.А. Жмудь. Разработка блока системы управления роботом с применением инженерного пакета SciLab. Автоматика и программная инженерия. 2012. № 1 (1) С. 73-84.
[18] А.Б. Колкер, Д.А. Ливенец, Кошелева А.И., В.А. Жмудь. Исследование вариантов создания интеллектуальных систем робототехники на базе одноплатных компьютеров и свободных операционных систем. Автоматика и программная инженерия. 2012. № 1 (1) С. 84-98.
[19] Ескин А.В., Жмудь В.А., Трубин В.Г. Реализация дистанционного управления по радиоканалу Bluetooth платформой, моделирующей работу роботизированных средств. Автоматика и программная инженерия. 2013. № 1 (3). С. 82-87.
[20] Ескин А.В., Жмудь В.А., Трубин В.Г. Построение платформы моделирующей работу роботизированных средств на базе конструктора Lego Mindstorms NXT 2.0 в части управления электродвигателями. Автоматика и программная инженерия. 2013. № 1 (3). С. 88-94. ФГБОУ ВПО НГТУ (Новосибирск, Россия).
[21] В.Г. Трубин, А. В. Ескин, А.Л. Печников, В.А. Жмудь. Использование сети интернет для интерактивной лабораторной работы с дистанционным управлением моделью робота снегоуборщика. Автоматика и программная инженерия. 2014. 1(7). С. 95-103.
[22] Д.С. Федоров, А.Ю. Ивойлов, В.А. Жмудь, В.Г. Трубин. Разработка системы стабилизации угла отклонения балансирующего робота. ФГБОУ ВО НГТУ (Новосибирск, Россия). Автоматика и программная инженерия. 2015. № 2 (12). С. 16-34.
[23] Уточнение модели балансирующего робота логико-эмпирическим методом / Л. В. Димитров, В. А. Жмудь, А. Ю. Ивойлов, В. Г. Трубин // Научный журнал КубГАУ : электрон. науч. журн. - 2016. - № 121 (07).
[24] Жмудь В. А., Каменский С. В., Французова Г. А., Воскобойников Ю. Е., Басыня Е. А., Трубин В. Г., Востриков А. С., Чикильдин Г. П. Системы автоматического управления, мехатроники и робототехники. Монография. Изд-во НГТУ. 210 с.
[25] Печников А.Л., Жмудь В.А., Трубин В.Г., А.Б. Колкер. Перспективы развития робототехнических учебных стендов для высшего специального образования в области робототехники, автоматики и мехатроники. Труды конференции Scientific World - Перспективные инновации в науке, образовании, производстве и транспорте '2012.
Ultrasonic Distance Sensor HC-SR04
V.A. Zhmud, N.O. Kondratyev, K.A. Kuznetsov, V.G. Trubin, L.V. Dimitrov
Abstract: This article deals with primary questions,
that arises during working with ultrasonic distance sensor HC-SR04 based on development board STM32VLDISCOVERY.
Key words: HC-SR04, ultrasonic rangefinder, distance measurement sensor, microcontroller, STM32.
REFERENCES
[1] User Guide: STM32F100x4 STM32F100x6 STM32F100x8 STM32F100xB.
http://www.st.com/content/ccc/resource/technical/document/ datasheet/dd/87/fd/2a/fb/3f/48/5c/CD00251732.pdf/files/CD 00251732.pdf/jcr:content/translations/en.CD00251732.pdf
[2] User Guide: STM32VLDISCOVERY: UM0919 User Manual.
http://www.st.com/content/ccc/resource/technical/document/ user manual/f3/16/fb/63/d6/3d/45/aa/CD00267113.pdf/files /CD00267113.pdf/jcr:content/translations/en.CD00267113.p df
[3] User Guide: HC-SR04: Ultrasonic Ranging Module https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCS R04.pdf
[4] User Guide: HY-SRF05: Ultrasonic Ranging Module http://dl.behnamrobotic.com/shop/datasheet/module/module -srf05-ultrasonic.pdf
[5] User Guide: US-015: Ultrasonic Ranging Module http://akizukidenshi.com/download/ds/sainsmar/US-015Manul.pdf
[6] User Guide: US-100: Ultrasonic Ranging Module http://tinkbox.ph/sites/mytinkbox.com/files/downloads/US_ 100_ULTRAS0NIC_SENS0R_M0DULE.pdf
[7] User Guide: User Guide:URM37: Ultrasonic Ranging Module http://files.amperka.ru/datasheets/urm37.pdf
[8] User Guide: GH-311: Ultrasonic Ranging Module https://goo.gl/qNTTLV
[9] User Guide: DYP-ME007: Ultrasonic Ranging Module https://goo.gl/W77pXL
[10] User Guide: DYP-ME008: Ultrasonic Ranging Module
https://arduino-kit.ru/userfiles/image/DYP-
ME008%20Rang%20Ranging%20Distance%20Detecting% 20Ultrasonic%20Sensor%20Display%20Module.pdf
[11] User Guide: Octasonic 8 x HC-SR04 Ultrasonic Breakout Boardboard
https://www.tindie.com/products/andygrove73/octasonic-8-x-hc-sr04-ultrasonic-breakout-board/
[12] URL: https://goo.gl/NCkoAt
[13] B V.A. Zhmud. Izmeritel'nye ustrojstva avtomatiki.: ucheb. Posobie. Novosib. gos. tehn. un-t. - Novosibirsk: Izd-vo NGTU, 2012. - 72 s.
[14] Pechnikov A.L., Zhmud V.A., Trubin V.G., A.B. Kolker. Perspektivy razvitija robototehnicheskih uchebnyh stendov dlja vysshego special'nogo obrazovanija v oblasti robototehniki, avtomatiki i mehatroniki. Informatika, vychislitel'naja tehnika i avtomatizacija. 2012. №2. T.5. S. 89-95.
[15] Rao R.V., Zhmud V.A. The review of the Indo-Russian Joint Workshop on Computional Intelligence and Modern Heuristics in Automation and Robotics. Nauchnyj vestnik NGTU. 2010. № 4 (41). S.179-182.
[16] Pechnikov A.L., Zhmud V.A., Trubin V.G. Udalennoe upravlenie robotom posredstvom xmpp-protokola. Sbornik nauchnyh trudov NGTU. 2013. № 3(73). S. 85 - 92.
[17] A.B. Kolker, D.A. Livenec, Kosheleva A.I., V.A. Zhmud. Razrabotka bloka sistemy upravlenija robotom s primeneniem inzhenernogo paketa SciLab. Avtomatika i programmnaja inzhenerija. 2012. № 1 (1) S. 73-84.
[18] A.B. Kolker, D.A. Livenec, Kosheleva A.I., V.A. Zhmud. Issledovanie variantov sozdanija intellektual'nyh sistem robototehniki na baze odnoplatnyh komp'juterov i svobodnyh operacionnyh sistem. Avtomatika i programmnaja inzhenerija. 2012. № 1 (1) S. 84-98.
[19] Eskin A.V., Zhmud V.A., Trubin V.G. Realizacija distancionnogo upravlenija po radiokanalu Bluetooth platformoj, modelirujushhej rabotu robotizirovannyh sredstv. Avtomatika i programmnaja inzhenerija. 2013. № 1 (3). S. 82-87.
[20] Eskin A.V., Zhmud V.A., Trubin V.G. Postroenie platformy modelirujushhej rabotu robotizirovannyh sredstv na baze konstruktora Lego Mindstorms NXT 2.0 v chasti upravlenija jelektrodvigateljami. Avtomatika i programmnaja inzhenerija. 2013. № 1 (3). S. 88-94. FGBOU VPO NGTU (Novosibirsk, Rossija).
[21] V.G. Trubin, A. V. Eskin, A.L. Pechnikov, V.A. Zhmud. Ispol'zovanie seti internet dlja interaktivnoj laboratornoj raboty s distancionnym upravleniem model'ju robota snegouborshhika. Avtomatika i programmnaja inzhenerija. 2014. 1(7). S. 95-103.
[22] D.S. Fedorov, A.Ju. Ivojlov, V.A. Zhmud, V.G. Trubin. Razrabotka sistemy stabilizacii ugla otklonenija balansirujushhego robota. FGBOU VO NGTU (Novosibirsk, Rossija). Avtomatika i programmnaja inzhenerija. 2015. № 2 (12). S. 16-34.
[23] Utochnenie modeli balansirujushhego robota logiko-jempiricheskim metodom / L. V. Dimitrov, V. A. Zhmud, A. Ju. Ivojlov, V. G. Trubin // Nauchnyj zhurnal KubGAU : jelektron. nauch. zhurn. - 2016. - № 121 (07).
[24] Zhmud V. A., Kamenskij S. V., Francuzova G. A., Voskobojnikov Ju. E., Basynja E. A., Trubin V. G., Vostrikov A. S., Chikil'din G. P. Sistemy avtomaticheskogo upravlenija, mehatroniki i robototehniki. Monografija. Izd-vo NGTU. 210 s.
[25] Pechnikov A.L., Zhmud V.A., Trubin V.G., A.B. Kolker. Perspektivy razvitija robototehnicheskih uchebnyh stendov dlja vysshego special'nogo obrazovanija v oblasti robototehniki, avtomatiki i mehatroniki. Trudy konferencii Scientific World - Perspektivnye innovacii v nauke, obrazovanii, proizvodstve i transporte '2012.
Вадим Аркадьевич Жмудь -
заведующий кафедрой
Автоматики НГТУ, профессор, доктор технических наук. E-mail: oao [email protected]
Кирилл Андреевич Кузнецов
- магистрант группы ААМ-17 кафедры Автоматики НГТУ. E-mail: [email protected]
Никита Олегович Кондратьев
- магистрант группы ААМ-17 кафедры Автоматики НГТУ. E-mail: [email protected]
Виталий Геннадьевич Трубин
- зав. лаб. кафедры Автоматики НГТУ, директор ООО «КБ Автоматика». E-mail: [email protected]
Любомир Ванков Димитров -
проректор Технического
университета Софии (София, Болгария), доктор технических наук, профессор, почетный доктор НГТУ.
E-mail: lubomir [email protected]
Статья поступила в редакцию 12 октября 2017 г.