Приветствую всех. Продолжая играться с ультразвуковым датчиком US-100, родилось новое устройство на его основе — радар скорости движущихся объектов. Прошерстив интернет в поисках вдохновения на функционал в это устройство, открыл для себя, что подобного радиолюбители особо вообще не делали еще. Конечно, точность измерений, возможно не всегда соответствует действительности, в ситуации, требующей ответственности и точности не стоит применять данное устройство, но для любительских целей получается дешево и сердито. К примеру, если вас постоянно беспокоит вопрос о том с какой же скоростью бегает ваш любимый питомец, кот или собака, то вам однозначно сюда.
Серьезному тестированию устройство не подвергалось, однако в «лабораторных» условиях все более менее соответствует действительности. Наибольшая точность получается лишь в случае, если движущийся объект находится на одной линии с измерителем. Если же объект находится под некоторым углом относительно измерителя, в зависимости от величины угла, показания начнут отклоняться от действительных значений, это стоит учитывать, хотя исходя из целей использования, не стоит сильно загоняться по этому поводу.
Устройство собирается по такой схеме:
По традиции схема собрана на народном микроконтроллере Atmega8. Можно применять контроллер как в DIP корпусе, так и в смд исполнении tqfp корпусе. Резистор R3 служит подтяжкой положительного напряжения к выводу reset микроконтроллера для предотвращения самопроизвольного перезапуска микроконтроллера. В качестве устройства индикации информации используется LCD-дисплей на базе микроконтроллера HD44780 — 2 строки по 16 символов — SC1602. В данном случае подсветка дисплея подключена на плате самого дисплея резистором и перемычкой предусмотренными производителем. В таких дисплеях также предусмотрена возможность отдельного подключения подсветки через разъемы, обозначенные «А» и «К» — анод и катод соответственно. Подключается как обычный светодиод, через токоограничительный резистор порядка 20 — 30 Ом. Подстроечный резистор R1, подключаемый к выводам дисплея, служит для регулировки его контрастности. В небольших или разумных пределах его номинал можно варьировать. Тактовые кнопки для управления устройством можно заменить на любые другие. Светодиод LED1 служит для индикации условия превышения измеряемой скорости относительно установленного лимита. Можно применять любой светодиод или убрать его, применив вывод микроконтроллера для управления чем-либо другим. R4 — токоограничительный резистор для светодиода. Питание схемы осуществляется DC-DC преобразователем на микросхеме MC34063. Включение этой схемы стандартное для понижающего преобразователя. Резистор R6 задает максимальный ток на выходе преобразователя — 500 мА. Чтобы подобрать номинал в 0,3 Ом, можно использовать подключение нескольких резисторов в параллель. Резисторы R2 и R5 задают выходное напряжение преобразователя, отклонение от номиналов не желательно совсем. Конденсатор С3 задает частоту преобразования, при отсутствии номинала, заданного в схеме можно использовать наиболее близкие. Дроссель L1 также можно варьировать по номиналу (но не менее 65 мкГн). Сглаживающие и фильтрующие конденсаторы С1, С2 и С4, С5 можно варьировать в больших пределах. 1N5819 — диод Шотки, при замене важно учитывать напряжение. В качестве датчика для измерения скорости используется ультразвуковой датчик расстояния US-100. Данный УЗ датчик используется с интерфейсом приема и передачи данных по UART. Данный режим выбирается установкой перемычки на обратной стороне датчика. Что касается вопроса о том, что этот датчик измеряет расстояние, а не скорость, то просто нужно вспомнить начальные классы школы и задачки по математике про движущиеся объекты, про скорость в целом и ее формулу. А именно скорость равна пройденному расстоянию, деленному на время прохождения этого расстояния. Исходя из этой информации чтобы измерить скорость нам нужно знать проходимое расстояние (чем и занимается по сути датчик US-100) и время за которое это расстояние проходится. Возможно два варианта проведения измерений: взять за постоянное значение проходимое расстояние (например 1 метр или 2 метра) и измерять время, за которое это расстояние преодолевается, или вариант номер два — взять за постоянное значение время и измерять расстояние, преодолеваемое за это время. Все не так сложно, даже просто в какой-то мере. Было решено пойти по второму пути. Постоянная времени была взята равной 0,1 секунду, или 100 мили секунд. Устройство делает измерение расстояния до объекта номер один, через 0,1 секунду делает измерение расстояния номер два. Разность между этими значениями будет пройденным путем за время, равное 0,1 сек. И наконец вычисляется скорость перемещения по формуле: это расстояние поделить на константу времени. Данные выводятся на LCD-дисплей в 2-х вариантах, или точнее в 2-х единицах — метры в секунду и километры в час. Перевод одних единиц в другую также осуществляется при помощи школьной математики. Поразмыслив, решил, что при измерении скорости цифры на дисплее будут скакать и иногда их будет трудно прочитать или уследить за ними, поэтому индикация скорости в целом организована следующим образом: происходит измерение расстояния и вычисление скорости, значение заносится в буфер, далее происходит следующий цикл измерений расстояния и вычисление скорости, если вычисленное значение скорости больше значения в буфере, то буферное значение принимается равным вычисленному значению скорости. При следующем цикле измерений расстояния если вычисленное значение скорости меньше значения из буфера, то буферное значение остается максимальным. Таким образом, происходит измерение максимальной скорости или другими словами просто фиксация показаний на максимальном значении. Для сброса показаний в ноль используется кнопка S5.
Дополнительно устройство имеет две функции: измерение и индикация температуры (при нажатии кнопки S4) и индикация превышения скорости, значения лимита скорости регулируются кнопками S1, S2. Измерение температуры осуществлено на основе все того же датчика US-100. Он при помощи измерения температуры осуществляет температурную компенсацию показаний измерения расстояния и имеет возможность при обращении выдать текущее значение температуры. Что касательно индикации превышения скорости, то регулировка значения лимита происходит слегка замедленно. Это из-за того, что основной функцией является измерение расстояния и вычисление скорости. Для более достоверных данных измерение и вычисление скорости происходит более секунды, при этом программа микроконтроллера не прерывается на что-либо другое.
Главным ограничением устройства является то, что максимальное расстояние, на котором датчик работает составляет 4,5 метра. И лишь в этом пределе или радиусе может происходит измерение скорости.
Схема собиралась на макетной плате для Atmega8:
Для большей эффектности можно сделать схему в форме пистолета.
Для программирования контроллера необходимо знать конфигурацию фьюз битов:
Микроконтроллер работает от внутреннего RC генератора на частоте 8 МГц.
К статье прилагается прошивка в формате HEX, проект Proteus (версия 7.7, ультразвукового датчика US-100 в базе proteus’а нет, но задействован UART отладчик) и видео работы устройства в комнатных условиях (за котами гоняться не будем, просто скорость движения руки для демонстрации).
Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот
IC1
МК AVR 8-битATmega81
IC2
DC/DC импульсный конвертерMC34063A1
HG1
LCD-дисплейSC16021
На базе HD44780U1
УЗ-датчикUS-1001
VD1
Диод Шоттки1N58191
LED1
Светодиод1
L1
Дроссель100 мкГн1
R1
Подстроечный резистор10 кОм1
3296W-1-103LFR2
Резистор3 кОм1
0,25 ВтR3
Резистор10 кОм1
0,25 ВтR4
Резистор390 Ом1
0,25 ВтR5
Резистор1 кОм1
0,25 ВтR6
Резистор0.3 Ом1
Или подбором несколькихC1, C5-C7
Конденсатор100 нФ4
С2
Конденсатор1000 мкФ1
C3
Конденсатор220 пФ1
C4
Конденсатор100 мкФ1
C8
Конденсатор47 мкФ1
S1-S5
Тактовая кнопкаTC-A1095
Добавить все
Скачать список элементов (PDF)
Прикрепленные файлы:
- 26.hex (6 Кб)
- usart2-proteus.rar (20 Кб)