Меню

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



Управление щёточными моторами с Arduino

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

При помощи обычного реле можно просто включать и выключать мотор по команде digitalWrite(пин, состояние) , прямо как светодиод:

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

Купить модуль реле можно на Aliexpress.

Мосфет

Полевой транзистор, он же мосфет, позволяет управлять скорость вращения мотора при помощи ШИМ сигнала. При использовании мосфета обязательно нужно ставить диод, иначе индуктивный выброс с мотора очень быстро убьёт транзистор. Скорость мотора можно задавать при помощи ардуиновской analogWrite(пин, скорость) .

Вместо “голого” мосфета можно использовать готовый китайский модуль:

Купить мосфет модуль можно на Aliexpress.

Реле и мосфет

Если объединить реле и мосфет – получим весьма колхозную, но рабочую схему управления скоростью и направлением мотора:

Специальный драйвер

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

Остальные драйверы смотри у меня вот тут. Схемы подключения и таблицы управления:




Пины направления управляются при помощи digitalWrite(pin, value) , а PWM – analogWrite(pin, value) . Управление драйвером по двум пинам может быть двух вариантов:

Моторы переменного тока

Мотором переменного тока (220V от розетки) можно управлять при помощи диммера на симисторе, как в уроке про управление нагрузкой.

Библиотеки

У меня есть удобная библиотека для управления мотором – GyverMotor, документацию можно почитать вот здесь. Особенности библиотеки:

  • Контроль скорости и направления вращения
  • Работа с ШИМ любого разрешения
  • Программный deadtime
  • Отрицательные скорости
  • Поддержка всех типов драйверов
  • Плавный пуск и изменение скорости
  • Режим “минимальная скважность”

Помехи и защита от них

Индуктивный выброс напряжения

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

Отсечь индуктивный выброс с мотора можно при помощи самого обычного диода, чем мощнее мотор, тем мощнее нужен диод, то есть на более высокое напряжение и ток. Диод ставится встречно параллельно мотору, и чем ближе к корпусу, тем лучше. Точно таким же образом рекомендуется поступать с электромагнитными клапанами, соленоидами, электромагнитами и вообще любыми другими катушками. Логично, что диод нужно ставить только в том случае, если мотор или катушка управляется в одну сторону. Важные моменты:

  • При работе с драйвером и управлением в обе стороны диод ставить не нужно и даже нельзя!
  • При управлении ШИМ сигналом рекомендуется ставить быстродействующие диоды (например серии 1N49xx ) или диоды Шоттки (например серии 1N58xx).
  • Максимальный ток диода должен быть больше или равен максимальному току мотора.
  • Защитный диод, принимающий на себя обратный выброс ЭДС самоиндукции, также называется шунтирующим диодом, снаббером, flyback диодом.
  • В природе существуют мосфеты со встроенным защитным диодом. Этот диод является отдельным элементом и такой мосфет обычно имеет нестандартный корпус, читайте документацию на конкретный транзистор.
  • Диод, который показан на схематическом изображении мосфета, не является защитным диодом: это слабый и медленный “паразитный” диод, образованный при производстве транзистора. Он не защитит мосфет от выброса, нужно обязательно ставить внешний!

Помехи от щёток

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

Помехи по питанию, просадка

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

Разделение питания

Если описанные выше способы не помогают – остаётся только одно: разделение питания. Отдельный малошумящий хороший источник на МК и сенсоры/модули, и отдельный – для силовой части, в том числе мотора. Иногда ради стабильности работы приходится вводить отдельный БП или отдельный аккумулятор для надёжности функционирования устройства.

Экранирование

В отдельных случаях критичными являются даже наводки от питающих проводов моторов, особенно при управлении ШИМ мощными моторами и управлении мощными шаговиками в станках. Такие наводки могут создавать сильные помехи для работающих рядом чувствительных электронных компонентов, на аналоговые цепи, наводить помехи на линии измерения АЦП и конечно же на радиосвязь. Защититься от таких помех можно при помощи экранирования силовых проводов: экранированные силовые провода не всегда удаётся купить, поэтому достаточно обмотать обычные провода фольгой и подключить экран на GND питания силовой части. Этот трюк часто используют RC моделисты, летающие по FPV.

Видео


Источник

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

Электродвигатели постоянного тока имеют ряд недостатков, хотя и множество очевидных преимуществ. Одним из них является гораздо более высокое потребление тока при пуске по сравнению с током, потребляемым при нормальной работе, что может привести к перегрузке источника питания в начальный момент времени. Предлагаемый модуль софт-старта мотора имеет напряжение питания от 12 до 35 В, собственный ток потребления около 10 мА. Нагрузка может достигать десятки Ампер.

Схема плавного пуска на 555 и MOSFET

Принципиальная схема мягкий старт показана на рисунке. Таймер 555 работает в типичном мультивибраторном включении и создает прямоугольный сигнал с частотой около 2,2 кГц и заполнением (скважностью) около 85%. Состоит частотозадающая цепь из сопротивления R3 и конденсатора C5 на 100 нФ.

Этот сигнал поступает на инвертируемый вход компаратора LM311. Делитель напряжения, который подает приблизительно 4,5 В к инвертирующему входу, также подключен. Конденсатор C6 22 мкФ делает так, что напряжение при включении питания почти равно напряжению источника питания (78L09 это 9 В), а затем медленно падает до номинального значения.

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

Зарядный конденсатор играет ключевую роль в определении заряда. Скважность составляет 100% через 7 секунд после включения, и N-канальный MOSFET полевой транзистор IRF3205 переходит в открытый режим.

Схема смонтирована на односторонней печатной плате 25 х 50 мм. Все компоненты, кроме транзистора T1 и D2, устанавливаются на одной поверхности. Рекомендуется установить небольшой кулер на транзистор.

Более сильный мотор, лампа и другая нагрузка тоже сюда отлично подойдёт. Естественно с использованием мощного Мосфета. Может быть установлен даже транзистор с токами до 50 А.

Класс A — схема самодельного УМЗЧ высокого качества на полевых MOSFET транзисторах.

Информация по самостоятельному ремонту и прошивке транзистор-тестера LCR-T4(T3) NoStripGrid.

Читайте также:  Массаж с применением тока

Простая транзисторная схема робота следующего по нарисованной линии. Без микроконтроллеров и дорогих деталей.

Источник

Управление двигателем постоянного тока с применением драйвера 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 мА.

Источник