Робот который ездит по линии своими руками

Простая схема робота, следующего по линии

Проекты в области электроники: простой робот с
линейным слежением.

Как правило, робот с линейным слежением основан на микроконтроллерах. Здесь мы опишем робота-последователя без микроконтроллера для тех, кто не знаком с микроконтроллерами.

Робот использует интерфейсы для датчиков, чтобы сделать поведение максимально универсальным. Два детектора света установлены на передней части робота. Кроме того, предусмотрен путь: черная дорожка (с использованием черной цветной ленты) на белом полу или белая дорожка на черном полу.

Сборка и тестирование

Односторонняя печатная плата фактического размера для робота следования за линией показана на рис. 3, а компоновка его компонентов – на рис. 4. Секции датчиков следует отделить от основной печатной платы путем разрезания вдоль пунктирных линий. Правый и левый датчики должны быть установлены на передней части робота так, чтобы оба датчика были направлены к земле. Расстояние между правым и левым датчиками должно быть правильно выровнено в соответствии с шириной дорожки на земле. Рис. 8: Авторский прототип. Скачать PDF-файлы с печатной платой и компоновкой компонентов: нажмите здесь

Соберите схему на печатной плате, так как она минимизирует время и ошибки сборки. Тщательно соберите компоненты и перепроверьте на любую пропущенную ошибку. Рекомендуется использовать базы IC для IC3 и IC4. Перед установкой ИС всегда проверяйте правильное напряжение питания. На плате предусмотрены подходящие разъемы для подключения мотор-редукторов M1 и M2 и датчиков IC1 и IC2. Подключите двигатели и подайте питание на батарею 12 В. Поместите робота на дорожку. Датчики распознают белую или черную дорожку на поверхности, и робот следует этой дорожке. Сообщение «привет» может отображаться на верхней части робота с помощью схемы, показанной на рис. 5. Односторонняя печатная плата фактического размера для рис. 5 показана на рис. 6, а компоновка ее компонентов на рис. 7. Рабочий прототип фотографии приведен на рис. 8.

Читайте также:  Сидушки для лодок пвх своими руками

Источник

Небольшой настольный робот для гонок по линии

Существует множество видов соревнований по робототехнике. А описание некоторых интересных проектов можно найти в Интернете. Гонки по линии это такой вид соревнований, в котором различные роботы соревнуются в скорости следования по линии. Я сделал крошечного робота, который может гонять по столу. Это просто игрушка, ее размеры меньше одной пятой по сравнению с типичными роботами для соревнований. Но я считаю, что она подходит для домашнего использования в небольших домах и квартирах

О «Гонщике по линии»

«Гонщик по линии» — это простой робот который следует по линии, нарисованной на полу. Вот основные функции такого робота:

1) Определение положения линии при помощи оптических сенсоров, установленных спереди робота. Большинство таких датчиков реагируют на отраженный свет, но некоторые крутые роботы оснащены датчиком изображения для обработки изображений. Процесс требует надежных и высокоточных датчиков.

2) Поворот робота.

3)Управление скоростью. Скорость движения снижается при прохождении поворотов для того чтобы робот не слетел с линии.

Есть два типа линии — белые линии на черном фоне и черные линии на белом фоне. Чаще всего используется первый тип, с толщиной линии от 15 до 25 миллиметров.

Железо

Механика

На картинке вид робота снизу и сбоку. Вся механика и электроника смонтированы на макетную плату, и она также представляет собой шасси робота.

Робот имеет три точки опоры: два ведущих колеса с резиновыми шинами и маленькое колесо, которое свободно вращается. Ведущие колеса имеют диаметр 7 мм. Маленькое колесо имеет диаметр 5 мм. Для привода ведущих колес используются два вибромоторчика. Их валы прижимаются к шине и крутящий момент передается на колеса.

Для поворота используется разница в скорости вращения левого и правого колеса. Это не требует никаких дополнительных приводов.

Электроника

Мозги: ATmega8
Датчики линии: Шесть датчиков, реагирующих на отраженный от линии свет
Питание: Две литиевые CR2032 (Одна для управления, другая для двигателей)
Двигатели: Вибромоторы
Размеры: 45x33x12,5 [мм]
Вес: 15 грамм (Робот: 8g, Батареи: 7g)
​ Скорость: 53 сантиметра в секунду при овальной линии

Для управления используется микроконтроллер Atmel ATmega8. Он запитан от литиевой батарейки на 3В. От другой литиевой батарейки питаются двигатели. Раздельное питание сделано для того чтобы избежать случайного сброса микроконтроллера из-за просадок напряжения. Шесть датчиков крепятся на передней части шасси. Они принимают отраженный свет от линии под ними. Для управления двигателями используется ШИМ.

Программа

Принцип работы датчиков

Для обнаружения линии по которой необходимо следовать, большинство роботов оснащены двумя или более датчиков-отражателей. Напряжение на нем пропорционально степени отражения света от линии. Принимается решение — обнаружена линия или нет. Тем не менее решение это не всегда правильное, потому что датчик может засветится внешним источником света, как показано на рисунке.

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

В этом проекте датчики сканируются последовательно, для того чтобы избежать засветки с других датчиков. Микроконтроллер начинает сканировать состояние датчика, получает образец напряжения с датчика, включает светодиод и снова проверяет напряжение. По разнице между двумя можно судить о положении робота относительно линии. Засветка при таком способе исключается. Все остальные датчики сканируются в такой же последовательности.

Обработка сигналов с датчиков

Микроконтроллер сканирует шесть датчиков и определяет положение линии. Положение линии может быть обнаружено линейно только с шестью датчиками.

Если робот слетает с линии или линия заканчивается, двигатели останавливаются и микроконтроллер переходит в спящий режим.

Источник

КАК СДЕЛАТЬ РОБОТА

Сделать робота можно, используя лишь одну микросхему драйвера моторов и пару фотоэлементов. В зависимости от способа соединения моторов, микросхемы и фотоэлементов робот будет двигаться на свет или, наоборот, прятаться в темноту, бежать вперед в поисках света или пятиться, как крот, назад. Если добавить в схему робота пару ярких светодиодов, то можно добиться, чтобы он бегал за рукой и даже следовал по темной или светлой линии.

Принцип поведения робота основывается на «фоторецепции» и является типичным для целого класса BEAM-роботов. В живой природе, которой будет подражать наш робот, фоторецепция — одно из основных фотобиологических явлений, в котором свет выступает как источник информации.

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

В устройстве робота, кроме микросхемы драйвера моторов L293D , будет использоваться только один фотоэлемент и один электромотор. В качестве фотоэлемента можно применить не только фототранзистор, но и фотодиод или фоторезистор.
В конструкции робота мы используем фототранзистор n-p-n структуры в качестве фотосенсора. Фототранзисторы на сегодняшний день являются, пожалуй, одним из самых распространенных видов оптоэлектронных приборов и отличаются хорошей чувствительностью и вполне приемлемой ценой.

На рисунке приведены монтажная и принципиальная схемы робота, и если Вы еще не очень хорошо знакомы с условными обозначениями, то, исходя из двух схем, несложно понять принцип обозначения и соединения элементов. Провод, соединяющий различные части схемы с «землей» (отрицательным полюсом источника питания), обычно не изображают полностью, а на схеме рисуют небольшую черточку, обозначающую, что это место соединяется с «землей». Иногда рядом с такой черточкой пишут три буквы «GND», что означает «землю» (ground). Vcc обозначает соединение с положительным полюсом источника питания. Вместо букв Vcc часто пишут +5V, показывая тем самым напряжение источника питания.

Принцип действия схемы робота очень простой. Когда на фототранзистор PTR1 упадет луч света, то на входе INPUT1 микросхемы драйвера двигателей появится положительный сигнал и мотор M1 начнет вращаться. Когда фототранзистор перестанут освещать, сигнал на входе INPUT1 исчезнет, мотор перестанет вращаться и робот остановится. Более подробно о работе с драйвером двигателей можно прочитать в предыдущей статье «Драйвер двигателей L293D».

Чтобы скомпенсировать проходящий через фототранзистор ток, в схему введен резистор R1, номинал которого можно выбрать около 200 Ом. От номинала резистора R1 будет зависеть не только нормальная работа фототранзистора, но и чувствительность робота. Если сопротивление резистора будет большим, то робот будет реагировать только на очень яркий свет, если — небольшим, то чувствительность будет более высокой. В любом случае не следует использовать резистор с сопротивлением менее 100 Ом, чтобы предохранить фототранзистор от перегрева и выхода из строя.

Сделать робота, реализующего реакцию фототаксиса (направленного движения к свету или от света), можно с использованием двух фотосенсоров.

Когда на один из фотосенсоров такого робота попадает свет, включается соответствующий сенсору электромотор и робот поворачивает в сторону света до тех пор, пока свет не осветит оба фотосенсора и не включится второй мотор. Когда оба сенсора освещены, робот движется навстречу источнику света. Если один из сенсоров перестает освещаться, то робот снова поворачивает в сторону источника света и, достигнув положения, при котором свет падает на оба сенсора, продолжает свое движение на свет. Если свет перестает падать на фотосенсоры, робот останавливается.

Схема робота симметричная и состоит из двух частей, каждая из которых управляет соответствующим электромотором. По сути, она является как бы удвоенной схемой предыдущего робота. Фотосенсоры следует располагать крест-накрест по отношению к электромоторам так, как показано на рисунке робота выше. Также можно расположить моторы крест-накрест относительно фотосенсоров так, как показано на монтажной схеме ниже.

Если мы расположим сенсоры в соответствии с левым рисунком, то робот будет избегать источников света и его реакции будут похожи на поведение крота, прячущегося от света.

Сделать поведение робота более живым можно, подав на входы INPUT2 и INPUT3 положительный сигнал (подключить их к плюсу источника питания): робот будет двигаться при отсутствии падающего на фотосенсоры света, а «увидев» свет, будет поворачивать в сторону его источника. Когда свет будет падать на оба сенсора, робот остановится.

Дорогой Бобот, а можно ли использовать в приводимой схеме простейшего робота какие-либо другие микросхемы, например L293DNE?

Конечно, можно, но видишь ли, в чем дело, дружище Бибот. Настоящая L293D выпускается только группой компаний ST Microelectronics. Все остальные подобные микросхемы являются лишь заменителями или аналогами L293D . К таким аналогам относятся L293DNE американской компании Texas Instruments, SCP-3337 от Sensitron Semiconductor. Естественно, что, как и многие аналоги, эти микросхемы имеют свои отличия, которые тебе будет необходимо учитывать, когда ты будешь делать своего робота.

А не мог бы ты рассказать об отличиях, которые мне необходимо будет учесть при использовании L293DNE.

С удовольствием, старина Бибот. Все микросхемы линейки L293D имеют входы, совместимые с TTL-уровнями*, но лишь совместимостью уровней некоторые из них не ограничиваются. Так, L293DNE имеет не только совместимость с TTL по уровням напряжения, но и обладает входами с классической TT-логикой. То есть на неподключенном входе присутствует логическая «1».

Прости, Бобот, но я не совсем понимаю: как же мне это учитывать?

Если на неподключенном входе у L293DNE присутствует высокий уровень (логическая «1»), то и на соответствующем выходе мы будем иметь сигнал высокого уровня. Если мы теперь подадим на рассматриваемый вход сигнал высокого уровня, говоря по другому — логическую «1» (соединим с «плюсом» питания), то на соответствующем выходе ничего не изменится, так как на входе у нас и до этого была «1». Если же мы подадим на наш вход сигнал низкого уровня (соединим с «минусом» питания), то состояние выхода изменится и на нем будет напряжение низкого уровня.

То есть получается все наоборот: L293D мы управляли с помощью положительных сигналов, а L293DNE нужно управлять с помощью отрицательных.

L293D и L293DNE можно управлять как в рамках отрицательной логики, так и в рамках положительной*. Для того чтобы управлять входами L293DNE с помощью положительных сигналов, нам будет необходимо подтянуть эти входы к «земле» подтягивающими резисторами.

Тогда, при отсутствии положительного сигнала, на входе будет присутствовать логический «0», обеспечиваемый подтягивающим резистором. Хитроумные янки называют такие резисторы pull-down, а при подтягивании высокого уровня — pull-up.

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

Ты совершенно правильно понял, дорогой Бибот. Номинал этих резисторов можно выбрать около 4,7 кОм. Тогда схема простейшего робота будет выглядеть следующим образом.

Причем от номинала резистора R1 будет зависеть чувствительность нашего робота. Чем сопротивление R1 будет меньше, тем чувствительность робота будет ниже, а чем оно будет больше, тем чувствительность будет выше.

А так как в данном случае нам нет необходимости управлять мотором в двух направлениях, то второй вывод мотора мы можем подключить напрямую к «земле». Что даже несколько упростит схему.

И последний вопрос. А в тех схемах роботов, которые ты привел в рамках нашей беседы, может быть использована классическая микросхема L293D?

Конечно, может. И я бы даже добавил, что использование pull-down резисторов для L293D будет вполне оправдано.

Чтобы сделать робота, «бегающего» за рукой, нам понадобятся два ярких светодиода (на схеме LED1 и LED2). Подключим их через резисторы R1 и R4, чтобы скомпенсировать протекающий через них ток и предохранить от выхода из строя. Расположим светодиоды рядом с фотосенсорами, направив их свет в ту же сторону, в которую ориентированы фотосенсоры, и уберем сигнал с входов INPUT2 и INPUT3.

Задача получившегося робота — реагировать на отраженный свет, который излучают светодиоды. Включим робота и поставим ладонь перед одним из фотосенсоров. Робот повернет в сторону ладони. Переместим ладонь немного в сторону так, чтобы она скрылась из поля «зрения» одного из фотосенсоров, в ответ робот послушно, как собачка, повернет за ладонью.
Светодиоды следует подбирать достаточно яркие, чтобы отраженный свет устойчиво улавливался фототранзисторами. Хороших результатов можно достичь при использовании красных или оранжевых светодиодов с яркостью более 1000 мКд.

Если робот реагирует на вашу руку только тогда, когда она почти касается фотосенсора, то можно попробовать поэкспериментировать с листочком белой бумаги: отражающие способности белого листа намного выше, чем у человеческой руки, и реакция робота на белый листок будет намного лучше и устойчивее.

Белый цвет обладает самыми высокими отражающими свойствами, черный — наименьшими. Основываясь на этом, можно сделать робота, следующего по линии. Сенсоры при этом следует расположить так, чтобы они были направлены вниз. Расстояние между сенсорами должно быть немного больше, чем ширина линии.

Cхема робота, следующего по черной линии, идентична предыдущей. Чтобы робот не терял черную линию, нарисованную на белом поле, ее ширина должна быть около 30 мм или шире. Алгоритм поведения робота достаточно прост. Когда оба фотосенсора улавливают отраженный от белого поля свет, робот движется вперед. Когда один из сеносоров заезжает на черную линию, соответствующий электромотор останавливается и робот начинает поворачиваться, выравнивая свое положение. После того как оба сенсора снова находятся над белым полем, робот продолжает свое движение вперед.

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

Источник

Оцените статью