1. Введение
Цель данного проекта - создание колёсной модели машины для дистанционного исследования местности, снабжённой микроконтроллером и ультразвуковым локатором. Задача работы: конструирование модели с использованием оригинальных деталей собственного изготовления, готового шасси и ультразвукового датчика НС-SRO4.
Гипотеза – возможность создания авторской модели программируемой машины-исследователя с ультразвуковым сканирующим локатором.
Объект исследования – конструкторские решения по созданию модели, способной выполнить поставленные перед ней задачи.
Предмет исследования – возможности создаваемых базовых систем.
Практическая значимость работы: авторам удалось выполнить поставленную задачу и изготовить машину собственной конструкции, снабжённую подвижным ультразвуковым датчиком, сканирующим пространство перед машиной и обеспечивающим защиту от столкновений. Также была написана и проверена в действии специальная двухрежимная программа для микроконтроллера, управляющего работой всего комплекса. Всё это позволяет говорить о том, что данная разработка может быть использована творческими объединениями в процессе обучения.
Новизной работы стало создание автономной машины для дистанционного исследования местности, снабжённой ультразвуковым локатором и микроконтроллером, для которого была написана специальная управляющая программа.
Выбранная тема современна, так как направлена на решение всегда актуальных инженерных задач. В данном случае, связанных с получением доступа в те места, куда физически человек попасть не может или же ему опасно там находиться.
В ходе работы использовалась книги по конструированию и программированию. Также были рассмотрены материалы из интернета, связанные с созданием различных моделей, управляемых с помощью микроконтроллеров, и изучены программы, написанные другими авторами для своих изделий, в частности техническая документация на ультразвуковой датчик НС-SRO4 и микроконтроллер.
2. Теоретическая часть.
Ультразвуковая локация
Ультразвук – звуковые волны, имеющие частоту выше воспринимаемым нашим ухом (20 000 Гц). УЗ применяется в различных физических и технологических методах.
Излучатели УЗ делят на две группы: излучатели-генераторы (колебания возбуждаются из-за наличия препятствий на пути постоянного потока – струи газа или жидкости), электроакустические преобразователи (преобразуют колебания электрического напряжения или тока в механические колебания твёрдого тела - тело излучает акустические волны) [4]. Высокочастотные колебания обычно создают с помощью пьезокерамических преобразователей, например, из титанита бария. В природе УЗ встречается как компонент естественных шумов (ветер, водопад, дождь, шум гальки). При прохождении УЗ через материалы с различными акустическими сопротивлениями и скоростями распространения волн имеют место: отражение, преломление, рассеяние и поглощение. Интенсивность отраженного УЗ и прошедшего границу сред зависит от исходной интенсивности и разности акустических сопротивлений сред. Если акустическое сопротивление одинаковое –отражения нет. При большой разнице сопротивлений интенсивность отражения стремится к 100%. Рассеивание мало зависит от направления падающего луча. Если длина волны много больше размеров неровностей поверхностей, то происходит зеркальное отражение. Если она сопоставима с неровностями или имеется неоднородность среды, тогда происходит рассеивание УЗ [5].
Принцип действия радаров заключается в эхолокации, то есть, первоначально создают импульс, который уходит в заданном направлении, а затем отражённый сигнал принимают (при условии, если он вернётся). Такой способ позволяет определять положение объекта в зависимости от времени задержки возвращенной волны. Расчёт расстояния R до объёкта производится по формуле:
(1),
где v –скорость распространения сигнала, t – время, через которое сигнал возвращается обратно к радару. В зависимости от применяемых волн выделяют звуколокацию (ультразвуковую), радиолокацию и оптическую локацию (электромагнитные волны) [1].
С помощью ультразвука, например, работают эхолоты кораблей. Они измеряют расстояния в воде. Это может быть глубина моря или расстояние до объекта (подводные лодки, косяки рыб). Аналогичные конструкции применены в парктрониках для автомобилей. При этом, если также учитывать эффект Доплера (изменение длины волны в результате движения) то, можно определять скорость объекта. Существуют «живые радары» - летучие мыши, которые «видят» с помощью ультразвука. Если во время экспериментов им заклеить глаза, то мыши будут свободно летать, не задевая препятствия. Радиолокаторы используют радиоволны для слежения за самолётами.
Локаторы работают в импульсном режиме. Первоначально испускается мощный импульс. (Иначе он рассеется в пространстве и не успеет дойти до какого-либо препятствия.) Затем наступает пауза – время, в течение которого ожидается ответ. Глубина разведки связана именно с мощностью импульсов и паузами между ними. Полученный сигнал усиливают. Если отражённый импульс придёт позднее, то его заглушит следующий импульс передатчика [2].
3. Практическая часть.
3.1. Авторская модель ультразвукового дальномера
В работе для изготовления дальномера был использован модуль с двумя пьезоэлементами. Один служит излучателем ультразвука, а другой – приёмником УЗ-волны. Кроме того использовался микроконтроллер в качестве управляющей электроники [3]. Для питания используется аккумулятор на 5 В, который заряжается от компьютера, а затем через разъём подсоединяется к дальномеру. На изделии нужны разъёмы для подключения к компьютеру для установки программы.
Работа осуществляется следующим образом: первый импульс длительностью 10-15 мкс, затем до приёмника доходит отражённая волна. После того, как отраженный сигнал от препятствия достиг приемника, на выводе Echo появляется импульс длиной 25 мс. Время, прошедшее с момента отправки зондирующего импульса до появления импульса пришедшего отраженного сигнала в дальнейшем пересчитывается программой в реальное расстояние до препятствия. Дальномер - рис. 1 а, б.
ЭКСПЕРИМЕНТЫ. Рис. 2 а, б . Таблицы 1 и 2. В таблицы внесены результаты определения расстояний с помощью ультразвукового дальномера, проведённые для разных поверхностей. Отражение было рассмотрено для лучей перпендикулярных поверхности и направленных под углом к ней.
Технические характеристики используемого модуля:
Напряжение питания: 5В. Сила тока: 2 мА Эффективный угол обзора: < 15 ° Диапазон расстояний: 2 см - 300 см Разрешение: 0,3 см.
УЗ- модуль присоединяется к микроконтроллеру напрямую. На дисплей выводится число, показывающее расстояние до препятствия в сантиметрах.
Так как производителями не были предусмотрены буквы кириллицы, поэтому в программе написанной автором для данного дальномера заданы необходимые буквы для записей на дисплее: «Дальномер» и «МБОУ СОШ».
3.2. Авторская модель машины для дистанционного исследования местности с ультразвуковым локатором и микроконтроллером
3.2. 1. Устройство и принципы действия
Модель собрана на базе заднеприводного шасси детской игрушки с колёсной формулой 4х2. Рис. 3, 4 – вид машины сбоку и спереди.
Ультразвуковой датчик идентичен описанному выше и использованному в модели дальномера (рис. 5). Отличие в способе установки датчика. В описанном выше дальномере датчик закреплен неподвижно. А в машине датчик способен поворачиваться в горизонтальной плоскости на угол 80°, что обеспечивает полный обзор пространства спереди машины без «мертвых зон». Поворот осуществляется с помощью сервопривода по командам микроконтроллера.
На рис. 6 представлена сборка машины и крупным планом показано расположение датчика с кнопкой, установленной на сервоприводе. Таким образом, в изделии был применен сервопривод для управления движением локатора в обзорном режиме (рис. 7) . Машина в сборе – рис. 8.
Общее управление автономной машиной для дистанционного исследования местности производится с помощью микроконтроллера, работающего по специально написанной двухрежимной программе, включающей демонстрационную версию, обычно необходимую для выставок, где следует более экономно использовать источники питания. В данном случае источником питания является аккумулятор. Поэтому к машине прилагается соответствующее зарядное устройство.
Микропроцессорная плата микроконтроллера отдельно представлена на рис. 9 а, б. Полярные ключи на ней осуществляют переключение направления вращения моторов. Эта же плата внутри машины – рис. 10 а, б.
Работая в обзорном режиме, машина вращает локатор достаточно быстро, но если она получает отражённый сигнал, то машина резко останавливается и производит плавное сканирование пространства перед собой для точного определения местоположения препятствий. В зависимости от того, где находится препятствие (справа, слева или по середине) микроконтроллер выбирает необходимый алгоритм объезда возникшего препятствия. Если при этом в результате нескольких попыток совершить поворот (например, направо) отражённый от препятствия сигнал приходит с той же стороны вновь и вновь, то машина меняет способ объезда препятствия на другой из доступных в программе вариантов и, к примеру, может совершить поворот налево в поисках выхода из тупиковой ситуации.
Рис. 11. –индикатор «Бегущая точка» возле процессорной платы. Данный индикатор работает независимо от процессорной платы и служит для визуального представления об уровне заряда аккумулятора.
На двигатели автомобиля напряжение подаётся импульсами, позволяющими регулировать скорость вращения мотора. Для этого применяется широтно-импульсная модуляция. Генерация ШИМ с необходимым коэффициентом заполнения для регулировки скорости вращения ходового мотора происходит программно. При необходимости возможен плавный разгон, движение с постоянной скоростью или резкая остановка. Величина напряжения обусловлена количеством импульсов в единицу времени в процессе чередования поступающих сигналов («1» и «0»). Осциллограмма формы выходного напряжения, полученная компьютерным осциллографом, представлена на рис. 12. Выходная мощность около 50 %.
Схема процессорной платы с полярными ключами – рис. 13. Схема индикатора питания «бегущая точка» – рис. 14.Диапазон напряжений от 6,4 В (горит крайний красный светодиод), до 8,4 В (крайний зеленый). Светодиоды HL1 и HL2 красного цвета, HL3, HL 4 и HL5 – желтого. Остальные– зелёные. Подстроечные резисторы нужны для точной настройки шкалы под измеряемые напряжения. Его максимальному значению соответствует свечение верхнего зелёного светодиода, а минимальному – нижнего красного. В этом случае промежуточные значения правильно отображаются поочерёдным зажиганиям остальных светодиодов. Так как измеряемое напряжение одновременно является и питающим, в схему добавлен стабилизатор напряжения на 5 В. Стабилизатор напряжения DA1 предназначен для стабильной работы шкалы при колебаниях питающего напряжения. Он предотвращает сбивание правильной настройки и искажение показаний индикатора.
3.2.2. Программа для работы микроконтроллера машины
Для программирования использовали Bascom (архитектуры AVR).
Возможны два режима работы, в зависимости от того нажата кнопка ДЕМО -режима или нет.
Кнопку ДЕМО- режима можно переключать до включения машины или в процессе ее работы.
Если кнопка нажата, то после включения машины сервопривод с датчиком устанавливается в среднее положение. 5 секунд– пауза. Машина стоит на месте. Датчик медленно поворачивается слева направо и наоборот.
При приближении датчика к препятствию на расстояние менее 25-30 см, машина отъезжает медленно назад на расстояние около 30 см. Останавливается. Датчик продолжает поворачиваться. Если снова приблизится к препятствию, то машина опять отъедет назад. Так продолжается до тех пор, пока не будет отжата кнопка ДЕМО- режима или не будет отключено питание.
Если кнопка отжата, то после включения машины сервопривод с датчиком устанавливается в среднее положение. 5 секунд– пауза. Машина начинает движение вперед с одновременным поворотом датчика справа налево и наоборот. Вначале движения для облегчения трогания с места на двигатель подается повышенная мощность:
строка Pwm1b= 7 'начальное значение ШИМ для движения вперед OCR1B (быстро вперед для облегчения трогания с места).
Затем мощность плавно снижается до значения(Pwm1b = 25).
При движении вперед непрерывно контролируется пространство впереди машины на наличие препятствий впереди. Если препятствия слишком далеки, то скорость вращения датчика принудительно увеличивается из-за того, что получаются слишком большое время ожидания отраженного сигнала. А это приводит к чрезмерному замедлению поворота датчика.
Программа отслеживает соответствие угла поворота датчика с расстоянием до препятствий при этом угле поворота. Таким образом, различаются препятствия, которые могут быть слева, справа или точно посередине. В процессе движения вперед происходит обзорное сканирование обстановки спереди машины. Каждый цикл сканирования происходит три раза с последующим усреднением показаний.
Значения расстояний дальше одного метра игнорируются как излишние. Это необходимо для минимизации ложных срабатываний при случайных флуктуациях в работе ультразвукового датчика. В случае обнаружения препятствия ближе 25-30 см (дальность обнаружения может сильно варьироваться в зависимости от материала препятствия и угла встречи с ним) машина резко останавливается. Для более резкой остановки, после отключения команды движения вперед, кратковременно подается команда назад.
После остановки происходит детальное сканирование пространства спереди машины для максимально точного определения препятствий и расстояний до них. При этом датчик устанавливается в крайнее левое положение и поворачивается до крайнего правого положения.
В процессе поворота отключается усреднение показаний и происходит просто накопление. Все результаты измерений от крайнего левого положения датчика до среднего сохраняются в ячейке памяти L_count, а результаты измерений при положении датчика от среднего до крайнего правого в ячейке памяти R_count.
После окончания цикла сканирования следует сравнение между собой значений, хранящихся в ячейках L_count и R_count. В зависимости от того, с какой стороны препятствие ближе программа принимает решение, в какую сторону отъезжать. Если расстояния будут равны, то программа считает, что препятствие слева.
Для предотвращения зацикливания работы программы в пространстве с большим количеством препятствий, служат счетчики количества поворотов в одну сторону подряд. Когда происходит поворот в одну сторону, счетчик поворотов в противоположную сторону обнуляется. При срабатывании счетчика, машина поворачивает в противоположную сторону и отъезжает с другой скоростью назад, в отличие от штатной работы программы объезда препятствия.
Для повышения стабильности работы программы счетчики левых и правых поворотов имеют различные значения. Скорости отъезда назад также имеют различные значения. Таким образом, программы объезда препятствий справа и слева специально сделаны ассиметричными.
После завершения цикла объезда препятствия программа возвращается к началу работы – машина едет вперед. Датчик производит обзорное сканирование пространства спереди машины. Это будет происходить до тех пор, пока не будет отключено питание или не будет нажата кнопка ДЕМО – режима. Фрагмент программы представлен в «Приложении».
4. Заключение
Результатом данного проекта стало создание колёсной автономной модели машины для дистанционного исследования местности, снабжённой микроконтроллером и подвижным ультразвуковым локатором, сканирующим пространство перед машиной, обеспечивая её защиту от столкновений. Была написана и проверена в действии специальная двухрежимная программа для микроконтроллера, управляющего работой всего комплекса.
При этом автором был охвачен достаточно широкий круг вопросов электроники, которые необходимы для создания задуманных устройств. Материал данной работы может быть использован в учебной деятельности с учениками, проявляющими повышенный интерес к физике и технике, так как электроника – это очень современный и актуальный аспект в развитии передовых технологий. Будущее за роботами, способными заменить человека во многих сферах деятельности.
5.Литература
1.Мякишев Г.Я., Буховцев Б. Б.,Чаругин В.М. Физика-11. – М.: Просвещение, 2016. – 399 с.
2. Резников З. М. Прикладная физика.- М.: Просвещение, 1989. -239 с.
3. Ревич Ю.В. Занимательная микроэлектроника. – СПб: БХВ-Петербург, 2007. – 592 с.
4. ru.wikipedia.org/wiki/Ультразвук
5. ultrasound.net.ua/.../fizika-ultrazvuka
6. ПРИЛОЖЕНИЯ
Рис. 1 а, б - Дальномер ультразвуковой
Рис. 2 а, б - Эксперименты.Проверка точности прибора.
Таблица 1. Проверка точности измерений для различных поверхностей (s=20 см)
Поверхности |
Стекло |
Ворс |
Стена |
Полировка |
Поролон |
Обои с теснением |
Расстояние по прибору |
20,3 |
23,5 |
19,9 |
20,2 |
22,5 |
20,4 |
│s - sд│ |
0,3 |
3,5 |
0,1 |
0,2 |
2,5 |
0,4 |
Таблица 2. Рабочие параметры дальномера
Дальность действия с допустимой точностью |
Допустимый угол падения |
Больше точность измерений |
Рабочая температура |
Время обновления показаний |
2,9 м |
300 |
1 -2,5 м |
0-40 |
Не более 0,5 с |
Рис. 3 - Вид машины сбоку Рис.4 - Вид машины спереди
Рис. 5 - УЗ –датчик с кнопкой ДЕМО Рис. 6 – Сборка машины
Рис. 7 - Сервопривод в кронштейне Рис. 8 - Машина в сборе
Рис. 9 а, б - Процессорная плата с полярными ключами
Рис. 10 а, б - Процессорная плата внутри машины
Рис. 11 - Индикатор «Бегущая точка» возле процессорной платы
Рис. 12 - ШИМ последовательность на выходе блока питания
Рис. 13 - Схема процессорной платы с полярными ключами DA1 LM7805; VT1-VT8 IRFZ46V; R1-R9 10 kOm; R10, R11, R13, R15, R18, R20, R23, R25, R28, R30 1 kOm; R12, R17, R22, R27 2,2 kOm; R14, R16, R19, R21, R24, R26, R29, R31 100 kOm; С1, С4, С6 1000 mF x 25 V; С2, С3, С5 0.1 mf x 25 V; М1 ходовой мотор; М2 мотор поворота передних колес.
Рис. 14 - Схема индикатора питания «бегущая точка»
ФРАГМЕНТЫ ПРОГРАММЫ
$regfile = "attiny2313.dat" 'микроконтроллер ATTiny2313$crystal = 8000000 'частота работы 8МГцConfig Portd.0 = Output конфигурируем порты для подключения резерва
………………………………………………..Dim A_left AsWord 'сюда копируется значение длины сигнала левой стороныDim A_temp AsWord 'сюда копируется среднее значение длины сигнала
левой стороныDim A_right AsWord 'сюда копируется значение длины сигнала правой
стороныDim A AsWord 'сюда копируется значение длины сигнала с датчика
расстоянияDimBAsBit 'определяет направление поворота сервопривода с датчиком
расстоянияDim C AsBit 'определяет ехать или стоятьDim D AsByte 'счетчик количества циклов измерения расстоянияDimSAsByte 'сюда копируется значение угла поворота сервомашинкиDim L_count AsByte 'счетчик количества поворотов влево подрядDim R_count AsByte 'счетчик количества поворотов вправо подрядB = 0 'сервопривод поворачивается налево по умолчаниюC = 0 'разрешено движение вперед по умолчаниюConfigTimer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up ,
Compare B Pwm = Clear Up , Prescale = 8 'настройка режима работы таймераConfig Servos = 1 , Servo 1 = Portd.6 , Reload = 15 'настройка: подключение 2
сервомашинокEnableInterrupts 'разрешаем прерыванияPwm1a = 255 'начальное значение ШИМ для движения назад
OCR1A (останов)Pwm1b = 255 'начальное значение ШИМ для движения вперед
OCR1B (останов)Servo(1) = 77 'загрузить значение угла поворота сервопривода в сервоприводWait 5Pwm1b = 7 'нач. знач. ШИМ для дв-я вперед OCR1B (быстро – легче трогание
с места)S = 77 'центральное положение сервоприводаDoZapusk:Servo(1) = S 'загрузить значение угла поворота сервопривода в сервопривод 'ЗДЕСЬ ОПРЕДЕЛЯЕТСЯ РЕЖИМ ДВИЖЕНИЯ нормальный или Демо…………………………………… 'ЗДЕСЬ ОПРЕДЕЛЯЕТСЯ УГОЛ и направление поворота сервопривода
……………………………………
'ЗАДАНИЕ НАПРАВЛЕНИЯ поворота сервопривода и его крайних углов поворота ……………………………………
'ПОДПРОГРАММА ОПРОСА УЛЬТРАЗВУКОВОГО СЕНСОРА Ultra:If C = 0 Then 'если разрешено движение впередA_temp = 0 'обнулить среднее арифметическое значение расстояния до
препятствияEndIfFor D = 0 To 3 'три раза подряд измерить расстояние до препятствияSet Portb.1 'даем импульс на ногу Portb.1 длительностью 15 мксWaitus 15Reset Portb.1Waitus 10Pulsein A , Pind , 4 , 1 'ловим импульс высокого уровня на PinD.5If A > 400 Then 'отрезаем все данные от препятствий дальше 1 мA = 400EndIf
(ДАЛЕЕ СЛЕДУЕТ ПРОДОЛЖЕНИЕ ПРОГРАММЫ)