Бесколлекторный двигатель ардуино обороты

Arduino.ru

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

Здравствуйте,
Вопрос в целом стоит так — имеется такой двигатель (или очень похожий)

Бесколлекторный инраннер B28-47-16S Brushless Inrunner Motor 2400 kv

Технические характеристики:
KV: 2400 rpm/v
Максимальный ток: 28A
Максимальная мощность: 470W
Ток простоя: 1.0A
Сопротивление: 0.038Ω
Рекомендуемый ESC : 35A
Количество элементов: 3-4SLipo

И стоит задача его включения. В кинематической схеме старт под нагрузкой и невозможностью вращения в обратную сторону (стоит храповик). Мощность потребуется в пределах 70-80%, обороты в пределах 50-100%, то есть до 40 000 в минуту

Почитал я литературу, и сделал предварительные выводы-

1.Самый простой способ. взять на том же хобикинге Рекомендуемый ESC : 35A. Чтобы заставить его работать, ему нужно подать серво-сигнал, который представляет собой ШИМ, параметры пока не определил (частоту, напряжение).

2. Построить . Силовая часть из 6 ключей и управление ардуиной.

http://www.avislab.com/blog/brushless05/ и снизу целый список. Хорошо всё рассказано, но не до конца.

Разбирался уже кто-нибудь с такими вопросами? Кто-то может что подсказать?

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

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

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

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

esc 35a стоит дороже двигателя. простой силовой мост с управлением от ардуинки дожен быть ощутимо дешевле. К тому же готовый весьма большой по размеру и избыточный по функционалу. Место где хочу использовать критично к габаритам. То есть всё лишнее надо выкинуть.

изменение оборотов не нужно плавное. достаточно будет 2-х или 3-х ступеней, с переключением кнопкой. Скажем 50-75-95% скорости. Нагрузка пульсирующая, но со временем не меняющаяся (сжатие пружины через редуктор с последующим отпусканием пружины — и следующий цикл)

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

. серво-сигнал, который представляет собой ШИМ, параметры пока не определил (частоту, напряжение).

Вам дело советуют, а вам не нравится.
Что вам не ясно в библиотеке СЕРВО ?

примерно 20 миллисикунд период, 1000 — минимальная скорость, 2000 максимальная (1500- середина)
5 Вольт

Ню-ню, определяйтесь со своими частотами- напряжениями. Флаг в руки.
Учтите только что трёхфазнику под нагрузкой с места стартануть .
Ток сами посчитаете ?

11.1 (14.8) поделите на 0.038Ω

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

римерно 20 миллисикунд период, 1000 — минимальная скорость, 2000 максимальная (1500- середина)

? esc управляется 50 гц шимом? что такое 1000 и 2000?

Учтите только что трёхфазнику под нагрузкой с места стартануть .
Ток сами посчитаете ?

11.1 (14.8) поделите на 0.038Ω

скажите, какая разница? если двигатель будет запускать китайский esc, там они использут не закон ОМА, а закон ома, и поэтому ток там будет гораздо меньше?

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

ОБОРУДОВАНИЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ

Блог технической поддержки моих разработок

Урок 73. ПИД-регулятор скорости вращения двигателя постоянного тока. Разработка аппаратной части.

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

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

Это продолжение бесконечной разработки интеллектуального сверлильного станка. Сначала я написал для него общую управляющую программу. Затем мы создали электронный прицел для станка на 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 мм.

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

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

Читать еще:  Bmw x3 f25 дизель n57 свист подшипника при холодном пуске двигателя

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

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

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

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

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

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

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

В следующем уроке начнем “оживлять” контроллер.

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

Привет Хабровчане!
Решил я рассказать «всему свету» о проблеме, с которой столкнулся при постройке своего проекта, и как мне удалось её решить.

А речь сегодня пойдет о бесколлекторных двигателях, о регуляторах хода и как ими управлять.
Что же такое бесколлекторный двигатель, я не буду долго расписывать (сами можете посмотреть Wiki), а скажу в 2х словах, это 3х фазный двигатель постоянного тока.

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

Первые проблемы
Были закуплены 2 комплекта двигатель + регулятор, ждал около месяца, пришли.

Мною овладел приступ безудержного веселья по этому поводу, но, к сожалению, это было ненадолго….
Рассмотрев эти чудеса техники я решил подключить их к источнику питания, и тут то первое разочарование, тихий хлопок (как от КЗ) и тишина, светодиоды не горят, писка нет (а он должен быть), только крутится кулер на регуле, беда…
Побежал в ближайший Хобби магазин, и добрый консультант вынес вердикт: сгорел!

Со вторым такая же история, в общем ребята, не повезло, оба бракованные…
Ну хоть кошечка порадовалась:

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

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

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

Залил, ноль эмоций…

Бился 2 дня, пока не наткнулся на случайный пост, о том, что у регулятора есть защита, и он начинает функционировать только при подаче на его вход ШИМ сигнала 1,5 мс.
Окей, будет сделано.

Дальше я подцепил обыкновенный резистор через АЦП, и опытным путем подобрал крайние значения ШИМ регулятора.
Код получившийся в итоге:

И все заработало.
Теперь все крутиться, шумит, пищит и просто радует.
P.S. Это код для управления сразу 2мя двигателями.

И последняя проблема, питание…
Здесь расскажу немного, а именно, от регулятора идет 3 провода:

Центральная колодка, по порядку Черный — минус, Красный — плюс и Белый — провод управления.

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

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

Часть 8. Настройка регуляторов оборотов бесколлекторного двигателя

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

Подключение для настройки

Есть много способов программирования конфигурации регуляторов оборотов. Самый простой — сделать это в ручную при помощи аппаратуры радиоуправления. Также можно, например, применить для этого специальную карту. Некоторые полетные контроллеры умеют сами выставлять настройки.
Мы будем настраивать при помощи пульта. При этом доступны все настройки и не надо никаких дополнительных устройств.
У нас стоят регуляторы оборотов HobbyKing 25A BlueSeries. Инструкцию к ним можно скачать здесь.
Настройку регуляторов оборота проще всего производить на собранном коптере, когда регуляторы уже подключены к двигателям и подготовлены к подключению аккумулятора. Настройку обязательно производить при снятых пропеллерах! Управляющий провод подключите к третьему канала приемника (канал газа). Все остальное отключите от приемника.
При таком подключении приемник питается от встроенного стабилизатора регулятора.

Читать еще:  Экстремальный тюнинг двигателя ваз

Процесс настройки

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

Теперь разберемся с тем, какие настройки нужно выставить:

  1. (_*_*_*_*), Brake, on/off. Тормоз, по дефолту выключен и должен так и остаться. Подробнее об этой настройке чуть позже.
  2. Battery type, тип батареи
    • (

), LiPo — установлен по умолчанию. Оставить без изменения

  • Low voltage Cutoff Threshold, порог отключения для защиты батареи от разряда
    • (*_ _* *_ _* *_ _* *_ _*), Low 2.8/50%
    • (*_ _ _* *_ _ _* *_ _ _* *_ _ _*), Medium 3.0v/60% — установлен по умолчанию. Оставить без изменения
    • (*_ _ _ _* *_ _ _ _* *_ _ _ _* *_ _ _ _*), High 3.2v/ 65%
  • (- — — -), Restore Factory defaults. Сброс к заводским настройкам
  • Timing Setup
    • (- — — -), Automatic (7-30) — установлено по умолчанию. Оставить без изменения
    • (- — — — —), Low (7-22)
    • (— — — —), High (22-30)
  • Soft Acceleration Start Ups, настройка ограничения ускорения
    • (V V V V V V V V), Very Soft
    • (V V V V), Soft Acceleration — установлено по умолчанию
    • (V V V V V V V V V V V V), Start Acceleration — требуется установить для максимальной быстроты отклика
  • Governer
    • (_*_ _*_ _*_ _*_), Rppm off — установлен по умолчанию, оставить без изменения
    • (_**_ _**_ _**_ _**_), Heli first range
    • (_***_ _***_ _***_ _***_), Heli second range
  • (W W W W), Motor rotation, Forward/Reverse. Направление вращения, оставить без изменения
  • Switching Frequency, частота переключения
    • (// // // //), 8 kHz — установлена по умолчанию
    • (\ \ \ \), 16 kHz — требуется установить для двигателя наружного вращения
  • Low Voltage Cutoff Type, способ отключения при разряде батареи
    • (__-__-__-__-), Reduce Power — установлено по умолчанию. Оставить без изменения
    • (-_ -_ -_ -_), Hard Cut Off
  • В итоге, нужно скорректировать всего две настройки.
    При нормальном включении двигателя пищат. Первая последовательность звуковых сигналов соответствует количество банок подключенной батареи. Второй цикл показывает состояние торможения. Один сигнал — включено, два — выключено.

    Калибровка газа

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

    Калибровка винто-моторной группы

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

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

    Проверка калибровки винта

    На форумах советуют откалибровать еще и двигатель. Теоретически, нужно на запущенный двигатель (без винта) посветить лазером и посмотреть на отражение. Если оно размазано, то нужно наклеить кусочек скотча на двигатель. Если биения уменьшились — хорошо, если нет — надо клеить в другом месте.
    На практике делать это сложно: нужен мощный лазер, темнота и терпение. Да и необходимость в этом довольно сомнительная. Мы этот этап не делали.
    И в заключении, ссылки на остальные части статей о коптерах:
    Часть 1. Что такое квадрокоптер
    Часть 2. Элементы квадрокоптера
    Часть 3. Все об аккумуляторах для квадрокоптеров
    Часть 4. Рама квадрокоптера
    Часть 5. Подсветка коптера
    Часть 6. Подключение элементов квадрокоптера
    Часть 7. Настройка пульта Turnigy9x для коптера
    Часть 9. Настройка полетного контроллера DJI NAZA
    Часть 10. Гиростабилизированный подвес для камеры SJ4000

    Ссылка на основную публикацию
    Adblock
    detector