возвращение квадратурных энкодеров / Хабр
Это уже третья статья, рассказывающая о квадратурных декодерах, на сей раз с применением к управлению бесколлекторными двигателями.
- Статья первая: принцип работы квадратурного декодера + код для ардуино.
- Статья вторая: квадратурный декодер на stm32.
Задача: есть обычный китайский бесколлекторник, нужно его подключить к контроллеру Copley Controls 503. В отличие от копеечных коптерных контроллеров, 503й хочет сигнал с датчиков холла, которых на движке нет. Давайте разбираться, для чего нужны датчики и как их ставить.
В качестве иллюстрации я возьму очень распространённый двигатель с двенадцатью катушками в статоре и четырнадцатью магнитами в роторе. Вариантов намотки и количества катушек/магнитов довольно много, но суть всегда остаётся одной и той же. Вот фотография моего экземпляра с двух сторон, отлично видны и катушки, и магниты в роторе:
Чтобы было ещё понятнее, я нарисовал его схему, полюса магнитов ротора обозначены цветом, красный для северного и синий для южного:
На датчики холла пока не обращайте внимания, их всё равно нет 🙂
Что будет, если подать плюс на вывод V, а минус на вывод W (вывод U не подключаем ни к чему)? Очевидно, будет течь ток в катушках, намотанных зелёным проводом. Катушки намотаны в разном направлении, поэтому верхние две катушки будут притягиваться к магнитам 1 и 2, а нижние две к магнитам 8 и 9. Остальные катушки и магниты в такой конфигурации роли практически не играют, поэтому я выделил именно магниты 1,2,8 и 9. При такой запитке мотора он очевидно крутиться не будет, и будет иметь семь устойчивых положений ротора, равномерно распределённых по всей окружности (левая верхняя зелёная катушка статора может притягивать магниты 1, 3, 5, 7, 9, 11, 13).
Давайте записывать наши действия вот в такую табличку:
Угол поворота ротора | U | V | W |
0° | n.c. | + | — |
А что будет, если теперь подать плюс на U и минус на W? Красные катушки притянут к себе магниты 3,4,10 и 11, таким образом чуть-чуть повернув ротор (я по-прежнему выделяю магниты, за которые ротор тянет):
Давайте посчитаем, на сколько повернётся ротор: между щелями магнитов 1-2 и 3-4 у нас 51. 43° (=360°*2/7), а между соответствующими щелями в статоре 60° (=360°/12*2). Таким образом, ротор провернётся на 8.57°. Обновим нашу табличку:
Угол поворота ротора | U | V | W |
8.57° | + | n.c. | — |
Теперь сам бог велел подать + на U и — на V!
Угол поворота ротора | U | V | W |
17.14° | + | — | n.c. |
Теперь опять пора выровнять магниты с зелёными катушками, поэтому подаём напряжение на них, но красный и синий магниты поменялись местами, поэтому теперь нужно подать обратное напряжение:
Угол поворота ротора | U | V | W |
25.71° | n.c. | — | + |
C оставшимися двумя конфигурациями всё ровно так же:
Угол поворота ротора | U | V | W |
34.29° | — | n.c. | + |
Угол поворота ротора | U | V | W |
42.85° | — | + | n.c. |
Если мы снова повторим самый первый шаг, то наш ротор провернётся ровно на одну седьмую оборота. Итак, всего у нашего мотора три вывода, мы можем подать напряжение на два из них шестью разными способами 6 = 2*C23, причём мы их все уже перебрали. Если подавать напряжение не хаотично, а в строгом порядке, который зависит от положения ротора, то двигатель будет вращаться.
Запишем ещё раз всю последовательность для нашего двигателя:
Угол поворота ротора | U | V | W |
0° | n. c. | + | — |
8.57° | + | n.c. | — |
17.14° | + | — | n.c. |
25.71° | n.c. | — | + |
34.29° | — | n.c. | + |
42.86° | — | + | n.c. |
Есть один нюанс: у обычного коллекторного двигателя за переключение обмоток отвечают щётки, а тут нам надо определять положение ротора самим.
Теперь давайте поставим три датчика холла в те чёрные точки, обозначенные на схеме. Давайте договоримся, что датчик выдаёт логическую единицу, когда он находится напротив красного магнита. Всего существует шесть (сюрприз!) возможных состояний трёх датчиков: 23 — 2. Всего возможных состояний 8, но в силу расстояния между датчиками они не могут все втроём быть в логическом нуле или в логической единице:
Обратите внимание, что они генерируют три сигнала, сдвинутые друг относительно друга на 1/3 периода. Кстати, электрики используют слово градусы, говоря про 120°, чем окончательно запутывают нубов типа меня. Если мы хотим сделать свой контроллер двигателя, то достаточно читать сигнал с датчиков, и соответственно переключать напряжение на обмотках.
Для размещения датчиков я использовал вот такую платку, дизайн которой взял тут. По ссылке лежит проект eagle, так что я просто заказал у китайцев сразу много подобных платок:
Эти платки несут на себе только три датчика холла, больше ничего. Ну, по вкусу можно поставить конденсаторы, я не стал заморачиваться. Очень удобно сделаны длинные прорези для регулировки положения датчиков относительно статора.
Ещё бы! Единственная разница, что инкрементальные энкодеры дают два сигнала, сдвинутые друг относительно друга на 90°, а у нас три сигнала, сдвинутые на 120°. Что будет, если завести любые два из них на обычный квадратурный декодер, например, той же самой синей таблетки? Мы получим возможность определять положение вала с точностью до четырёх отсчётов на одну седьмую оборота, или 28 отсчётов на оборот. Если вы не поняли, о чём я, прочтите принцип работы квадратурного декодера в первой статье.
Я долго думал, как же мне использовать все три сигнала, ведь у нас происходит шесть событий на одну седьмую оборота, мы должны иметь возможность получить 42 отсчёта на оборот. В итоге решил пойти грубой силой, так как синяя таблетка имеет кучу аппаратных квадратурных декодеров, поэтому я решил в ней завести три счётчика:
Видно, что при каждом событии у нас увеличиваются два из них, поэтому сложив три счётчика, и поделив на два, мы получим равномерно тикающий определитель положения вала, с точностью до 6*7 = 42 отсчёта на оборот!
Вот так выглядит макет подключения датчиков Холла к синей таблетке:
В некоторых приложениях (например, для коптеров) все эти заморочки не нужны. Контроллеры пытаются угадать происходящее с ротором по току в катушках. С одной стороны, это меньше заморочек, но с другой стороны, иногда приводит к проблемам с моментом старта двигателя, поэтому слабоприменимо, например, в робототехнике, где нужны околонулевые скорости. Давайте попробуем запитать наш движок от обычного китайского коптерного ESC (electronic speed controller).
Мой контроллер хочет на вход PPM сигнал: это импульс с частотой 50Гц, длина импульса задаёт обороты: 1мс — останов, 2мс — максимально возможные обороты (считается как KV двигателя * напряжение).
Вот здесь я выложил исходный код и кубовские файлы для синей таблетки. Таймер 1 генерирует PWM для ESC, таймеры 2,3,4 считают соответствующие квадратурные сигналы. Поскольку в прошлой статье я крайне подробно расписал, где и что кликать, то здесь только даю ссылку на исходный код.
На вход моему ESC я даю пилообразное задание скорости, посмотрим, как он его отработает. Вывод синей таблетки лежит тут, а код, который рисует график, тут.
Поскольку у меня двигатель имеет номинал 400KV, а питание я подал 10В, то максимальные обороты должны быть в районе 4000 об/мин = 419 рад/с. Ну а вот и график подоспел:
Видно, что реальные обороты соответствуют заданию весьма приблизительно, что терпимо для коптеров, но совершенно неприменимо во многих других ситуациях, почему, собственно, я и хочу использовать более совершенные контроллеры, которым нужны сигналы с датчиков холла. Ну и бонусом я получаю угол поворота ротора, что бывает крайне полезно.
Я провёл детство в обнимку с этой книжкой, но раскурить принципы работы бесколлекторников довелось только сейчас.
Оказывается, что шаговые моторы и вот такое коптерные моторчики — это (концептуально) одно и то же. Разница лишь в количестве фаз: шаговики (обычно, бывают исключения) управляются двумя фазами, сдвинутыми на 90°, а бесколлекторники (опять же, обычно) тремя фазами, сдвинутыми на 120°.
Разумеется, есть и другие, чисто практические отличия: шаговики рассчитаны на увеличение удерживающего момента и повторяемость шагов, в то время как коптерные движки на скорость и плавность вращения, что сказывается на количестве обмоток, подшипниках и т.п. Но в итоге обычный бесколлекторник можно использовать в шаговом режиме, а шаговик в постоянном вращении, управление у них будет одинаковым.
Update: красивая анимация от Arastas:
Датчики Холла в вентиляторах для котлов
Медведев В.
20.09.2021
Вентиляторы с датчиком Hall
В вентиляторах для твердотопливных котлов используются электронно-коммутируемые электродвигатели, которыми управляют контроллеры, изменяя ток питания. Но для более точной регулировки необходима не только косвенная обратная связь от температурных датчиков в СО, но и непосредственные данные о скорости вращения крыльчатки. Чтобы получить численное значение оборотов, используются датчики Холла (Hall sensors). |
Немного теории:
Если упростить, то физический смысл датчика Холла в том, что если подать на него напряжение в направлении А-B (продольном или горизонтальном, как кому удобнее для понимания) и поместить в магнитное поле, то в направлении C-D (поперечном или вертикальном) возникнет разность потенциалов. Эту разность можно использовать как сигнал обратной связи в зависимости от мощности и положения поля.
|
Существует несколько разновидностей датчиков Холла – униполярные, биполярные, аналоговые, интегральные. Однако все эти подробности, как и принципиальные схемы подключения, важны для специалистов по электротехнике. На уровне пользователя и даже монтажника систем отопления нас интересуют датчики для определения оборотов электродвигателя.
Принцип действия датчика Холла в вентиляторе
В вентиляторах используются бесщёточные электродвигатели, в которых ротор (крыльчатка) содержит постоянные магниты, а статор представляет собой набор обмоток. Благодаря этому нет изнашиваемых элементов и значительно снижен уровень шума при работе. Вращающееся магнитное поле позволяет отсчитывать обороты с помощью датчика Холла: меняющиеся полюса формируют прямоугольный сигнал 0-1, который легко обрабатывается контроллером.
|
Зачем это нужно? Автоматика или сам пользователь, если предусмотрено отображение на табло, могут отслеживать, как изменения управляющего тока влияют на обороты и сопоставлять с режимом работы котла, температурой в контуре или помещении. Для систем отопления с определённой инерцией это может быть важно для корректного просчёта алгоритмов PID и т. д.
Преимущества датчиков Холла
Датчики Холла в разных модификациях используются для обнаружения тока (или обрывов) в проводке, в автомобильных системах зажигания, как детекторы вибрации, расхода, положения, блокираторы дверей. Как счётчики оборотов, они обладают рядом преимуществ:
-
простые конструктивные решения, в отличие от оптических;
-
надёжность из-за отсутствия изнашиваемых элементов;
-
на показания не влияют ни пыль, ни влага;
-
не требуется обслуживание.
Вместе с тем, датчики Холла чувствительны к температуре, так как работают с малыми токами, а также к электромагнитным помехам (причём, с нагревом влияние помех усиливается).
Вентиляторы со встроенным датчиком Холла имеют отдельный разъём RJ11 на клеммной коробке для взаимодействия с контроллером.
|
Подписывайтесь на нашу страницу в Facebook:
ООО «Сервис Юнион»
Что такое датчики Холла и какова их роль в двигателях постоянного тока?
Вы здесь: Домашняя страница / Часто задаваемые вопросы + основы / Часто задаваемые вопросы: Что такое датчики Холла и какова их роль в двигателях постоянного тока?
By Danielle Collins Оставить комментарий
Двигатели постоянного тока могут быть щеточного типа, которые коммутируются механически, или бесщеточными, которые коммутируются электрически. В бесщеточных двигателях постоянного тока (BLDC) датчики Холла используются вместо механического коммутатора и щеток.
Датчики Холла представляют собой полупроводниковые датчики магнитного поля. Они работают по принципу, согласно которому, когда проводник с током, протекающим по нему, помещается в магнитное поле, магнитное поле индуцирует поперечную (или боковую) силу на носителях заряда, которая отталкивает их в стороны от проводника – отрицательная на единицу сторону и положительный на другую сторону. Это накопление заряда на сторонах проводника индуцирует напряжение. Этот эффект называют эффектом Холла в честь его первооткрывателя Эдвина Холла.
Бесщеточный двигатель постоянного тока с тремя датчиками Холла для определения положения ротора.
Изображение предоставлено: Honeywell International Inc.
Целью коммутации, будь то механическими или электрическими средствами, является подача питания на обмотки статора в определенной последовательности, при этом одна обмотка положительная, одна отрицательная, а третья отключена. Создание крутящего момента вызвано притяжением и отталкиванием между полем статора и постоянными магнитами ротора. Максимальный крутящий момент достигается, когда эти два поля ориентированы на 90 градусов друг к другу, и крутящий момент уменьшается по мере выравнивания их полей. Следовательно, чтобы двигатель продолжал вращаться, магнитное поле статора должно менять свое положение по мере того, как поле ротора «догоняет» его.
Чтобы подать питание на правильную обмотку статора, необходимо знать положение ротора. Это работа датчиков Холла — следить за положением ротора. Двигатели BLDC обычно имеют три датчика Холла, установленных либо на статоре, либо на роторе, и используют так называемую шестиступенчатую коммутацию. Когда ротор проходит мимо датчика, он выдает либо высокий, либо низкий сигнал, указывающий, какой полюс ротора (N или S) прошел. Это переключение трех датчиков Холла (с высокого на низкий или с низкого на высокий) предоставляет информацию о положении ротора каждые 60 градусов.
При шестиступенчатой коммутации на каждую из трех обмоток (U, V, W) подается положительное, отрицательное или выключенное напряжение, в зависимости от того, находится ли каждый из трех датчиков Холла в высоком или низком состоянии.
Изображение предоставлено Atmel Corp.
60°, умноженное на шесть шагов, равно 360° или одному полному обороту. Отсюда и термин шестишаговая коммутация.
Датчики Холла являются наиболее распространенным методом определения положения ротора в двигателях BLDC из-за их низкой стоимости и простоты использования с постоянными магнитами ротора. А поскольку коммутация происходит с шагом 60 градусов, датчики и выходные данные с высоким разрешением не нужны.
Подробное, но простое руководство по шестиступенчатой коммутации можно найти в этом видео от maxon motor.
Рубрики: Двигатели постоянного тока, Часто задаваемые вопросы + основы, Рекомендуемые, Сборник случаев движения, Датчики + зрение
Датчик Холла и его роль в контроллере двигателя
Датчик Холла — это широко используемый датчик, обеспечивающий обратную связь о положении ротора с контроллером двигателя. Давайте разберемся со значением этого датчика в системе управления автомобильным двигателем.
A Система управления двигателем BLDC представляет собой сложную схему, в которой несколько компонентов работают в тандеме, чтобы заставить двигатель двигаться желаемым образом. Эффективность, долговечность и производительность — это атрибуты, которые больше всего беспокоят инженеров при разработке такой системы.
В то время как магниты и катушки заботятся об электрическом аспекте, микроконтроллер действует как мозг, приводящий в движение двигатель. Но даже самый острый мозг нуждается в сенсорной информации.
Два сенсорных входа, которые имеют здесь большое значение, это Скорость и Позиция . Давайте разберемся с ними в контексте коммутации двигателя.
Коммутация — это процесс переключения тока в фазах двигателя для облегчения вращения двигателя.
В щеточных двигателях щетки контактируют с коллектором и переключают ток для движения двигателей. Двигатели BLDC не имеют щеток; таким образом, они должны приводиться в движение электронным способом с помощью системы управления двигателем.
Контроллер двигателя BLDC подает прямоугольные сигналы (напряжение) на магниты ротора и создает магнитное поле, которое приводит в движение двигатель.
Важность скорости и положения ротора при коммутации двигателя:
Коммутация в двигателе постоянного тока представляет собой 6-этапный процесс . Трехфазный Н-образный мост используется для создания 6 векторов потока , каждый из которых вызывает поворот двигателя на 60 градусов (соответствует следующему положению), таким образом совершая полный оборот на 360 градусов.
- Чтобы двигатель двигался, контроллер двигателя подает ток через катушку статора. Это создает магнитное поле, которое, в свою очередь, создает крутящий момент на роторе (постоянный магнит). В результате ротор начинает двигаться.
- Теперь, если ротор приблизится к движущему его магнитному полю, ротор будет стремиться остановиться из-за изменения полярности. В этот момент магнитное поле начнет притягивать ротор и остановит движение. Чтобы этого избежать, система управления двигателем переключает ток, подаваемый на статор, и создается новое магнитное поле, а ротор продолжает свое движение. Таким образом, процесс коммутации заключается в переключении тока в правильном экземпляре .
- На сцену выходит понятие скорости и положения, поскольку этот «правильный экземпляр» должен быть обнаружен, когда он прибудет.
- Датчик необходим для обратной связи с системой управления двигателем, указывающей, когда ротор достиг нужного положения. Если коммутация выполняется быстрее или медленнее, чем скорость ротора, магниты выходят из синхронизации с магнитным полем статора. Это заставляет ротор вибрировать и останавливаться вместо того, чтобы вращаться.
- После одной коммутации необходимо определить положение ротора относительно статора, чтобы можно было инициировать следующую коммутацию. И, следовательно, определение положения также является важным параметром.
Существует множество типов датчиков, используемых в производстве электродвигателей, таких как энкодеры, переключатели и потенциометры. Однако наиболее широко используемым и развернутым датчиком является датчик Холла .
В следующих разделах мы подробно поговорим о датчике Холла и его роли в системе управления двигателем.
Что такое датчик Холла?
Датчик Холла — это преобразователь, основанный на принципе эффекта Холла.
Эффект получения измеряемого напряжения, когда проводник или полупроводник с током, текущим в одном направлении, вводится перпендикулярно магнитному полю, называется эффектом Холла.
Проще говоря, напряжение возникает на электрическом проводнике, когда к нему прикладывается магнитное поле в направлении, перпендикулярном протеканию тока.
Датчик на эффекте Холла представляет собой полупроводниковое устройство, использующее этот принцип для определения положения, скорости и различных других характеристик, необходимых для эффективной работы двигателя BLDC.
Увеличенный вид датчика Холла
Через полосу Холла все время протекает небольшой ток. Как уже упоминалось, переменное поле от этого магнита ротора будет создавать напряжение на полосе Холла. Затем напряжение подается на цифровую схему (показана на диаграмме выше), которая, в свою очередь, выдает цифровой сигнал в виде выходного сигнала датчика Холла.
Как работает датчик Холла в двигателе с бесконтактным двигателем постоянного тока
Как правило, двигатель с бесконтактным двигателем имеет три датчика Холла, установленных на роторе или статоре. Эти датчики Холла расположены на расстоянии 120 градусов друг от друга, обеспечивая угловое положение от 0 до 360 градусов.
Когда эти датчики Холла соприкасаются с магнитным полем ротора, они генерируют соответствующие цифровые импульсы с единицами и 0, как показано на диаграмме ниже.
За шесть шагов эти датчики Холла могут определить положение двигателя (угол). На диаграмме прямоугольные формы сигналов демонстрируют положительный и отрицательный импульсы, генерируемые под соответствующим углом всеми тремя датчиками Холла — A, B и C.
достигла 360 градусов.
Следующее объяснение внесет больше ясности.
Когда магнит ротора пересекает один из датчиков, он генерирует низкий или высокий сигнал в зависимости от того, прошел ли он северный или южный полюс ротора. Когда ротор пересекает все три датчика, эти датчики переключаются между низким и высоким уровнем, таким образом выдавая положение ротора каждые 60 градусов.
На приведенной ниже схеме показан типичный контроллер двигателя BLDC. Три линии, идущие от двигателя к контроллеру, изображают сигнал, посылаемый тремя датчиками Холла.
Датчик Холла способен различать положительный и отрицательный заряды, движущиеся в противоположном направлении. Магнитное поле, обнаруженное датчиком Холла, преобразуется в подходящий аналоговый или цифровой сигнал, который может считываться электронной системой, обычно системой управления двигателем.
Ниже показана таблица истинности, полученная на основе показаний трех датчиков Холла. Как видите, состояние транзистора H-моста зависит от сигнала, обнаруженного датчиком. Стрелка вниз показывает движение по часовой стрелке (CW), а стрелка вверх показывает движение против часовой стрелки (CCW).
Теперь, когда у нас есть таблица истинности и график, можно легко рассчитать угол (положение) и скорость ротора.
Преимущества использования датчика Холла в контроллере двигателя постоянного тока BLDC
- Датчик Холла представляет собой очень простое устройство, состоящее из магнитов, поэтому оно очень экономично для систем управления двигателем.