Схема контроллера bldc мотора

Базовая схема для экспериментов с BLDC-моторами (на ATtiny2313)

Представленная ниже схема является основой для экспериментов с bldc-моторами. Для тех, кто не в курсе, BLDC — это одна из разновидностей синхронных моторов, которая используется, например, в винчестерах, сидирумах, дисководах и т.п. (типа таких, как на картинке справа).

Теорию работы синхронных движков в общем виде можно почитать здесь, чуть конкретнее про BLDC — вот здесь.

Схема позволяет организовать необходимое для питания BLDC-моторов трёхфазное напряжение из обычного однофазного (с помощью ШИМ-модуляции).

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

Как видите, нам понадобятся: 1 контроллер ATtiny2313, 3 микрухи спаренных полевиков FDS4542 (N- и P-channel в одном восьминогом корпусе), 6 биполярных транзисторов (я использовал FMMT2222 — маленькие биполярнички в корпусах SOT23 c маркировкой 1P), 3 диода (я взял LL4148) и некоторое количество всяких резисторов и кондёров. (их номиналы будут указаны ниже).

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

То есть каждое из плеч можно включать и выключать независимо от другого, что даёт возможность получить на выходе полумоста три разных состояния: Hi — выход полумоста подключен к питанию (верхний полевик открыт, нижний — закрыт), Lo — выход полумоста подключен к общему проводу (верхний полевик закрыт, нижний — открыт) и Z — выход полумоста отключен и от питания, и общего провода (оба полевика закрыты).

В принципе, можно получить ещё и четвёртое состояние — когда оба полевика открыты, но в этом случае получится КЗ и один из полевиков просто сгорит. Поэтому такое состояние мы будем считать запрещённым и с ним нам как раз придётся всеми способами бороться.

В схеме предусмотрено отдельное питание для схемы управления (+5В) и для силовой части (+12В), поэтому для верхнего плеча пришлось делать развязку на транзисторах T1, T2. Два транзистора были использованы для того, чтобы умощнить эту развязку и сделать её характеристику симметричной, чтобы она могла не только быстро заряжать, но и разряжать затвор верхнего полевика (то есть это ещё и драйвер).

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

Резисторы R7, R8 — это необязательные подтяжки, назначение которых — предотвратить самопроизвольные открытия полевиков в тот момент, когда ноги микроконтроллера ещё не настроены на выход и находятся в Z-состоянии (при старте). Соответственно, номиналы этих резисторов не очень важны, они просто должны быть намного больше номиналов резисторов R5 и R6, чтобы не мешать нормальной работе схемы после запуска контроллера. Более того, поскольку нам главное, чтобы полевики оба сразу не открылись (если один откроется — шут с ним), можно оставить только R8. Я так и сделал, — взял номинал резистора R8 равным 10 кОм, а резистор R7 вообще выкинул.

Стоит отметить, что помимо функции подтяжки, R7 может выполнять ещё и функцию борьбы с наводками на линию управления транзистором T2. Ток в этой линии очевидно будет гораздо меньше, чем через R5 и в случае, если такие наводки всё же будут, резистор R7 придётся вернуть (это если вы свою разводку платы будете делать).

Ну что, дальше давайте считать. Исходить будем из двух предпосылок: 1) полевиками нужно рулить максимально быстро, но без фанатизма; 2) высшая математика — удовольствие на любителя (особенно когда есть осциллограф и можно всё проверить на практике). В связи с этими, особой точностью и правильностью я увлекаться не буду, но, по крайней мере, рассчёты позволят на что-то ориентироваться.

Начнём с нижнего полевика (N-канальник). Для максимально быстрого управления этим полевиком нам нужно выжать с ноги микроконтроллера максимальный ток и в то же время эту ногу не поджарить.

Пиковый ток на ногу в документации на ATtiny2313 не указан, поэтому будем исходить из значений, указанных в Absolute maximum ratings — 40 мА. При этом максимальный ток у нас будет протекать в самом начале заряда, когда разность потенциалов на затворе и ножке микроконтроллера максимальна. Таким образом, получается R5=5В/40мА=125 Ом. Ближайшее большее значение стандартного номинала — 150 Ом, но мы возьмём 200 Ом, чтобы был небольшой запас. Максимальный ток при этом получится 5/200=25 мА.

Теперь давайте оценим время переключения нашего полевика с резистором 200 Ом в затворе. Оценить это время можно по формуле t=Qg/I, где Qg — total gate charge (берём из документации на FDS4542), I — ток драйвера (мы возьмём максимальный расчётный зарядный ток, чтобы точно не ошибиться в меньшую сторону). Получаем t=28 нК / 25 мА = 1,12 мкс.

Зачем нам нужно время переключения? Очень просто. Когда мы будем писать программу управления — мы должны будем учитывать, что полевики закрываются не мгновенно и вводить задержки между закрытием полевика в одном плече и открытием полевика в другом плече, во избежание возникновения сквозных токов (когда полевики в обоих плечах приоткрыты).

Читайте также:  Дым с сапуна двигателя камаз

Переходим к P-канальному полевику. Тут ситуация попроще и ногу контроллера нам нагружать не нужно, зато нужно не спалить биполярные транзисторы и диод.

Резисторы R1 и R3 в обвязке p-канальника — это просто высокоомные подтяжки и их номиналы не должны нас особо сильно волновать, поэтому я для начала взял их по 10 кОм (чтобы токи через них можно было не учитывать) и про них забыл.

Затворные токи здесь определяются резисторами R2 и R4, а сама обвязка работает следующим образом: при открытии транзистора T2 потенциал базы транзистора T1 падает ниже потенциала его эмиттера, T1 закрывается, а затвор полевика разряжается через диод и резистор R4; при закрытии транзистора T2 потенциал базы транзистора T1 растёт быстрее, чем на его эмиттере, что приводит к открытию T1 и резкому заряду затвора через R2.

Сначала разберёмся с зарядом. По документации ток через FMMT2222 может быть до 600 мА, а для LL4148 — до 450 мА импульсный и до 150 постоянный, поэтому ориентироваться будем на диод и возьмём для расчётов, скажем 150 мА (чтобы ничего сильно не грелось). Исходя из этого, получим сопротивление резистора R4 = (12-0,5)В/150мА = 76,6 Ом. Далее аналогично, — возьмём ближайший стандартный номинал больше расчётного — 100 Ом. Пересчитываем обратно в ток, получаем I = 115 мА. Ну что ж, пусть будет так. При этом время заряда можно оценить на уровне t = 36 нК / 115 мА = 313 нс.

Чтобы сильно не заморачиваться, возьмём R2 такого же номинала, как и R4, и будем считать, что время закрытия будет примерно такое же, как и время открытия.

Теперь проверим, насколько правильно мы выбрали R1. Чтобы транзистор T1 нормально открывался, ток базы должен быть не более чем в h21 раз меньше тока коллектора. Ток коллектора у нас 100 мА, h21 (из доки) не менее 35, значит ток базы нам нужен не менее 2,86 мА. А он у нас получается 12В/10кОм = 1,2 мА. Ну, тогда возьмём R1 = 3,3 кОм. В этом случае ток базы = 12/3,3 = 3,6 мА. Так и оставим.

Тот же расчёт проделаем для транзистора T2. Ток коллектора у него такой же, как и у T1, значит ток базы тоже должен быть не менее 2,86 мА. Значит R6 должен иметь номинал менее 5/2,86=1,75 кОм. Возьмём с запасом резистор на 1 кОм.

В итоге получилось: R1=3,3 кОм, R2=R4=100 Ом, R3=10 кОм, R5=200 Ом, R6=1 кОм, R7 мы выкинули, R8=10 кОм. При этом время переключения нижнего полевика мы ожидаем на уровне 1,12 мкс, а верхнего — на уровне 313 нс.

Что у нас осталось? Во-первых, конденсаторы. С1=С2=20 пФ, С3=100 мкФ, С4=0,1 мкФ. При проектировании платы C3,C4 нужно расположить как можно ближе к силовым ногам ключей. Во-вторых, на схеме не полностью показана обвязка микроконтроллера. Нужно подтянуть ногу MCLR к питанию через резистор 1 — 10 кОм, а так же поставить конденсатор 0,1 мкФ между питанием и общим проводом поближе к ножкам контроллера.

Что ж, — собираем и тестим.

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


Как видите, наши рассчёты дали примерно адекватные результаты, по крайней мере корректировать ничего не нужно.

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

Небольшое видео, демонстрирующее работу устройства

Силовая часть регулятора BLDC двигателей (RU)

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

Выбор силовых транзисторов

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

Надо выбирать транзисторы по постоянному току, и не обращать внимание на параметры, указанные для импульсного режима. При выборе транзистора учитывается только значение постоянного тока. В данном случае — 195А.

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

При этом обязательно следует применять указанные на схеме резисторы. Их номинал — единицы Ом, но благодаря им соединены параллельно транзисторы открываются одновременно. Если эти резисторы не ставить, может возникнуть ситуация, когда один из транзисторов открывается, а остальные — еще нет. За это короткое время вся мощность сваливается на один транзистор и выводит его из строя. Об определении номинала этих резисторов говорится ниже. Два транзистора, включенных параллельно, выдерживают вдвое больший ток. 3 — в 3 раза больше. Но не следует злоупотреблять этим и строить ключи из большого количества мелких транзисторов.

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

Читайте также:  Кап ремонт пожарного автомобиля

Кроме указанных выше параметров, следует поинтересоваться максимальной температурой работы транзистора и будет ли он выдерживать необходимый ток при этой температуре. Одна из важнейших характеристик — это сопротивление открытого транзистора. Его значения могут достигать нескольких миллиом. На первый взгляд — очень мало, но при больших токах на нем будут выделяться значительные объемы тепла, которое придется отводить. Мощность, которая будет греть транзистор в открытом состоянии, рассчитывается по формуле:

P=Rds*Id^2

Где: Rds— сопротивление открытого транзистора; Ids – ток, который протекает через транзистор.

Отже, якщо транзистор irfp4468pbf має опір 2.6 мOм, то під час пропускання струму 195 А на ньому буде виділятися 98.865 Ватт тепла. У випадку мостової трьохфазної схеми у кожний момент часу відкриті тільки два ключі. Тобто, на двох відкритих транзисторах буде виділятися однакова кількість тепла (по 98.865 Вт, загалом — 197.73 Вт). Але вони працюють не весь час, а по черзі — парами, тобто кожна пара ключів працює 1/3 часу. Отже правильно сказати, що загалом на всіх ключах буде виділятися 197.73 Вт тепла, а на кожному з ключів (98.865 / 3 = 32.955 Вт). Слід забезпечити відповідне охолоджування транзисторів.

Итак, если транзистор irfp4468pbf имеет сопротивление 2.6 мOм, то при токе 195 А на нем будет выделяться 98.865 Ватт тепла. В случае мостовой трехфазной схемы в каждый момент времени открыты только два ключа. То есть, на двух открытых транзисторах будет выделяться одинаковое количество тепла (по 98.865 Вт, в общем — 197.73 Вт). Но они работают не все время, а по очереди — парами, то есть каждая пара ключей работает 1/3 времени. Так что правильно сказать, что в целом на всех ключах будет выделяться 197.73 Вт тепла, а на каждом из ключей (98.865 / 3 = 32.955 Вт). Следует обеспечить соответствующее охлаждение транзисторов.

Но есть одно «но»

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

Уявімо, що ми маємо загрузку 0.55 Ом. Напруга живлячої мережі 100В. При повністю відкритих ключах отримаємо струм 100/0.55 = 181 А. Транзистор закривається і в деякий момент його опір сягає 1 Ом. У цей час через нього тече струм 100/(1+0,55)=64.5А Пам`ятаєте формулу, за якою обчислюється теплова потужність? Виходить, що в цей, дуже короткий, час теплові втрати на транзисторі (1+0.55)*(64.5^2) = 6448 Вт. Що значно більше ніж при відкритому ключі. Коли опір транзистора зросте до 100 Ом втрати будуть 99.45 Вт. Коли опір транзистора зросте до 1 КОм втрати будуть 9.98 Вт. Коли опір транзистора зросте до 10 КОм втрати будуть 0.99 Вт.

Представим, что мы имеем нагрузку 0.55 Ом. Напряжение питающей сети 100В. При полностью открытых ключах получим ток 100 / 0.55 = 181 А. Транзистор закрывается и в некоторый момент его сопротивление достигает 1 Ом. В это время через него течет ток 100 / (1 + 0,55) = 64.5А. Помните формулу, по которой вычисляется тепловая мощность? Получается, что в этот очень короткий момент тепловые потери на транзисторе (1 + 0.55) * (64.5 ^ 2) = 6448 Вт. Что значительно больше чем при открытом ключе. Когда сопротивление транзистора возрастет до 100 Ом потери будут 99.45 Вт. Когда сопротивление транзистора возрастет до 1 кОм потери будут 9.98 Вт. Когда сопротивление транзистора возрастет до 10 кОм потери будут 0.99 Вт.

Если вы создадите очень мощную систему охлаждения, а в транзисторе будет образовываться больше тепла чем он физически сможет отвести от себя (смотри: Maximum Power Dissipation), он сгорит.

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

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

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

Драйверы MOSFET ключей

Да, в этом случае в качестве драйверов выступают биполярные транзисторы. Это также допустимо. Есть также схемы, где в качестве верхних ключей используются транзисторы с P-каналом, в качестве нижних — с N-каналом. То есть, используется два типа транзисторов, что не всегда удобно. К тому же P-канальные транзисторы большой мощности почти невозможно найти. Обычно использование такое сочетание транзисторов с различными каналами применяют в маломощных контроллерах для упрощения схемы.

Использовать однотипные транзисторы, обычно только N-канальные, значительно удобнее, однако это требует соблюдения некоторых требований по управления верхними транзисторами моста. Напряжение на затвор транзисторов надо подавать относительно их истоков (Source). В случае нижнего ключа вопросов не возникает, его виток (Source) присоединен к земле и мы можем спокойно подавать напряжение на затвор нижнего транзистора относительно земли. В случае верхнего транзистора все несколько сложнее, поскольку напряжение на его истоке (Source) изменяется относительно земли.

Читайте также:  Куда прикручивается колесо у машины

Объясню. Представим, что верхний транзистор открыт, через него протекает ток. В таком состоянии на транзисторе падает достаточно малое напряжение и можно сказать, что напряжение на истоке Source верхнего транзистора практически равно напряжению питания двигателя. Кстати, чтобы удерживать верхний транзистор открытым, нужно подать на его затвор напряжение, выше напряжение на его истоке (Source), то есть — выше напряжение питания двигателя.

Если верхний транзистор закрыт, а нижний открыт, то на истоке (Source) верхнего транзистора напряжение достигает практически нулю.

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

Выбор драйвера и их многообразие

Большинство драйверов питаются напряжением 10-20В и поддерживают входные сигналы различных уровней -3.3В, 5В, 15В.

Существуют драйверы для трехфазных мостовых схем, например: IR3230, IRS2334, IRS2334, IR21363, IR21364, IR21365, IR21368, IRS2336, IRS23364D, IRS2336D, IRS26310DJ, IR2130, IR2131, IR2132, IR2133, IR2135, IR2136, IRS2330, IRS2330D, IRS2332, IRS2332D, IR2233, IR2235, IR2238Q, IRS26302DJ. Такие драйверы ключей могут стать самым подходящим вариантом. К тому же в некоторых трехфазных драйверах есть дополнительная возможность для обеспечения защиты ключей от слишком большого тока и т.п. Довольно интересная серия драйверов IRS233x (D). Она обеспечивает широкий спектр защит, в том числе защиту от негативных скачков напряжения, защита от короткого замыкания, от перегрузки, защита от снижения напряжения в шине, от снижения напряжения питания, защита от перекрестного включения.

Один из важнейших показателей драйверов — это максимальный выходной ток. Обычно от 200мА до 4000мА. Может показаться что 4 Ампера — это слишком. Но все решает калькулятор. Как отмечалось выше скорость переключения ключей — очень важная вещь. Чем мощнее драйвер, тем меньше времени тратится на переключение ключей. Примерно рассчитать время переключения ключей можно по формуле:

ton = Qg*(Rh+R+Rg)/U

Где: Qg – полный заряд затвора полевого транзистора; Rh – внутреннее сопротивление драйвера. Рассчитывается как U/Imax, где U — напряжение питания драйвера, Imax — максимальной выходной ток. Обратите внимание, что максимальной выходной ток может быть различным для верхнего и нижнего транзистора; R – сопротивление резистора в цепи затвора; Rg – внутреннее сопротивление затвора транзистор; U – напряжение питания драйвера.

Например, если мы используем транзистор irfp4468pbf и драйвер IR2101 с максимальным током 200мА. А в цепи затвора резистор 20 Ом, тогда время переключения транзистора:

540*(12/0.2 + 20 + 0.8)/12 = 3636 нС

Заменив драйвер на IR2010, с максимальным током — 3А, и резистором в цепи затвора — 2ом, получим такое время переключения:

540*(12/3+2+0.8)/12 = 306 нС

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

Расчет резисторов в цепи затвора

Я выработал для себя такое правило: сопротивление резистора в цепи затвора полевого транзистора должен быть не менее, чем внутреннее сопротивление драйвера, разделен на 3 Например, драйвер IR2101 питается напряжением 12В, максимальный ток — 0,25А. Его внутреннее сопротивление: 12В / 0,25 = 48Ом. В данном случае резистор в цепи затвора полевого транзистора должно быть больше, чем 48/3 = 16 Ом. Если время переключения транзисторов с выбранными резисторами не устраивает, следует выбрать более мощный драйвер.

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

Иногда к цепи затвора транзистора добавляют диода с резистором или без.

Это делается для того, чтобы увеличить скорость закрывания ключа. Для того чтобы защитить транзистор от чрезмерного напряжения Vgs иногда используют стабилитроны присоединены к затвору (Gate) и истоком (Sources) транзистора. Перед тем как использовать стабилитрон, выясните какая у него емкость. Обычные стабилитроны могут иметь существенную паразитную емкость, может значительно ухудшить ситуацию с временем открытия транзистора.

Защитные диоды

Во многих силовых транзисторах уже есть внутренние защитные диоды и нет необходимости использовать внешние диоды. Но не забудьте это проверить в документации на транзистора.

Dead-Time

Датчики тока

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

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

Оцените статью