роботы робототехника микроконтроллеры

ДВИЖЕНИЕ ПО ЛИНИИ

ПРОСТОЙ РОБОТ, ЕДУЩИЙ ПО ЛИНИИ

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

В предыдущей статье "ПРОСТЕЙШИЙ РОБОТ НА ОДНОЙ МИКРОСХЕМЕ" рассматривался робот, едущий по линии. В схеме этого робота использовались два датчика, реализованные на фототранзисторах, которые подключались напрямую к входам драйвера двигателей L293D. Алгоритм движения по линии у этого робота был очень простым: когда под левым и правым датчиком находилось белое поле, то включались оба мотора и робот двигался вперед. Если один из датчиков попадал на черную линию, то соответствующий мотор останавливался и робот поворачивался, выравнивая свое положение над линией.

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

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

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

Логический элемент, который мы добавим в схему робота, называется элемент "НЕ", или "инвертор". Инвертор имеет один вход и один выход. Когда на вход инвертора подается логическая "1" (логическая единица - сигнал высокого уровня), то на выходе мы будем иметь логический "0" (логический ноль - низкий уровень сигнала), а когда на вход будет подан логический "0", то на выходе будет присутствовать логическая "1".


Элемент НЕ по стандарту ANSI
Обозначение элемента "НЕ" в американском стандарте ANSI (American National Standart Institute - американский национальный институт стандартов).
Элемент НЕ по стандарту DIN
Обозначение элемента "НЕ" на схемах по российскому ГОСТу и европейскому стандарту DIN (Deutsche Ingenieuring Normen - немецкий инженерный стандарт). Иногда цифру "1" внутри элемента не ставят для простоты.
Таблица истинности для элемента НЕ
Таблица истинности для логического элемента "НЕ".


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


Схема робота, едущего по линии, будет выглядеть следующим образом:

Схема простого робота, едущего по линии, с логическим элементом НЕ

Номинал резистора R2 подбирается таким образом, чтобы обеспечить наилучшую чувствительность датчика. О том, как это сделать см. в статье "Сенсоры в простейшем роботе на одной микросхеме".


При подключении фототранзистора использован подтягивающий резистор R2, так как у ТТЛ-микросхем на входе при отсутствии сигнала присутствует высокий логический уровень (логическая "1"). Резистор, подтягивающий вход к "земле", обеспечит низкий уровень (логический "0") при отсутствии сигнала от фототранзистора.

Принцип работы схемы построен на инвертировании сигнала, поступающего от фототранзистора. Когда датчик будет освещен (находится над белым полем), фототранзистор откроется и на входе INPUT1 драйвера моторов L293D появится сигнал высокого уровня (логическая "1"). Мотор М1 будет вращаться. Кроме того, сигнал от фототранзистора будет подан на вход элемента "НЕ", который превратит логическую "1" в логический "0" и подаст его на вход INPUT4. Мотор М2 будет стоять.

Схема простого робота, едущего по линии. Состояние 1

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


Когда робот повернется и датчик окажется над белым полем, фототранзистор закроется и на входе INPUT1 окажется сигнал низкого уровня (логический "0"). Мотор М1 остановится. Логический "0" инвертируется элементом "НЕ", и на входе INPUT4 появится логическая "1". Мотор М2 начнет вращаться.

Схема простого робота, едущего по линии. Состояние 2

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


Чередование состояния 1 и состояния 2 обеспечит роботу следование по границе белого и черного.

В данной схеме может быть применена любая микросхема стандартной логики, содержащая элементы НЕ. Например, логическая микросхема К155ЛН1, содержащая 6 инверторов, или ее аналог SN7404N.

логическая микросхема К155ЛН1 логическая микросхема 7404

Расположение логических элементов "НЕ" внутри микросхем К155ЛН1 и SN7404N.
К 14-му выводу подключают питание микросхемы (+5 вольт), к 7-му - общий провод ("землю").


Также можно применить микросхемы стандартной логики К155ЛА3 (4 элемента 2И-НЕ) или К155ЛЕ1 (4 элемента 2ИЛИ-НЕ), соединив входы у одного из элементов и получив таким образом элемент "НЕ".

Неиспользуемые входы логической микросхемы можно соединить с питанием через резистор с сопротивлением 1 КОм. Это обеспечит стабильность ее работы.

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


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

Схема простого робота с двумя логическими элементами НЕ


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



myROBOT.ru
Это оригинальная статья myROBOT.ru
Постоянный адрес статьи: el_simple_robot_for_line.php
Дополнения:

Сенсоры в простейшем роботе на одной микросхеме.

Простые роботы своими руками.
Видеоролики с роботами, сделанными по приводимой схеме:

ROBOChannel Робот "Шершень"
Соревнования роботов "Движение по линии" на Фестивале науки в Политехническом музее
(11 октября 2009 г.). - 1 место.
Робот "Шершень" также завоевал "золотой" кубок на Открытом робототехническом турнире на Кубок Политехнического музея (9 января 2009 г.) и "серебряную" медаль на 1-м Всероссийском робототехническом фестивале (26 июня 2009 г.).

Робот "Line King"
Соревнования роботов "Следование по линии" на 1-м Всероссийском робототехническом фестивале (26 июня 2009 г.) - 1 место ("золотая" медаль).

Робот "Скорпион"
Соревнования роботов "Движение по линии" на Открытом робототехническом турнире на Кубок Политехнического музея (9 января 2009 г.) - 3 место.
Datasheets:

Описание микросхемы управления двигателем L293D (PDF, англ.)

Описание микросхемы управления двигателем L293DNE (PDF, англ.)

Как сделать робота
ПОПУЛЯРНЫЕ СТАТЬИ
Драйвер двигателей L293D
Драйвер двигателей L293D
Для управления двигателями мини робота необходимо устройство, которое бы преобразовывало управляющие сигналы малой мощности в токи, достаточные для управления моторами. Такое устройство называют драйвером двигателей.
Как сделать простейшего робота
Как сделать простейшего робота
О том, как сделать робота в домашних условиях, используя лишь микросхему драйвера моторов и пару фотоэлементов. В зависимости от способа соединения моторов, микросхемы и фотоэлементов робот будет двигаться на свет или, наоборот, прятаться в темноту, следовать по линии или бежать за вашей рукой.
Первые проекты на микроконтроллере ESP32
Первые проекты на микроконтроллере ESP32
В качестве первых проектов на ESP32 рассмотрим примеры мигания светодиодами и напишем программу "бегущие огни". Это классика при изучении микроконтроллеров.
Как сделать простого робота на микроконтроллере (Часть 1). Управляем электромоторами
Как сделать простого робота на микроконтроллере (Часть 1). Управляем электромоторами
Как самому сделать робота, используя драйвер управления двигателями L293D и микроконтроллер ATmega8. Схема робота и примеры простейших программ для управления моторами.
НОВЫЕ СТАТЬИ
Можно ли сделать BEAM-робота на Raspberry Pi?
Можно ли сделать BEAM-робота на Raspberry Pi?
Ответ Марка Тилдена с уникальной фотографией одной из новых работ маэстро.
Изучаем Python: TOP-5 лучших сайтов для изучения Питона
Изучаем Python: TOP-5 лучших сайтов для изучения Питона
Самоучитель, интерактивный учебник, наглядные задачи и примеры программ.
Роботы на одной микросхеме своими руками
Роботы на одной микросхеме своими руками
Подборками статей myROBOT.ru. Практика создания роботов: схемы и советы по изготовлению. Чтобы сделать роботов, нет необходимости даже писать программы. Все роботы начнут работать сразу же, как только Вы подключите к ним питание.
ПОПУЛЯРНОЕ НА САЙТЕ
Iguana — удобная и функциональная IDE для MicroPython
Iguana — удобная и функциональная IDE для MicroPython
Iguana IDE позволяет программировать популярные микроконтроллерные платы как через USB, так и через Wi-Fi.
Учимся программировать.<BR>Среда программирования на ЛОГО
Учимся программировать.
Среда программирования на ЛОГО
GAME LOGO — бесплатная среда программирования для увлекательного путешествия в мир программирования и информатики. Программирование на русском языке, удобный и красивый интерфейс, продуманный синтаксис.

Warning: fread() [function.fread]: Length parameter must be greater than 0 in /home/host1636501/myrobot.ru/htdocs/www/stepbystep/el_simple_robot_for_line.php on line 300




Copyright © myrobot.ru, 2005-2023


Яндекс.Метрика   Рейтинг@Mail.ru