ТРЮКИ С ДРАЙВЕРОМ МОТОРОВ L293D,
или
КАК СДЕЛАТЬ ПРОСТЕЙШЕГО РОБОТА С ПОИСКОВЫМ ПОВЕДЕНИЕМ
Статья "Трюки с драйвером двигателей L293D, или Как сделать простейшего робота с поисковым поведением" является продолжением статьи "Как сделать простейшего робота". В этой статье мы рассмотрим, как подключить двигатели к микросхеме L293D таким образом, чтобы реализовать простейшее поисковое поведение. Наш робот на одной микросхеме будет не просто следовать на свет, а при отсутствии света замирать до тех пор, пока на него снова не упадет свет, но будет пытаться искать источник света, поворачиваясь в его поиске, или следовать по границе освещенного пространства. Кроме того, мы рассмотрим, как сделать робота, следующего по линии, с одним датчиком без использования дополнительных микросхем.
Для того, чтобы собрать робота своими руками, нам понадобится только одна микросхема — драйвер двигателей L293D, фототранзистор, резистор с номиналом 22 КОм и два электромотора. Вместо L293D можно будет также использовать микросхему L293DNE.
Собрать робота, следующего по линии, используя всего одну микросхему, можно также на основе чипа ULN2003A. О том как делать роботов на микросхеме ULN2003A можно прочитать в разделе "Робототехника для начинающих. Быстрый старт" на сайте beam-robot.ru. На сайте содержатся не только подробные описания и принципиальные схемы, но и изображения монтажа схем на макетной плате без использования пайки.
Попробуем подключить электромотор одним выводом к OUTPUT1, а другим выводом к "земле" (минусу питания). Если мы подадим на INPUT1 сигнал низкого уровня (0), подключив его к минусу питания, ток через электромотор не пойдет и мотор вращаться не будет. Если же мы подадим на INPUT1 сигнал высокого уровня (1), подключив его к плюсу питания, то мотор будет вращаться.
Теперь подключим мотор выводу OUTPUT1 и к положительному полюсу источника питания. Если мы подадим на INPUT1 сигнал низкого уровня (0), подключив его к минусу питания, мотор будет вращаться. Если же мы подадим на INPUT1 сигнал высокого уровня (1), подключив его к плюсу питания, то мотор вращаться не будет.
Рассмотрим еще одну иллюстрацию. Подключим к L293D еще один мотор и подсоединим выводы моторов к разным полюсам источника питания: подключим первый мотор к отрицательному полюсу питания, а второй — к положительному. Соединим входы INPUT1 и INPUT4 так, как это показано на следующей схеме, и подадим на них сигнал низкого уровня (0). Первый мотор вращаться не будет, а второй будет вращаться.
Подав на входы сигнал высокого уровня (1), мы получим прямо противоположную картину: первый мотор будет вращаться, а второй не будет вращаться.
Таким образом, мы получили схему, в которой моторы ведут себя противоположным образом в зависимости от подаваемого на вход сигнала. Эта схема будет основой для наших дальнейших экспериментов.
Изображение каналов L293D в виде треугольников позволит сделать нашу схему более простой и понятной. Подключим к её входу фототранзистор, подтянутый к "земле" резистором. Резистор необходим для того, чтобы при отсутствии тока высокого уровня от фототранзистора на входе схемы присутствовал небольшой сигнал низкого уровня.
При реализации такой схемы мы легко убедимся, что тока, поступающего от фототранзистора, будет явно недостаточно, чтобы "раскачать" сразу два канала усиления L293D. Попробуем усилить сигнал от датчика с помощью еще одного канала усиления так, как показано на следующей схеме.
Получившаяся схема робота будет работать уже гораздо лучше. Усиленный сигнал от фототранзистора, поступающий на следующие каналы усиления, даст возможность стабильно работать даже моторчикам с достаточно высоким током потребления. Но у микросхемы драйвера моторов остается еще один неиспользованный канал усиления, который мы также можем пустить в дело. Подключим его в параллель с каналом, усиливающим ток от фототранзистора. Такое решение позволит полностью реализовать потенциал схемы и получить высокую отдачу на электромоторах.
Попробуем рассмотреть алгоритм работы нашего нового робота.
Когда на фототранзистор будет падать свет, правый мотор будет вращаться, а левый мотор стоять. Робот будет поворачиваться налево. Когда фототранзистор не будет освещен, то правый мотор будет стоять, а левый — вращаться. Робот будет поворачиваться направо.
Таким образом, поставив робота возле источника света, мы будем наблюдать следующую ситуацию. Робот будет поворачиваться в поиске света, а когда "увидит" свет, то начнет двигаться к нему, делая небольшие повороты из стороны в сторону. Если мы направим фототранзистор немного вверх и поставим робота в освещенный от окна участок пола, то робот в поисках света будет следовать по границе освещенного пространства, иногда поворачиваясь, если потеряет свет из виду. Дойдя до конца освещенного участка, робот будет делать крутой разворот, снова возвращаясь к патрулированию освещенного места.
Если добавить роботу яркий светодиод так, как показано на схеме ниже, и расположить его так, как показано на рисунке в самом начале статьи, то можно получить робота, реагирующего на поднесенную к нему руку или полоску светлой бумаги. Чтобы робот бежал за полоской бумаги, надо держать её немного скашивая в левую сторону от датчика. Если же расположить светодиод и фототранзистор, направив их вниз, то можно получить робота, следующего по линии. Алгоритм его работы будет полностью идентичен описанному в статье "Простой робот с логической микросхемой".
Настройка чувствительности робота осуществляется подбором номинала резистора R1, который может лежать в диапазоне 4,7 — 33 КОм. Чем сопротивление R1 будет меньше, тем чувствительность робота будет ниже, а чем оно будет больше, тем чувствительность будет выше.
Удачных Вам экспериментов!
Для того, чтобы собрать робота своими руками, нам понадобится только одна микросхема — драйвер двигателей L293D, фототранзистор, резистор с номиналом 22 КОм и два электромотора. Вместо L293D можно будет также использовать микросхему L293DNE.
Собрать робота, следующего по линии, используя всего одну микросхему, можно также на основе чипа ULN2003A. О том как делать роботов на микросхеме ULN2003A можно прочитать в разделе "Робототехника для начинающих. Быстрый старт" на сайте beam-robot.ru. На сайте содержатся не только подробные описания и принципиальные схемы, но и изображения монтажа схем на макетной плате без использования пайки.
Варианты подключения электромоторов к L293D
Итак, рассмотрим несколько схем, иллюстрирующих подключение электродвигателей к L293D.Попробуем подключить электромотор одним выводом к OUTPUT1, а другим выводом к "земле" (минусу питания). Если мы подадим на INPUT1 сигнал низкого уровня (0), подключив его к минусу питания, ток через электромотор не пойдет и мотор вращаться не будет. Если же мы подадим на INPUT1 сигнал высокого уровня (1), подключив его к плюсу питания, то мотор будет вращаться.
Теперь подключим мотор выводу OUTPUT1 и к положительному полюсу источника питания. Если мы подадим на INPUT1 сигнал низкого уровня (0), подключив его к минусу питания, мотор будет вращаться. Если же мы подадим на INPUT1 сигнал высокого уровня (1), подключив его к плюсу питания, то мотор вращаться не будет.
Рассмотрим еще одну иллюстрацию. Подключим к L293D еще один мотор и подсоединим выводы моторов к разным полюсам источника питания: подключим первый мотор к отрицательному полюсу питания, а второй — к положительному. Соединим входы INPUT1 и INPUT4 так, как это показано на следующей схеме, и подадим на них сигнал низкого уровня (0). Первый мотор вращаться не будет, а второй будет вращаться.
Подав на входы сигнал высокого уровня (1), мы получим прямо противоположную картину: первый мотор будет вращаться, а второй не будет вращаться.
Таким образом, мы получили схему, в которой моторы ведут себя противоположным образом в зависимости от подаваемого на вход сигнала. Эта схема будет основой для наших дальнейших экспериментов.
Способы усиления сигнала от датчика
L293D имеет четыре канала управления, по сути, являющимися усилителями сигнала, которые могут быть изображены в виде треугольников. Треугольниками на схемах обычно обозначаются усилители. У каждого такого канала усиления есть вход INPUT и выход OUTPUT. Подробнее о том, что находится внутри L293D, можно прочитать в статье nest'а "От усилителя тока к драйверу L293".Изображение каналов L293D в виде треугольников позволит сделать нашу схему более простой и понятной. Подключим к её входу фототранзистор, подтянутый к "земле" резистором. Резистор необходим для того, чтобы при отсутствии тока высокого уровня от фототранзистора на входе схемы присутствовал небольшой сигнал низкого уровня.
При реализации такой схемы мы легко убедимся, что тока, поступающего от фототранзистора, будет явно недостаточно, чтобы "раскачать" сразу два канала усиления L293D. Попробуем усилить сигнал от датчика с помощью еще одного канала усиления так, как показано на следующей схеме.
Получившаяся схема робота будет работать уже гораздо лучше. Усиленный сигнал от фототранзистора, поступающий на следующие каналы усиления, даст возможность стабильно работать даже моторчикам с достаточно высоким током потребления. Но у микросхемы драйвера моторов остается еще один неиспользованный канал усиления, который мы также можем пустить в дело. Подключим его в параллель с каналом, усиливающим ток от фототранзистора. Такое решение позволит полностью реализовать потенциал схемы и получить высокую отдачу на электромоторах.
Алгоритм робота с поисковым поведением
Когда на фототранзистор будет падать свет, правый мотор будет вращаться, а левый мотор стоять. Робот будет поворачиваться налево. Когда фототранзистор не будет освещен, то правый мотор будет стоять, а левый — вращаться. Робот будет поворачиваться направо.
Таким образом, поставив робота возле источника света, мы будем наблюдать следующую ситуацию. Робот будет поворачиваться в поиске света, а когда "увидит" свет, то начнет двигаться к нему, делая небольшие повороты из стороны в сторону. Если мы направим фототранзистор немного вверх и поставим робота в освещенный от окна участок пола, то робот в поисках света будет следовать по границе освещенного пространства, иногда поворачиваясь, если потеряет свет из виду. Дойдя до конца освещенного участка, робот будет делать крутой разворот, снова возвращаясь к патрулированию освещенного места.
Схема робота
Для того, чтобы сделать робота своими руками, можно воспользоваться полной схемой, приведенной ниже, на которой показано подключение микросхемы L293D. В схеме робота может быть также использована микросхема драйвера двигателей L293DNE.
Комментарий к схеме робота
Микросхема L293D имеет гистерезис, поэтому в схеме рекомендуется использовать электромоторы с током потребления без нагрузки до 100 мА и напряжением питания до 5 В.
Если добавить роботу яркий светодиод так, как показано на схеме ниже, и расположить его так, как показано на рисунке в самом начале статьи, то можно получить робота, реагирующего на поднесенную к нему руку или полоску светлой бумаги. Чтобы робот бежал за полоской бумаги, надо держать её немного скашивая в левую сторону от датчика. Если же расположить светодиод и фототранзистор, направив их вниз, то можно получить робота, следующего по линии. Алгоритм его работы будет полностью идентичен описанному в статье "Простой робот с логической микросхемой".
Настройка чувствительности робота осуществляется подбором номинала резистора R1, который может лежать в диапазоне 4,7 — 33 КОм. Чем сопротивление R1 будет меньше, тем чувствительность робота будет ниже, а чем оно будет больше, тем чувствительность будет выше.
В заключение
Описанные роботы используют систему управления, основанную на простом однотактном автомате. Данная система базируется на мгновенных прямых стимул-ответных реакциях, что позволяет отнести этих роботов к классу BEAM-роботов. Конструкции роботов могут быть легко повторены начинающими, не требуют программирования или сложной настройки и являются простыми примерами увлекательных экспериментов в области робототехники. Дополнительную информацию можно найти на страничке о простейших роботах своими руками.Удачных Вам экспериментов!
ПОПУЛЯРНЫЕ СТАТЬИ |
Драйвер двигателей L293D
Для управления двигателями мини робота необходимо устройство, которое бы преобразовывало управляющие сигналы малой мощности в токи, достаточные для управления моторами. Такое устройство называют драйвером двигателей.
Как сделать простейшего робота
О том, как сделать робота в домашних условиях, используя лишь микросхему драйвера моторов и пару фотоэлементов. В зависимости от способа соединения моторов, микросхемы и фотоэлементов робот будет двигаться на свет или, наоборот, прятаться в темноту, следовать по линии или бежать за вашей рукой.
Первые проекты на микроконтроллере ESP32
В качестве первых проектов на ESP32 рассмотрим примеры мигания светодиодами и напишем программу "бегущие огни". Это классика при изучении микроконтроллеров.
Как сделать простого робота на микроконтроллере (Часть 1). Управляем электромоторами
Как самому сделать робота, используя драйвер управления двигателями L293D и микроконтроллер ATmega8. Схема робота и примеры простейших программ для управления моторами.
НОВЫЕ СТАТЬИ |
Можно ли сделать BEAM-робота на Raspberry Pi?
Ответ Марка Тилдена с уникальной фотографией одной из новых работ маэстро.
Изучаем Python: TOP-5 лучших сайтов для изучения Питона
Самоучитель, интерактивный учебник, наглядные задачи и примеры программ.
Роботы на одной микросхеме своими руками
Подборками статей myROBOT.ru. Практика создания роботов: схемы и советы по изготовлению. Чтобы сделать роботов, нет необходимости даже писать программы. Все роботы начнут работать сразу же, как только Вы подключите к ним питание.
ПОПУЛЯРНОЕ НА САЙТЕ |
Драйвер программатора USBASP для Windows 7, 8, 10
Универсальный драйвер программатора USBasp v 2.0 USB ISP без необходимости принудительного отключения сертификата драйвера или использования Zadig, достаточно скачать драйвер USBasp и запустить файл InstallDriver.exe.
Учимся программировать.
Среда программирования на ЛОГО
GAME LOGO — бесплатная среда программирования для увлекательного путешествия в мир программирования и информатики. Программирование на русском языке, удобный и красивый интерфейс, продуманный синтаксис.