Меню

Контроллер для трехфазного двигателя с датчиком холла

Датчики Холла для бесколлекторного двигателя: возвращение квадратурных энкодеров

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

  • Статья первая: принцип работы квадратурного декодера + код для ардуино.
  • Статья вторая: квадратурный декодер на 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
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*C 2 3, причём мы их все уже перебрали. Если подавать напряжение не хаотично, а в строгом порядке, который зависит от положения ротора, то двигатель будет вращаться.

Запишем ещё раз всю последовательность для нашего двигателя:

Угол поворота ротора U V W
n.c. +
8.57° + n.c.
17.14° + n.c.
25.71° n.c. +
34.29° n.c. +
42.86° + n.c.

Есть один нюанс: у обычного коллекторного двигателя за переключение обмоток отвечают щётки, а тут нам надо определять положение ротора самим.

Датчики Холла

Теперь давайте поставим три датчика холла в те чёрные точки, обозначенные на схеме. Давайте договоримся, что датчик выдаёт логическую единицу, когда он находится напротив красного магнита. Всего существует шесть (сюрприз!) возможных состояний трёх датчиков: 2 3 — 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:

Источник

Управление бесколлекторным двигателем с датчиками Холла (Sensored brushless motors)

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

Мостовая схема ключей

Диаграмма включения ключей

Таблица включения ключей в зависимости от сигналов датчиков Холла:

Анимированная демонстрация работы 4 полюсного двигателя:

ШИМ (PWM), частота, переходные процессы

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

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

В случае с двигателями без датчиков, которые будут рассматриваться в следующих статьях, выбор частоты ШИМ сигнала играет очень важную роль.

Потери на ключах

P — теряемая мощность, которая выделяется в виде тепла R — прямое сопротивление открытого ключа I — ток, протекаемый через ключ.

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

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

1. Питание: 50В, ток: 100А, сопротивление ключей: 0,001 Ом. Потери на ключах = 0,001 * 100 2 = 10 Вт

2. Питание: 100В, ток: 50А, сопротивление ключей: 0,001 Ом. Потери на ключах = 0,001 * 50 2 = 2,5 Вт

Т.е. снизив ток вдвое потери на ключах падают в 4 раза.

Угол опережения фаз (timing)

Чтобы компенсировать эту задержку управляющий сигнал на ключи подают с опережением. Опережение управляющего сигнала выражают в угле опережения. Угол опережения может быть от 0 до 30 градусов. Речь идет об электрических градусах (см. Бесколлекторные двигатели постоянного тока. Устройство бесколлекторного двигателя). Угол опережения может отличаться для каждой модели двигателя. Точность установки угла опережения сильно влияет на работу высоко-оборотистых двигателей. На малых скоростях точность установки угла опережения не столь критична.

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

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

Источник

Управление бесколлекторным двигателем по сигналам обратной ЭДС – понимание процесса

Когда я начал разрабатывать блок управления бесколлекторным двигателем (мотор-колесом), было много вопросов о том, как сопоставить реальный двигатель с абстрактной схемой из трех обмоток и магнитов, на которой, как правило, все объясняют принцип управления бесколлекторными двигателями.

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

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

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

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

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

Читайте также:  93174557 ремкомплект разъема температурного датчика

Определенная коммутация обмоток бесколлекторного двигателя позволяет управлять им от источника постоянного тока. Чтобы понять, как составить таблицу коммутаций бесколлекторного двигателя необходимо рассмотреть управление синхронной машиной переменного тока.

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

Запустив трехфазный двигатель в генераторном режиме, постоянным магнитным полем будет наводиться ЭДС на каждую из обмоток двигателя, обмотки двигателя распределены равномерно, на каждую из фаз будет наводиться синусоидальное напряжение и данные сигналы будут смещены между собой на 1/3 периода (рисунок 1). Форма ЭДС меняется по синусоидальному закону, период синусоиды равен 2П(360), поскольку мы имеем дело с электрическими величинами (ЭДС, напряжение, ток) назовем это электрическими градусами и будем измерять период в них.

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

Рисунок 1. Вид сигнала трехфазного источника переменного тока.

Каждая обмотка формирует вектор магнитного поля пропорциональный току на обмотке. Сложив 3 вектора можно получить результирующий вектор магнитного поля. Так как с течением времени ток на обмотках двигателя меняется по синусоидальному закону, меняется величина вектора магнитного поля каждой обмотки, а результирующий суммарный вектор меняет угол поворота, при этом величина данного вектора остается постоянной.

Рисунок 2. Один электрический период трехфазного двигателя.

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

Рисунок 3. Момент 1. Вектора магнитного поля каждой обмотки (слева) и результирующий вектор магнитного поля (справа).

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

Рисунок 4. Момент 2. Вектора магнитного поля каждой обмотки (слева) и результирующий вектор магнитного поля (справа).

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

Рисунок 5. Вид вращающегося магнитного поля формируемого обмотками на статоре двигателя.

За этим вектором электрического магнитного поля увлекается магнитное поле постоянных магнитов ротора в каждый момент времени (рисунок 6).

Рисунок 6. Постоянный магнит (ротор) следует направлению магнитного поля формируемого статором.

Так работает синхронная машина переменного тока.

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

Постоянное напряжение
Источник постоянного тока имеет только 2 провода «плюс питания» и «минус питания» это значит, что есть возможность подавать напряжение только на две из трех обмоток. Необходимо аппроксимировать рисунок 5 и выделить все моменты, при которых возможно скоммутировать 2 фазы из трех.

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

Электрический период будем отсчитывать от первого вектора.

Рисунок 7. Вид шести векторов магнитного поля которые можно создать от источника постоянного тока коммутацией двух из трех обмоток.

На рисунке 5 видно, что при управлении трехфазным синусоидальным напряжением имеется множество векторов плавно проворачивающихся с течением времени, а при коммутации постоянным током возможно получить вращающееся поле только из 6 векторов, то есть переключение на следующий шаг должно происходить каждые 60 электрических градусов.
Результаты из рисунка 7 сведены в таблицу 1.

Таблица 1. Полученная последовательность коммутаций обмоток двигателя.

Плюс питания Минус питания Обмотка не подключена
W U V
W V U
U V W
U W V
V W U
V U W

Вид получившегося управляющего сигнала в соответствии с таблицей 1 изображен на рисунке 8. Где -V коммутация на минус источника питания (GND), а +V коммутация на плюс источника питания.

Рисунок 8. Вид управляющих сигналов от источника постоянного тока для бесколлекторного двигателя. Желтый – фаза W, синий – U, красный – V.

Однако реальная картина с фаз двигателя будет похожа на синусоидальный сигнал из рисунка 1. У сигнала образуется трапециевидная форма, так как в моменты, когда обмотка двигателя не подключена, постоянные магниты ротора наводят на нее ЭДС (рисунок 9).

Рисунок 9. Вид сигнала с обмоток бесколлекторного двигателя в рабочем режиме.

На осциллографе это выглядит так:

Рисунок 10. Вид окна осциллографа при измерении одной фазы двигателя.

Конструктивные особенности
Как было сказано ранее за 6 переключений обмоток формируется один электрический период 360 электрических градусов.
Необходимо связать данный период с реальным углом вращения ротора. Двигатели с одной парой полюсов и трехзубым статором применяются крайне редко, двигатели имеют N пар полюсов.
На рисунке 11 изображены модели двигателя с одной парой полюсов и с двумя парами полюсов.

а. б.
Рисунок 11. Модель двигателя с одной (a) и с двумя (б) парами полюсов.

Двигатель с двумя парами полюсов имеет 6 обмоток, каждая из обмоток парная, каждая группа из 3 обмоток смещена между собой на 120 электрических градусов. На рисунке 12б. отложен один период для 6 обмоток. Обмотки U1-U2, V1-V2, W1-W2 соединены между собой и в конструкции представляют 3 провода вывода фаз. Для простоты рисунка не отображены соединения, но следует запомнить, что U1-U2, V1-V2, W1-W2 одно и то же.

На рисунке 12, исходя из данных таблицы 1, изображены вектора для одной и двух пар полюсов.

а. б.
Рисунок 12. Схема векторов магнитного поля для двигателя с одной (a) и с двумя (б) парами полюсов.

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

Читайте также:  Змз 409 датчик абсолютного давления в масле

Рисунок 13. Конечные положения ротора при шестиступенчатой коммутации бесколлекторного двигателя с одной парой полюсов.

В двигателях с N парами полюсов необходимо пройти N электрических периодов для полного механического оборота.
Двигатель с двумя парами полюсов будет иметь два магнита с полюсами S и N, и 6 обмоток (рисунок 14). Каждая группа из 3 обмотки смещены друг относительно друга на 120 электрических градусов.

Рисунок 14. Конечные положения ротора при шестиступенчатой коммутации бесколлекторного двигателя с двумя парами полюсов.

Определение положения ротора бесколлекторного двигателя
Как было сказано ранее для работы двигателя необходимо в нужные моменты времени подключать напряжение на нужные обмотки статора. Подавать напряжение на обмотки двигателя нужно в зависимости от положения ротора, так чтобы магнитное поле статора всегда опережало магнитное поле ротора. Для определения положения ротора двигателя и коммутаций обмоток используют электронный блок управления.
Отслеживание положения ротора возможно несколькими способами:
1. По датчикам Холла
2. По обратной ЭДС
Как правило, датчиками Холла производители оснащают двигатель при выпуске, поэтому это самый распространённый метод управления.
Коммутирование обмоток в соответствии с сигналами обратной ЭДС позволяет отказаться от датчиков встроенных в двигатель и использовать в качестве датчика анализ свободной фазы двигателя, на которую будет наводиться магнитным полем противо-ЭДС.

Управление бесколлекторным двигателем с датчиками Холла
Чтобы коммутировать обмотки в нужные моменты времени необходимо отслеживать положение ротора в электрических градусах. Для этого применяются датчики Холла.
Поскольку имеется 6 состояний вектора магнитного поля необходимо 3 датчика Холла, которые будут представлять один абсолютный датчик положения с трехбитным выходом. Датчики Холла устанавливаются также как обмотки, смещенные между собой на 120 электрических градусов. Это позволяет использовать магниты ротора в качестве воздействующего элемента датчика.

Рисунок 15. Сигналы с датчиков Холла за один электрический оборот двигателя.

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

Таблица 2. Сопоставление сигналов датчиков Холла с коммутацией фаз двигателя.

Положение двигателя HU(1) HV(2) HW(3) U V W
0 0 0 1 0 +
1 0 1 + 0
1 0 0 + 0
1 1 0 0 +
0 1 0 + 0
360/N 0 1 1 0 +

При равномерном вращении двигателя с датчиков поступает сигнал смещенный на 1/6 периода, 60 электрических градусов (рисунок 16).

Рисунок 16. Вид сигнала с датчиков Холла.

Управление с помощью сигнала обратной ЭДС
Существуют бесколлекторный двигатели без датчиков положения. Определение положения ротора осуществляется с помощью анализа сигнала ЭДС на свободной фазе двигателя. В каждый момент времени к одной из фаз подключен «+» к другой «-» питания, одна из фаз остается свободной. Вращаясь, магнитное поле ротора наводит ЭДС в свободной обмотке. По мере вращения напряжение на свободной фазе изменяется (рисунок 17).

Рисунок 17. Изменение напряжения на фазе двигателя.

Сигнал с обмотки двигателя разбит на 4 момента:
1. Обмотка подключена к 0
2. Обмотка не подключена (свободная фаза)
3. Обмотка подключена к питающему напряжению
4. Обмотка не подключена (свободная фаза)
Сопоставив сигнал с фаз с управляющим сигналом, видно, что момент перехода на следующее состояние можно детектировать пересечением средней точки (половины питающего напряжения) с фазой, которая в данный момент не подключена (рисунок 18).

Рисунок 18. Сопоставление управляющего сигнала с сигналом на фазах двигателя.

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

Таблица 3. Алгоритм переключения обмоток двигателя

Текущее состояние U V W Следующее состояние
1 Ожидание пересечения средней точки из + в — + 2
2 Ожидание пересечения средней точки из — в + + 3
3 + Ожидание пересечения средней точки из + в — 4
4 + Ожидание пересечения средней точки из — в + 5
5 Ожидание пересечения средней точки из + в — + 6
6 + Ожидание пересечения средней точки из — в + 1

Пересечение средней точки проще всего детектировать компаратором, на один вход компаратора подается напряжение средней точки, а на второй текущее напряжение фазы.

Рисунок 19. Детектирование средней точки компаратором.

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

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

Рисунок 20. Вид сигнала фазы при регулировании скорости ШИМ.

Поэтому данный сигнал следует отфильтровать RC фильтром чтобы получить огибающую, а так же разделить под требования компаратора. По мере увеличения скважности шим сигнал будет возрастать по амплитуде (рисунок 22).

Рисунок 21. Схема делителя и фильтра сигнала с фазы двигателя.

Рисунок 22. Огибающая сигнала при изменении скважности ШИМ.

Рисунок 23. Вид виртуальная средней точки. Картинка взята с avislab.com/

С фаз снимаются сигналы через токограничительные резисторы и объединяются, получается вот такая картина:

Рисунок 24. Вид осциллограммы напряжения виртуальной средней точки.

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

После прохождения сигнала через фильтр колебания сглаживается и получается ровное напряжение относительно которого можно детектировать пересечение обратной ЭДС.

Рисунок 26. Напряжение после делителя и фильтра низких частот.

Средняя точка будет менять свое значение в зависимости от напряжения (скважности ШИМ), так же как и огибающая сигнала.

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

Источник

Adblock
detector