Меню

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



Digitrode

цифровая электроника вычислительная техника встраиваемые системы

  • Вычислительная техника
    • Микроконтроллеры микропроцессоры
    • ПЛИС
    • Мини-ПК
  • Силовая электроника
  • Датчики
  • Интерфейсы
  • Теория
    • Программирование
    • ТАУ и ЦОС
  • Перспективные технологии
    • 3D печать
    • Робототехника
    • Искусственный интеллект
    • Криптовалюты

Чтение RSS

Как управлять двигателем постоянного тока с помощью микроконтроллера AVR ATmega

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

Как управлять двигателем постоянного тока с помощью микроконтроллера AVR ATmega

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

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

В этом проекте работа двигателя постоянного тока будет продемонстрирована с помощью микроконтроллера Atmega16. Драйвер двигателя L293D будет использоваться для изменения направления тока и направления движения. Драйвер двигателя L293D использует конфигурацию цепи H-мост, которая выводит необходимый ток на двигатель. Две кнопки используются для выбора направления двигателя. Одна кнопка используется для выбора вращения по часовой стрелке, а другая – для выбора режима против часовой стрелки.

Драйвер двигателя L293D

Схема подключения микроконтроллера ATmega, драйвера L293D и двигателя постоянного тока следующая.

Схема подключения микроконтроллера ATmega, драйвера L293D и двигателя постоянного тока

Теперь перейдем к программированию микроконтроллера. В данном случае Atmega16 программировался с использованием USBASP и Atmel Studio7.0.

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

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

Как управлять двигателем постоянного тока с помощью микроконтроллера AVR ATmega

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

Источник

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

Источник

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

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

Читайте также:  Беременную девушку ударило током

Как будет вести себя двигатель в таком включении? Если частота ШИМ сигнала будет низкой (единицы Гц), то двигатель будет поворачиваться рывками. Это будет особенно заметно при маленьком коэффициенте заполнения ШИМ сигнала.
При частоте в сотни Гц мотор будет вращаться непрерывно и его скорость вращения будет изменяться пропорционально коэффициенту заполнения. Грубо говоря, двигатель будет «воспринимать» среднее значение подводимой к нему энергии.

Схема для генерации ШИМ сигнала

Существует много схем для генерации ШИМ сигнала. Одна из самых простых — это схема на основе 555-го таймера. Она требует минимум компонентов, не нуждается в настройке и собирается за один час.

генератор шим сигнала

Напряжение питания схемы VCC может быть в диапазоне 5 — 16 Вольт. В качестве диодов VD1 — VD3 можно взять практически любые диоды.

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

блок схема 555 таймера

Вывод питания (VCC) и сброса (Reset) у нас заведены на плюс питания, допустим, +5 В, а земляной (GND) на минус. Открытый коллектор транзистора (вывод DISCH) подтянут к плюсу питания через резистор и с него снимается ШИМ сигнал. Вывод CONT не используется, к нему подключен конденсатор. Выводы компараторов THRES и TRIG объединены и подключены к RC цепочке, состоящей из переменного резистора, двух диодов и конденсатора. Средний вывод переменного резистора подключен к выводу OUT. Крайние выводы резистора подключены через диоды к конденсатору, который вторым выводом подключен к земле. Благодаря такому включению диодов, конденсатор заряжается через одну часть переменного резистора, а разряжается через другую.

В момент включения питания на выводе OUT низкий логический уровень, тогда на выводах THRES и TRIG, благодаря диоду VD2, тоже будет низкий уровень. Верхний компаратор переключит выход в ноль, а нижний в единицу. На выходе триггера установится нулевой уровень (потому что у него инвертор на выходе), транзисторный ключ закроется, а на выводе OUT установиться высокий уровень (потому что у него на инвертор на входе). Далее конденсатор С3 начнет заряжаться через диод VD1. Когда она зарядится до определенного уровня, нижний компаратор переключится в ноль, а затем верхний компаратор переключит выход в единицу. На выходе триггера установится единичный уровень, транзисторный ключ откроется, а на выводе OUT установится низкий уровень. Конденсатор C3 начнет разряжаться через диод VD2, до тех пор, пока полностью не разрядится и компараторы не переключат триггер в другое состояние. Далее цикл будет повторяться.

Приблизительную частоту ШИМ сигнала, формируемого этой схемой, можно рассчитать по следующей формуле:

где R1 в омах, C1 в фарадах.

При номиналах указанных на схеме выше, частота ШИМ сигнала будет равна:

F = 1.44/(50000*0.0000001) = 288 Гц.

ШИМ регулятор оборотов двигателя постоянного тока

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

регулятор оборотов двигателя

VT1 — полевой транзистор n-типа, способный выдерживать максимальный ток двигателя при заданном напряжении и нагрузке на валу. VCC1 от 5 до 16 В, VCC2 больше или равно VCC1.

Вместо полевого транзистора можно использовать биполярный n-p-n транзистор, транзистор дарлингтона, оптореле соответствующей мощности.

Источник

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

в Управление 0 1,263 Просмотров

Схема управления двигателем постоянного тока выполнена на микроконтроллере PIC16F873. Его тактовая частота определяется кварцевым резонатором 10 МГц.

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

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

Вал электрического двигателя М1 посредством зубчатой двухступенчатой передачи соединен со 2-м электрическим двигателем, который играет роль генератора. Создаваемое им напряжение через диодный мостик VD1 и делитель напряжения .

На R1, R2, R3 идет на ввод AN0 аналого-цифрового преобразователя, имеющегося в состав МК. Стабилитрон VD2 с напряжением стабилизации 5В предохраняет данный ввод от выхода из строя, емкость С5 предназначена для устранения пульсации выпрямленного напряжения. Необходимую скорость вращения выбирают линейным потенциометром R2.

Увеличение потенциала, идущего на ввод AN0, говорит о том, что скорость вращения электродвигателя повышается. Реагируя на это, микроконтроллер уменьшает продолжительность сигналов на выводе ССР1, и скорость вращения стабилизируется. При снижении потенциала, создаваемого генератором, продолжительность сигналов увеличивается, и скорость вращения так же возрастает.

Группа светодиодов HL1 — HL8 дозволяет контролировать скорость вращения вала электродвигателя: количество горящих светодиодов увеличивается с ростом скорости вращения.

Питается схема напряжением 5 В, выходящего с выхода о стабилизатора DA1. На двигатель М1 идет не стабилизированное напряжение от дополнительного блока питания.

Скачать прошивку (1,9 KiB, скачано: 431)

Источник