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

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

Двигатель постоянного тока способствует превращению энергии постоянного тока в работу механического типа.

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

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

Самым простым способом регулировки скорости двигательного вращения является применение модуляции (РWМ) широтно-импульсного типа, или ШИМ.

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

Вся ШИМ-сигнальная система имеет очень важный критерий, представленный коэффициентом стандартного заполнения (Duty сyсlе).

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

D = (t/Т) × 100 % 

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

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

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

Известно множество схематичных решений, генерирующих ШИМ-сигнал, но к числу наиболее простых относится «схема таймера 555», нуждающаяся в минимальном количестве компонентов и не требующая особой настройки.

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

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

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

P = Uкэ × Iк .

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

Схема управления

Как правило, токовое соотношение на выходном сигнале и входном транзисторе составляет 100 hfe. Функционирование элемента в условиях насыщения вызывает сильное снижение коэффициента.

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

Индуктивные нагрузки

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

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

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

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

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

Аспекты проблем при управлении двигателем ПТ

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

Наиболее важные проблемы управления представлены:

  • обязательным присутствием гальванической развязки;
  • плавным управлением мощностными показателями;
  • отсутствием старт-стопного типа управления;
  • контролированием перехода Zеrо — Сrоss;
  • некоторыми особенностями подбора RC-фильтра snubbеr сглаживающего типа.

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

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

МОSFЕТ (mеtаl-охidе-sеmiсоnduсtоr fiеld еffесt trаnsistоr) — полевые полупроводниковые триоды или метал-окисел-полупроводники p-канального типа открываются на затворе отрицательным напряжением по отношению к источнику. Диод паразитного типа в канальной структуре анода подсоединяется к части стока, а катод соединяется с истоком.

Классическая схема включения MOSFET в ключевом режиме

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

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

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

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

  • NО (Nоrmаlly ореn) — нормально-разомкнутого типа;
  • СОМ (Соmmоn) — общего типа;
  • NС (Nоrmаlly сlоsеd) — нормально-замкнутого типа.

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

Контактная группа устройства, преобразующего любой вид энергии в работу механического типа, подсоединяется к общим релейным контактам (СОМ). «Плюс» элемента питания подключается к контактам нормально-разомкнутого реле (NО), а «минус» фиксируется на контактной группе реле нормально-замкнутого типа (NС).

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

При помощи H-моста

Управление двигателем посредством H-моста с управляющими логическими сигналами на входах и вращением в две стороны осуществляется несколькими вариантами Н-мостов:

  • транзисторным H-мостом, простым в изготовлении и достаточно мощным. К недостаткам можно отнести риск короткого замыкания при подаче на два входа;
  • двойным H-мостом, собранным на маломощной микросхеме. Минусы данного варианта представлены слишком малой мощностью и необходимостью подключения вывода Е на питании к «плюсу»;
  • одиночным Н-мостом, собранным на микросхеме, что обеспечивает подачу единички на два входа и может стать причиной торможения работы двигателя.

Транзисторный Н-мост

Самым простым вариантом станет сборка Н-моста на МОSFЕT-транзисторах. Именно этот способ сочетает в себе легкость выполнения и достаточные показатели мощности, но не предполагает одновременную подачу на две единицы.

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

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

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

При наличии постоянных магнитов

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

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

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

При наличии переменного магнитного сопротивления

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

Такие двигатели, как правило, устанавливаются в компактных агрегатах, включая системы микро-позиционирования.

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

Гибридный вариант

Гибридного типа двигатели в настоящее время относятся к категории наиболее популярных агрегатов в сфере промышленности.

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

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

Заключение

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

Источник: https://proprovoda.ru/elektrooborudovanie/dvigateli/upravlenie-dvigatelem-postoyannogo-toka.html

Как управлять мотором постоянного тока

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

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

Максимальной мощности он достигает на указанном в документации напряжении. Как правило, ниже 30-50% от этого напряжения он перестаёт вращаться. Чем больше нагрузка на мотор, тем больший ток он потребляет.

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

Для того чтобы вы поняли как меняется ток от нагрузки, посмотрим на реальный мотор R380-2580.

Мы видим, что рабочее напряжение данного мотора — 12В, потребляемый ток под нагрузкой — 1.5А. Ток останова мотора вырастает до 8А, а в холостом же вращении, потребляемый ток равен всего 0.8А.

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

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

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

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

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

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

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

Поэтому лучше управлять моторами с помощью полевых (MOSFET) транзисторов. В настоящее время они достаточно распространены и имеют невысокую цену. Их низкое сопротивление в открытом состоянии позволяет коммутировать очень высокие токи. Однако и у них есть свои недостатки.

Так как MOSFET транзисторы управляются напряжением, а не током (и обычно оно составляет 10В), то нужно выбирать специальные логические MOSFET, которые могут управляться низким напряжением — 1.8 .. 2.5В или использовать специальные схемы драйверов полевых транзисторов.

Как выбирать MOSFET под вашу схему мы рассмотрим в других статьях, на конкретных приборах.

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

H-Мост — меняем направление вращения мотора

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

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

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

В схеме H-моста в качестве нижних транзисторов всегда используются N-канальные, а вот верхние могут быть как N-канальные, так и P-канальные.

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

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

Если в вашей схеме будет использоваться высоковольтный мотор постоянного тока (больше 24В) или мощный мотор с токами более 10А, то лучше использовать специальные микросхемы — драйверы MOSFET транзисторов.

Драйверы управляются, как правило, сигналами микроконтроллера от 2 до 5В, а на выходе создают напряжение необходимое для полного открытия MOSFET транзисторов — обычно это 10-15В. С помощью драйверов легко организовать управление верхним N-канальным транзистором. Очень хорошим драйвером является микросхема L6387D от компании ST.

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

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

Проблема использования N-канального транзистора в верхнем ключе состоит в том, что для его открытия нужно подать напряжение 10В относительно Истока, а как вы видите на схеме там может быть все напряжение питания мотора, а не 0 вольт. Таким образом, на базу необходимо подать 10В + напряжение питания мотора.

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

Однако такая схема работает только, если вы постоянно подзаряжаете конденсатор — открывая, закрывая нижний транзистор (в ШИМ управлении), или нужно еще усложнять схему — добавлять схему внешней подпитки конденсатора. Вот пример схемы управления N-канальными транзисторами без использования микросхем.

Рассмотрим теперь, как управлять скоростью вращения мотора.

Шим сигнал — управляем скоростью вращения мотора

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

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

Рассмотрим простой вариант — управление скоростью мотора без обратной связи.

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

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

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

Микроконтроллер, как раз, отлично умеет генерировать ШИМ (PWM) сигнал. А мотор умеет интегрировать данный сигнал (усреднять) за счёт индуктивности обмоток. От коэффициента заполнения (скважности) ШИМ сигнала как раз и будет зависеть полученное мотором среднее напряжение, а значит и скорость.

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

Если смоделировать в электрическом симуляторе (например, PROTEUS) ШИМ управление мотором, то будет видно, что чем больше частота ШИМ, тем более ровный ток протекает через мотор (ripple current — снижается при увеличении частоты). Низкая частота:

высокая частота:

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

Отлично, все просто! Делаем частоту ШИМ побольше, например 1 МГц, и любому мотору хватит. В жизни же, все не так просто. Для понимания всех возможных проблем можно упрощенно принять затвор MOSFET транзистора за идеальный конденсатор. Для того чтобы транзистор полностью открылся, конденсатор необходимо зарядить до 10В (на самом деле меньше).

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

В datasheet обычно есть такой параметр как Qgate — полный заряд, который надо передать транзистору, чтобы он открылся полностью.

Чем меньше эта величина, тем меньшей ток нужен для управления данным транзистором. Естественно, такой ток нужен только на очень короткое время — какое, опять же написано в datasheet — tr, обычно оно измеряется в наносекундах.

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

В итоге, микроконтроллер в прямом управлении не может обеспечить более 1-2 мкc на открытие и закрытие транзистора. Время открытия и закрытия должно занимать не более 10% длительности ШИМ сигнала. Таким образом, мы сразу получаем ограничение в частоте — 50 000 Гц.

Дополнительно, сам микроконтроллер должен иметь возможность генерировать ШИМ сигнал с возможностью хотя бы 8 битного управления шириной ШИМ (для этого требуется большая рабочая частота МК). В итоге, обеспечить большую частоту ШИМ не так просто. Так же, на высоких частотах, начитает мешать паразитные ёмкости и индуктивности.

На плате, которую можно сделать дома, получить частоту ШИМ больше 300 кГц, очень сложно. Трассировка платы должна быть сделана идеально. Для снижения требований к плате, в настоящее время выпускаются специальные MOSFET, объединённые с драйверами управления, они позволяют на заводских, многослойных платах получить частоту управления MOSFET в 2МГц.

Индуктивность моторов не маленькая, и такие большие частоты не нужны. Для управления моторами постоянного тока вполне достаточно 8КГц, лучше около 20КГц (за звуковым диапазоном).

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

  • Земли управления моторами и микроконтроллера обязательно должны быть разделены, соединение в одной точке тонким проводником, например 0.3мм, как можно ближе к проводам питания всей схемы
  • Драйвера управления MOSFET должны быть как можно ближе к самим MOSFET транзисторам
  • Исполнение управляющей области обязательно двухсторонее, желательно с земляным слоем с одной стороны. При импульсном управлении возникают электромагнитные помехи, чтобы снизить их, земляной слой должен быть рядом.
  • Обязательно наличие конденсатора как можно ближе к зоне прохождения больших импульсных токов. Если такого конденсатора не будет, то напряжение на линии питания будет сильно проседать и микроконтроллер будет постоянно сбрасываться. Также без такого конденсатора, за счёт индуктивности проводов питания, напряжения на линии питания может увеличиться в несколько раз и компоненты выйдут из строя!

Более подробно мы рассмотрим как работают эти правила на конкретных приборах.

Шим сигнал в h-мосте

Чтобы можно было менять направление вращения и скорость — нужна схема H-моста и нужно управлять транзисторами ШИМ сигналом. В схеме H-моста четыре транзистора, как лучше ими управлять, на какой транзистор подавать ШИМ сигнал. Разберёмся в этом вопросе (рекомендуем прочитать очень подробную статью на эту тему).

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

  • когда транзистор открыт, нагрев идёт из-за сопротивления в открытом состоянии Rdson, пропорционально времени открытия транзистора выделяется мощность P = I * I * Rdson
  • когда транзистор закрыт, то ток ЭДС мотора идет через диод, то есть нагрев идет из-за диода P = I * U diode forward (как правило 1В)
  • когда транзистор переключается из открытого состояния в закрытое, то нагрев пропорционален времени открытия и закрытия транзистора

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

Самый простой вариант — применить ШИМ сигнал к одному из двух транзисторов, а второй оставить все время открытым. Обычно, ШИМ в этом случае подаётся на нижний транзистор (N типа), который обычно быстрее.

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

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

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

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

Это даст в итоге 70%-30%=40% скорости вправо. Но при этом не будут задействованы диоды. Такой метод управления называется комплементарным.

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

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

Источник: http://myowndevice.ru/index.php/theory/item/39-kakhttps:/www.OZON.ru/person/350896/

28.1. Управление скоростью двигателя постоянного тока

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

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

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

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

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

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

В электродвигателях постоянного тока проявляются следующие отношения между механическими и электрическими величинами:

Крутящий момент:

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

Скорость:

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

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

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

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

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

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

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

На рисунках ошибка – не “скважность”, а “коэффициент заполнения”

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

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

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

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

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

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

  Схема фазового управления отвечает за генерацию импульсов и их длительность.

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

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

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

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

Фотография тахогенераторов (сдвоенных для резервирования), механически связанных с большим, на 1250 л. с., гребным электродвигателем парома:

На фотографии можно увидеть коммутирующие мощность тиристоры, соединенные витой парой проводов с управляющими платами, выпускающими «огневые» импульсы каждому тиристору в нужное время:

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

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

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

Источник: https://www.asutp-volgograd.com/translation/chapter-28-1

Устройства управления электродвигателями для создания роботов

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

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

Контроллеры двигателей

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

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

  • Например, такого как UART (Universal asynchronous receiver/transmitter или УАПП — универсальный асинхронный приемопередатчик). Это один из самых старых и распространенных протоколов передачи данных.
  • Возможно использование PWM (широтно-импульсную модуляцию — ШИМ).
  • Кроме того, некоторые контроллеры двигателей могут управляться вручную аналоговым напряжением, обычно создаваемым потенциометром.

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

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

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

Существует несколько типов исполнительных механизмов (шаг 3). Следовательно, существует несколько типов контроллеров двигателей.

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

Выбор контроллера мотора (двигателя)

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

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

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

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

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

Например, ваш двигатель работает с номиналом 3 В. Следовательно вам не следует выбирать контроллер двигателя, который может управлять двигателем только между 6 и 9 В.

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

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

Если вы выберете контроллер двигателя 5А для двигателя 3A, то двигатели будут потреблять столько тока, сколько потребуется. С другой стороны, двигатель на 5А, скорее всего, выведет контроллер на 3A.

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

В этом случае простым правилом является оценка постоянного тока двигателя примерно на  20-25% меньше тока останова.

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

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

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

Устройства управления электродвигателями используют следующие методы:

  • аналоговое напряжение
  • I2C (интерфейсная шина IIC )
  • PWM (широтно-импульсная модуляция — ШИМ)
  • R / C (Radio Control, радиоуправление)
  • UART (универсальный асинхронный приемопередатчик)

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

Методы контроля

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

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

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

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

Большинство из них работают от 4,8 В до 6 В, а их потребление тока аналогично, шаги для выбора несколько упрощены.

Тем не менее вы можете найти сервомотор, который работает при напряжении 12 В. При этом важно, чтобы были дополнительные сведения о контроллере, если ваш сервомотор не считается «стандартным». Также большинство хобби-сервомоторов используют стандартный сервопривод R / C. Это три провода, которые являются землей, напряжением и сигналом.

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

Контроллеры могут управлять многими сервоприводами (обычно 8, 16, 32, 64 и выше). Вы, конечно же, можете выбрать контроллер серводвигателя, способный управлять большим количеством сервомеханизмов, чем вам потребуется. Как и контроллеры двигателя постоянного тока, метод управления является важным фактором.

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

Какой вы выбрали двигатель — однополюсный или двухполюсный? Выберите тип контроллера шагового двигателя соответственно, хотя почти все устройства управления электродвигателями могут управлять обоими типами.

Количество проводов обычно помогает определить тип двигателя. Если двигатель имеет 4 провода, то он является двухполюсным. Если он имеет 6 или более контактов, то он является однополюсным.

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

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

Если вы не можете найти ток катушки, то большинство производителей указывает сопротивление катушки, R. Используя Закон Ома (V = IR), вы можете рассчитать ток (I).

Как и для контроллера двигателя постоянного тока, метод управления является важным фактором.

Управление линейным приводом

Линейные приводы имеют три основных метода управления: DC, R / C или обратная связь. Большинство линейных приводов постоянного тока используют редукторный двигатель постоянного тока. Поэтому обычно необходим контроллер постоянного тока.

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

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

  • Более высокие требования к току: любое устройство, требующее более 0,1A, обычно нуждается в собственном контроллере.
  • Более высокие требования к напряжению: если привод работает выше напряжения микроконтроллера (обычно 5 В или 3,3 В) он обычно не может быть напрямую подключен к микроконтроллеру.

Практический часть

На шаге 3 мы выбрали большой мотор из базового набора LEGO MINDSTORMS Education EV3. Для этого мотора не требуется отдельного контроллера двигателя. Он подключается напрямую к выходному порту микроконтроллера EV3. В результате полностью соответствует нашей цели – созданию роботизированной платформы.

Большой мотор LEGO MINDSTORMS Education EV3

Источник: https://legoteacher.ru/10-pervyx-shagov/ustrojstva-upravleniya-elektrodvigatelyami.html

Elmos приступает к производству контроллера управления бесщеточными двигателями постоянного тока с интегрированным 16-разрядным процессором

» Новости » Драйверы · Авто

15-05-2018

Elmos » E523.06

Трехканальный драйвер полумостов, ориентированный на векторное управление двигателями

Разработанная Elmos новая система на кристалле (СнК) E523.06 предназначена для управления бесщеточными двигателями постоянного тока в 12-вольтовых электрических системах транспортных средств.

СнК содержит драйверы затворов для трех мощных полумостов и высокопроизводительное 16-разрядное процессорное ядро.

Архитектура процессора и периферия драйвера двигателя оптимизированы для векторного управления с единственным измерительным шунтом.

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

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

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

Кроме того, поддержка программирования микросхемы через интерфейсы JTAG или LIN снижает затраты на разработку целевого приложения. Обновление прошивки может выполняться прямо в автомобиле без использования загрузчика.

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

Высокий уровень характеристик системы обеспечивается 16-разрядным процессором, поддерживаемым сопроцессором, управляющим АЦП и генерацией ШИМ.

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

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

Информационный обмен в автомобильной сети может быть реализован либо с помощью интегрированного приемопередатчика LIN, либо с помощью интерфейса ШИМ.

Микросхема с верхней границей диапазона рабочих температур, равной 150 ° C, отвечает требованиям нулевого уровня стандарта AEC Q100.

Источник: https://www.rlocman.ru/news/new.html?di=502279

Ардуино: управление двигателем постоянного тока, L293D

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

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

На этом уроке мы разберем, как управлять двигателем постоянного тока (DC Motor). Двигатели этого типа части применяются в роботах на колесных и гусеничных платформах. И начнем мы с самого простого способа управления.

1. Транзистор

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

 Даже небольшой двигатель, часто используемый в разного рода игрушках, для своей работы требует ток силой от 200 мА до 1 Ампера. А цифровой выход Arduino может дать нам только 20мА. Большинству мощных двигателей требуется напряжение более 5 Вольт, привычных для Ардуино. Распространены двигатели на 12, на 24 и на 48 Вольт.

 Другими словами, Ардуино очень слаба для прямого управления двигателями. Нужен какой-то мощный посредник!

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

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

В цепи обязательно нужно поставить защитный диод, например 1N4001 или 1N4007. Этот диод не даст сгореть транзистору и контроллеру в момент остановки двигателя, когда ЭДС самоиндукции создаст на обмотках скачок напряжения.

В этой схеме можем использовать NPN транзистор 2N2222A. Этот биполярный транзистор может управлять током до 1А и напряжением до 40В, так что его можно вполне использовать для небольших моторов. Российский аналог данного транзистора — КТ315.

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

2. H-мост

Составив транзисторы определенным образом, мы получим устройство для управления вращением двигателя в обе стороны. Такое устройство называется H-мост. Вот так выглядит H-мост на биполярных транзисторах:

INA и INB на рисунке — это вход слабых управляющих сигналов. В случае Ардуино, на них необходимо подавать либо 0 (земля) либо +5В. VCC — это питание двигателей, оно может быть во много раз выше напряжения управляющего сигнала. GND — это земля, общая для Ардуино и H-моста.

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

3. Микросхема драйвера L293D

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

Микросхема представляет собой два H-моста, а значит можно управлять сразу двумя двигателями. Каждый мост снабжен четырьмя защитными диодами и защитой от перегрева. Максимальный ток, который может передать L293D на двигатель — 1.2А. Рабочий ток — 600мА. Максимальное напряжение — 36 В.

4. Подключение

Микросхема L293D имеет DIP корпус с 16-ю выводами. Схема выводов ниже.

Помним, что отсчет выводов ведется против часовой стрелки и начинается от выемки в корпусе микросхемы.

  • +V — питание микросхема, 5В;
  • +Vmotor — питание двигателей, до 36В;
  • 0V — земля;
  • En1, En2 — выводы включения/выключения H-мостов;
  • In1, In2 — управляющие выводы первого H-моста;
  • Out1, Out2 — выводы для подключения первого двигателя;
  • In3, In4 — управляющие выводы второго H-моста;
  • Out3, Out4 — выводы для подключения второго двигателя.

Выводы En1 и En2 служат для отключения или включения мостов. Если мы подаем 0 на En, соответствующий мост полностью выключается и двигатель перестает вращаться. Эти сигналы пригодятся нам для управления тягой двигателя при помощи ШИМ сигнала.

Схема подключения к Ардуино Уно

Драйвер L293D In1 In2 In3 In4 En1 En2 V+ Vmotor+ 0V
Arduino Uno 7 8 2 3 6 5 +5V +5V GND

Для пример, подключим по этой схеме всего один двигатель. Задействуем выводы драйвера In3, In4 и En2. Принципиальная схема подключения будет выглядеть следующим образом:

Внешний вид макета

5. Программа

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

const int in3 = 2; const int in4 = 3; const int en2 = 5; void setup() { pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); pinMode(en2, OUTPUT); analogWrite(en2, 255); } void loop() { digitalWrite(in3, LOW); digitalWrite(in4, HIGH); delay(1000); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); delay(1000); }

Функция analogWrite с помощью ШИМ сигнала управляет мощностью двигателя.

В этой программе мы командуем драйверу вращать двигатель с максимальной скоростью, что соответствует ШИМ сигналу — 255.

Здесь следует отметить, что уменьшение ШИМ сигнала в два раза не даст в два раза меньшую скорость. Скорость и тяга двигателей постоянного тока зависят от входного напряжения нелинейно.

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

const int in3 = 2; const int in4 = 3; const int en2 = 5; void setup() { pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); pinMode(en2, OUTPUT); } void loop() { digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(en2, 150); delay(2000); analogWrite(en2, 255); delay(2000); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(en2, 150); delay(2000); analogWrite(en2, 255); delay(2000); }

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

Задания

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

  1. Собрать драйвер на основе одного NPN транзистора, и вращать с помощью него мотор.
  2. Управлять сразу двумя моторами при помощи L293D, передавая на них разную мощность.
  3. Собрать колесного робота, и заставить его двигаться по окружности.
  4. Заставить колесного робота двигаться по спирали.

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

Источник: http://robotclass.ru/tutorials/arduino-dc-motor-driver/

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}