Схема драйвера для двигателя для робота

Драйвер мотора L298 для робота

Твердо решил заняться строительством робота. Сначала взял за основу робот компании Asuro. Приобрел шнурок для программирования микроконтроллера ATMEGA8, задействованном в роботе ASURO, но дальше дело застопорилось. Понял, что этот путь не для меня, уж очень в роботе Asuro все предопределено. Да, хлопот меньше, но это путь тупиковый, дальше развиваться некуда. …и я ушел к другой (А. Райкин). Выбрал тележку для СВОЕГО робота – Mr/ Basic. Моторы-редукторы уже в комплекте, но управление моторами отсутствует.

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

Это упрощенная схем 1/2 драйвера L298, но для понимания принципа работы драйвера этого достаточно. Схема драйвера состоит их двух частей – управляющей и силовой. Напряжение питания управляющей части драйвера подается на вывод 9 (+Vss) и может достигать 7 вольт. Если микроконтроллер системы управления роботом питается от +5 вольт, то такое же напряжение подадим на вывод 9. В этом случае уровни сигналов управления микроконтроллера и драйвера будут согласованы. Силовая часть драйвера L298 получает питание через вывод 4 (+Vs) и может достигать +36 вольт. В нашем случае оно должно быть равно напряжению питания моторов плюс 1 вольт. Запас в +1 вольт необходим для того, чтобы двигатель нормально “кормился” от силовой части драйвера. Примерно 1 вольт останется на силовых ключах драйвера, при токе через мотор около 1 А. Об этом нужно помнить, если не хотите, чтобы ваш робот “ползал”, а не бегал.

Наличие защитных диодов D1-D4 обязательно, в противном случае драйвер “сгорит”. Энергия удержания, накопленная в индуктивности обмотки мотора, обязательно уничтожит силовые ключи драйвера L298. Причем защитные диоды нужно применять не абы какие, а скоростные и сильноточные. Ток защитных диодов не менее 1 А, время рассасывание неосновных носителей не более 200 nS. Не заморачивайтесь, диоды 1N5818 вполне подойдут. Не забудьте о фильтрах для сглаживания пульсаций на входах +Vss и +Vs. Многие интересуются, что делать с выводами 1 (sensA) и 15 (sensB) драйвера L298. Если не планируете измерять или ограничивать ток через моторы, то эти выводы присоединяем к минусу Vs (к “земле”).

Рабочая схема драйвера моторов L298N для робота с управлением от микроконтроллера

К драйверу L298N можно подключить два мотора, ток через каждый мотор не более 1 А, кратковременно до 1.6 А. Этого должно хватить для полноценного питания двух моторов робота. Для каждого мотора – два входа управления. На вход DIR подаем логические “0″ или “1″ от микроконтроллера. Сигнал от микроконтроллера на этом входе задает направление вращения мотора. Вход PWM: при логическом “0″ на входе мотор стоит, при логической “1″ на входе PWM мотор вращается. При изменяемой скважности сигнала на входе PWM, появляется возможность изменять скорость вращения мотора. Сигнал логического “0″ – это сигнал с напряжением меньше 1 вольта. Сигнал логической “1″ – напряжение выше 2.5 вольт. Фактически сигнал PWM подается на вход разрешения (Ven) работы силовой части драйвера. Микросхема 74HC00 применена для повышения помехоустойчивости драйвера L298.

C этой схемой также часто просматривают:

ЗАЖИГАЛКА ДЛЯ ГАЗА
Зарядное устройство для автомобильных и мотоциклетных батарей
Зарядное устройство для автомобильных аккумуляторов
Имитатор для проверки телефонных аппаратов
Простые датчики для охранной сигнализации
Простая отладочная плата для микроконтроллеров PIC
Стабилизаторы напряжения на микросхеме ВА6220
Выключатель для настольной лампы
Усилитель ЗЧ с низким напряжением питания

ДРАЙВЕР МОТОРА

Схемы для управления электрическими моторами, используемые в разных конструкциях (машинах, роботах), различаются как мощностью, так и радиоэлементами, на основе которых они выполнены. Естественно в последнее время предпочтение стали отдавать драйверам управления выполненных на специализированных микросхемах. Одна из наиболее распространённых — микросхема L293D, что содержит сразу два драйвера для управления электродвигателями небольшой мощности (четыре независимых канала, объединенных в две пары). Она имеет две пары входов для управляющих сигналов и две пары выходов для подключения электромоторов. Кроме того, у L293D есть два входа для включения каждого из драйверов. Эти входы используются для управления скоростью вращения электромоторов с помощью ШИМ. Даташит можно посмотреть по ссылке.

Характеристики микросхемы L293D

  • напряжение питания двигателей (Vs) — 4,5…36 В
  • напряжение питания микросхемы (Vss) — 5 В
  • допустимый ток нагрузки — 600 мА (на каждый канал)
  • максимальный ток на выходе — 1,2 A (на каждый канал)
  • логический «0» входного напряжения — до 1,5 В
  • логическая «1» входного напряжения — 2,3…7 В
  • скорость переключений до 5 кГц.
  • встроенная защита от перегрева
Читайте также:  Машина времени что ты хотел изменить

Схема сборки драйвера мотора

Схема управления двигателем постоянного тока подходит для моторов малой и средней мощности. Она позволяет контролировать до 6 двигателей. Контроллер может обеспечить ток до 600 мА на канал, а мост на транзисторах может обеспечить и более ампера на каждый канал.

Печатная плата для схемы

Принцип работы драйвера двигателя можно понять, рассмотрев таблицу.

ДРАЙВЕР ДВИГАТЕЛЕЙ L293D

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

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

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

L293D содержит сразу два драйвера для управления электродвигателями небольшой мощности (четыре независимых канала, объединенных в две пары). Имеет две пары входов для управляющих сигналов и две пары выходов для подключения электромоторов. Кроме того, у L293D есть два входа для включения каждого из драйверов. Эти входы используются для управления скоростью вращения электромоторов с помощью широтно модулированного сигнала (ШИМ).

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

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

К выходам OUTPUT1 и OUTPUT2 подключим электромотор MOTOR1.
На вход ENABLE1, включающий драйвер, подадим сигнал (соединим с положительным полюсом источника питания +5V). Если при этом на входы INPUT1 и INPUT2 не подаются сигналы, то мотор вращаться не будет.

Если вход INPUT1 соединить с положительным полюсом источника питания, а вход INPUT2 — с отрицательным, то мотор начнет вращаться.

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

Попробуем подать сигналы одного уровня сразу на оба управляющих входа INPUT1 и INPUT2 (соединить оба входа с положительным полюсом источника питания или с отрицательным) — мотор вращаться не будет.

Если мы уберем сигнал с входа ENABLE1, то при любых вариантах наличия сигналов на входах INPUT1 и INPUT2 мотор вращаться не будет.

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

ENABLE1 INPUT1 INPUT2 OUTPUT1 OUTPUT2
1 0 0 0 0
1 1 0 1 0
1 0 1 0 1
1 1 1 1 1

Теперь рассмотрим назначение выводов микросхемы L293D.

  • Входы ENABLE1 и ENABLE2 отвечают за включение каждого из драйверов, входящих в состав микросхемы.
  • Входы INPUT1 и INPUT2 управляют двигателем, подключенным к выходам OUTPUT1 и OUTPUT2.
  • Входы INPUT3 и INPUT4 управляют двигателем, подключенным к выходам OUTPUT3 и OUTPUT4.
  • Контакт Vs соединяют с положительным полюсом источника электропитания двигателей или просто с положительным полюсом питания, если питание схемы и двигателей единое. Проще говоря, этот контакт отвечает за питание электродвигателей.
  • Контакт Vss соединяют с положительным полюсом источника питания. Этот контакт обеспечивает питание самой микросхемы.
  • Четыре контакта GND соединяют с «землей» (общим проводом или отрицательным полюсом источника питания). Кроме того, с помощью этих контактов обычно обеспечивают теплоотвод от микросхемы, поэтому их лучше всего распаивать на достаточно широкую контактную площадку.

Характеристики микросхемы L293D

  • напряжение питания двигателей (Vs) — 4,5. 36V
  • напряжение питания микросхемы (Vss) — 5V
  • допустимый ток нагрузки — 600mA (на каждый канал)
  • пиковый (максимальный) ток на выходе — 1,2A (на каждый канал)
  • логический «0» входного напряжения — до 1,5V
  • логическая «1» входного напряжения — 2,3. 7V
  • скорость переключений до 5 kHz.
  • защита от перегрева

Примечание:
Об особенностях L293DNE — аналога микросхемы L293D — см. врезку в статье «Как сделать простейшего робота».

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

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

Читайте также:  Сертификация судового двигателя после ремонта

Принцип поведения робота основывается на «фоторецепции» и является типичным для целого класса 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 показана условно (только управляющие входы и выходы).

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