Силовая часть регулятора 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).
Схема драйвера для бесколлекторного двигателя своими руками
Дельта принтеры крайне требовательны к точности изготовления комплектующих (геометрия рамы, длины диагоналей, люфтам соединения диагоналей, эффектора и кареток) и всей геометрии принтера. Так же, если концевые выключатели (EndStop) расположены на разной высоте (или разный момент срабатывания в случае контактных концевиков), то высота по каждой из осей оказывается разная и мы получаем наклонную плоскость не совпадающая с плоскостью рабочего столика(стекла). Данные неточности могут быть исправлены либо механически (путем регулировки концевых выключателей по высоте), либо программно. Мы используем программный способ калибровки.
Далее будут рассмотрены основные настройки дельта принтера.
Для управления и настройки принтера мы используем программу Pronterface.
Калибровка принтера делится на три этапа:
1 Этап. Корректируем плоскость по трем точкам
Выставление в одну плоскость трех точек — A, B, C (расположенных рядом с тремя направляющими). По сути необходимо уточнить высоту от плоскости до концевых выключателей для каждой из осей.
Большинство (если не все) платы для управления трехмерным принтером (В нашем случае RAMPS 1.4) работают в декартовой системе координат, другими словами есть привод на оси: X, Y, Z.
В дельта принтере необходимо перейти от декартовых координат к полярным. Поэтому условимся, что подключенные к двигателям X, Y, Z соответствует осям A, B, C.(Против часовой стрелки начиная с любого двигателя, в нашем случае смотря на логотип слева — X-A, справа Y-B, дальний Z-C) Далее при слайсинге, печати и управлении принтером в ручном режиме, мы будем оперировать классической декартовой системой координат, электроника принтера сама будет пересчитывать данные в нужную ей систему. Это условность нам необходима для понятия принципа работы и непосредственной калибровки принтера.
Точки, по которым мы будем производить калибровку назовем аналогично (A, B, C) и позиция этих точек равна A= X-52 Y-30; B= X+52 Y-30; C= X0 Y60.
Алгоритм настройки:
- Подключаемся к принтеру. (В случае “крагозяб” в командной строке, необходимо сменить скорость COM порта. В нашем случае с 115200 на 250000 и переподключится)
После чего мы увидим все настройки принтера. - Обнуляем высоты осей X, Y, Z командой M666 x0 y0 z0.
И сохраняем изменения командой M500. После каждого изменения настроек необходимо нажать home (или команда g28), для того что бы принтер знал откуда брать отсчет. - Калибровка принтера производится “на горячую”, то есть должен быть включен подогрев стола (если имеется) и нагрев печатающей головки (HotEnd’а) (Стол 60град., сопло 185 град.) Так же нам понадобится щуп, желательно металлический, известных размеров. Для этих задач вполне подойдет шестигранный ключ (самый большой, в нашем случае 8мм, он предоставляется в комплекте с принтерами Prizm Pro и Prizm Mini)
- Опускаем печатающую головку на высоту (условно) 9мм (от стола, так, что бы сопло еле касалось нашего щупа, т.к. высота пока что не точно выставлена.) Команда: G1 Z9.
- Теперь приступаем непосредственно к настройке наших трех точек.
Для удобства можно вместо g- команд создать в Pronterface четыре кнопки, для перемещения печатающей головки в точки A, B, C, 0-ноль.
Далее командой меняем параметры высоты оси Y: M666 Y <посчитанная величина>
M666 Y0.75
M500
G28
2 Этап. Исправляем линзу
После того как мы выставили три точки в одну плоскость необходимо произвести коррекцию высоты центральной точки. Из за особенности механики дельты при перемещении печатающей головки между крайними точками в центре она может пройти либо ниже либо выше нашей плоскости, тем самым мы получаем не плоскость а линзу, либо вогнутую либо выпуклую.
Корректируется этот параметр т.н. дельта радиусом, который подбирается экспериментально.
Калибровка:
- Отправляем головку на высоту щупа в любую из трех точек стола. Например G1 Z9 X-52 Y-30
- Сравниваем высоту центральной точки и высоту точек A,B,C. (Если высота точек A, B, C разная, необходимо вернутся к предыдущей калибровки.)
- Если высота центральной точки больше остальных, то линза выпуклая и необходимо увеличить значение дельта радиуса. Увеличивать или уменьшать желательно с шагом +-0,2мм, при необходимости уменьшить или увеличить шаг в зависимости от характера и величины искривления (подбирается экспериментально)
- Команды:
G666 R67,7
M500
G28 - Подгоняем дельта радиус пока наша плоскость не выровняется
3 Этап. Находим истинную высоту от сопла до столика
Третьим этапом мы подгоняем высоту печати (от сопла до нижней плоскости — столика) Так как мы считали, что общая высота заведомо не правильная, необходимо ее откорректировать, после всех настроек высот осей. Можно пойти двумя путями решения данной проблемы:
1 Способ:
Подогнав вручную наше сопло под щуп, так что бы оно свободно под ним проходило, но при этом не было ощутимого люфта,
- Командой M114 выводим на экран значение фактической высоты нашего HotEnd’а
- Командой M666 L получаем полное значение высоты (Параметр H)
- После чего вычитаем из полной высоты фактическую высоту.
- Получившееся значение вычитаем из высоты щупа.
Таким образом мы получаем величину недохода сопла до нижней плоскости, которое необходимо прибавить к полному значению высоты и и записать в память принтера командами:
G666 H 235.2
M500
G28
2 Способ:
Второй способ прост как валенок. С “потолка”, “на глаз” прибавляем значение высоты (после каждого изменение не забываем “уходить” в home), добиваясь необходимого значения высоты, но есть шанс переборщить со значениями и ваше сопло с хрустом шмякнется об стекло.
Как сделать авто калибровку для вашего принтера и что при этом авто калибрует принтер вы узнаете из следующих статей.