Робот объезжающий и избегающий препятствия

В этой статье мы рассмотрим несколько схем роботов, в которых реализованы следующие варианты поведения:
1. Объезжает препятствие при контакте с ним «усиками».
2. Избегает препятствия без контакта (ИК бампер).
3. Упирается «усиками» в препятствие, отъезжает назад, делает поворот, далее продолжает движение.
4. Избегает препятствие с разворотом (ИК бампер).
5. Следует за объектом, сохраняя дистанцию (ИК бампер).

Перед тем как приступить к рассмотрению схем давайте кратко разберем особенности микросхемы L293.


Рис.1. Расположение выводов микросхемы L293D

Внутри нее имеется два драйвера для управления электромоторами.
Моторы подключаются к выходам OUTPUT. Мы имеем возможность подключить два двигателя постоянного тока.
8-й и 16-й выводы микросхемы подключаются к плюсу питания. Поддерживается раздельное питание, т.е. 16-й вывод (Vss) предназначен для питания самой микросхемы (5 вольт), а контакт Vs (8-й вывод) можно подключить к источнику питания для двигателей. Максимальное напряжение силовой части составляет 36 вольт.
Я их разделять не буду и во всех схемах подключу к общему источнику питания.
Минус питания или земля (GND) подключается к выводам № 4, 5, 12, 13. Эти контакты, кроме того, обеспечивают теплоотвод микросхемы, поэтому при пайке на плату для этих выводов желательно выделить увеличенную металлизированную область.
Ещё микросхема имеет входы ENABLE1 и ENABLE2.
Для включения драйверов, необходимо наличие логической единицы на этих выводах, проще говоря 1-й и 9-й выводы подключаем к плюсу питания.
Также имеются входы INPUT для управления двигателями.

Рис.2. Таблица соответствия логических уровней на входах и выходах.

Выше представлена таблица, по которой можно понять, что если на вход INPUT1 подать логической единицу, т.е. соединить с плюсом источника питания, а вход INPUT2 — с минусом, то мотор М1 начнет вращаться в определенную сторону. А если поменять местами логические уровни на этих входах, то мотор М1 будет вращаться в другую сторону.
Аналогично происходит и со второй частью, к которой подключается мотор М2.

Именно эта особенность и использована в представленных схемах роботов.

Схема №1. Робот объезжает препятствие при контакте с ним «усиками».

Рис.3. Схема №1. С механическими датчиками препятствий.

После подачи питания моторы будут вращаться в определенную сторону, двигая робота вперед. Это происходит за счет того, что на INPUT1 через резистор R2 поступает сигнал высокого уровня, так же как и на входе INPUT4. Транзистор VT1 надежно закрыт, база стянута на минус питания, на коллектор ток не втекает.
Объяснять я буду по левой части, т.к. обе части симметричны.
На входе INPUT2 через резистор R3 устанавливается логический 0. Судя по таблице (рис.2) мотор вращается в определенную сторону. В правой части схемы происходит тоже самое и робот едет вперед.
В схеме имеются ключи (SB1, SB2), в качестве которых применены SPDT переключатели. На них с помощью термоклея прикрепляются скрепки и получаются датчики препятствий.

Рис.4. Из скрепок сделаны датчики «усики».

Когда такой датчик упирается в препятствие, ключ замыкается и вход INPUT2 оказывается подключенным к плюсу питания, т.е. подается логическая «1». В этот же момент времени открывается и транзистор, вследствие чего логическая единица на входе INPUT1 сменяется логическим нулем. Мотор при нажатой кнопке вращается в другую сторону. Рывками происходят микропереключения и мотор разворачивает робота от препятствия, до того момента, пока датчик перестанет соприкасаться с препятствием.

Как вы уже догадались, переключатели или сами моторы нужно расположить крест-накрест.

Схема №2. Робот избегает препятствия без контакта (ИК бампер)

Ещё более интересное поведение можно реализовать, если в качестве датчиков использовать TSOP-приемники для приема инфракрасных сигналов. Это будет некое подобие ИК-бампера.
Итак, теперь схема выглядит таким образом.

Рис.5. Схема №2. С инфракрасными датчиками препятствий.

«Модуль приема ИК» работает так: при поступлении инфракрасного сигнала на TSOP-приемник на его выходе появляется отрицательное напряжение, которое отпирает PNP транзистор, и ток с плюса питания поступает на входную цепь микросхемы. Если в прошлый раз были использованы механические переключатели, с так называемыми усиками из скрепок, то новая схема позволит роботу не врезаться в препятствие, а реагировать на него с некоторой дистанции. Это выглядит так:

Приемная часть выполнена таким образом: два абсолютно одинаковых модуля (левый и правый) скрепленные между собой (рис.8).

В качестве приемников использованы TSOP1136 с рабочей частотой 36 кГц. Расположение выводов представлено на рисунке ниже.

Рис.6. TSOP1136.

С приемниками мы разобрались, но для обнаружения препятствий нужно в пространство перед роботом посылать инфракрасное излучение с определенной частотой. Рабочая частота приемников бывает разная, в моем случае она составляет 36 кГц. Потому на микросхеме NE555 был собран генератор импульсов на данную частоту, а к выходу подключены излучающие диоды инфракрасного диапазона.

Рис.7. Схема излучателя на NE555.

На шасси робота закреплен фрагмент макетной платы, на которую можно установить желаемое количество ик-диодов.
На диоды желательно надеть термоусадочные трубочки или что нибудь подобное, чтобы они светили вперед, а не в разные стороны.

Рис.8. ИК бампер.

После подачи питания робот может попятиться назад, это из-за слишком большой чувствительности TSOP-приемников. Они воспринимают отраженный сигнал даже от пола, стен и других поверхностей. Потому в схеме излучателя ИК-сигнала (рис.7) использован подстроечный резистор, с помощью него уменьшаем яркость инфракрасных диодов и добиваемся желаемой чувствительности.

Схема №3. Такой робот отъезжает назад от препятствия, делая поворот.

Давайте рассмотрим ещё одну интересную схему.

Рис.9. Схема №3.

Когда такой робот упирается в препятствие одним из своих усиков, то он отъезжает назад, делая небольшой поворот, далее после небольшой паузы робот продолжает движение. Поведение показано на анимации ниже:

Эта схема тоже полностью совместима с инфракрасным бампером, от предыдущей схемы.

В схеме появились электролитические конденсаторы между эмиттером и базовыми резисторами транзисторов VT1 и VT2. Появились диоды VD1, VD2 и светодиоды HL1, HL2.
Давайте по порядку разберем, зачем нужны эти дополнительные компоненты. 
Итак, когда замыкается переключатель SB1, т.е. первый датчик, ток от плюса питания через диод VD1 и токоограничивающий резистор R1 поступает на базу транзистора. Он открывается, меняя логический уровень на входе INPUT1, на входе INPUT2 уровень тоже меняется.
В этот момент ток также поступает на конденсатор C1 и он заряжается. Мотор М1 резко меняет направление вращения и робот отъезжает назад от препятствия. На видео можно заметить, что второй мотор тоже меняет направление движения, но на более короткий промежуток времени. Это происходит из-за того, что при замыкании датчика SB1, ток от плюса питания поступает также и на правую часть схемы, через светодиод HL2. Светодиоды не лишь подают кратковременный сигнал о столкновении с препятствием, но и являются гасителем напряжения, поступающего на противоположную половину схемы. Проще говоря, при замыкании ключа SB1, конденсатор C2 заряжается меньше, чем C1. А при замыкании ключа (датчика) SB2 происходит тоже самое, но наоборот — С2 заряжается больше (т.е. напряжение на его обкладках больше). Это позволяет не лишь отъехать от препятствия, но и немного отвернуться от него. Угол этого отворачивания зависит от емкости конденсаторов C1 и С2. Конденсаторы емкостью 22 мкФ, на мой взгляд, являются оптимальными. При емкости 47 мкФ угол поворота будет больше.
Также на видео можно заметить, что после того, как робот отъезжает назад от препятствия, то присутствует небольшая пауза перед тем как он поедет вперед. Это происходит из-за разрядки конденсаторов, т.е. в некоторый момент времени логические сигналы на входах INPUT уравновешиваются и драйвер на секунду перестает понимать в какую сторону вращать мотор. Но когда C1 и С2 разрядятся, на входах INPUT установятся первоначальные логические уровни.
Диоды VD1 и VD2 препятствуют разрядке конденсаторов через светодиоды HL1, HL2. Без светодиодов схема не работает.

Схема №4. Предыдущая схема с ИК бампером.

Эта схема отличается от предыдущей тем, что вместо механических датчиков здесь использованы инфракрасные (ИК бампер).

Рис.10. Схема №4.

Коллекторы PNP транзисторов VT1 и VT2 при обнаружении препятствия, подадут сигнал на входную цепь микросхемы. Далее всё происходит также, как было описано ранее, лишь такой робот при обнаружении препятствия перед собой отъезжает назад, делает поворот, далее продолжает движение.
Поведение показано на анимации ниже:

У робота будет более резкое поведение, если уменьшить емкость конденсаторов C1 и C2 например до 1 мкФ (минимальная емкость 0,22 мкФ).

Как сделать так, чтобы робот следовал за объектом?

Во всех схемах, представленных выше, датчики-сенсоры или сами моторы должны быть расположены крест-накрест. А при прямом подключении (когда левый датчик «командует» левым двигателем, правый — правым) робот будет не избегать препятствие, а наоборот следовать за ним. Благодаря прямому подключению можно добиться очень интересного поведения робота — он будет активно преследовать объект, сохраняя определенную дистанцию. Расстояние до объекта зависит от яркости ИК диодов на бампере (настроить).

Ещё немного фотографий:

В шасси использованы металлические детали от конструктора. Макетная плата откидывается для удобства замены батареек.

Питание робота осуществляется от 4-х батареек АА.

Варианты изготовления корпуса и шасси для робота ограничиваются лишь вашей фантазией, тем более в продаже имеется много готовых решений. В моем случае схема будет перенесена на плату, т.к. куча проводов это не эстетично. Также будут установлены аккумуляторы со схемой подзарядки. А какие ещё доработки можно произвести или добавить новые функции — это всё вы можете предложить в комментариях.

К этой статье имеется видео, в котором подробно описана работа схем и продемонстрированы разные варианты поведения робота.
 


Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

Элементы схемы №1 и №2 (кроме ИК бампера)VT1, VT2
Биполярный транзистор2N39042
R1, R2, R4, R6
Резистор10 кОм4
R3, R5
Резистор4.7 кОм2
C1
Электролитический конденсатор100 мкФ1
 Элементы "модуля приема ИК" на схеме №2, №4VT1, VT2
Биполярный транзистор2N39062
КТ361, КТ816R1, R2
Резистор100 Ом2
C1, C2
Электролитический конденсатор10-47 мкФ2
 Элементы "модуля излучения ИК сигнала" рис.7R1
Резистор1 кОм1
R2
Резистор1.5 кОм1
R3
Переменный резистор20 кОм1
для настройки яркости FD1, FD2C1
Конденсатор керамический0.01 мкФ1
C2
Конденсатор керамический0.1 мкФ1
FD1, FD2
ИК диод2
Любой Элементы схемы №3 и №4 (кроме ИК бампера)VT1, VT2
Биполярный транзистор2N39042
R1, R4
Резистор10 кОм2
R2, R3
Резистор2 кОм2
C1, C2
Электролитический конденсатор22-47 мкФ2
C3
Электролитический конденсатор100 мкФ1
VD1, VD2
Выпрямительный диод1N40012
1N4148, 1N4007 или др.HL1, HL2
Светодиод2-3 В, 20-30 мА2
Добавить все

Скачать список элементов (PDF)

Добавить комментарий

Ваш адрес email не будет опубликован.