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

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

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

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

 Я начинал изучение схемотехники драйвера бесколлекторного двигателя по апноте Atmel «AVR492: Управление бесколлекторным электродвигателем постоянного тока с помощью AT90PWM3» Она есть на русском языке. Немного пояснений: «Для управления БКЭПТ используется силовой каскад, состоящих из 3 полумостов. Схема силового каскада показана на рисунке 4.»
Здесь силовой каскад — это 6 транзисторов, схематично показанных ключами CmdSW, полумост — пара транзисторов, соединенных последовательно между «+» и «-» питания, например CmdSW1, CmdSW2. A, B, C — выводы обмоток двигателя, соединение обмоток между собой как у асинхронных двигателей.

Эта схема позволяет току протекать между фазами A, B, C в любом направлении. Например если замкнуть ключ CmdSW1 и CmdSW4, то ток потечет от вывода A к выводу B, а если замкнуть CmdSW3 и CmdSW2 — от вывода В к выводу A. А если замкнуть CmdSW1 и CmdSW2 — получится короткое замыкание с выгоранием транзисторов, так что управлять транзисторами нужно осторожно. Кстати для управления коллекторым двигателем с реверсом нужно 2 полумоста, без реверса — 1 транзистор.
  Для регулирования силы тока в фазе используют широтно-импульсную модуляцию (ШИМ). Например часть времени открывают ключи CmdSW1, CmdSW4 и ток начинает течь от «A» к «B», затем закрывают CmdSW1 и открывают CmdSW2 и за счет индуктивности обмоток ток продолжить течь по кольцу  A-B-CmdSW4-«земля»-CmdSW2. Кстати в транзисторы встроены диоды, проводящие ток в обратном направлении. Так что если во второй фазе ШИМ разомкнуть все транзисторы, то в обмотке начнет расти напряжение и через эти диоды энергия из обмоток начнет возвращаться в сеть.
   Эта схема из 6 транзисторов называется трехфазным инвертором и применяется для преобразования постоянного тока в трехфазный переменный для питания как бесколлекторных, так и асинхронных двигателей. Для бесколлекторных двигателей применяются низковольтные полевые транзисторы (MOSFET), для асинхронных двигателей — высоковольтные биполярные транзисторы с изолированным затвором (IGBT). С помощью этой схемы можно осуществлять и рекуперацию. Её используют все и лучше не сделать.

  Как инвертор бывает оформлен в зависимости от мощности двигателя:

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

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

Вот первый пример реализации инвертора — авиамодельный, самый дешевый. Фото с двух сторон.

 На одной стороне видно 6 транзисторов в корпусах SOIC. (3 N-канальных, 3 P-канальных), на другой стороне микроконтроллер ATMEGA8 и линейный стабилизатор для получения 5В питания. Ещё есть электролитический конденсатор и всякая мелочь — резисторы с конденсаторами. И всё. Дешево и сердито. Цена в рознице около 1000р. Микроконтроллер напрямую управляет затворами транзисторов. Греется такой контроллер довольно сильно, но так как он устанавливается на авиамодели, то хорошо обдувается. Разумеется есть более продвинутые модели, это просто пример упрощения и миниатюризации.

А вот фотография демо-платы от Atmel

 
Предполагается, что можно купить её и сразу начать программировать контроллер, пытаться крутить двигатель. Я решил не покупать, возможно зря. Во всяком случае к ней неплохо бы продавать сразу запасные транзисторы, я их сжег не один раз. И контроллер пару раз. Собственно 6 транзисторов справа, контроллер слева, драйвера транзисторов на другой стороне.

Схема моего драйвера с пояснениями

Я решил не делать простейший драйвер с тем, чтобы расширить возможности его применения, при необходимости несложно будет упростить. Схема разбита на 3 части. Она не такая наглядная, как в апноте Atmel, но постараюсь всё пояснить.

Первая часть — силовая

 
Силовые транзисторы VT1-VT6 управляются микросхемами-драйверами DA1-DA3. Транзисторы я выбрал IRLR3705 как одни из наиболее мощных в корпусе D-Pak на напряжение 55V с сопротивлением 8мОм. Я рассчитывал на напряжение работы 36В плюс запас. В принципе можно ставить транзисторы на радиаторы и использовать корпуса TO-220, но я решил не усложнять монтаж и паять транзисторы на плату. В таком случае для меньших мощностей можно ставить транзисторы в корпусе soic, а для больших — в D2-Pak.  Драйвера взял самые мощные из полумостовых от фирмы International Rectifier — irf2186s с током управления до 4A. Получился большой запас, но самые простые драйвера ir2101 из апнота атмел (ток 130/270мА) с мощными транзисторами справлялись плохо, разница в нагреве транзисторов была ощутима. Полумостовой драйвер управляет двумя транзисторами — верхним и нижним, для управления верхним транзистором нужно высокое напряжение, которое получается по бустрепной схеме питания с помощью диода и конденсатора (например C6, DD7), эта схема наиболее проста и принцип её можно легко найти в интернете. Можно было взять одну микросхему full-brige для управления сразу шестью транзисторами, но у меня разводка с ней получалась хуже. Между затворами транзисторов и драйверами — резисторы с диодом. Они ограничивают ток затвора, причем ток зарядки почти в 2 раза больше. Тут следующая логика — чем больше ток, тем меньше греются транзисторы при переключении, но растут всплески напряжения. Поэтому номинал резисторов нужно уменьшать до какого-либо разумного предела. Причем транзистор открывается медленнее, чем закрывается, поэтому ток зарядки я сделал больше. Сигнальные выводы драйверов подтянуты к земле на всякий случай, чтоб не сработали когда нет сигналов управления. В целом здесь всё почти так же, как в апноте атмел. Датчики холла также подключил как в апноте, здесь ничего интересного. Питание, силовые Выводы транзисторов и выводы датчиков холла выведены на клеммник X1. Для защиты от короткого замыкания нужно контролировать ток. Для этого служат резисторы R19, R21 суммарным сопротивлением 0,005Ом (в апноте был резистор 0,1Ом), падение напряжение на них усиливается микросхемой LM358 и идет на компаратор и АЦП контроллера. Реализация у меня получилась не очень удачной, но в большинстве случаев защита срабатывает. Неплохо было бы ставить переменный резистор, чтобы пользователь мог задавать порого срабатывания защиты, но это как-нибудь потом ). Также в контроллер заведен сигнал V_IN_MEAS, пропорцональный входному напряжению. Сделано это, чтобы не давать работать драйверу при входном напряжении более 36В, но защиту я пока не включил.  

Следующая часть схемы — питание логических элементов.

Из входного питания 24..36В нужно получить 12В для питания драйверов транзисторов и 5В для  остальной логики

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

Обе эти микросхемы имеют максимально допустимое напряжение 35В. Для гашения возможного излишнего напряжения предназначена конструкция из транзисторов VT7, VT8 и стабилитрона VD3.

Последняя часть схемы — микроконтроллер AT90PWM3B с обвязкой.

  • 6 выводов PSCOUT_XX используются для управления драйверами транзисторов.
  • 3 вывода HALL_X используются для отслеживания датчиков холла двигателя.
  • 3 вывода задействованы на микропереключатель SA1 — он служит для переключения интерфейсов  драйвера (RS485 либо переменный резистор с кнопками), выбора числа пар полюсов подключенного двигателя (2 либо 4) и для проведения калибровки двигателя (определение положения датчиков холла)
  • 3 вывода задействованы для управления микросхемой-драйвером RS485
  • 6 выводов задействованы под вариант традиционного управления драйвером — с кнопками и переменным резистором. 4 кнопки служат для включения/выключения (Enable), реверса(F/R), тормоза(Brake) и выбора режима поддержания скорости(Mode). Еще один вывод Speed(analog) для переменного резистора задания скорости и на последний выход Hall_out подаются импульсы при срабатывании датчиков холла. Эти выводы и выводы интерфейса RS485 выведены на клеммник X3.
  • 2 вывода задействованы для контроля сигнала токового шунта ERROR_ADC. Один для быстрого срабатывания защиты, другой для грубой оценки потребляемого тока.
  • 1 вывод для контроля входного напряжения V_IN_MEAS
  • 1 вывод для светодиода VD5, полезного для индикации различных событий.
Также на схеме есть разъем программирования контроллера X2

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

Бесколлекторный мотор GoolRC типоразмера 3660 для настольной сверлилки

Нестандартное использование бесколлекторного мотора, в любительских целях.
Мотор 3660 мощный, позволяет устанавливать патроны на вал 5 мм.
Профильное назначение — двигатель для р/у машинок и прочей техники в масштабе 1:10, 1:8.

За подробностями под кат

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

Содержание и быстрая навигация по тексту:

Введение и общая информация
Характеристики комплекта
Посылка, упаковка, комплект поставки
Внешний вид двигателя GoolRC 3660
Внешний вид ESC контроллера
Внешний вид сервомашинки
Использование и способ подключения
Заключение

Введение и общая информация

Наверх

Бесколлекторный (или вентильный) двигатель — это разновидность электродвигателя переменного тока, у которого коллекторно-щеточный узел заменен бесконтактным полупроводниковым коммутатором, управляемым датчиком положения ротора. Иногда можно встретить такую аббревиатуру: BLDС — это brushless DC motor. Для простоты буду называть его двигатель-бесколлекторник или просто БК.

Бесколлекторные двигатели достаточно популярны из-за своей специфики: отсутствуют расходные материалы типа щеток, отсутствует угольная/металлическая пыль внутри от трения, отсутствуют искры (а это огромное направление взрыво и огне безопасных приводов/насосов). Используются начиная от вентиляторов и насосов заканчивая высокоточными приводами.
Основное применение в моделизме и любительских конструкциях: двигатели для радиоуправляемых моделей.

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


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

БК моторы для р/у техники бывают различных типоразмеров и исполнения. Одни из самых мощных это серии 22 мм, 36 мм и 40/42 мм. По конструкции они бывают с внешним ротором и внутренним (Outrunner, Inrunner). Моторы с внешним ротором по факту не имеют статичного корпуса (рубашки) и являются облегченными. Как правило, используют в авиамоделях, в квадракоптерах и т.п.
Двигатели с внешним статором проще сделать герметичными. Подобные применяют для р/у моделей, которые подвергаются внешним воздействиям тип грязи, пыли, влаги: багги, монстры, краулеры, водные р/у модели).
Например, двигатель типа 3660 можно запросто установить в р/у модель автомобиля типа багги или монстра и получить массу удовольствия.

Также отмечу различную компоновку самого статора: двигатели 3660 имеют 12 катушек, соединенных в три группы.
Это позволяет получить высокий момент на валу. Выглядит это примерно так.

Соединены катушки примерно вот так

Если разобрать двигатель и извлечь ротор, то можно увидеть катушки статора.
Вот что внутри 3660 серии

еще фото

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

Так вот, с целью установки в любительский станок для сверления и гравировки был взят набор бесколлекторного двигателя вместе с ESC контроллером
GoolRC 3660 3800KV Brushless Motor with ESC 60A Metal Gear Servo 9.0kg Set

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

Общие требования при выборе мотора были следующие:
— Количество оборотов/вольт не менее 2000, так как планировалось использование с низковольтными источниками (7.4…12В).
— Диаметр вала 5мм. Рассматривал варианты с валом 3.175 мм (это серия 24 диаметра БК двигателей, например, 2435), но тогда бы пришлось докупать новый патрон ER11. Есть варианты еще мощнее, например, двигатели 4275 или 4076, с валом 5 мм, но они соответственно дороже.

Характеристики комплекта
Наверх

Характеристики бесколлекторного мотора GoolRC 3660:
Модель: GoolRC 3660
Мощность: 1200W
Рабочее напряжение: до 13V
Предельный ток: 92A
Обороты на вольт (RPM/Volt): 3800KV
Максимальные обороты: до 50000
Диаметр корпуса: 36mm
Длина корпуса: 60mm
Длина вала: 17mm
Диаметр вала: 5mm
Размер установочных винтов: 6 шт * M3 (короткие, я использовал М3*6)
Коннекторы: 4mm позолоченные «бананы» male
Защита: от пыли и влаги

Характеристики ESC контроллера:
Модель: GoolRC ESC 60A
Продолжительный ток: 60A
Пиковый ток: 320A
Применяемый аккумуляторные батареи: 2-3S Li-Po / 4-9S Ni-Mh Ni-Cd
BEC: 5.8V / 3A
Коннекторы (Вход): T plug male
Коннекторы (вызод.): 4mm позолоченные «бананы» female
Размеры: 50 х 35 х 34mm (без учета длины кабелей)
Защита: от пыли и влаги

Характеристики сервомашинки:
Рабочее напряжение: 6.0V-7.2V
Скорость поворота (6.0V): 0.16sec/60° без нагрузки
Скорость поворота (7.2V): 0.14sec/60° без нагрузки
Момент удержания (6.0V): 9.0kg.cm
Момент удержания (7.2V): 10.0kg.cm
Размеры: 55 х 20 х 38mm (Д * Ш * В)

Параметры комплекта:
Размер упаковки: 10.5 х 8 х 6 см
Масса упаковки: 390 гр
Фирменная упаковка с логотипом GoolRC

Состав комплекта:
1 * GoolRC 3660 3800KV Motor
1 * GoolRC 60A ESC
1 * GoolRC 9KG Servo
1 * Информационный листок

Размеры для справки и внешний вид двигателя GoolRC 3660 с указанием основных моментов

Посылка, упаковка, комплект поставки
Наверх

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

Доставлялась альтернативной почтовой службой, не почтой России, о чем и гласит транспортная накладная

В посылке фирменная коробочка GoolRC

Внутри комплект бесколлекторного двигателя типоразмера 3660 (36х60 мм), ESC-контроллера для него и сервомашинки с комплектом

Теперь рассмотрим весь комплект по отдельным составляющим. Начнем с самого главного — с двигателя.

Внешний вид двигателя GoolRC 3660
Наверх

БК двигатель GoolRC представляет собой цилиндр из алюминия, размеры 36 на 60 мм. С одной стороны выходят три толстых провода в силиконовой оплетке с «бананами», с другой стороны вал 5 мм. Ротор с двух сторон установлен на подшипниках качения. На корпусе присутствует маркировка модели

Еще фотография. Внешняя рубашка неподвижная, т.е. тип мотора Inrunner.

Маркировка на корпусе

С заднего торца видно подшипник

Заявлена защита от брызг и влаги
Выходят три толстых, коротких провода для подключения фаз: u v w. Если будете искать клеммы для подключения — это бананы 4 мм

Провода имеют термоусадку разного цвета: желтый, оранжевый и синий

Размеры мотора: диаметр и длина вала совпадают с заявленными: Вал 5х17 мм


Габариты корпуса двигателя 36х60 мм


Сравнение с коллекторным 775 двигателем

Сравнение с б/к шпинделем на 300Вт (и ценой около $100). Напоминаю, что у GoolRC 3660 заявлена пиковая мощность 1200Вт. Даже если использовать треть мощности, все равно это дешевле и больше, чем у этого шпинделя

Сравнение с другими модельными двигателями

Для корректной работы двигателя потребуется специальный ESC контроллер (который есть в комплекте)

Внешний вид ESC контроллера
Наверх

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

На фото контроллер GoolRC ESC 60A по сравнению с «младшим» братом ESC 20A

Обратите внимание: присутствует тумблер выключения-выключения на отрезке провода, который можно встроить в корпус устройства/игрушки

Присутствует полный комплект разъемов: входные Т-коннекторы, 4 мм бананы-гнезда, 3-пиновый вход управляющего сигнала

Силовые бананы 4 мм — гнезда, маркируются аналогично по цветам: желтый, оранжевый и синий. При подключении перепутать можно только умышленно

Входные Т-коннекторы. Аналогично перепутать полярность можно если вы очень сильный)))))

На корпусе присутствует маркировка с названием и характеристиками, что очень удобно

Охлаждение активное, работает и регулируется автоматически.

Для оценки размеров приложил PCB ruller

Внешний вид сервомашинки
Наверх

В наборе также присутствует сервомашинка GoolRC на 9 кг.

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

Макрофото вала сервомашинки

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

На самом деле интересно проверить заявленные зарактеристики — это металлический комплект шестерен внутри. Разбираем сервомашинку. Корпус сидит на герметике по кругу, а внутри присутствует обильная смазка. Шестерни и правда металлические.

Фото платы управления сервой

Использование и способ подключения
Наверх

Для чего все это затевалось: для того, чтобы попробовать БК двигатель как сверлилку/гравировалку. Все таки заявлена пиковая мощность 1200Вт.
Я выбрал проект сверлильного станка для подготовки печатных плат на thingiverse. Там есть множество проектов для изготовления светильного настольного станка. Как правило, все эти проекты малогабаритные и предназначены для установки небольшого двигателя постоянного тока.

Я выбрал один из популярных проектов и доработал крепление в части держателей двигателя 3660 (родной двигатель был меньше и имел другие размеры креплений)

Привожу чертеж посадочных мест и габаритов двигателя 3660

В оригинале стоит более слабый двигатель. Вот эскиз крепления (6 отверстий для М3х6)

Скрин из программы для печати на принтере

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

Мотор 3660 с установленным цанговым патроном типа ER11


Для подключения и проверки БК мотора потребуется собрать следующую схему: источник питания, сервотестер или плата управления, ESC-контроллер двигателя, двигатель.
Я использую самый простой сервотестер, он также дает нужный сигнал. Его можно использовать для включения и для регулировки оборотов двигателя

При желании можно подключить микроконтроллер (Ардуино и т.п.). Привожу схему из интернета с подключением аутраннера и 30А контроллера. Скетчи найти не проблема.

Соединяем все, по цветам.

Источник показывает, что холостой ток контроллера небольшой (0.26А)

Теперь сверлильный станок.
Собираем все и крепим на стойку


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

Еще одно применение подобного 3660 БК двигателя — в качестве шпинделя станков для сверления и фрезеровки печатных плат



Про сам станок обзор доделаю чуть позже. Будет интересно проверить гравировку печатных плат с помощью GoolRC 3660

Заключение
Наверх
Двигатель качественный, мощный, крутящий момент с запасом подойдет под любительские цели.
Конкретно живучесть подшипников при боковом усилии при фрезеровки/гравировки покажет время.
Определенно существует выгода применения модельных двигателей в любительских целях, а также простота работы и сборки конструкций на них по сравнению с шпинделями для ЧПУ, которые дороже и требуют специального оборудования (источники питания с регулировкой оборотов, драйверы, охлаждение и т.п.).

При заказе пользовался купоном SALE15 со скидкой 5% на все товары магазина.

Спасибо за внимание!

Схема регулятора скорости бесколлекторного двигателя (ESC) — Avislab

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

Контроллер — ATMEGA168. Гурманы могут сказать, что хватило бы и ATMEGA88, а AT90PWM3 — это было бы «вааще по феншую». Первый регулятор я как раз делал «по феншую». Если у Вас есть возможность применять AT90PWM3 — это будет наиболее подходящий выбор. Но для моих задумок решительно не хватало 8 килобайт памяти. Поэтому я применил микроконтроллер ATMEGA168.

Эта схема задумывалась как испытательный стенд. На котором предполагалось создать универсальный настраиваемый регулятор для работы с различными «калибрами» бесколлекторных двигателей: как с датчиками, так и без датчиков положения. В этой статье я опишу схему и принцип работы прошивки регулятора для управления бесколлекторными двигателями с датчиками Холла и без датчиков.

Схема регулятора

Питание

Питание схемы раздельное. Поскольку драйверы ключей требуют питание от 10В до 20В, используется питание 12В. Питание микроконтроллера осуществляется через DC-DC преобразователь, собранный на микросхеме MC34063. Можете применять линейный стабилизатор с выходным напряжением 5В. Предполагается, что напряжение VD может быть от 12В и выше и ограничивается возможностями драйвера ключей и самими ключами.

ШИМ и сигналы для ключей

На выходе OC0B(PD5) микроконтроллера U1 генерируется ШИМ сигнал. Он поступает на переключатели JP2, JP3. Этими переключателями можно выбрать вариант подачи ШИМ на ключи (на верхние, нижние или на все ключи). На схеме переключатель JP2 установлен в положение для подачи ШИМ сигнала на верхние ключи.  Переключатель JP3 на схеме установлен в положение для отключения подачи ШИМ сигнала на нижние ключи. Не трудно догадаться, что если отключить ШИМ на верхних и нижних ключах, мы получим на выходе перманентный «полный вперед», что может разорвать двигатель или регулятор в хлам. Поэтому, не забываем включать голову, переключая их. Если Вам не потребуется такие эксперименты — и Вы знаете, на какие ключи Вы будите подавать ШИМ, а на какие нет, просто не делайте переключателей. После переключателей ШИМ сигнал поступает на входы элементы логики «&» (U2, U3). На эту же логику поступают 6 сигналов с выводов микроконтроллера PB0..PB5, которые являются управляющими сигналами для 6 ключей. Таким образом, логические элементы (U2, U3) накладывают ШИМ сигнал на управляющие сигналы. Если Вы уверены, что будете подавать ШИМ, скажем, только на нижние ключи, тогда ненужные элементы (U2) можно исключить из схемы, а соответствующие сигналы с микроконтроллера подавать на драйверы ключей. Т.е. на драйверы верхних ключей сигналы пойдут напрямую с микроконтроллера, а на нижние — через логические элементы.

Обратная связь (контроль напряжения фаз двигателя)

Напряжение фаз двигателя W,V,U через резистивные делители W — (R17,R25), V — (R18, R24), U — (R19, R23) поступают на входа контроллера ADC0(PC0), ADC1(PC1), ADC2(PC2). Эти выводы используются как входы компараторов. (В примере описанном в AVR444.pdf от компании Atmel применяют не компараторы, а измерение напряжения с помощью ADC (АЦП). Я отказался от этого метода, поскольку время преобразования ADC не позволяло управлять скоростными двигателями). Резистивные делители выбираются таким образом, чтобы напряжение, подаваемое на вход микроконтроллера, не превышало допустимое. В данном случае, резисторами 10К и 5К делится на 3. Т.е. При питании двигателя 12В. на микроконтроллер будет подаваться 12В*5К/(10К+5К) = 4В. Опорное напряжение для компаратора (вход AIN1) подается от половинного напряжения питания двигателя через делитель (R5, R6, R7, R8). Обратите внимание, резисторы (R5, R6) по номиналу такие же, как и (R17,R25), (R18, R24),(R19, R23). Далее напряжение уменьшается вдвое делителем R7, R8, после чего поступает на ногу AIN1 внутреннего компаратора микроконтроллера. Переключатель JP1 позволяет переключить опорное напряжение на напряжение «средней точки» формируемое резисторами (R20, R21, R22). Это делалось для экспериментов и себя не оправдало. Если нет в необходимости, JP1, R20, R21, R22 можно исключить из схемы.

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

Поскольку регулятор универсальный, он должен принимать сигналы от датчиков Холла в том случае, если используется двигатель с датчиками. Предполагается, что датчики Холла дискретные, тип SS41. Допускается применение и других типов датчиков с дискретным выходом. Сигналы от трех датчиков поступают через резисторы R11, R12, R13 на переключатели JP4, JP5, JP6. Резисторы R16, R15, R14 выступают в качестве подтягивающих резисторов. C7, С8, С9 — фильтрующие конденсаторы. Переключателями JP4, JP5, JP6 выбирается тип обратной связи с двигателем. Кроме изменения положения переключателей в программных настройках регулятора следует указать соответствующий тип двигателя (Sensorless или Sensored).

Измерения аналоговы

Запускаем трехфазный двигатель от HDD (контроллер бесколлекторного двигателя)

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

Ответ: столько оборотов в минуту из известных мне двигателей дает только движок от формулы 1 🙂
Не зря трехфазные бесколлекторные двигатели нашли широкое применение в авиамоделизме.
Стандартный бесколлекторный двигатель выглядит примерно так:
бесколлекторный двигатель
Двигатели из CD-ROM/DVD-ROM приводов выглядят так:

В интернете есть даже статьи по переделке бесколлекторного двигателя от CD-ROM для дальнейшего его применения в авиамоделизме.
В переделку обычно входят:
— перемотка другим проводом(тоньше или толще диаметром),
— изменение схемы намотки (звезда или треугольник),
— замена обычных магнитов на ниодимовые.
После чего трехфазный двигатель приобретает дополнительные обороты и мощность.

Я в эксперименте использовал обычный бесколлекторный двигатель от HDD привода, виглядит он так:

Предварительно конечно лучше закрепить его на чем-то, я использовал корпус от того самого HDD привода.

Сам двигатель, который я использовал имеет четыре вывода, что говорит о том, что схема намотки у него в виде звезды с отводом от центра, то есть что-то примерно такое:

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

В схеме использованы драйверы полевых транзисторов IR4427 и сами полевые транзисторы IRFZ44.
Управляющая программа была написана не мною, автор Дмитрий(Maktep) за что ему отдельное спасибо.
Как исключение программа написана на Си для CV-AVR.
ПРограмма транслирована под компилятор WIN GCC.
Частота кварца 8МГц, для устройств с связью по UART рекомендую использовать внешний кварц, так как при тактировании от внутреннего генератора могут появляться ошибки в виду его нестабильной работы при изменении температуры окружающей среды.

  1. #include <avr/io.h>

  2. #include <avr/interrupt.h>

  3. #include <stdio.h>

  4.  

  5. void USART_Init( unsigned int ubrr);

  6. void USART_Transmit( unsigned char data );

  7.  

  8. char status,data;

  9. char state;

  10. unsigned int lvl=65530/4;

  11.  

  12. // USART Receiver interrupt service routine

  13. ISR(USART_RXC_vect)

  14. {

  15. status=UCSRA;

  16. data=UDR;

  17. if (lvl<3000)

  18. { if (data=='+')

  19. lvl--;

  20. else

  21. if (data=='-')

  22. lvl++;}

  23. else

  24. {if (data=='+')

  25. lvl-=lvl/500;

  26. else

  27. if(data=='-')

  28. //if (lvl,/)

  29. lvl+=lvl/500;

  30. }

  31. }

  32.  

  33. // Timer1 output compare A interrupt service routine

  34. ISR(TIMER1_COMPA_vect)

  35. {

  36. switch (state)

  37. {

  38. case 0: PORTC=1; break;

  39. case 1: PORTC=3; break;

  40. case 2: PORTC=2; break;

  41. case 3: PORTC=6; break;

  42. case 4: PORTC=4; break;

  43. case 5: PORTC=5; break;

  44. }

  45.  

  46. if (state<5)

  47. state++;

  48. else

  49. state=0;

  50. }

  51.  

  52.  

  53. void USART_Init( unsigned int ubrr)

  54. {

  55. /* Set baud rate */

  56. UBRRH = (unsigned char)(ubrr>>8);

  57. UBRRL = (unsigned char)ubrr;

  58. /* Enable receiver and transmitter */

  59. UCSRB=(1<<RXEN)|(1<<TXEN);

  60. UCSRB |= (1<< RXCIE);

  61.  

  62. /* Set frame format: 8data, 2stop bit */

  63. UCSRC=0x86;//

  64. UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);

  65. }

  66.  

  67. void USART_Transmit( unsigned char data ) //

  68. {

  69. while ( !(UCSRA & (1<<UDRE)) ); //

  70. UDR = data; //

  71. }

  72.  

  73.  

  74. int main(void)

  75. {

  76. PORTC=0x00;

  77. DDRC=0x07;

  78.  

  79. // Timer/Counter 1 initialization

  80. // Clock source: System Clock

  81. // Clock value: 8000,000 kHz

  82. // Mode: CTC top=OCR1A

  83. // OC1A output: Discon.

  84. // OC1B output: Discon.

  85. // Noise Canceler: Off

  86. // Input Capture on Falling Edge

  87. // Timer1 Overflow Interrupt: Off

  88. // Input Capture Interrupt: Off

  89. // Compare A Match Interrupt: On

  90. // Compare B Match Interrupt: Off

  91. TCCR1A=0x00;

  92. TCCR1B=0x09;

  93. TCNT1H=0x00;

  94. TCNT1L=0x00;

  95. ICR1H=0x00;

  96. ICR1L=0x00;

  97. OCR1AH=0xFF;

  98. OCR1AL=0xFF;

  99. OCR1BH=0x00;

  100. OCR1BL=0x00;

  101.  

  102. // Timer(s)/Counter(s) Interrupt(s) initialization

  103. TIMSK=0x10;

  104.  

  105. USART_Init (8);//28800 4MHz

  106. USART_Transmit('O');

  107. USART_Transmit('k');

  108. USART_Transmit('!');

  109.  

  110. USART_Transmit(0x0d);

  111. USART_Transmit(0x0a);

  112.  

  113. // Global enable interrupts

  114. sei();

  115.  

  116. while (1)

  117. {

  118. OCR1A=lvl;

  119. };

  120. }

Скачать проект Win AVR

Алгоритм работы построен так, что при нажатии на клавиатуре кнопки «+» передается по UART в микроконтроллер, который увеличивает скорость коммутации обмоток. И при нажатии на кнопку «» все выполняется наоборот, то есть обороты двигателя уменьшаются. Для работы устройства дополнительно понадобится UART-RS232 конвертер.

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

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

Видео работы устройства:

В видеоролике показано как я закрепил два кусочка пластика вырезанных из телефонной карточки в виде лепестка и прикрученных к ротору двигателя.

В планах попробовать применить ШИМ для коммутации обмоток. Рассчитываю на повышение мощности, улучшение характеристик разгона двигателя (в частности скорости разгона), повышение КПД.

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

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

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

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

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



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

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

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

Синхронная машина
Синхронная машина управляется от трехфазной сети переменного тока. Двигатель имеет 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 механических градусов.
На рисунке обозначены конечные положения ротора, в промежутках между двумя соседними положениями ротор проворачивается от предыдущего к следующему скоммутированному состоянию. Когда ротор достигает данного конечного положения, должно происходить следующее переключение и ротор будет стремиться к новому заданному положению, так чтобы его вектор магнитного поля стал сонаправлен с вектором электромагнитного поля статора.


        Рисунок 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. Напряжение после делителя и фильтра низких частот.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *