Как подключить контроллер к электровелосипеду?
Контроллер управления – это «мозговой центр» электровелосипеда, обеспечивающий слаженную работу электрического мотора и аккумуляторной батареи. Он представляет собой металлический корпус с пучком разноцветных проводов, которые предназначены для соединения с электромотором, аккумуляторной батареей, органами управления на руле, датчиками Холла и бортовым велокомпьютером. Подвижных деталей у контроллера нет. Внутри металлического корпуса находятся:
- управляющий микроконтроллер;
- понижающие преобразователи на 12 В и 5 В – для питания микроконтроллера и периферических устройств;
- силовые компоненты – конденсаторы, транзисторы, токоизмерительные шунты.
Задачи контроллера
С помощью блока управления постоянное напряжение АКБ преобразовывается в 3-фазный ток, необходимый для работы электромотора. Кроме того, контроллер регулирует мощность мотора, позволяет управлять скоростью и крутящим моментом. Для этого он получает импульсы от ручки газа и в соответствии с ними меняет частоту вращения двигателя.
Также он обеспечивает запуск электродвигателя, уменьшает его вибрации при старте, отвечает за включение и выключение электроники, обеспечивает круиз-контроль и рекуперацию энергии при торможении, защищает электронные компоненты от токовых перегрузок, перегревов и других рисков. Но для эффективной работы блока управления его нужно правильно выбрать и корректно подключить к электровелосипеду.
Параметры выбора
При выборе управляющего устройства обязательно учитывают:
- мощность электромотора;
- напряжение аккумуляторной батареи;
- максимальный рабочий ток – для двигателя мощностью 350 Вт достаточно 15 А, а для мотора на 1000 Вт – 30 А;
- допустимый пиковый ток (например, при резком старте);
- принцип обратной связи – есть модели, работающие с датчиками Холла или без них, и универсальные устройства;
- характер выходного сигнала – прямоугольный сигнал (меандр) позволяет получить большую скорость вращения в ущерб тихой работе двигателя, а синусоидальный обеспечивает тихую работу мотора и меньшую скорость вращения;
- класс пылевлагозащищенности;
- размеры, вес;
- наличие защиты от перегрева и короткого замыкания;
- совместимость с конкретным электромотором и используемыми элементами управления – например, универсальные контроллеры работают с ручкой или рычагом газа на базе датчиков Холла;
- наличие дополнительных функций (рекуперационного торможения, обратного хода, круиз-контроля, отдельного вывода для питания фары и габаритных огней и т.д.).
Обычно печатные платы контроллеров управления имеют богатый функционал, но в серийных моделях реализованы только основные функции. Чтобы добавить нужные вам опции, мастера VoltBikes могут вывести дополнительные провода под актуальные задачи. Для этого необходимо уточнить при покупке, какой функционал вам необходим.
Особенности подключения контроллера к электровелосипеду
В наборах для электрификации велосипедов поставляются совместимые друг с другом компоненты, а также инструкция по их установке и схема подключения. Поэтому трудностей с тем, как подключить контроллер к электровелосипеду, обычно не возникает. Нужно просто соединить разъемы в соответствии со схемой, указанной в инструкции или на корпусе конкретной модели. Но если блок управления приобретен отдельно и не имеет понятной схемы подключения, воспользуйтесь универсальными рекомендациями.
Примерный алгоритм подключения контроллера к электровелосипеду включает следующие шаги:
- Убедитесь, что используемая модель управляющего блока соответствует вольтажу АКБ и мощности электромотора.
- Отделите слаботочные (тонкие) провода от силовых (толстых), чтобы затем легче находить среди них нужные.
- Черный и красный провода большого сечения – это «минус» и «плюс», предназначенные для подключения к аккумуляторной батарее. Конечно же, с соблюдением полярности.
- Три цветных провода большого сечения (традиционно – синий, зеленый и желтый) – совмещаются с фазными проводами электромотора.
- Для мотор-колес с датчиками Холла предназначены 5 тонких проводков разных цветов с общим штекером на 5 пинов – они соединяются с соответствующими проводами мотор-колеса для запитки и передачи сигналов от датчиков Холла.
- Одиночный тонкий провод красного цвета – обеспечивает «зажигание», т.е. если замкнуть его на плюсовой кабель или положительный вывод аккумуляторной батареи, происходит активация (включение) контроллера.
- Три цветных проводка малого сечения с общим штекером (традиционно – черный и красный провода питания и зеленый или белый сигнальный проводок) – предназначены для подключения ручки газа.
- Два провода (обычно черный и синий) с общим штекером – нужно подключить к ручке тормоза.
- Для обучения контроллера и сохранения настроек – соединяют между собой 2 одинарных белых провода с взаимно замыкаемыми разъемами.
Провода для подключения других элементов и активации дополнительных функций бывают разных цветов, поэтому общей схемы для них нет. Для каждой модели контроллера она индивидуальна.
Читайте в предыдущей статье блога VoltBikes.ru о том, как выбрать кареточный мотор.
- 30 декабря 2023 г.
- 38 просмотров
Замена контроллера на велосипеде: что учесть?
В некоторых случаях при сбое в работе электродеталей можно обойтись только ремонтом комплектующих, в других же понадобится замена контроллера. А иногда заменить блок управления необходимо для того, чтобы добиться оптимальных параметров работы и улучшить характеристики электровелосипеда, повысить его скорость и продлить срок службы батареи. Статья расскажет, какие есть нюансы в этом сложном техническом процессе и что обязательно стоит учесть.
Что даёт замена контроллера?
- Неправильное подключение;
- Некачественно припаянные провода в плате;
- Неполадки в работе составляющих элементов, которые переключают обмотки в двигателе.
Если же сгорели конденсаторы, то ремонт не поможет, и единственным выходом будет только замена устройства управления
Что нужно учитывать при замене контроллера?
Перед тем, как заменить контроллер на электрическом велосипеде, важно сделать правильный выбор самого устройства. Это не только позволит улучшить характеристики вашего велосипеда, но также создаст благоприятные условия для бережной эксплуатации обмоток мотор-колеса и аккумуляторной батареи и продлит их службу надолго.
Тип устройства
Среди современных контроллеров для электровелосипеда есть 3 категории устройств:
- с датчиками Холла
- универсальные
- без датчиков
При выборе важно помнить, что установка датчиков Холла рекомендуется с шагом 60 или 120 электрических градусов.
Параметры управляющего блока
При выборе контроллера нужно ориентироваться на такие параметры:
- Номинал рабочего напряжения
- Максимальное значение батарейного тока
- Номинальная мощность электродвигателя, к которому вы подбираете контроллер.
Эти параметры обычно указываются в виде специальной маркировки на самом устройстве. Чтобы определить оптимальные технические характеристики, обратитесь к менеджеру Voltbikes — эксперт поможет подобрать нужные комплектующие для конкретного случая.
Нюансы и общие правила
При подключении нового контроллера важно в точности следовать схеме, указанной на его корпусе. В общих чертах остальные рекомендации можно обозначить так:
- Ориентируйтесь на вольтаж АКБ. Нельзя подключать, например, контроллер на 36 В к батарее и более высоковольтным профилем. Нужно убедиться, что конденсаторы и транзисторы в составе контроллера рассчитаны на напряжение, которое вы собираетесь подавать.
- В некоторых случаях замена контроллера на электровелосипеде требует параллельной замены резистора в блоке делителя напряжения. Если у вас нет навыков работы с паяльником, эту работу необходимо доверить профессионалу.
- Для мотор-колеса всегда можно купить контроллер универсального типа, работающий в больших диапазонах напряжения на входе.
Сколько стоит заменить контроллер на велосипеде
Цена контроллера небольшая: от 1500-3500 рублей за простые и надёжные агрегаты до 10-15 тысяч рублей за самые сложные и мощные модели. Поэтому купить и произвести замену доступно каждому, а в результате вы ощутите заметную разницу в работе вашего электровелосипеда или самоката. Чтобы быть уверенным в том, что все соединения выполнены надёжно, качественно и на века, передайте эту работу в руки специалистов — команде Voltbikes. Замена контроллера в Вольтбайкс стоит 1500 рублей. Мы даём гарантии на комплектующие и на работу мастера.
- 23 июля 2020 г.
- 7428 просмотров
Как сделать электровелосипед своими руками
Собрать электровелосипед своими руками довольно просто, когда есть готовый набор комплектующих. Чтобы превратить обычный велосипед в электровелосипед, на него необходимо установить мотор-колесо, аккумулятор, тормозные ручки с датчиками отключения питания, а также рукоятку «газа». Помимо всего прочего, эти части необходимо соединить с контроллером с помощью разъемов типа «папа-мама». На контроллере есть много проводов с разными разъемами, соответствующими своим элементам, перепутать их невозможно.
Установка набора комплектующих:
Мотор-колесо
Переделка велосипеда в электровелосипед начинается с установки мотор-колеса — это обычное велосипедное колесо с двигателем внутри, устанавливается как обычно. Контакты на проводах, идущие от колеса, необходимо закрыть колпачком или замотать изолентой, чтобы на них не попало масло. При установке нельзя крутить колесо, так как это генератор, который вырабатывает ток, и если контакты не будут закрыты, то может произойти замыкание. Разъем, идущий от колеса, необходимо соединять с проводом из контроллера в самом конце сборки, после установки аккумулятора, тормозных ручек и ручек газа. Подсоединить что-то не так невозможно без изменения конструкции контактов, каждая пара разъемов уникальна и перепутать их с другими не получится, это сделано для простоты соединения элементов и для защиты от дураков.
Тормозные ручки и ручки газа на руль
В комплекте идут 2 тормозные ручки с датчиком, который отключает электродвигатель при торможении. Их необходимо установить вместо штатных велосипедных тормозных ручек. На контроллере вы найдете два одинаковых разъема для подсоединения каждой ручки, соедините их в любом порядке, так как каждый датчик выполняет одну и ту же работу.
Ручка газа, она же рукоятка акселератора, устанавливается после тормозных ручек, имеет разъем, который вставляется в такой же разъем контроллера, перепутать их или неправильно соединить невозможно.
Установка панели управления
Панель управления отображает уровень заряда батареи, силу тока и обороты двигателя, устанавливается на руль. В некоторых моделях есть кнопка выключения питания или замок зажигания. После установки необходимо подключить провод, идущий от панели к контроллеру.
Установка аккумулятора
В зависимости от типа аккумулятора, установка может производится на раму велосипеда, на багажник в велосумку, или в рюкзак, кому как удобно. Подсоедините аккумулятор к контроллеру, найдя на нем соответствующие разъемы. При подсоединении возможно будет небольшая искра – это нормально, не переживайте, полярность не перепутаете.
Установка контроллера
Контроллер и его контакты должны быть защищены от влаги и грязи, устанавливайте в велосумку на багажник или в любое другое место.
После установки всех элементов можно подключать мотор-колесо к контроллеру и проверить работоспособность электровелосипеда.
Вот и всё, самодельный электровелосипед готов, теперь можно провести тест-драйв.
Электробайк. Контроллер двигателя своими руками
Как вы уже знаете из прошлых постов, у нас в компании есть DIY-движение. В свободное от работы время коллеги занимаются фрезеровкой печатных плат в домашних условиях, делают тепловизор на FLIR Lepton, а также решают семейные разногласия с помощью 4 контроллеров и 2 умных часов. Продолжим серию увлекательный историй! Сегодня я расскажу, как сделать контроллер к трехфазному двигателю электровелосипеда своими руками. Целью создания такого контроллера было:
- Изучение работы трехфазного мотора под управлением контроллера.
- Большинство контроллеров для электровелосипедов, представленных на рынке, — китайские. Они хоть и относительно дешевые (около 2.000 руб в зависимости от мощности), но являются неведомой коробкой, в которой неизвестно что происходит. И сразу к ней возникает очень много вопросов — экономично ли она потребляет и распределяет ток, какой у нее запас мощности, почему так сильно перегревается, преждевременно срабатывает защита по току и т.д.
В тоже время на рынке представлены европейские качественные контроллеры для электробайков. Они оснащаются расширенными функциями, работают на разных напряжениях и токах и их можно программировать. Устанавливаются они на сверхмощные электровелосипеды. Но цена у них кусается — 10-20 тыс. рублей.
В итоге я решил пойти своим путем: разобраться в устройстве контроллера, сделать его прототип, а затем попытаться сделать контроллер качественнее китайского контроллера. На текущий момент проект у меня в разработке только и на уровне прототипа, готового варианта пока нет. Буду рад услышать ваши комментарии и советы.
Применение
В электровелосипедах используются трёхфазные бесщёточные электродвигатели с датчиками Холла. Стоит отметить, что применение подобных трёхфазных двигателей достаточно обширно:
- Бытовая техника
- Оргтехника
- Электротранспорт
- Промышленность
Устройство двигателя
Для разработки контроллера необходимо разобраться с принципом работы самого электродвигателя.
Электродвигатель состоит из фазных обмоток, магнитов и датчиков Холла, отслеживающих положение вала двигателя.
Конструктивно электродвигатели делятся на два типа: инраннеры и аутраннеры.
У инраннеров магнитные пластины крепятся на вал, а обмотки располагаются на барабане (статоре), в этом случае в движение приводится вал. В случае аутраннера всё наоборот: на валу — фазные обмотки, а в барабане — магнитные пластины. Это приводит в движение барабан.
Так как у велосипеда колесо крепится валом на раму, то здесь применителен тип аутраннера.
На этой картинке условно представлены три фазы с обмотками, соединёнными между собой. В реальности обмоток намного больше, они располагаются равномерно с чередованием по фазам по окружности двигателя. Чем больше обмоток — тем плавнее, чётче, эластичнее работает двигатель.
В двигатель устанавливаются три датчика Холла. Датчики реагируют на магнитное поле, тем самым определяя положение ротора относительно статора двигателя. Устанавливаются с интервалами в 60 или 120 электрических градусов. Эти градусы относятся к электрическому фазному обороту двигателя. Необходимо учитывать, что чем больше в двигателе обмоток на каждую фазу, тем больше происходит электрических оборотов за один физический оборот мотор-колеса.
Обмотки трёх фаз в большинстве случаев соединяются между собой по двум схемам: звезда и треугольник. В первом случае ток проходит от одной из фаз к другой, во втором — по всем трём фазам в разной степени. Иногда эти две схемы подключения комбинируют в одном двигателе, например в электромобилях. При старте и наборе скорости идёт соединение фаз по звезде: она даёт больший момент при относительно низких оборотах; далее, после набора скорости, происходит переключение на треугольник, в результате количество оборотов увеличивается, когда уже не нужен большой крутящий момент. По сути, получается условно автоматическая коробка передач электродвигателя.
Цикл работы
Чтобы привести в движение трёхфазный двигатель, нужно рассмотреть цикл его работы за электрический оборот. Итак, имеем три фазы — A, B, C. Каждая из фаз получает положительную и отрицательную полярности в определённый момент времени. Поочерёдно по шагам пропускается ток от «плюса» одной фазы к «минусу» другой фазы. В итоге получается шесть шагов = три фазы × две полярности.
Рассмотрим эти шесть шагов цикла. Предположим, что положение ротора установлено в точке первого шага, тогда с датчиков Холла мы получим код вида 101, где 1 — фаза А, 0 — фаза B, 1 — фаза С. Определив по коду положение вала, нужно подать ток на соответствующие фазы с заданными полярностями. В результате вал проворачивается, датчики считывают код нового положения вала — и т. д.
В таблице указаны коды датчиков и смена комбинаций фаз для большинства электродвигателей. Для обратного хода колеса (реверса) достаточно перевернуть знаки полярности фаз наоборот. Принцип работы двигателя довольно прост.
Цикл двигателя представлен в gif-анимации.
Транзисторы и Н-мост
Но чтобы поочерёдно подавать ток на каждую из фаз и менять их полярность, необходимы транзисторы. Ещё нам нужна передача больших токов, высокая скорость переключения и чёткость открытия/закрытия затворов. В данном случае удобнее управлять затворами по напряжению, а не по току. Поэтому оптимальны полевые (MOSFET) транзисторы. Чаще всего их используют в контроллерах. Очень редко можно встретить комбинированный вариант транзисторов.
Для переключения фаз со сменой их полярностей используют классическую схему Н-моста (H-Bridge) из полевых транзисторов.
Он состоит из трёх пар транзисторов. Каждая из пар подключается к соответствующей фазе обмотки двигателя и обеспечивает подачу тока со значением (+ или –). Транзисторы, отвечающие за включение фазы с положительным значением, называют верхними ключами. С отрицательным — нижними. Для каждого шага открывается пара ключей: верхний одной фазы и нижний соседней фазы. В результате ток проходит от одной фазы к другой и приводит электродвигатель в движение.
Из схемы видно, что мы не можем включить одновременно верхний и нижний ключ у одной и той же фазы: произойдёт короткое замыкание. Поэтому очень важно быстрое переключение верхних и нижних ключей, чтобы в переходных процессах не появилось замыкание. И чем качественнее и быстрее мы обеспечим переключения, тем меньше у нас будет потерь и нагрева/перегрева транзисторов H-моста.
Для запуска остаётся обеспечить управление затворами ключей H-моста. Для управления H-мостом нужно:
- Считать показания датчиков Холла.
- Определить, в каком положении какую пару ключей включать.
- Передать сигналы на соответствующие затворы транзисторов.
Прототип на Ардуино
Под рукой у меня была Arduino UNO, и я решил собрать контроллер на её основе.
Первым делом я подал на датчики Холла питание 5 вольт от Ардуино (его достаточно для датчиков). Сигнальные провода от датчиков подключил на цифровые пины Ардуино, написав простейшую программу для считывания и обработки сигналов с датчиков.
//Пины ключей Н-мостов const int TRAplus = 8; const int TRAminus = 9; const int TRBplus = 10; const int TRBminus = 11; const int TRCplus = 12; const int TRCminus = 13; //датчики холла const int HallA = 3; const int HallB = 1; const int HallC = 0; boolean vala; boolean valb; boolean valc; boolean pvala; boolean pvalb; boolean pvalc; int pHall; int turns; void setup() < //Установка пинов ключей на выход pinMode(TRAplus, OUTPUT); pinMode(TRAminus, OUTPUT); pinMode(TRBplus, OUTPUT); pinMode(TRBminus, OUTPUT); pinMode(TRCplus, OUTPUT); pinMode(TRCminus, OUTPUT); //Вывод данных через серийный порт Serial.begin(9600); >void loop() < //Считываем датчики Холла и записываем их значение в val vala = digitalRead(HallA); valb = digitalRead(HallB); valc = digitalRead(HallC); //Счётчик оборотов колеса. Необходима доработка if(vala && !pvala) < if(pHall == HallC) // или HallB в обратную сторону turns++; pHall = HallA; >if(valb && !pvalb) < if(pHall == HallA) // или HallC в обратную сторону turns++; pHall = HallB; >if(valc && !pvalc) < if(pHall == HallB) // или HallA в обратную сторону turns++; pHall = HallC; >digitalWrite(TRAplus, (vala && !valb) ? HIGH : LOW); //если vala==HIGH и valb==LOW, тогда записать HIGH, иначе LOW digitalWrite(TRAminus, (valb && !vala) ? HIGH : LOW); digitalWrite(TRBplus, (valb && !valc) ? HIGH : LOW); digitalWrite(TRBminus, (valc && !valb) ? HIGH : LOW); digitalWrite(TRCplus, (valc && !vala) ? HIGH : LOW); digitalWrite(TRCminus, (vala && !valc) ? HIGH : LOW); pvala = vala; pvalb = valb; pvalc = valc; Serial.print(vala); Serial.print(valb); Serial.println(valc); //Serial.println(turns/3); >
Затем собрал Н-мост из полевых NPN-транзисторов. Подвёл к мосту независимое питание на 12 вольт. Но при отладке, чтоб убедиться в работоспособности, я подключил напрямую шесть пинов 5V из Ардуино на затворы H-моста. У большинства полевых транзисторов затвор работает на 20 вольт. Так делать нельзя, потому что Н-мост будет плохо работать и перегреваться. Но для кратковременных тестов это пойдёт. Кое-как, с сильными перегревами и страшными звуками, вибрациями и толчками колесо медленно закрутилось. Начало положено.
Мостовые драйверы
Далее предстояла работа над напряжением 20 вольт на управление затворами. Для этого существуют мостовые драйверы транзисторов, они обеспечивают стабильные импульсы в 20 вольт на затвор и высокую скорость отклика. Сначала у меня были популярные драйверы для маломощных моторов L293D.
Для управления затворами его достаточно, к тому же их очень просто использовать. Один такой драйвер может обеспечить питанием две пары ключей. Поэтому я взял две штуки L293D. Собрал контроллер с этими драйверами, и колесо начало крутиться существенно плавнее, посторонних звуков стало меньше, нагрев транзисторов уменьшился. Но при увеличении оборотов синхронизация с контроллером пропадала, появлялся посторонний звук, колесо дёргалось, вибрировало и полностью останавливалось.
В это же время я наткнулся на два варианта мостовых драйверов:
- HIP4086
- IR2101
Что касается HIP4086, то это полноценный мостовой драйвер, предназначенный для трёхфазного электродвигателя. Мне он показался несколько замороченным, и мои попытки использовать его в контроллере не увенчались успехом: он у меня так и не заработал. Углублённо разбираться в причинах не стал.
А взял я IR2101 — полумостовой драйвер, обеспечивающий работу нижнего и верхнего ключей для одной фазы. Несложно догадаться, что таких драйверов нужно три. К слову, драйвер очень прост в использовании, его подключение происходит безболезненно и легко. Получилась такая схема:
И готовый результат
Собрал контроллер с этим драйвером и запустил двигатель. Ситуация с работой электродвигателя кардинально не поменялась, симптомы остались те же, как и в случае с драйвером L293D.
Аппаратное прерывание
И тут я понял, в чём дело: Ардуино не успевает обрабатывать показания датчиков Холла! Поэтому необходимо было использовать пины Ардуино с аппаратным прерыванием. Так как у Ардуино УНО таких пинов всего два, а под датчики нужно три пина, надо взять Ардуино Леонардо или Искра Нео, где таких пинов — четыре штуки.
Переписав программу под прерывания и подключив Искру Нео вместо УНО, я повторил испытания.
//Пины ключей Н-мостов const int TAH = 8; //T — транзистор, А — фаза (синяя), Н — верхний ключ полумоста const int TAL = 9; //T — транзистор, А — фаза (синяя), L — нижний ключ полумоста const int TBH = 10; //T — транзистор, B — фаза (зелёная), H — верхний ключ полумоста const int TBL = 11; //T — транзистор, B — фаза (зелёная), L — нижний ключ полумоста const int TCH = 12; //T — транзистор, C — фаза (жёлтая), H — верхний ключ полумоста const int TCL = 13; //T — транзистор, C — фаза (жёлтая), L — нижний ключ полумоста //------------------------------------------------------------------------------------------------ //датчики холла int HallA = 3; //пин 1 (с прерыванием) int HallB = 1; //пин 2 (с прерыванием) int HallC = 0; //пин 3 (с прерыванием) //------------------------------------------------------------------------------------------------ volatile boolean vala; volatile boolean valb; volatile boolean valc; //------------------------------------------------------------------------------------------------ void setup() < //Установка пинов ключей на выход pinMode(TAH, OUTPUT); pinMode(TAL, OUTPUT); pinMode(TBH, OUTPUT); pinMode(TBL, OUTPUT); pinMode(TCH, OUTPUT); pinMode(TCL, OUTPUT); //Считывание датчиков Холла vala = digitalRead(HallA); valb = digitalRead(HallB); valc = digitalRead(HallC); //Аппаратное прерывание на пинах датчиков Холла attachInterrupt (digitalPinToInterrupt(HallA), changeA, CHANGE); attachInterrupt (digitalPinToInterrupt(HallB), changeB, CHANGE); attachInterrupt (digitalPinToInterrupt(HallC), changeC, CHANGE); //LOW вызывает прерывание, когда на порту LOW //CHANGE прерывание вызывается при смене значения на порту с LOW на HIGH, и наоборот //RISING прерывание вызывается только при смене значения на порту с LOW на HIGH //FALLING прерывание вызывается только при смене значения на порту с HIGH на LOW >void Fases() < digitalWrite(TAH, (vala && !valb) ? HIGH : LOW); digitalWrite(TAL, (valb && !vala) ? HIGH : LOW); digitalWrite(TBH, (valb && !valc) ? HIGH : LOW); digitalWrite(TBL, (valc && !valb) ? HIGH : LOW); digitalWrite(TCH, (valc && !vala) ? HIGH : LOW); digitalWrite(TCL, (vala && !valc) ? HIGH : LOW); void changeA() < vala = digitalRead(HallA); Fases(); >void changeB() < valb = digitalRead(HallB); Fases(); >void changeC() < valc = digitalRead(HallC); Fases(); >void loop()
Колесо наконец-то заработало чётко, без вибраций, шумов, отлично стало набирать обороты без рассинхронизации. Прототип оказался жизнеспособным. Но это ещё не полноценный контроллер, поскольку в нём не было обвязки с защитами и обеспечением качественного ШИМ-сигнала.
Прототип на базе микросхемы MC33035
Параллельно с разработкой контроллера на Ардуино я рассматривал альтернативные варианты логической части контроллера. И это привело меня к микросхеме MC33035. Это старая разработка от Motorola, сейчас её выпускает ON Semiconductor. Создана специально для мощных трёхфазных двигателей.
- Отвечает за всю логическую часть контроллера
- Считывает показания с датчиков Холла
- Определяет положения вала
- Выдаёт сигналы для затворов Н-моста на их драйверы
- Имеет возможность подключения индикатора ошибок, перегрева
- Обрабатывает и передает ШИМ-сигнал (PWM)
- Осуществляет реверс (обратный ход колеса)
Одним словом, микросхема содержит всё необходимое для управления электродвигателем. Её стоимость очень низкая: на Алиэкспрессе — около 50 рублей. Для сборки полноценного контроллера на её основе потребуется микросхема MC33035, полумостовые драйверы и Н-мост из полевых транзисторов. Я также собрал контроллер на этой микросхеме. Работает отлично, стабильно, колесо крутится как надо на различных оборотах. Но функционал микросхемы ограничен, если необходимо наворотить различные функции, вывод на дисплей скорости, одометр, расход батареи, то опять же возникает необходимость дополнительно подключить Ардуино или что-то аналогичное.
Схема с MC33035
Итог
Главное преимущество контроллера на базе MC33035 — это простота в использовании. Просто покупаете микросхему, собираете Н-мост, спаиваете всё на плату с небольшой обвязкой — и контроллер готов. Если нужно просто запустить двигатель с ШИМ-сигналом и управлять им — оптимальный вариант.
Контроллер на базе Ардуино — вариант сложнее, понадобится писать логику, обеспечивать дополнительные защиты контроллера. Но для экспериментов, прототипов, дополнительного функционала, использования различных режимов работы двигателя — подходящий вариант. Поэтому я решил пока отложить MC33035 и продолжить работу с Ардуино.
Планы на будущее контроллера
Продолжая работу над контроллером, планирую сделать следующее:
- IGBT-транзисторы для H-моста вместо полевых транзисторов.
- Обвязку с защитами по току, перегреву и т. п.
- Полноценный круиз-контроль с возможностью выставлять необходимую скорость движения.
- Расходомер. Когда задаётся необходимое расстояние, а контроллер, исходя из этого значения и заряда аккумулятора, дозирует разряд аккумулятора на всём протяжении маршрута так, чтобы зарядки хватило.