Датчик температуры для мотор колеса

Электробайк. Контроллер двигателя своими руками

Датчик температуры для мотор колеса

Как вы уже знаете из прошлых постов, у нас в компании есть DIY-движение. В свободное от работы время коллеги занимаются фрезеровкой печатных плат в домашних условиях, делают тепловизор на FLIR Lepton, а также решают семейные разногласия с помощью 4 контроллеров и 2 умных часов. Продолжим серию увлекательный историй! Сегодня я расскажу, как сделать контроллер к трехфазному двигателю электровелосипеда своими руками. Целью создания такого контроллера было:

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

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

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

Применение

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

  • Бытовая техника
  • Оргтехника
  • Электротранспорт
  • Промышленность

Устройство двигателя

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

Датчик температуры для мотор колеса

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

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

Датчик температуры для мотор колеса

У инраннеров магнитные пластины крепятся на вал, а обмотки располагаются на барабане (статоре), в этом случае в движение приводится вал. В случае аутраннера всё наоборот: на валу — фазные обмотки, а в барабане — магнитные пластины. Это приводит в движение барабан.

Датчик температуры для мотор колеса

Так как у велосипеда колесо крепится валом на раму, то здесь применителен тип аутраннера.

Датчик температуры для мотор колеса

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

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

Датчик температуры для мотор колеса

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

Цикл работы

Чтобы привести в движение трёхфазный двигатель, нужно рассмотреть цикл его работы за электрический оборот. Итак, имеем три фазы — A, B, C. Каждая из фаз получает положительную и отрицательную полярности в определённый момент времени. Поочерёдно по шагам пропускается ток от «плюса» одной фазы к «минусу» другой фазы. В итоге получается шесть шагов = три фазы × две полярности.

Датчик температуры для мотор колеса

Рассмотрим эти шесть шагов цикла. Предположим, что положение ротора установлено в точке первого шага, тогда с датчиков Холла мы получим код вида 101, где 1 — фаза А, 0 — фаза B, 1 — фаза С. Определив по коду положение вала, нужно подать ток на соответствующие фазы с заданными полярностями. В результате вал проворачивается, датчики считывают код нового положения вала — и т. д.

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

Цикл двигателя представлен в gif-анимации.

Датчик температуры для мотор колеса

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

Но чтобы поочерёдно подавать ток на каждую из фаз и менять их полярность, необходимы транзисторы. Ещё нам нужна передача больших токов, высокая скорость переключения и чёткость открытия/закрытия затворов. В данном случае удобнее управлять затворами по напряжению, а не по току. Поэтому оптимальны полевые (MOSFET) транзисторы. Чаще всего их используют в контроллерах. Очень редко можно встретить комбинированный вариант транзисторов.

Датчик температуры для мотор колеса

Для переключения фаз со сменой их полярностей используют классическую схему Н-моста (H-Bridge) из полевых транзисторов.

Датчик температуры для мотор колеса

Он состоит из трёх пар транзисторов. Каждая из пар подключается к соответствующей фазе обмотки двигателя и обеспечивает подачу тока со значением (+ или –). Транзисторы, отвечающие за включение фазы с положительным значением, называют верхними ключами. С отрицательным — нижними. Для каждого шага открывается пара ключей: верхний одной фазы и нижний соседней фазы. В результате ток проходит от одной фазы к другой и приводит электродвигатель в движение.

Датчик температуры для мотор колеса

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

Для запуска остаётся обеспечить управление затворами ключей H-моста. Для управления H-мостом нужно:

  1. Считать показания датчиков Холла.
  2. Определить, в каком положении какую пару ключей включать.
  3. Передать сигналы на соответствующие затворы транзисторов.

Прототип на Ардуино

Под рукой у меня была Arduino UNO, и я решил собрать контроллер на её основе.

Датчик температуры для мотор колеса

Первым делом я подал на датчики Холла питание 5 вольт от Ардуино (его достаточно для датчиков). Сигнальные провода от датчиков подключил на цифровые пины Ардуино, написав простейшую программу для считывания и обработки сигналов с датчиков.

Затем собрал Н-мост из полевых NPN-транзисторов. Подвёл к мосту независимое питание на 12 вольт. Но при отладке, чтоб убедиться в работоспособности, я подключил напрямую шесть пинов 5V из Ардуино на затворы H-моста. У большинства полевых транзисторов затвор работает на 20 вольт. Так делать нельзя, потому что Н-мост будет плохо работать и перегреваться. Но для кратковременных тестов это пойдёт. Кое-как, с сильными перегревами и страшными звуками, вибрациями и толчками колесо медленно закрутилось. Начало положено.

Мостовые драйверы

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

Датчик температуры для мотор колеса

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

В это же время я наткнулся на два варианта мостовых драйверов:

  • HIP4086

    Датчик температуры для мотор колеса

  • IR2101

    Датчик температуры для мотор колеса

Что касается HIP4086, то это полноценный мостовой драйвер, предназначенный для трёхфазного электродвигателя. Мне он показался несколько замороченным, и мои попытки использовать его в контроллере не увенчались успехом: он у меня так и не заработал. Углублённо разбираться в причинах не стал.

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

Датчик температуры для мотор колеса

Датчик температуры для мотор колеса

Датчик температуры для мотор колеса

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

Аппаратное прерывание

И тут я понял, в чём дело: Ардуино не успевает обрабатывать показания датчиков Холла! Поэтому необходимо было использовать пины Ардуино с аппаратным прерыванием. Так как у Ардуино УНО таких пинов всего два, а под датчики нужно три пина, надо взять Ардуино Леонардо или Искра Нео, где таких пинов — четыре штуки.

Датчик температуры для мотор колеса

Переписав программу под прерывания и подключив Искру Нео вместо УНО, я повторил испытания.

Колесо наконец-то заработало чётко, без вибраций, шумов, отлично стало набирать обороты без рассинхронизации. Прототип оказался жизнеспособным. Но это ещё не полноценный контроллер, поскольку в нём не было обвязки с защитами и обеспечением качественного ШИМ-сигнала.

Прототип на базе микросхемы MC33035

Параллельно с разработкой контроллера на Ардуино я рассматривал альтернативные варианты логической части контроллера. И это привело меня к микросхеме MC33035. Это старая разработка от Motorola, сейчас её выпускает ON Semiconductor. Создана специально для мощных трёхфазных двигателей.

Датчик температуры для мотор колеса

Датчик температуры для мотор колеса

  • Отвечает за всю логическую часть контроллера
  • Считывает показания с датчиков Холла
  • Определяет положения вала
  • Выдаёт сигналы для затворов Н-моста на их драйверы
  • Имеет возможность подключения индикатора ошибок, перегрева
  • Обрабатывает и передает ШИМ-сигнал (PWM)
  • Осуществляет реверс (обратный ход колеса)

Одним словом, микросхема содержит всё необходимое для управления электродвигателем. Её стоимость очень низкая: на Алиэкспрессе — около 50 рублей. Для сборки полноценного контроллера на её основе потребуется микросхема MC33035, полумостовые драйверы и Н-мост из полевых транзисторов. Я также собрал контроллер на этой микросхеме. Работает отлично, стабильно, колесо крутится как надо на различных оборотах. Но функционал микросхемы ограничен, если необходимо наворотить различные функции, вывод на дисплей скорости, одометр, расход батареи, то опять же возникает необходимость дополнительно подключить Ардуино или что-то аналогичное.

Датчик температуры для мотор колеса

Датчик температуры для мотор колеса

Датчик температуры для мотор колеса

Главное преимущество контроллера на базе MC33035 — это простота в использовании. Просто покупаете микросхему, собираете Н-мост, спаиваете всё на плату с небольшой обвязкой — и контроллер готов. Если нужно просто запустить двигатель с ШИМ-сигналом и управлять им — оптимальный вариант.

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

Планы на будущее контроллера

Продолжая работу над контроллером, планирую сделать следующее:

  • IGBT-транзисторы для H-моста вместо полевых транзисторов.
  • Обвязку с защитами по току, перегреву и т. п.
  • Полноценный круиз-контроль с возможностью выставлять необходимую скорость движения.
  • Расходомер. Когда задаётся необходимое расстояние, а контроллер, исходя из этого значения и заряда аккумулятора, дозирует разряд аккумулятора на всём протяжении маршрута так, чтобы зарядки хватило.

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

Датчик температуры для мотор колеса

Контроллер управления для бесщеточного двигателя постоянного тока (BLDC, PMSM) – это важное звено в системе электрокомпонентов. Без контроллера электродвигатель не сможет даже запуститься, не говоря о его полноценной работе. Аккумуляторная батарея имеет 2 полюса – положительный и отрицательный, а мотор-колесо – 3 фазных провода. Поэтому подключить аккумулятор и двигатель напрямую невозможно. Для этого используется дополнительное звено – контроллер управления.

Выполняемые функции

Именно контроллер формирует в обмотке статора мотор-колеса вращающееся магнитное поле и получает ответные сигналы о позиции ротора. Сигналы поступают от датчиков Холла, а при управлении моторами без датчиков позиция роторов определяется по противо-ЭДС.

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

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

Контроллер выступает в роли понижающего преобразователя, поэтому проходящий по обмоткам мотора фазный ток может быть гораздо выше батарейного тока, поступающего от АКБ к контроллеру. Именно от него зависит мощность, поступающая на двигатель. Например, при использовании мотор-колеса номинальной мощностью 1000 Вт можно кратковременно получать значения до 2000–2500 Вт. Главное – использовать подходящий контроллер и постоянно контролировать температуру, чтобы не допустить перегрева двигателя.

Датчик температуры для мотор колеса

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

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

  • главный узел – микроконтроллер;
  • силовые компоненты – шунты для измерения тока, конденсаторы, транзисторы;
  • понижающие преобразователи на 12 В и 5 В – обеспечивающие питание микроконтроллера и периферических устройств (датчиков положения, рычага газа).

Схема подключения

Датчик температуры для мотор колеса

Контроллер для электроскутера, е-байка или электросамоката подключается в соответствии с прилагаемой к нему схемой. Главное – не спешить и внимательно разобраться с назначением проводов. Лучше всего покупать контроллер в комплекте с мотор-колесом, тогда их разъемы будут гарантированно совместимыми.

Общий принцип подключения выглядит так:

  1. Толстые провода черного и красного цвета – с соблюдением полярности подводятся к аккумуляторной батарее. При этом может появиться «искра», и даже возможно подгорание разъемов. Это нормально – так заряжаются конденсаторы на входе контроллера. Чтобы исключить искрение, достаточно ненадолго соединить контроллер и АКБ через резистор с сопротивлением в десятки Ом или воспользоваться лампочкой. Когда конденсаторы зарядятся, контроллер можно спокойно соединить с АКБ без посредников.
  2. Тройка толстых проводов разных цветов – обеспечивают подключение к фазным проводам 3-фазного электромотора.
  3. Связка из 5 тоненьких разноцветных проводов – идет к проводкам мотор-колеса, обеспечивают питание и передачу сигналов от датчиков положения.
  4. Отдельный красный проводок – «зажигание». При его замыкании на «плюс» АКБ происходит включение контроллера.
  5. Тройка тонких проводов (обычно – черный, красный и зеленый) – для подключения ручки газа.

Разновидности контроллеров управления

По принципу взаимодействия с электромотором

Для использования с датчиками Холла

Совместимы с мотор-колесами, оснащенными датчиками Холла.

Совместимы с моторами без датчиков, определяют позицию роторов по противо-ЭДС.

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

По виду выходного сигнала

Создающие сигналы прямоугольного вида (меандр)

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

Создающие чистые синусоидальные сигналы.

Дороже. Обеспечивают тихую работу мотора и небольшое снижение максимальной скорости – по сравнению с меандровым контроллером при том же напряжении АКБ.

Сознающие сигналы в виде «модифицированной синусоиды» или сглаженного меандра.

По принципу реагирования на сигналы ручки газа

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

Датчик температуры для мотор колеса

Датчик температуры для мотор колеса

Как выбрать контроллер для электровелосипеда?

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

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

Для расчета предельной мощности контроллера находим произведение допустимых величин напряжения и силы тока. Диапазон мощности у таких приборов широкий. Для велосипедов на электротяге обычно используются модели с номиналом мощности от 350 до 2000 Вт. Для электрических скутеров – от 1000 до 4000 Вт. Для электромотоциклов – от 5000 до 10 000 Вт. Для электромобилей – от 10 000 до 50 000 Вт и более.

О совместимости

Контроллер, рассчитанный на использование с батареей напряжением 36 В, не стоит подключать к АКБ большего вольтажа. Вначале необходимо вскрыть контроллер и проверить, рассчитаны ли на увеличенное напряжение его компоненты, включая транзисторы и конденсаторы. Возможно, понадобится заменить и резистор в делителе напряжения. Но в продаже встречаются универсальные контроллеры с большим разбросом допустимых входных напряжений, к примеру, от 48 до 72 В или от 24 до 100 В.

Программируемые модели и их задачи

Датчик температуры для мотор колеса

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

При выборе управляющих контроллеров учитывается и наличие второстепенных функций:

  • круиз-контроля;
  • обратного хода;
  • возможности выбора скоростного режима или мощности;
  • рекуперации энергии при торможении;
  • отдельного выхода для электропитания фары и габаритных огней.

Расширение функционала

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

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

О цене

Контроллеры можно купить в разных категориях:

  1. Дешевые модели, предназначенные для внутреннего китайского рынка. Они не имеют расширенного функционала и просто позволяют ехать. Как правило, бывают 2-режимные, могут работать совместно с датчиками Холла и без них.
  2. Китайские модели, ориентированные на экспорт. Позволяют подключать дисплеи и обеспечивать беспроводное управление по Bluetooth.
  3. Устройства производства Германии и США – самые дорогие.

Источник