Arduino управление частотным преобразователем

Содержание

Управление индуктивной нагрузкой

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

Снаббер не сильно улучшает ситуацию с выбросами, но с ним лучше, чем
без него.

Керамический конденсатор должен быть рассчитан на напряжение,
большее пикового в сети питания. Ещё раз вспомним, что для 230 В — это
325 В. Лучше брать с запасом.

Типичные значения: , .

Есть также модели симисторов, которым не требуется снаббер. Например,
BTA06-600C.

Подключение мосфета к Ардуино

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

С одной стороны – ничего сложного, с другой – Arduino обеспечивает на выходе только небольшой ток и напряжение (U – не более 5В, I – 40 мА). Значит. Мощную нагрузку нужно подключать через специальный “усилитель”. В качестве последнего могут выступать специализированные транзисторы Дарлинтона, биполярные, полевые (мосфеты), реле (механические или на оптопаре) и т.п.

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

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

Не стоит через мосфеты подключать “быстрые” приборы (работающие на высоких частотах или часто включаемые/отключаемые) или сеть с переменным током (для этой задачи лучше всего использовать реле).

Во-первых, полевой транзистор будет греться, во-вторых, его реакция определённо “медленная” для ВЧ техники.

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

Рис. 1. Типовая схема включения нагрузки

Или такой (для лучшего понимания принципа работы).

Рис. 2. Вариант схемы включения нагрузки

Резистор 3к на затворе – это ограничитель (подстроечное сопротивление). А 10к – это своего рода предохранитель от перехода мосфета в Z-режим (исключается эффект “дребезжания” на малых токах управления).

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

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

Рис. 3. Схема устройства

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

Рис. 4. Гальванический разрыв цепи через оптрон

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

Рис. 5. Вариант схемы устройства

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

Рис. 6. Вариант схемы устройства

Она подойдёт на роль “автоматического диммера” с продвинутыми настройками.

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

Как рассчитать потери мощности на мосфете

Для этого понадобится сопроводительная документация (даташит) к выбранному полевому транзистору. Здесь стоит отметить, что подбирать мосфет необходимо из серий, помеченных как “Logic Level”, они разрабатываются специально для работы с микроконтроллерами.

Из даташита необходимо уточнить график зависимости параметров транзистора, например, для IRF630.

Рис. 7. График зависимости параметров транзистора

При напряжении на затворе в 5 Вольт (см. линия в центре с подписью 5V) и токе в цепи (вертикальная ось координат) 5 А, падение напряжения составит около 2В (горизонтальная ось координат).

То есть сопротивление транзистора можно рассчитать по закону Ома как 2/8=0,25 (Ом).

Тогда мощность будет считаться как P=I 2 R, то есть 5 2 ·0,25 = 25·0,25=6,25 Вт.

При силе тока в 8 А потеря мощности будет составлять уже 35 Вт.

Мнения читателей

Нет комментариев. Ваш комментарий будет первый.

Вы можете оставить свой комментарий, мнение или вопрос по приведенному выше материалу:

Источник

Устройство и принцип работы транзистора

Транзистором называется полупроводниковый прибор, предназначенный для усиления и генерирования электрических колебаний. Транзисторы являются ключами (кнопками) в сетях с постоянным током. Биполярные транзисторы могут управлять электрической цепью до 50 В, полевые транзисторы могут управлять приборами до 100 В (при напряжении на затворе 5 В). В сетях с переменным током использую реле.


Фото. Устройство полевого и биполярного транзистора

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

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

L293D Драйвер для 2-х двигателей постоянного тока

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

Принцип работы

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

Этот модуль на микросхеме L293D является самым популярным драйвером для работы с двигателями. L293D более мощный, чем его предшественник, и может не только изменять направление вращения, но скорость. Рабочее напряжение двигателей от 5В до 36 В, рабочий ток достигает 600 мА. На двигатель L293D может подавать максимальный ток в 1,2А.

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

Подключение

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

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

Кроме драйвера понадобится контроллер DaVinci, два мотора постоянного тока, соединительные провода и дополнительный источник питания, так как контроллер выдает маленькие токи и на двигатели необходимо подавать питание отдельным источником питания к контакту MOTOR 5-36V.

Управление двигателями производится с помощью ШИМ сигналов через контакты IN1..IN4. Двигатели подключаются к клеммам М1 и М2. При этом полярность не имеет значения, ее можно поменять программно.

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

Программа

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

READ Как подключить розетку без счетчика

Программу можно усложнить и кроме направления менять еще и мощность.

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

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

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

Источник

Симисторный ключ

Для гальванической развязки цепей управления и питания лучше
использовать оптопару или специальный симисторный драйвер. Например,
MOC3023M или MOC3052.

Эти оптопары состоят из инфракрасного светодиода и фотосимистора. Этот
фотосимистор можно использовать для управления мощным симисторным
ключом.

В MOC3052 падение напряжения на светодиоде равно 3 В, а ток — 60 мА,
поэтому при подключении к микроконтроллеру, возможно, придётся
использовать дополнительный транзисторный ключ.

Встроенный симистор же рассчитан на напряжение до 600 В и ток до
1 А. Этого достаточно для управления мощными бытовыми приборами через
второй силовой симистор.

Рассмотрим схему управления резистивной нагрузкой (например, лампой
накаливания).

Таким образом, эта оптопара выступает в роли драйвера
симистора.

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

Резисторы R1 и R2 рассчитываются как обычно. Сопротивление же
резистора R3 определяется исходя из пикового напряжения в сети питания
и отпирающего тока силового симистора. Если взять слишком большое —
симистор не откроется, слишком маленькое — ток будет течь
напрасно. Резистор может потребоваться мощный.

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

Светодиодные ленты

Светодиодная лента представляет собой цепь соединённых светодиодов. Соединены они не просто так, например обычная 12V лента состоит из сегментов по 3 светодиода в каждом. Сегменты соединены между собой параллельно, то есть на каждый приходят общие 12 Вольт. Внутри сегмента светодиоды соединены последовательно, а ток на них ограничивается общим резистором (могут стоять два для более эффективного теплоотвода):

Таким образом достаточно просто подать 12V от источника напряжения на ленту и она будет светиться. За простоту и удобство приходится платить эффективностью. Простая математика: три белых светодиода, каждому нужно по

3.2V, суммарно это 9.6V. Подключаем ленту к 12V и понимаем, что 2.5V у нас просто уходят в тепло на резисторах. И это в лучшем случае, если резистор подобран так, чтобы светодиод горел на полную яркость.

Подключаем к Arduino

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

Обзор бесколлекторных моторов для Arduino

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

По конструкции бесколлекторные моторы делятся на две группы: inrunner и outrunner. Двигатели inrunner имеют расположенные по внутренней поверхности корпуса обмотки, и вращающийся внутри магнитный ротор. Двигатели outrunner имеют неподвижные обмотки, внутри двигателя, вокруг которых вращается корпус с помещенными на его внутреннюю стенку постоянными магнитами.

Коммутация в бесколлекторном двигателе (БД) осуществляется и контролируется с помощью электроники.

Транзистор Дарлингтона

Если нагрузка очень мощная, то ток через неё может достигать
нескольких ампер. Для мощных транзисторов коэффициент может
быть недостаточным. (Тем более, как видно из таблицы, для мощных
транзисторов он и так невелик.)

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

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

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

Сопротивления должны быть достаточно большими, чтобы не влиять на ток
база — эмиттер. Типичные значения — 5…10 кОм для напряжений 5…12 В.

Выпускаются транзисторы Дарлингтона в виде отдельного прибора. Примеры
таких транзисторов приведены в таблице.

Модель
КТ829В 750 8 А 60 В
BDX54C 750 8 А 100 В

В остальном работа ключа остаётся такой же.

MOSFET vs BJT

So, now you’ve understood the basics of MOSFET and its working principle, what’s the difference between it over a regular transistor (also known as BJTs, bipolar junction transistor)?

Below summarises its differences in a table:

MOSFET BJT
What it is Metal oxide semiconductor field-effect transistor Bipolar Junction Transistor
Hardware Construction 3 terminals: Gate, source, drain with higher structure complexity 3 terminals:Emitter, base, and collecter
Working Principle For MOSFET to work, it’s dependent on the voltage at the oxide insulated gate electrode For BJTs to work, it’s dependent on the current at the base terminal
Suitability of usage High power, current control applicationsAnalog and digital circuits Low-current applications

Which transistor should you choose?

Although MOSFET holds advantages over BJT such as voltage control, choosing either comes down to your application purposes. Here’s what each transistor are suitable for:

  • If you’re looking to regulate the flow of high current in narrow pulses, or for any high power applications, MOSFET is the way to go
  • For common electrical circuit usages or low current in-home applications, BJTs may well be sufficient in handling the job

Доработка схемы

Если вход схемы подключен к push-pull выходу, то особой доработки не
требуется. Рассмотрим случай, когда вход — это просто выключатель,
который либо подтягивает базу к питанию, либо оставляет её «висеть в
воздухе». Тогда для надёжного закрытия транзистора нужно добавить ещё
один резистор, выравнивающий напряжение между базой и эмиттером.

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

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

Если нагрузка резистивная, то диод не нужен.

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

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

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

Для этого можно применить схему, приведённую ниже.

В момент включения реле, пока конденсатор C1 не заряжен, через него
идёт основной ток. Когда конденсатор зарядится (а к этому моменту реле
перейдёт в режим удержания контакта), ток будет идти через резистор
R2. Через него же будет разряжаться конденсатор после отключения реле.

Ёмкость C1 зависит от времени переключения реле. Можно взять,
например, 10 мкФ.

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

Некоторые термины, используемые в тематике BLDC и ESC

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

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

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

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

Low Voltage Stop (остановка при низком напряжении питания) . Обычно BLDC двигатели калибруют так, чтобы при одинаковом уровне управляющего воздействия скорость его вращения была постоянной. Однако этого трудно достигнуть потому что со временем напряжение питающей батареи уменьшается. Чтобы предотвратить это обычно контроллеры ESC программируют таким образом чтобы они останавливали работу BLDC двигателя когда напряжение питающей батареи опускается ниже определенной границы. Особенно эта функция полезна при использовании BLDC двигателей в дронах.

Response time (время отклика, время реакции, время ответа) . Означает способность двигателя быстро изменять скорость вращения при изменении управляющего воздействия. Чем меньше время реакции, тем лучше контроль над двигателем.

Advance (движение вперед) . Эта проблема является своеобразной «ахиллесовой пятой» для BLDC двигателей. Все BLDC двигатели имеют хотя бы небольшой подобный баг. Эта проблема вызвана тем, что когда катушка статора запитана ротор движется вперед поскольку на нем есть постоянный магнит. И когда управляющее напряжение с этой катушки снимают (чтобы подать его на следующую катушку) ротор продвигается вперед немного дальше чем предусмотрено логикой функционирования двигателя. Это нежелательное продвижение двигателя вперед в англоязычной литературе называют “Advance” и оно может приводить к нежелательным вибрациям, нагреву и шуму при работе двигателя. Поэтому хорошие контроллеры ESC стараются по возможности устранить этот эффект в работе BLDC двигателей.

Как подключить моторчик к Arduino

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • мотор постоянного тока (Motor DC);
  • транзистор полевой/биполярный;
  • драйвер двигателей L298N;
  • провода «папа-папа», «папа-мама».

Перед выбором способа управления двигателем от Arduino Uno r3, уточните на какое напряжение рассчитан ваш моторчик. Если питание требуется более 5 Вольт, то следует использовать транзистор или драйвер. Распиновка транзисторов может отличаться от приведенного примера (следует уточнить распиновку для своего типа). Драйвер L298N позволит не только включать мотор, но и изменять направление вращения.

Скетч. Подключение мотора напрямую

Схема. Управление моторчиком от Ардуино напрямую Подключение мотора к Ардуино напрямую — самый простой вариант включения вентилятора на Arduino или машинки. Команда для включения двигателя не отличается, от команды при подключении светодиода к микроконтроллеру. Функция digitalWrite включает/выключает подачу напряжения на цифровой порт, к которому подключен двигатель постоянного тока. Соберите схему и загрузите программу.

void setup() { pinMode(12, OUTPUT); // объявляем пин 12 как выход } void loop() { digitalWrite(12, HIGH); // включаем мотор delay(1000); // ждем 1 секунду digitalWrite(12, LOW); // выключаем мотор delay(1000); // ждем 1 секунду }

Пояснения к коду:

  1. для подключения мотора без драйвера можно использовать любой порт;
  2. если двигатель не включается, то, возможно, не хватает силы тока на цифровом выходе, подключите двигатель через транзистор к порту 3,3V или 5V.

Скетч. Подключение мотора через транзистор

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

Подключение FA-130 мотора постоянного тока — Motor DC Arduino void setup() { pinMode(13, OUTPUT); // объявляем пин 13 как выход } void loop() { digitalWrite(13, HIGH); // включаем мотор delay(1000); // ждем 1 секунду digitalWrite(13, LOW); // выключаем мотор delay(1000); // ждем 1 секунду }

Пояснения к коду:

  1. при необходимости можно подключить два мотора FA-130 к Ардуино;
  2. в зависимости от характеристик, двигатель подключается к 3,3 или 5 Вольтам.

Скетч. Подключение мотора через драйвер

Схема подключения двух моторов через драйвер l298n Подключение мотора к Ардуино через драйвер L298N или Motor Shield L293D позволит менять направление вращения ротора. Но для использования данных модулей потребуется установить соответствующие библиотеки для Ардуино. В примере мы использовали схему подключения двигателя с помощью модуля L298N. Соберите схему, как на картинке ниже и загрузите следующий скетч с использованием.

// задаем имена для портов #define IN1 3 #define IN2 4 #define IN3 5 #define IN4 6 void setup() { pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); } void loop() { // вращаем моторчики в одну сторону digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); delay(2000); // ждем 2 секунды digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); delay(1000); // выключаем на 1 секунду // вращаем моторчики в обратную сторону digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); delay(2000); // ждем 2 секунды digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); delay(1000); // выключаем на 1 секунду }

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

Коллекторный моторчик может быть рассчитан на разное напряжения питания. Если двигатель работает от 3-5 Вольт, то можно моторчик подключать напрямую к плате Ардуино. Моторы для машинки с блютуз управлением, которые идут в комплекте с редукторами и колесами рассчитаны уже на 6 Вольт и более, поэтому ими следует управлять через полевой (биполярный) транзистор или через драйвер L298N.


Принцип работы и устройство мотора постоянного тока

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