Меню

Схема управление двигателем постоянного тока микроконтроллер

Подключение двигателя постоянного тока к микроконтроллеру AVR ATmega16

Двигатели постоянного тока относятся к числу наиболее часто используемых двигателей. Их можно встретить где угодно – начиная от простейших конструкций до продвинутой робототехники. В этой статье мы рассмотрим подключение двигателя постоянного тока к микроконтроллеру ATmega16 (семейство AVR). Но сначала немного ознакомимся с принципами работы подобных двигателей.

Подключение двигателя постоянного тока к микроконтроллеру AVR ATmega16: внешний вид конструкции

Что представляет собой двигатель постоянного тока

Двигатель постоянного тока (DC motor) – это устройство, которое преобразует электрическую энергию в механическую энергию (вращения). Двигатели постоянного тока используют для своей работы постоянный ток. Основной принцип работы подобного двигателя заключается в том, чтобы обеспечивать взаимодействие между магнитным полем и электрическим током с целью производства силы, которая будет вращать двигатель. То есть когда электрический ток проходит через проводник, находящийся в магнитном поле, генерируется магнитная сила (напряженность магнитного поля), которая формирует вращающий момент для двигателя. Направление вращения двигателя контролируется с помощью направления электрического тока. Скоростью вращения можно управлять с помощью приложенного значения напряжения и, поскольку микроконтроллеры AVR имеют контакты с PWM (ШИМ, широтно-импульсной модуляцией), то их можно использовать для управления скоростью вращения двигателей постоянного тока.

Внешний вид двигателей постоянного тока приведен на следующем рисунке.

Внешний вид двигателей постоянного тока

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

Внутреннее устройство двигателей постоянного тока

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

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

Необходимые компоненты

  1. Микроконтроллер ATmega16 (купить на AliExpress).
  2. Источник питания с напряжением 5 Вольт.
  3. Программатор AVR-ISP (купить на AliExpress), USBASP (купить на AliExpress) или другой подобный.
  4. Двигатель постоянного тока (на напряжение 5 В).
  5. Драйвер двигателей L293D (купить на AliExpress).
  6. Кварцевый генератор на 16 МГц (купить на AliExpress).
  7. Конденсатор 100 нФ (2 шт.) (купить на AliExpress).
  8. Конденсатор 22 пФ (2 шт.) (купить на AliExpress).
  9. Кнопка (2 шт.)
  10. Соединительные провода.
  11. Макетная плата.
  12. Светодиод (купить на AliExpress).

Работа схемы

Схема устройства приведена на следующем рисунке.

Схема подключения двигателя постоянного тока к микроконтроллеру AVR ATmega16

Программирование микроконтроллера Atmega16 для управления двигателем постоянного тока

Мы будем программировать микроконтроллер Atmega16 с помощью программатора USBASP и программы Atmel Studio7.0. Полный текст программы приведен в конце данной статьи. Две кнопки в приведенной схеме используются для задания направления вращения двигателя – по часовой стрелке или против часовой стрелки. Двигатель постоянного тока подключается к микроконтроллеру при помощи драйвера мотора L293D. Двигатель постоянного тока будет вращаться в одном из направлений в зависимости от того какая кнопка нажата.

Драйвер мотора L293D

Но сначала необходимо подключить все нужные нам библиотеки и задать частоту работы микроконтроллера.

#define F_CPU 16000000UL
#include
#include

Затем определим переменную, которая будет задавать направление вращения двигателя в зависимости от того, какая кнопка будет нажата.

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

Проверяем нажата ли 1-я кнопка, подключенная к PORTA4 микроконтроллера Atmega16, и сохраняем статус этой кнопки в соответствующей переменной.

if(!bit_is_clear(PINA,4))
<
i = 1;
PORTA &=

Аналогично поступаем и со второй кнопкой.

else if (!bit_is_clear(PINA,5))
<
i = 2;
PORTA &=

Если статус 1-й кнопки равен «1» (то есть она нажата), то вращаем двигатель по часовой стрелке, а если нажата вторая кнопка – то тогда вращаем двигатель против часовой стрелки.

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

Исходный код программы на языке С (Си) с пояснениями

Программа для рассматриваемой схемы управления двигателем постоянного тока с помощью микроконтроллера AVR ATmega16 представлена следующим фрагментом кода на языке С (Си). Комментарии к коду программу поясняют принцип работы отдельных команд.

Источник

Транзисторное управление двигателями в схемах на микроконтроллере

Электрический двигатель — это машина, преобразующая электрическую энергию в механическую. Первые электродвигатели появились в середине 19 века. Успехи в их разработке связывают с именами таких выдающихся физиков и инженеров, как Н.Тесла, Б.Якоби, Г.Феррарис, В.Сименс.

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

Таблица 2.13. Параметры вентиляторов фирмы Sunon

Обмотку двигателя следует рассматривать как катушку с большой индуктивностью, поэтому её можно коммутировать обычными транзисторными ключами (Рис. 2.78, а…т). Главное — это не забыть про защиту от ЭДС самоиндукции.

В двигателях постоянного тока имеется возможность изменять направление вращения ротора в зависимости от полярности рабочего напряжения. В таких случаях широко используют мостовые схемы «Н-bridge» (Рис. 2.79, а…и).

Рис. 2.78. Схемы подключения электродвигателей через транзисторные ключи (начало):

а) регулирование скорости потока воздуха вентилятора M1. Конденсатор С/ уменьшает ВЧ- помехи. Диод VD1 защищает транзистор VT1 от выбросов напряжения. Резистор R1 определяет степень насыщения транзистора Г77, а резистор R2 закрывает его при рестарте MK. Частота импульсов ШИМ на выходе МК должна быть не менее 30 кГц, т.е. за пределами звукового диапазона, чтобы исключить неприятный «свист». Элементы С/ и R2 могут отсутствовать;

б) плавное регулирование частоты вращения вала двигателя M1 через канал ШИМ. Конденсатор С/ является первичным, а конденсатор С2— вторичным фильтром сигналов ШИМ; О

Рис. 2.78. Схемы подключения электродвигателей через транзисторные ключи

в) транзисторы VT1, VT2 соединяются параллельно для увеличения суммарного коллекторного тока. Резисторы R1, R2 обеспечивают равномерную нагрузку по мощности на оба транзистора, что связано с разбросом у них коэффициентов И2]Э и ВАХ переходов «база — эмиттер»;

г) двигатель M1 (фирма Airtronics) имеет «цифровой» вход управления, что позволяет подключать к нему MK напрямую. Транзисторные ключи (драйверы) находятся внутри двигателя;

д) два отдельных источника питания позволяют значительно снизить влияние на MK электрических помех, которые генерирует двигатель M1. Система будет работать устойчивее. GB1 — это маломощная литиевая батарея, GB2, GB3 — это пальчиковые гальванические элементы с общим напряжением 3.2 В и мощностью, достаточной для запуска и работы двигателя M1\

е) параллельные резисторы R2, R3 служат ограничителями тока, протекающего через двигатель M1. Кроме того, они стабилизируютток в нагрузке, если транзистор VT1 находится в активном режиме или на грани входа в режим насыщения;

ж) MK включает/выключает двигатель M1. Резистором R3 подстраивается частота оборотов его вала. Стабилизатором служит «магнитофонная» микросхема DA1 фирмы Panasonic. С её помощью на зажимах двигателя M1 поддерживаются постоянные параметры, которые практически не зависят от колебаний температуры и напряжения питания;

з) дроссели L7, L2 и конденсаторы C7, С2фильтруют излучаемые двигателем радиопомехи. С той же целью двигатель помещается в заземлённый экранированный корпус;

Рис. 2.78. Схемы подключения электродвигателей через транзисторные ключи

и) вибромотор M1 является источником мощных электромагнитных и радиочастотных помех. Элементы L/, L2, C1 служат фильтрами. Резистор R2 ограничивает пусковой ток через два приоткрытом транзисторе VT1 Диоды VD1, УА2срезаютвершиныимпульсныхпомех;

л) применение ключа на полевом транзисторе VT1 повышает КПД по сравнению с ключом на биполярном транзисторе, ввиду более низкого сопротивления «сток — исток». Резистор R1 ограничивает амплитуду наводок, которые могут «просачиваться» от работающего двигателя M1 во внутренние цепи MK через ёмкость «затвор — сток» транзистора VT1;

м) транзистор VT2 является мощным силовым ключом, который подаёт питание на двигатель ML а транзистор VT1 — демпфером, который быстро тормозит вращение вала после выключения. Резистор R1 снижает нагрузку на выход MK при заряде ёмкостей затворов полевых транзисторов VT1, VT2. Резистор Я2отключаетдвигатель M1 при рестарте MK;

н) ключ на транзисторах VT1, VT2 собран по схеме Дарлингтона и имеет большое усиление. Для регулирования скорости вращения вала двигателя M1 может применяться метод ШИМ или фазо-импульсное управление. Система не имеет обратной связи, поэтому при снижении скорости вращения из-за внешнего торможения будет уменьшаться рабочая мощность на валу;

Рис. 2.78. Схемы подключения электродвигателей через транзисторные ключи

м) встраивание MK в уже существующий тракт регулирования скорости вращения вала двигателя Ml. В этот тракт входят все элементы схемы, кроме резистора R2. Резистором R4 выставляется «грубая» частота вращения. Точная подстройка осуществляется импульсами с выхода MK. Возможна организация обратной связи, когда МК следит за каким-либо параметром и динамично подстраивает скорость вращения в зависимости от напряжения питания или температуры;

о) скорость вращения вала двигателя M1 определяется скважностью импульсов в канале ШИМ, генерируемых с нижнего выхода MK. Основным коммутирующим ключом служит транзистор VT2.2, остальные транзисторные ключи участвуют в быстрой остановке двигателя M1 по сигналу ВЫСОКОГО уровня с верхнего выхода MK;

Читайте также:  Таблица расчета тока автомата по мощности

п) плавное регулирование частоты оборотов вала двигателя M1 производится резистором R8. ОУ ТШ служит стабилизатором напряжения с двойной обратной связью через элементы R1, R8, C2 и R9, R10, C1. Комбинацией уровней с трёх выходов MK (ЦАП) можно ступенчато изменять скорость вращения вала двигателя M1 (точный подбор резисторами R2…R4). Линии MK могут переводиться в режим входа без « pull-up» резистора для увеличения числа «ступенек» ЦАП;

Рис. 2.78. Схемы подключения электродвигателей через транзисторные ключи (окончание):

p) фазо-импульсное управление двигателем переменного тока M1. Чем большее время за период сетевого напряжения открыт транзистор VT1, тем быстрее вращается вал двигателя;

с) включение мощного двигателя переменного тока Ml производится через оптотиристор KS7, который обеспечивает гальваническую развязку от цепей MK;

т) аналогично Рис. 2.78, п, но с одним кольцом обратной связи через элементы C7, R6, R8. Резистор R4 регулирует частоту вращения вала двигателя Ml плавно, а MK — дискретно.

Рис. 2.79. Мостовые схемы подключения электродвигателей к MK (начало):

а) направление вращения вала двигателя Ml изменяется мостовой «механической» схемой на двух группах контактов реле KL1, K1.2. Частота переключения контактов реле должна быть низкой, чтобы быстро не выработался ресурс. Дроссели L7, L2 снижают коммутационные токи при переключении реле и, соответственно, уровень излучаемых электромагнитных помех;

Рис. 2.79. Мостовые схемы подключения электродвигателей к MK (продолжение):

б) при ВЫСОКОМ уровне на верхнем и НИЗКОМ уровне на нижнем выходе МК транзисторы К77…к ТЗ открываются, а транзисторы КГ4…КГ6закрываются,инаоборот. Когда полярность питания двигателя Ml изменяется на противоположную, то его ротор вращается в обратную сторону. Сигналы с двух выходов МК должны быть противофазными, но с небольшой паузой НИЗКОГО уровня между импульсами, чтобы закрыть оба плеча (устранение сквозных токов). Диоды VD1..VD4уменьшают выбросы напряжения, тем самым защищая транзисторы от пробоя;

в) аналогично Рис. 2.79, б, но с другими номиналами элементов, а также с аппаратной защитой от одновременного открывания транзисторов одного плеча при помощи диодов VD3, VD4. Диоды VD1, КД2повышают помехоустойчивость при большом расстоянии до MK. Конденсатор С/ снижает «искровые» импульсные радиопомехи, генерируемые двигателем Ml;

Рис. 2.79. Мостовые схемы подключения электродвигателей к MK (продолжение):

г) аналогично Рис. 2.79, б, но с отсутствием «запирающих» резисторов в базовых цепях транзисторов VT2, VT4. Расчётнато,чтообмоткадвигателяЛ//достаточнонизкоомная,следователо, при рестарте МК внешние помехи на «висящих в воздухе» базах транзисторов VT1 VT2, VT4, VT6 не смогут открыть их коллекторные переходы;

д) аналогично Рис. 2.79, б, но с максимальным упрощением схемы. Рекомендуется для устройств, выполняющих второстепенные функции. Напряжение питания +Еи должно соответствовать рабочему напряжению двигателя M1\

е) в отличие от предыдущих схем, транзисторы VT1…VT4 включаются по схеме с общим эмиттером и управляются ВЫСОКИМ/НИЗКИМ уровнем непосредственно с выходов MK. Двигатель M1 должен быть рассчитан на рабочее напряжение 3…3.5 В. Диоды VD1… VD4 уменьшают выбросы напряжения. Фильтр LL C1 снижает импульсные помехи по питанию от двигателя M1, которые могут приводить к сбоям в работе MK. Встречающиеся замены деталей: VT1 VT3- KT972; VT2, VT4- KT973; VD1…VD4- КД522Б, Rx = 3.3 кОм; R2 = 3.3 кОм;

ж) мостовая схема на четырёх управляющих транзисторах VT1 VT2, VT4, VT5 структуры р—п—р. Подстроечным резистором R4 регулируется напряжение на двигателе Ml, а значит, и частота оборотов сразу для двух направлений вращения ротора;

Рис. 2.79. Мостовые схемы подключения электродвигателей к MK (окончание):

з) мостовая схема для управления мощным двигателем Ml (24 В, 30 А). Смена полярности напряжения на двигателе производится противофазными уровнями на средних выходах MK, а скорость вращения — методом ШИМ на верхнем и нижнем выходах MK;

и) транзисторы VT2, VT5 подают питание на мостовую схему управления двигателем Ml. Их запараллеливание позволяет подключить к диоду VD1 ещё одну такую же схему.

Источник: Рюмик, С. М., 1000 и одна микроконтроллерная схема. Вып. 2 / С. М. Рюмик. — М.:ЛР Додэка-ХХ1, 2011. — 400 с.: ил. + CD. — (Серия «Программируемые системы»).

Источник

Управление двигателем постоянного тока с применением драйвера L298N и Arduino UNO

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

Введение

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

В системах радиоэлектроники такие способы управления работой двигателя получили название широтно-импульсной модуляции (ШИМ). Такой процесс характеризуется изменением продолжительности подаваемого напряжения или формы его сигнала.

Как можно изменять скорость вращения при помощи ШИМ?

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

Величина среднего напряжения, подаваемого на двигатель, напрямую зависит от формы сигнала ШИМ . Форма сигнала, в свою очередь, определяется рабочим циклом, который можно представить в виде отношения времени подачи сигнала к общему периоду (сумме времени подачи напряжения и его отключения). В результате получается безразмерная величина, которую выражают в процентном отношении – сколько времени от общего периода напряжение подавалось на двигатель. В слаботочных системах на 5, 12, 24 или 36 В применяется цикл на 25%, 50%, 75% и 100%.

Широтно-импульсная модуляция

Широтно-импульсная модуляци

Управление двигателем при помощи Arduino и сгенерированным сигналом ШИМ

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

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

Принципиальная схема управления dc мотором

Принципиальная схема управления dc мотором

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

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

Полный скетч проекта:

Используемые команды:

  • void setup – поле для установки рабочего выхода с ШИМ порта;
  • void loop – поле для формирования рабочего процесса;
  • motorSpeed – задает скорость вращения двигателя;
  • analogWrite – задает работу конкретного вывода платы;
  • delay – устанавливает величину временного промежутка.

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

Управление двигателем постоянного тока с использованием Н-моста

Если рассмотреть принцип действия, то Н-мост представляет собой логическую схему из четырех логических элементов (релейного или полупроводникового типа), способных переходить в два состояния (открытое и закрытое). В данном примере рассматривается мост собранный на полупроводниках. Простым изменением попарного состояния этих элементов двигатель будет вращаться то в одну, то в другую сторону без необходимости переключения его контактов.

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

Схема H-моста

Схема H-моста

Посмотрите на рисунок, в этой схеме управление питанием двигателя происходит от выводов А и В, на которые подается управляющий потенциал.

Принцип определения направления вращения в Н-мосте происходит следующим образом:

  • при подаче на базы транзисторов Q1 и Q4 импульса для открытия перехода происходит протекание тока по обмоткам двигателя в одном направлении;
  • при подаче на базы транзисторов Q2 и Q3 импульса для открытия перехода ток будет протекать в противоположном направлении, в сравнении с предыдущим и произойдет реверсивное движение;
  • попарное открытие транзисторов Q1 и Q3, Q2 и Q4 приводит к торможению ротора;
  • открытие транзисторов в последовательности Q1 и Q2 или Q3 и Q4 совершенно недопустимо, поскольку оно приведет к возникновению короткого замыкания в цепи.
Читайте также:  Высокий ток зарядки в телефоне

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

Сравнивая оба драйвера, следует отметить, что L298N превосходит L293D как по параметрам работы, так и по доступным опциям. Несмотря на то, что L293D более дешевая модель, L298N, ввиду значительных преимуществ, стал использоваться куда чаще. Поэтому в данном примере мы рассмотрим принцип управления двигателем при помощи драйвера L298N и платы Arduino.

Что представляет собой драйвер L298N?

Данная плата содержит микросхему и 15 выходов для генерации управляющих сигналов. Предназначено для передачи сигналов к рабочим элементам индуктивного типа – обмоткам двигателя, катушкам реле и т.д. Конструктивно L298N позволяет подключать в работу до двух таких элементов, к примеру, через нее можно одновременно управлять двумя шаговыми двигателями.

На схеме ниже приведен пример распределения выводов L298N от рабочей микросхемы.

L298N

L298N. Выводы

  • Vss – вывод питания для логических цепей в 5В;
  • GND – нулевой вывод (он же корпус);
  • INPUT1, INPUT 2, INPUT 3, INPUT 4 – позволяют плавно наращивать и уменьшать скорость вращения двигателя;
  • OUTPUT1, OUTPUT2 – выводы для питания первой индуктивной нагрузки;
  • OUTPUT3, OUTPUT4 – выводы для питания второй индуктивной нагрузки;
  • Vs – вывод для переключения питания;
  • ENABLE A, B – выводы, при помощи которых осуществляется раздельное управление каналами, могут устанавливать активный и пассивный режим (с регулируемой скоростью вращения и с установленной);
  • CURRENT SENSING A, B – выводы для установки текущего режима.

Принцип управления двигателем при помощи Arduino и драйвера L298N

Благодаря наличию в драйвере L298N встроенного моста данная плата позволяет осуществлять одновременное управление сразу двумя электрическими машинами от двух пар выводов. Логическая схема в данном устройстве работает от напряжения в 5В, а питание самих электрических машин можно осуществлять до 45В включительно. Максимально допустимый ток для одного канала платы составляет 2А.

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

Пример драйвера L298N

Пример драйвера L298N

Теперь разберем, как осуществляется управление двигателем с помощью драйвера L298N. Подключение двигателя производится к винтовым клеммным зажимам – по паре для питания каждого моторчика. Остальные клеммные зажимы предназначены для подачи питания плюс и минус, а также получения пониженного напряжения (на них подается определенный уровень питающего напряжения, от которого работают двигатели, а внутренний преобразователь понижает его до 5В для собственных логических цепей). Штекерные выводы платы осуществляют широтно-импульсную модуляцию при формировании рабочих сигналов.

Зажимы, куда подключать моторы

Зажимы, куда подключать моторы

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

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

Простой пример работы Arduino с драйвером L298N

Сейчас мы рассмотрим пример простой схемы совместного использования Arduino и L298N. Такой вариант позволяет управлять скоростью вращения вала и его направлением у двигателя постоянного тока. Для этого задается специальная программа на ПК, которая будет определять генерацию ШИМ сигнала от L298N и направление протекания электрического тока через Н-мост. Разумеется, для формирования схемы потребуются еще несколько дополнительных компонентов, которые позволят соединить между собой драйвер, Ардуино, компьютер и двигатели.

Схема совместного использования Arduino и L298N

Схема совместного использования Arduino и L298N

Перечень необходимых компонентов для сборки схемы:

  • Arduino UNO — наиболее простая модель из линейки, но его функционала будет более чем достаточно. Если вы используете более продвинутый вариант, то он также хорошо справится с этой задачей.
  • Драйвер L298N – не самый доступный драйвер, но заменить его другим не получится, так как принцип работы похожих моделей может в корне отличаться.
  • Двигатель на 12 В – в данном примере используется электрическая машина постоянного тока.
  • Потенциометр 100 кОм.
  • Кнопка для коммутации цепи.
  • Источник питания 12 В — может подойти любой вариант, включая несколько пальчиковых батареек.
  • Плата для установки элементов.
  • Соединительные провода, желательно с готовыми штекерами папа/мама.
Компонент Спецификация Количество Где купить
Arduino UNO Rev3.0 1 [mask_link]Ссылка[/mask_link]
Драйвер L298N 1 [mask_link]Ссылка[/mask_link]
Мини-двигатель 12В, DC, 6000 об/мин. 1 [mask_link]Ссылка[/mask_link]
Блок питания 12 Вольт 1 [mask_link]Ссылка[/mask_link]
Кнопка Micro SMD SMT 1 [mask_link]Ссылка[/mask_link]
Потенциометр 100 кОм 1 [mask_link]Ссылка[/mask_link]
Соединительные провода папа-мама [mask_link]Ссылка[/mask_link]

Полный код проекта:

Практическое применение.

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

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

Источник



Управление двигателями постоянного тока. Часть 1

Владимир Рентюк, Запорожье, Украина

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

Электродвигатели являются, наверное, одним из самых массовых изделий электротехники. Как говорит нам всезнающая Википедия, электрический двигатель – электрическая машина (электромеханический преобразователь), в которой электрическая энергия преобразуется в механическую. Началом его истории можно считать открытие, которое сделал Майкл Фарадей в далеком 1821 году, установив возможность вращения проводника в магнитном поле. Но первый более-менее практический электродвигатель с вращающимся ротором ждал своего изобретения до 1834 года. Его во время работы в Кёнигсберге изобрел Мориц Герман фон Якоби, более известный у нас как Борис Семенович. Электродвигатели характеризуют два основных параметра – это скорость вращения вала (ротора) и момент вращения, развиваемый на валу. В общем плане оба этих параметра зависят от напряжения, подаваемого на двигатель и тока в его обмотках. В настоящее время имеется достаточно много разновидностей электродвигателей, и поскольку, как заметил наш известный литературный персонаж Козьма Прутков, нельзя объять необъятное, остановимся на рассмотрении особенностей управления двигателями постоянного тока (далее электродвигателями).

К двигателям постоянного тока относятся два типа – это привычные для нас коллекторные двигатели и бесколлекторные (шаговые) двигатели. В первых переменное магнитное поле, обеспечивающее вращение вала двигателя, образуется обмотками ротора, которые запитываются через щеточный коммутатор – коллектор. Оно и взаимодействует с постоянным магнитным полем статора, вращая ротор. Для работы таких двигателей внешние коммутаторы не требуются, их роль выполняет коллектор. Статор может быть изготовлен как из системы постоянных магнитов, так и из электромагнитов. Во втором типе электродвигателей обмотки образуют неподвижную часть двигателя (статор), а ротор сделан из постоянных магнитов. Здесь переменное магнитное поле образуется путем коммутации обмоток статора, которая выполняется внешней управляющей схемой. Шаговые двигатели («stepper motor» в английском написании) значительно дороже коллекторных. Это достаточно сложные устройства со своими специфическими особенностями. Их полное описание требует отдельной публикации и выходит за рамки данной статьи. Для получения более полной информации по двигателям этого типа и их схемам управления можно обратиться, например, к [1].

Коллекторные двигатели (Рисунок 1) более дешевы и, как правило, не требуют сложных систем управления. Для их функционирования достаточно подачи напряжения питания (выпрямленного, постоянного!). Проблемы начинают возникать, когда появляется необходимость в регулировке скорости вращения вала такого двигателя или в специальном режиме управления моментом вращения. Основных недостатков таких двигателей три – это малый момент на низких скоростях вращения (поэтому часто требуется редуктор, а это отражается на стоимости конструкции в целом), генерация высокого уровня электромагнитных и радиопомех (из-за скользящего контакта в коллекторе) и низкая надежность (точнее малый ресурс; причина в том же коллекторе). При использовании коллекторных двигателей необходимо учитывать, что ток потребления и скорость вращения их ротора зависят от нагрузки на валу. Коллекторные двигатели более универсальны и имеют более широкое распространение, особенно в недорогих устройствах, где определяющим фактором является цена.

Поскольку скорость вращения ротора коллекторного двигателя зависит, в первую очередь, от подаваемого на двигатель напряжения, то естественным является использование для его управления схем, имеющих возможность установки или регулировки выходного напряжения. Такими решениями, которые можно найти в Интернете, являются схемы на основе регулируемых стабилизаторов напряжения и, поскольку век дискретных стабилизаторов давно прошел, для этого целесообразно использовать недорогие интегральные компенсационные стабилизаторы, например, LM317 [2]. Возможные варианты такой схемы представлены на Рисунке 2.

Схема примитивная, но кажется очень удачной и, главное, недорогой. Посмотрим на нее с точки зрения инженера. Во-первых, можно ли ограничить момент вращения или ток двигателя? Это решается установкой дополнительного резистора. На Рисунке 2 он обозначен как RLIM. Его расчет имеется в спецификации, но он ухудшает характеристику схемы как стабилизатора напряжения (об этом будет ниже). Во-вторых, какой из вариантов управления скоростью лучше? Вариант на Рисунке 2а дает удобную линейную характеристику регулирования, поэтому он и более популярен. Вариант на Рисунке 2б имеет нелинейную характеристику. Но в первом случае при нарушении контакта в переменном резисторе мы получаем максимальную скорость, а во втором – минимальную. Что выбрать – зависит от конкретного применения. Теперь рассмотрим один пример для двигателя с типовыми параметрами: рабочее напряжение 12 В; максимальный рабочий ток 1 А. ИМС LM317, в зависимости от суффиксов, имеет максимальный выходной ток от 0.5 А до 1.5 А (см. спецификацию [2]; имеются аналогичные ИМС и с бóльшим током) и развитую защиту (от перегрузки и перегрева). С этой точки зрения для нашей задачи она подходит идеально. Проблемы скрываются, как всегда, в мелочах. Если двигатель будет выведен на максимальную мощность, что для нашего применения весьма реально, то на ИМС, даже при минимально допустимой разнице между входным напряжением VIN и выходным VOUT, равной 3 В, будет рассеиваться мощность не менее

Таким образом, нужен радиатор. Опять вопрос – на какую рассеиваемую мощность? На 3 Вт? А вот и нет. Если не полениться и рассчитать график нагрузки ИМС в зависимости от выходного напряжения (это легко выполнить в Excel), то мы получаем, что при наших условиях максимальная мощность на ИМС будет рассеиваться не при максимальном выходном напряжении регулятора, а при выходном напряжении равном 7.5 В (см. Рисунок 3), и она составит почти 5.0 Вт!

Рисунок 3. График зависимости мощности, рассеиваемой на ИМС регулятора, от выходного напряжения.

Как видим, получается что-то уже не дешевое, но очень громоздкое. Так что такой подход годится только для маломощных двигателей с рабочим током не более 0.25 А. В этом случае мощность на регулирующей ИМС будет на уровне 1.2 Вт, что уже будет приемлемо.

Выход из положения – использовать для управления метод широтно-импульсной модуляции (ШИМ). Он, действительно, самый распространенный. Его суть – подача на двигатель промодулированных по длительности однополярных прямоугольных импульсов. Согласно теории сигналов, в структуре такой последовательности имеется постоянная составляющая, пропорциональная отношению τ/T, где: τ – длительность импульса, а T – период последовательности. Вот она-то и управляет скоростью двигателя, который выделяет ее как интегратор в этой системе. Поскольку выходной каскад регулятора на основе ШИМ работает в ключевом режиме он, как правило, не нуждается в больших радиаторах для отвода тепла, даже при относительно больших мощностях двигателя, и КПД такого регулятора несравненно выше предыдущего. В ряде случаев можно использовать понижающие или повышающие DC/DC-преобразователи, но они имеют ряд ограничений, например, по глубине регулировки выходного напряжения и минимальной нагрузке. Поэтому, как правило, чаще встречаются иные решения. «Классическое» схемное решение такого регулятора представлено на Рисунке 4 [3]. Оно использовано в качестве дросселя (регулятора) в профессиональной модели железной дороги.

Рисунок 4. «Классическая» схема управления коллекторным двигателем на основе ШИМ (согласно оригиналу [3]).

На первом операционном усилителе собран генератор, на втором компаратор. На вход компаратора подается сигнал с конденсатора C1, а путем регулирования порога срабатывания формируется уже сигнал прямоугольной формы с нужным отношением τ/T (Рисунок 5).

Управление двигателями постоянного тока
Рисунок 5. Диаграмма управления коллекторным двигателем на основе ШИМ. Верхняя трасса – напряжение на конденсаторе С1; средняя (пересекает верхнюю) – сигнал управления (напряжение на движке резистора RV2); нижняя – напряжение на двигателе.

Диапазон регулировки устанавливается подстроечными резисторами RV1 (быстрее) и RV3 (медленнее), а сама регулировка скорости осуществляется резистором RV2 (скорость). Обращаю внимание читателей, что в Интернете на русскоязычных форумах гуляет похожая схема с ошибками в номиналах делителя, задающего порог компаратора. Управление непосредственно двигателем осуществляется через ключ на мощном полевом транзисторе типа BUZ11 [4]. Особенности этого транзистора типа MOSFET – большой рабочий ток (30 А постоянного, и до 120 А импульсного), сверхмалое сопротивление открытого канала (40 мОм) и, следовательно, минимальная мощность потерь в открытом состоянии.

На что нужно в первую очередь обращать внимание при использовании таких схем? Во-первых, это исполнение цепи управления. Здесь в схеме (Рисунок 4) есть небольшая недоработка. Если со временем возникнут проблемы с подвижным контактом переменного резистора, мы получим полный почти мгновенный разгон двигателя. Это может вывести из строя наше устройство. Какое противоядие? Установить добавочный достаточно высокоомный резистор, например, 300 кОм с вывода 5 ИМС на общий провод. В этом случае при отказе регулятора двигатель будет остановлен.

Еще одна проблема таких регуляторов – это выходной каскад или драйвер двигателя. В подобных схемах он может быть выполнен как на полевых транзисторах, так и на биполярных; последние несравненно дешевле. Но и в первом и во втором варианте необходимо учитывать некоторые важные моменты. Для управления полевым транзистором типа MOSFET нужно обеспечить заряд и разряд его входной емкости, а она может составлять тысячи пикофарад. Если не использовать последовательный с затвором резистор (R6 на Рисунке 4) или его номинал будет слишком мал, то на относительно высоких частотах управления операционный усилитель может выйти из строя. Если же использовать R6 большого номинала, то транзистор будет дольше находиться в активной зоне своей передаточной характеристики и, следовательно, имеем рост потерь и нагрев ключа.

Еще одно замечание к схеме на Рисунке 4. Использование дополнительного диода D2 лишено смысла, так как в структуре транзистора BUZ11 уже имеется свой внутренний защитный быстродействующий диод с лучшими характеристиками, чем предлагаемый. Диод D1 также явно лишний, транзистор BUZ11 допускает подачу напряжения затвор-исток ± 20 В, да и переполюсовка в цепи управления при однополярном питании, как и напряжение выше 12 В, невозможны.

Если использовать биполярный транзистор, то возникает проблема формирования достаточного по величине базового тока. Как известно, для насыщения ключа на биполярном транзисторе ток его базы должен быть, по крайней мере, не менее 0.06 от тока нагрузки. Понятно, что операционный усилитель такой ток может не обеспечить. С этой целью в аналогичном, по сути, регуляторе, который используется, например, в популярном мини-гравере PT-5201 компании Pro’sKit, применен транзистор TIP125, представляющий собой схему Дарлингтона. Тут интересный момент. Эти мини-граверы иногда выходят из строя, но не из-за перегрева транзистора, как можно было бы предположить, а из-за перегрева ИМС LM358 (максимальная рабочая температура +70 °С) выходным транзистором (максимально допустимая температура +150 °С). В изделиях, которыми пользовался автор статьи, он был вплотную прижат к корпусу ИМС и посажен на клей, что недопустимо нагревало ИМС и почти блокировало теплоотвод. Если вам попалась такое исполнение, то лучше «отклеить» транзистор от ИМС и максимально отогнуть. За это know-how автор статьи был премирован компанией Pro’sKit набором инструментов. Как видите все нужно решать в комплексе – смотреть не только на схемотехнику, но и внимательно относится к конструкции регулятора в целом.

Есть еще несколько интересных схем более простых ШИМ-регуляторов. Например, две схемы на одиночном операционном усилителе с драйвером опубликованы в [5] (Одна из них приведена на Рисунке 6а). Есть схемы и на базе популярного таймера серии 555 [6] (Рисунок 6б). Эти дешевые решения не должны вводить вас в заблуждение своей кажущейся простотой. Вспомним А.С. Пушкина: «Не гонялся бы ты, поп, за дешевизной». Или французов: «За каждое удовольствие нужно платить». Обе эти схемы формируют суррогатный сигнал ШИМ с изменением опорной частоты. Так схемы на ОУ из [5] меняют частоту управления во время регулирования от 170 Гц до 500 Гц, а схема на таймере – от 150 Гц до 1000 Гц, и ее диапазон регулировки (верхний диапазон) ограничен скважностью 9.5. Для некоторых применений это может быть недопустимо, так как на больших частотах двигатель может и не заработать, или не дать нужный момент вращения. Это происходит из-за того, что ток в обмотке двигателя, которая представляет собой индуктивность, устанавливается не мгновенно, а нарастает и спадает по экспоненте. Более корректные схемы на базе таймера и одиночного ОУ приведены на Рисунке 7.

Аналогичные по структуре регуляторы можно построить и на цифровых логических элементах, но они имеют малую нагрузочную способность и требуют отдельного источника питания, поэтому в данной статье не рассматриваются. Применение же таймера 555 интересно тем, что частота генератора, выполненного на его базе, практически не зависит от напряжения питания. Кроме того, большинство ныне выпускаемых зарубежных аналогов, выполненных по биполярной технологии, допускает выходной ток до 200 мА и более. То есть, они могут легко справиться и с емкостью затвора MOSFET и с мощными ключами на биполярных транзисторах. Близкий к таймеру 555 советско-российский аналог – это ИМС (КР)1006ВИ1. Максимальный выходной ток для КР1006ВИ1 и КМОП-версий таймера составляет 100 мА.

Источник