Интегрированный контроллер по управлению двигателем постоянного тока

Содержание

Методы управления двигателем постоянного тока в САУ

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

Используются 4 основные метода управления, реализующие перечисление выше принципы:

управление по системе «генератор-двигатель» (Г-Д);

управление по системе «управляемый выпрямитель –Д» (УВ-Д);

Подробное исследование этих способов – предмет ТАУ и курса «Основы электропривода». Мы рассмотрим только основные положения, имеющие непосредственное отношение к электромеханике.

Обычно используются 3 схемы:

при регулировке скорости n от 0 до nном в цепь якоря включают реостат (якорное управление);

при необходимости получить n > nном реостат включают в цепь ОВ (полюсное управление);

для регулирования скорости n nном реостаты включают как в цепь якоря, так и в цепь ОВ.

Перечисленные схемы применяются при ручном управлении. Для автоматического управления используют ступенчатое переключение R ра и R рв с помощью контакторов (реле, электронных коммутаторов).

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

Управление по системе Г-Д

Регулирование частоты вращения от 0 до по схеме рис. производится регулировкой R в (U гизменяется от 0 до n ном). Для получения скорости двигателя больше nном – изменением R вд (уменьшение тока ОВ двигателя уменьшает его основной поток Ф, что и приводит к увеличению скорости n).

Переключатель S1 предназначен для реверса двигателя (изменения направления вращения его ротора).

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

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

Управление по системе «управляемый выпрямитель – двигатель»

Система «управляемый выпрямитель – двигатель» (см. рисунок) похожа на предыдущую, но вместо электромашинного источника регулируемого напряжения, состоящего из, например, трехфазного, двигателя переменного тока и Г=Т, используется управляемый, например, тоже трехфазный тиристорный электронный выпрямитель.

Сигналы управления формируются отдельным блоком управления и обеспечивают требуемый угол открывания тиристоров, пропорциональный сигналу управления Uу.

Достоинства такой системы – высокий КПД, малые габариты и масса.

Недостатком по сравнению с предыдущей схемой (Г-Д) является ухудшение условий коммутации Д из-за пульсаций его тока якоря, особенно при питании от однофазной сети.

На двигатель с помощью импульсного прерывателя подаются импульсы напряжения, модулированные (ШИМ, ВИМ) в соответствии с управляющим напряжением.

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

Если эти периоды малы по сравнению с полным временем разгона и остановки якоря, то скорость n не успевает к концу каждого периода достигать установившихся значений nном при разгоне или n = 0 при торможении, и устанавливается некоторая средняя скорость nср, величина которой определяется относительной продолжительностью включения.

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

Мир микроконтроллеров

Популярное

  • Устройство и программирование микроконтроллеров AVR для начинающих – 143
  • Трехканальный термостат, терморегулятор, таймер на ATmega8 – 71
  • Двухканальный термостат, терморегулятор на ATmega8 – 67

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

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

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

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

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

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

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

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

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

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

Работа схемы

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

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

Мы будем программировать микроконтроллер Atmega16 с помощью программатора USBASP и программы Atmel Studio7.0. Полный текст программы приведен в конце данной статьи. Две кнопки в приведенной схеме используются для задания направления вращения двигателя – по часовой стрелке или против часовой стрелки. Двигатель постоянного тока подключается к микроконтроллеру при помощи драйвера мотора 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 представлена следующим фрагментом кода на языке С (Си). Комментарии к коду программу поясняют принцип работы отдельных команд.

#define F_CPU 16000000UL // задаем частоту микроконтроллера
#include
#include

int i; // определяем переменную, в которой будем хранить номер нажатой кнопки
int main(void)
<
//DDR – регистр направления данных
DDRA = 03; // конфигурируем контакты PORTA0,1 на вывод, а Rest – на ввод
// подаем на контакты PORTA0 и PORTA1 низкий уровень чтобы предотвратить вращение двигателя до того момента пока не будет нажата одна из кнопок
PORTA &=

Видео, демонстрирующее работу схемы

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

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

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

Управление двигателем при помощи биполярного транзистора

Самый простой способ приведения в действие двигателя показан ниже:

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

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

Следует также обратить внимание на мощность, выделяющуюся на транзисторе (P = Uкэ * Iк). Несмотря на то, что транзистор в данном случае работает в состоянии насыщения и напряжение Uкэ часто не превышает 1В, коллекторный ток все же велик (около 0,5 А для двигателя среднего размера) и, следовательно, мощность, излучаемая на транзисторе может потребовать от нас установки радиатора.

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

Это приводит к тому, что если мы хотим, чтобы ток коллектора имел большое значение, это может потребовать большего тока, чем 20 мА, то есть больше, чем составляет нагрузочная способность порта микроконтроллера. В таких случаях решением может быть использование комбинации транзисторов – транзистор Дарлингтона:

Такая система ведет себя как один транзистор с большим значением усиления тока и малой скоростью работы.

Несколько слов об индуктивных нагрузках

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

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

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

Управление двигателем при помощи MOSFET транзистора

Так же можно управлять постоянным двигателем с помощью полевого транзистора MOSFET:

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

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

Управление двигателем при помощи реле

Если вам необходимо управление двигателем постоянного тока, и вы знаете, что частота переключения не будет слишком большая (ниже 20 Гц), то вы можете для коммутации использовать реле (реле не подходят для управления ШИМ). Преимуществом такого решения является, прежде всего, малое выделение тепла.

Существуют малогабаритные реле способные управлять токами до 10 А ! Для таких больших токов, потери мощности в реле являются приемлемыми, но для небольших токов хуже. Катушка управления контактами реле можно работать даже от нескольких сотен мА. Так что нет никакого смысла в использовании такого реле для управления током подобной величины. К счастью, есть отдельные экземпляры, которые потребляют ток около 40 мА и это уже гораздо лучше.

Если речь идет о напряжении управления реле, то оно бывает от 3 до 24 В. Как мы уже писали ранее, максимальный выходной ток микроконтроллера 20 мА, а это слишком мало, чтобы управлять реле напрямую. Поэтому для управления необходимо использовать транзистор. Схема такого подключения, как правило, выглядит следующим образом:

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

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

В конце рассуждений о реле приведем ситуацию, когда данный вид управления двигателем является оптимальным. Предположим, что мы хотим управлять двигателем, у которого номинальное рабочее напряжение 2,5 В и ток 3А и работает он от источника напряжением 2,5 В (переключение с небольшой частотой). Если вы будете использовать усилитель, построенный на транзисторе, то на выходе мы будем иметь падение напряжения около 1 В, что в данном случае является слишком большим значением. При использовании же реле у нас никакого падения напряжения не будет.

Управление двигателем при помощи H-моста

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

Буква «H» исходит из того, что четыре реле и двигатель в середине образуют на схеме букву «H».

Подробно о том, как работает H-мост можно почитать здесь

Управление шаговым двигателем

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

Читайте также:  Android и arduino. введение в adk

Номинальное рабочее напряжение, в основном, находится в диапазоне 9 — 24 В. При таких не малых напряжениях мы имеем дело также с большим током: 0,3 — 1A на одну фазу! Ниже приведен пример подключения шагового двигателя с 5 выводами:

В роли ключей мы можем также использовать MOSFET — транзисторы. Это даже более простое решение.
Так как нам нужно до 4-х транзисторов, которые занимают довольно много места на плате, хорошим решением будет использовать микросхему ULN2003A.

Управляем точным положением двигателя постоянного тока через интернет

В этом уроке мы научимся управлять двигателем постоянного тока с помощью ПИД-регулятора через Интернет и Arduino Uno.

Комплектующие

Детали, используемые в этом проекте мы перечислим ниже.

  • Двигатель постоянного тока с датчиком × 1
  • Контроллер двигателя постоянного тока (PHPoC DC Motor Controller) × 1
  • Шилд PHPoC WiFi Shield 2 для Arduino × 1
  • Arduino Uno × 1

Как это устроено

Когда пользователь получает доступ к веб-странице PHPoC [WiFi] Shield из веб-браузера на смартфоне или ПК, между Arduino и веб-браузером будет установлено соединение WebSocket. Соединение WebSocket позволяет в реальном времени обмениваться данными между веб-браузером и Arduino без перезагрузки веб-страницы.

Когда пользователь поворачивает стрелку на веб-странице, угол поворота будет отправлен в Arduino. Arduino преобразует угол в эквивалентную позицию (единица измерения – импульс), а затем использует алгоритм ПИД (PID) для вращения двигателя постоянного тока на эквивалентную позицию.

Библиотека PID для Arduino можно скачать в нашем каталоге Библиотек по этой ссылке. Она также содержит функцию автонастройки для положения и скорости.

Расчет угол-позиция

  • Разрешение инкрементного энкодера (количество на оборот): ENC_RESOLUTION
  • Передаточное число: GEAR_RATIO

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

  • оборот 360 градусов ENC_RESOLUTION * GEAR_RATIO * 4
  • угол положение ( angle position )

=> позиция = angle * ENC_RESOLUTION * GEAR_RATIO * 4/360

Мотор, который использовался, имеет:

  • ENC_RESOLUTION = 13
  • GEAR_RATIO = 100
  • => position = angle * 13 * 100 * 4/360

(см. строку 68 кода Arduino ниже)

Соединение комплектующих

  • Стек PHPoC Shield или PHPoC WiFi Shield на Arduino
  • Контроллер стека постоянного тока PES-2604 на PHPoC Shield или PHPoC WiFi Shield
  • Подключите клеммную колодку контроллера двигателя постоянного тока к двигателю постоянного тока и к источнику питания двигателя постоянного тока следующим образом:
  • Клеммная колодка – провод VM (+) – источник питания для двигателя постоянного тока
  • Клеммная колодка – GND (-) провод – источник питания для двигателя постоянного тока
  • Клеммная колодка – провод M1 + (+) – двигатель постоянного тока
  • Клеммная колодка – провод M1- (-) – двигатель постоянного тока
  • (Необязательно) Подключите порт датчика контроллера двигателя постоянного тока к контакту датчика двигателя постоянного тока следующим образом:
    – Энкодер 1 – 5 В Vcc – Энкодер двигателя постоянного тока
    – Энкодер 1 – GND GND – Энкодер двигателя постоянного тока
    – Энкодер 1 – 1A A фаза – Энкодер двигателя постоянного тока
    – Энкодер 1 – фаза 1B B – Энкодер двигателя постоянного тока
    – Кодер 1 расположен в верхнем ряду порта датчика. Более подробно здесь

Изображения для проекта

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

Веб-интерфейс

Ниже файл remote_dc.php – это файл, который содержит веб-интерфейс пользователя. Он должен храниться в PHPoC [WiFi] Shield. Чтобы загрузить файл в PHPoC [WiFi] Shield, выполните следующие действия:

  • Скопируйте приведенный ниже код и сохраните его в файле remote_dc.php.
  • Установите PHPoC Debugger
  • Подключите PHPoC Debugger к PHPoC [WiFi] Shield с помощью кабеля micro-USB согласно следующей инструкции по ссылке.
  • Обратите внимание, что Arduino должен быть включен.
  • Загрузите файл remote_dc.php в PHPoC [WiFi] Shield согласно этой инструкции по этой ссылке.

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

Код Ардуино

Это код Arduino, который работает в бесконечном цикле.

Итоговый результат

ОБОРУДОВАНИЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ

Блог технической поддержки моих разработок

Урок 73. ПИД-регулятор скорости вращения двигателя постоянного тока. Разработка аппаратной части.

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

Игорь из Москвы заказал мне разработку контроллера- регулятора скорости вращения двигателя постоянного тока.

Это продолжение бесконечной разработки интеллектуального сверлильного станка. Сначала я написал для него общую управляющую программу. Затем мы создали электронный прицел для станка на OSD-генераторе. Пришла очередь до двигателя, который вращает шпиндель.

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

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

Должен получиться учебный материал на несколько разных тем:

  • аппаратное подключение двигателя постоянного тока к Ардуино;
  • измерение частоты и периода сигнала ;
  • управление нагрузкой с помощью ШИМ;
  • ПИД-регулятор;
  • этапы разработки подобных устройств.

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

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

Аппаратное подключение двигателя постоянного тока к Ардуино.

Существуют две основные задачи:

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

Сошлюсь на Урок 39, раздел ”Общие сведения о регуляторах”. Там написано, что необходимо выделить:

  • регулируемый параметр – что мы регулируем;
  • регулирующий элемент – с помощью чего мы регулируем.

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

Подключение двигателя к ШИМ Arduino.

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

ШИМ с выхода Ардуино открывает и закрывает ключ, собранный на MOSFET-транзисторе. Можно, конечно, использовать и биполярный транзистор, но:

  • полевым проще управлять;
  • у него меньше падение напряжения в открытом состоянии, а значит он меньше греется;
  • в отличие от биполярного транзистора, он работает на высоких частотах 100 кГц и выше.

Я выбрал MOSFET-транзистор IRF7341: N-канал, 55 В, 4 А. Кроме предельно-допустимых параметров необходимо учитывать то, что транзистор должен быть низкопороговым, т.е. открываться при небольшом напряжении (не более 5 В). Иначе необходимо использовать дополнительный элемент – драйвер.

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

В некоторых подобных схемах используют низкочастотные выпрямительные диоды, например, 1N4007. Это допустимо только для дискретного управления двигателем: включить или выключить. При управлении с помощью ШИМ, особенно с высокой частотой, диод должен быть высокочастотным, лучше с барьером Шоттки.

При закрытом транзисторе диод находится в открытом состоянии, через него течет ток размагничивания обмотки двигателя. Затем транзистор открывается. А диод закрывается только через время восстановления обратного сопротивления. Даже у “быстрых” (FR307) диодов это время составляет 150-500 нс, у “супербыстрых” 35 нс, а у выпрямительных 1N4007 этот параметр не нормируется. Представьте себе, что при частоте ШИМ 100 кГц 100000 раз в секунду будет происходить короткое замыкание. Это приведет к жутким помехам, уменьшению КПД и нагреву диода и транзистора.

При высоком напряжении все значительно усугубиться. В общем рекомендации по выбору диода:

  • Лучше всего диод Шоттки.
  • Если высокое напряжение (более 150 В) не позволяет использовать диод Шоттки, то лучшим вариантом будет карбидокремиевые диоды Шоттки.
  • Следующим приемлемым вариантом могут быть HEXFRED-диоды с ограничением обратного тока обратного восстановления;
  • На крайний случай остаются супербыстрые и ультрабыстрые диоды.
Читайте также:  Microchip представила новый высокоскоростной сертифицированный контроллер usb3-концентратора

У меня напряжение всего 12 В. Я выбрал диод Шоттки SS16.

Наверное, понятно, что меняя коэффициент заполнения ШИМ, мы будем изменять среднее напряжения на двигателе, я значит, и его мощность. Частоту ШИМ определим экспериментально.

Измерение скорости вращения.

Традиционным компонентом для измерения числа оборотов мотора служит датчик Холла. Это датчик, который показывает наличие магнитного поля, например, присутствие рядом с ним постоянного магнита. Для наших целей необходимы цифровые или дискретные датчики Холла. В отличие от аналоговых они срабатывают при превышении магнитным полем определенного порога и имеют гистерезис.

Конструкции измерителей скорости могут быть самыми разными. Можно закрепить на валу двигателя металлический диск с радиальными прорезями и использовать автомобильный датчик Холла.

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

Я поступил проще. Использовал дешевый, миниатюрный датчик Холла TLE4905L. В самых дорогих магазинах он стоит до 50 руб, а на АлиЭкспресс от 25 руб.

Это цифровой датчик Холла, настроенный на определенный порог магнитного поля. Он прекрасно срабатывает на расстоянии 8 мм от миниатюрного магнита диаметром 5 мм и толщиной 1 мм.

Конструкция измерителя очевидна. Я приклеил 2 магнита к диску вентилятора и над линией, по которой они двигаются при вращении, расположил датчик Холла.

Когда магниты проходят под датчиком, на его выходе формируются импульсы. Измерив частоту этих импульсов можно определить скорость вращения двигателя. На один оборот вырабатываются 2 импульса. Я использовал 2 магнита для того чтобы не нарушить балансировку вентилятора. Возможно, хватило бы и одного.

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

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

Подключение датчика необходимо производить отдельными проводами. Все связи должны соединяться непосредственно на плате Ардуино. С точки зрения помехозащищенности это самое узкое место в системе.

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

С учетом всего вышесказанного окончательная схема контроллера-регулятора оборотов двигателя будет выглядеть так.

В реальных приложениях обороты можно задавать напряжением на аналоговом входе A0. Получится стандартный аналоговый интерфейс 0…5 В. Если необходим диапазон 0…10 В, то достаточно добавить резисторный делитель напряжения.

Состояние контроллера для отладки ПИД-регулятора будем передавать на компьютер через последовательный порт. Я разработаю программу верхнего уровня с регистрацией данных и отображением их в графическом виде. Регистратор значительно облегчает настройку любого ПИД-регулятора.

В следующем уроке начнем “оживлять” контроллер.

БЛОГ ЭЛЕКТРОМЕХАНИКА

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

13.11.2014

Контроллерное управление электродвигателем

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

Релейно-контакторная аппаратура размещается на особой, так называемой защитной панели, встраиваемой в контроллер или монтируемой отдельно от него.

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

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

Низкая устойчивая скорость вращения электродвигателя («ползучая» скорость) получается потому, что в этом случае падение напряжения на зажимах якоря обусловливается не только током якоря, а суммой токов, проходящих по якорю Iя и по параллельно включенному сопротивлению Iш.

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

Изменение направления вращения электродвигателей обычно достигается изменением направления тока в цепи якоря.

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

Для динамического торможения якорь электродвигателя отключается от питающей сети и замыкается на сопротивление торможения (рис. 2).

При этом у электродвигателя параллельного возбуждения обмотка возбуждения остается включенной на полное напряжение сети (рис. 2, а), а у электродвигателя последовательного возбуждения эта обмотка отключается от якоря и получает питание от сети через добавочное сопротивление (рис. 2, б).

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

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

Торможение противотоком производится изменением полярности приложенного к якорю двигателя напряжения. При этом двигатель в момент остановки отключается от сети, так как иначе он начнет вращаться в противоположную сторону. Следовательно, торможение противотоком имеет место у каждого реверсируемого электродвигателя, если реверс производится до остановки двигателя.

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

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

В положении контроллера «I вперед» ток от зажима плюс сети через контакты 10 и 9 контроллера проходит через якорь и дополнительные полюсы электродвигателя; далее через искрогасительную катушку ИК, контакты 1 и 2 контроллера ток, пройдя все пускорегулирующее сопротивление P1 — P4, через зажимы 6,8 и 7 возвращается в минус сети. Электродвигатель начинает вращаться с наименьшим числом оборотов.

В положении контроллера «II вперед» из цепи выводится сопротивление P1, вследствие чего электродвигатель увеличивает скорость вращения.

В последующих положениях («III, IV и V вперед») поочередно выводятся сопротивления Р2, Р3, P4 и якорь электродвигателя, подключенный на полное напряжение сети, развивает номинальную скорость вращения. При повороте маховика контроллера из положения «V вперед» в нулевое якорь электродвигателя отсоединяется от сети и подключается на тормозное сопротивление СТ. Так как обмотка возбуждения осталась включенной, электродвигатель переходит в режим динамического торможения.

При повороте маховика контроллера в положение «I назад» ток от зажима + (плюс) сети через контакты контроллера 10, 11, 8 и 6 проходит через пускорегулирующее сопротивление в направлении от P4 к P1; затем через контакты 2, 1, через катушку ИК, дополнительные полюсы, через якорь электродвигателя, зажимы 9 и 7 контроллера ток возвращается в — (минус) сети.

Таким образом, ток в якоре изменяет направление, что при неизменном направлении потока влечет реверс электродвигателя.

Если из положения «V назад» (или V вперед») перевести маховик контроллера в положение «I вперед» (или «I назад»), не дожидаясь остановки электродвигателя при нулевом положении контроллера, то начинается торможение электродвигателя противотоком через пусковое сопротивление P1— P4.

Сопротивление PC, включенное параллельно обмотке возбуждения, служит для ее защиты от повышения напряжения при выключении рубильника Р.

Рейтинг
( Пока оценок нет )
Загрузка ...
Adblock
detector