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

Добавил пользователь Владимир З.
Обновлено: 04.10.2024

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

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

Понадобится

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

Изготовление регулятора с реверсом для электромотора

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

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

Вот что в итоге получилось: двигатель описанный в статье ниже без изменений, добавил регулируемый источник питания и курок газа, маленькая батарея в сумочке на руле 8S1P 2,5 А·ч (быстро заменяемая, можно брать несколько с собой, одной такой батареи хватает на 9-12км на средней скорости)


Расход батареи зависит от скорости, прилагаю таблицу расхода энергии для моего веса 85 кг:


Контроллер сейчас полный мост 4 транзистора IRFB4110 установленных без радиаторов, регулируемый источник питания выдает на этот мост напряжение от 25 до 70В при 24-33В на входе с кпд более 93%. Общий кпд системы получился на уровне 80-85% (включая потери на батарее проводах контроллере и двигателе).

Samsung INR18650-25R = 87 Вт/час (42В максимум с отводом от середины, 2.5 А/ч) мне полного заряда хватает на ~15 км по ровной дороге.

Изначально использовался 1 датчик холла (но я уже тогда знал что это большие потери так как делал такие двигатели и раньше), так двигатель на холостом ходу потреблял 42 Вт (1 А на каждую половину батареи, итого 2*21 или 1*42) и за 2 минуты нагревался до 50 градусов (это без нагрузки), установка 2х датчиков холла снизила ток холостого хода в 10 раз! и он составил 100 мА (4,2 Вт) и греться он перестал. На максимальной нагрузке (езда в горку) ток достигал 6 ампер (>250 Вт) и обмотка разогревалась так что больше пары минут нельзя было ездить а после установки 2х датчиков холла и подачи питания на обмотки только в нужные моменты, согласно рисунку выше, полностью решило проблему перегрева (значительно подняло кпд) и ток при заезде на ту же горку упал в 2 раза (130 Вт)

И так магниты с катушками запакованы в корпус, вал (болт М6 100мм на котором гайками с бортиком, зажимные для колес, через шайбу и резиновую прокладку зафиксирован магнит) закреплен в немагнитных стальных подшипниках (это в идеале, но я использовал обычные дешевые стальные но сила магнитного поля такая что крутятся они с трудом, поэтому лучше сразу нержавейку ставить) и самое главное как его теперь запустить. Я использовал самый простой вариант одна катушка и один магнит - самый дешевый вариант и для самоката подходит идеально, естественно так как запитываем только 90 - 120 градусов сектор на такт то остается незаполненные тягой сектора и стартовать такой двигатель будет с толчка, но это же не вентилятор а двигатель для самоката, оттолкнулся, включил двигатель и поехал, все просто. Если же нужен автопуск то минимум нужно делать 2х фазный 4х тактный, такой поставил в детском автомобиле.

Контроллер

Фраза "шим регуляция" у меня ассоциируется с потерями, запитывать нужно постоянным током чтобы избежать потерь переключения на ключах и не греть диоды в ключах, в общем контроллер может работать с кпд 97% и выше если забыть про шим, а скорость лучше регулировать напряжением питания (например у меня в самокате она фиксированная 13 - 18 км/ч в зависимости от веса ездока). Запитка обмотки двумя тактами возможна или мостом но тогда потери всегда на 2х ключах или полумостом с питанием с отводом от средней точки, выбран именно такой вариант так как в 2 раза уменьшает потери на ключах (всегда катушка включена только через 1 ключ). Еще из плюсов такого полумоста то что обратная эдс при отключении катушки сливается через 1 диод в противоположное плечо и потери на диодах тоже в 2 раза меньше то-есть больше энергии вернется в конденсатор / аккумулятор так же и с рекуперации от скатывания с горки. В итоге получаем полумост + драйвер полумоста + схема управления.

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

Использование одного датчика хола не дает возможность управлять углом в котором запитывается обмотка, поэтому нужно минимум 2 датчика расположенные таким образом чтоб получать включение обмоток в нужном диапазоне, проще всего сделать угол 90 град (для этого нужно разнести датчики на 45 градусов от витков катушки в обе стороны) тогда пары датчиков хватит на 4 такта (используем только 2 из них для однофазного) . Каждый датчик возвращает 2 позиции которые означают видит ли он северный или южный полюс, так вот когда оба видят северный включаем один ключ, когда оба видят южный второй, при использовании микросхем от куллера - реализуется логикой 2или-не, на входы двух логических элементов подается питание через сопротивления на выходах при этом 0, микросхемы куллера коммутируют входы логических элементов на ноль, когда оба входа на нуле на выходе 1 - включается 1 ключ, и так же когда на втором логическом элементе оба входа на нуле включается другой ключ. Все просто. Учитывайте при выборе микросхемы драйвера куллера (датчик холла) что они есть с защитой от остановки и без, для двигателя поддержки как у меня на самокате лучше использовать с защитой он запустится только при начале езды, но для двигателя который должен стартовать сам нужно выбирать без защиты и делать ее если необходима другим способом (защита от перегрузки по току например).

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



Отладка двигателя

Хочу отметить важные моменты которые уберегут детали контроллера от случайного выжигания. Дело в том что обратная эдс с катушки очень коварная штука, она может спалить всю электронику и драйвер и микросхемы с датчиком холла. Для предотвращения таких ситуаций обязательно должны стоять конденсаторы по входу питания в которые сливается обратная эдс с катушки (через защитные диоды в мосфетах) при случайном отключении батареи, минимум 1000 мкф 50В с низким esr. Также для предотвращения попадания выбросов высокого напряжения на выход драйвера через обратную емкость мосфета, обязательно в цепи затвор исток должен стоять стабилитрон на 13-15В (что ниже допустимого напряжения затвора 20В но выше управляющего напряжения с драйвера 12В).

Итого, электрификация самоката обошлась в ~110$

Плюсы и минусы

Плюсы:

  • двигатель вращается без какого либо сопротивления, что не мешает поездке на самокате как на обычном при отключенном питании
  • малый вес
  • цена
  • высокая эффективность

Минусы:

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

Больше фото

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


Первые включения (еще с 1 датчиком холла и пониженным напряжением питания 2х8В) максимальная скорость 3-5 км/ч


Настройка положения датчиков (катаемся, меряем потребление, переклеиваем датчик холла ищем оптимальный вариант) на фото оптимальный


nalexand Опубликована: 20.10.2019 Изменена: 28.06.2020 0 7

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



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

Существует много схем для генерации ШИМ сигнала. Одна из самых простых - это схема на основе 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 транзистор, транзистор дарлингтона, оптореле соответствующей мощности.

Мотор постоянного тока

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Подключение мотора к ШИМ Ардуино

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TLE4905L

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

Конструкция измерителя

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

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

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

TLE4905L к Ардуино

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

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

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

Схема ПИД-регулятора оборотов мотора на Ардуино

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

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

ШИМ регулятор оборотов-1

ШИМ регулятор оборотов двигателя постоянного тока проще всего организовать с помощью ШИМ регулятора. ШИМ — это широтно-импульсная модуляция, в английском языке это называется PWM — Pulse Width Modulation. Теорию я подробно объяснять не буду, информации полно в интернете.

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

Своими словами — если у нас есть двигатель постоянного тока на 12 вольт — то мы можем регулировать обороты двигателя изменяя напряжение питания. Изменяя напряжение питания от нуля до 12 вольт будут изменятся обороты двигателя от нуля до максимальных. В случае с ШИМ регулятором мы будем изменять скважность импульсов от 0 до 100% и это будет эквивалентно изменению напряжения питания двигателя и соответственно будут изменятся обороты двигателя.

Рассмотрим первый ШИМ регулятор на 5 ампер. Есть такая самая любимая микросхема всех радиолюбителей — это таймер NE555 ( или советский аналог КР1006ВИ). Вот на этой микросхеме и собран ШИМ регулятор. Кроме таймера здесь я использую стабилизатор на 9 вольт LM7809, мощный полевой транзистор с N-каналом IRF540, сдвоенный диод Шоттки, а также другие мелкие детали. Схема по которой собран этот регулятор всем известна и очень популярна.

ШИМ регулятор оборотов-3

ШИМ регулятор оборотов-4


Печатку этой платы можно скачать — ШИМ 5A

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

ШИМ регулятор оборотов-5

ШИМ регулятор оборотов-6

Блок управления мотором-7


Печатку этой платы можно скачать — ШИМ 10A

Подключение ШИМ регулятора очень простое. Вы видите 4 клеммы — две клеммы для подачи питания (+) и (-), и две клеммы для подключения мотора (M+) и (M-).

Сделал еще ШИМ регулятор с защитой по току. Для этих целей использовал распространенный операционный усилитель LM358 и два оптрона PC817. При превышении тока, который мы задаем подстроечником R12, срабатывает триггер-защелка на операционнике DA3.1, оптронах DA4 и DA5 и блокируется генерация импульсов по 5 ноге таймера NE555. Чтобы снова запустить генерацию нужно кратковременно снять питание со схемы с помощью кнопки S1.

Блок управления мотором-9


Печатку этой платы можно скачать — ШИМ 10А с защитой

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

Читайте также: