PWD13F60 + STM32F4: инвертор на 1 кВт в кармане +81


После написания статьи о принципах работы DC/AC преобразователей, достаточно много людей в комментариях просили пример реализации данной идеи в железе. Я обещал по возможности порадовать их чем-то интересным и эта возможность мне выпала. Поэтому данная статья в первую очередь посвящается людям, которые жаждали «железа».

Несколько недель назад один из моих знакомых, зная, что я люблю силовую электронику, скинул мне сообщение в котором была рекламная ссылка от STMicroelectronics. В данной ссылки расказывалось о новом решение от ST в области силовой электронике — PWD13F60. У меня само понятие «силовая электроника» в первую очередь ассоциируется с TI, Infineon, Linear, но никак не с ST. Мой взгляд на ST, как на «силового» производителя, пал в первый раз, когда вышел великолепный контроллер — STSPIN32F0. Второй раз я посмотрел именно сейчас.

PWD13F60 — это микросхема, в корпусе на подобии QFN, в которой уже содержится полный мост, то есть 4 высоковольтных Mosfet, а также драйвера к ним. Первая идея, когда у меня появилась при ознакомление с даташитом: «О, да это же киловатт в кармане!», отсюда и название статьи. Я не очень люблю различные отладочные платы и предпочитаю сразу делать какой-то «боевой» проект. На базе героя данной статьи было решено сделать DC/AC инвертор.

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



Технические характеристики PWD13F60


Первое на что обращаешь внимание при ознакомление с данным модулем — он высоковольтный. Действительно компактных, интегрированных решений для работы с напряжением однофазной сети (220В AC/310В DC) не так много. Ко мне в руки попадало решение от TI на базе GaN транзисторов — LMG3410, оно мне очень понравилось, но к сожалению в продажу официальную оно пока не попало и уже около года весит на стадии «previwe». Да решение от TI по все параметрам лучше, но толку от него если модули не купить? Увы и ах… Поэтому меня так заинтересовал модуль от ST! Да он на обычном кремнии, да он на несколько меньший ток, и да на 1+ МГц на нем вряд ли что-то построить можно, но это не так страшно и скорее мои придирки. Современные mosfet на кремнии вплотную подбираются к GaN, а частоты 1+ МГц пока что явная экзотика: дорогая и мало кому нужная.

Давайте откроем даташит на PWD13F60 и ознакомимся с его основными характеристиками:

  • Напряжение сток-исток: 600В
  • Сопротивление открытого канала: 0.32 Ом
  • Максимальный ток канала (при 25 oC): 8A
  • Максимальный ток канала (при 100 oC): 6.9A
  • Максимальный импульсный ток: 32А
  • Управление логическим уровнем: 3.3 и 5В
  • Заряд затвора: 26 нКл
  • Время восстановление внутреннего диода: 93 нс

Глядя на данные ТТХ можно сделать тезисно несколько выводов. Во-первых, напряжение 600В позволяет реализовать большинство топологий: полный мост, полумост, LLC полумост, фазосдвигающий мост и прочие. Во-вторых, максимальный ток канала в 8А позволяет построить преобразователь с номинальной мощностью 1000 Вт. В-третьих, сопротивление канала 320 мОм это хороший показатель, хотя можно и лучше. В-четвертых, емкость затвора и скорость технологического диода, позволяют забраться в диапазон 200-300 кГц даже без применения резонансных топологий. В-пятых, управлять модулем можно напрямую с выводов МК, что очень удобно и упрощает схему.

Получается у нас весьма хороший модуль, который позволяет решить множество проблем. Стоит понимать, что 1000 Вт достижимы для DC/AC преобразователя, если вы захотите мостовой DC/DC с универсальным диапазоном 85-265В, то такую мощность вы не получите. При входе 85В вы просто упретесь в максимальный ток и охлаждение кристалла. Построить же импульсный блок питания на 300 Вт с универсальным входом и крайне малыми габаритами вы уже сможете однозначно.

Схемотехника


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

  • Корпус модуля PWD13F60 в Solid Works и STEP — тут
  • Футпринт для Altium Designer — тут


Выглядит корпус вот таким образом:



Теперь для вас никаких препятствий, чтобы начать применять данный модуль. Переходим к схемотехнике. Все основные узлы, которые могут вызвать проблемы у разработчика уже «спрятаны» внутрь корпуса и правильно «приготовлены», вам остается только реализовать управление. Кстати данный модуль позволяет не только создавать преобразователи напряжения, но и управлять двигателями — это еще одна область применения, думаю любителям ЧПУ станков и робототехники это очень пригодится.

Минимальная обвязка, которая потребуется для старта: пара конденсаторов по питанию, пара бутстепных конденсаторов драйвера и ШИМ-контроллер, в моем случае это STM32F410. Вроде все просто, но есть один, на мой взгляд, супер важный минус — внутри модуля нет цепей защиты от КЗ! Их не то, что нет, но и не предусмотрен вывод аварийной остановки драйверов. Кстати у модуля TI своей защиты от КЗ тоже не было. Для меня загадка почему нельзя было впихнуть на кристалл еще 2 компаратора, которые бы измеряли ток на внешнем шунты и останавливали бы драйвер…

Этот недостаток не позволяет нам реализовать максимально быстродействующей аппаратной защиты от КЗ. Нам в любом случае придется подавать сигнал о превышение тока на ШИМ-контроллер и останавливать работу именно генерацией ШИМ-а. Это ощутимо увеличивает время реакции защиты, а при использовании DSP или МК при малейшем «подвисании» или задержке будет мгновенный бабах.

Тут можно пойти двумя путями — надеяться на свой шикарный код или поставить между ШИМ-контроллером и силовым модулем логический буфер, который защита и будет отключать. Второй вариант лучше, но усложняет схемотехнику и все равно вносит дополнительную задержку срабатывания, хотя и ощутимо меньшую, чем работа через DSP/МК. Я как полагается выбрал вариант плохой и наивно надеюсь на свой «идеальный» код. Во-первых, это просто отладочная плата на поиграться, поэтому от нее ничего не зависит и можно позволить себе такую вольность. Во-вторых, код внутри МК у меня будет простейший (ПИ-регулятор + генерация синуса), поэтому все критичные узлы я легко смогу отследить. Сделать тоже самое в большом полновесном проекте уже вряд ли получится, хотя зависит от квалификации разработчика, но у меня точно нет.

Я пошел по стандартному пути построения защиты: шунт + ОУ + повторитель. В качестве повторителя применил 2-й канал моего ОУ. Тут кстати еще один минус — если ваша задача сделать супер-компактное решение, то узлы защиты по току будут отнимать драгоценное место. В итоге у меня получилась вот такая простенькая схема (советую смотреть PDF, картинка кликабельная):

  • В формате PDF — тут
  • Лист для Altium Designer — тут




Так как устройство делалось исключительно для тестов данного модуля, то на схеме сплошной минимализм: микроконтроллер STM32F410 + PWD13F60 + DC/DC для питания цифровой части + LC фильтр из дросселя и пленки на 2.2 мкФ + защита по току + ОС по напряжению. В общем-то все. Данная схема реализует преобразование, например, 310В из выпрямленной сети, обратно в 220В. Если вы начинающий разработчик или не сильно опытный любитель, то я вам настоятельно советую сначала обкатывать все алгоритмы на напряжение 12-40В и только затем тыкаться в розетку. Это позволит вам не разориться на спаленных модулях и возможно выжить.

Защита по току реализована на сдвоенных ОУ D2 и D3 — OPA2337. Они быстрые и позволяют реализовывать полноценную работу цепи ОС на частотах до 400-600 кГц. Первая половина ОУ усиливает сигнал с шунта, а вторая половина работает как повторитель напряжения.

Печатная плата


Как и в случае со схемой — дизайн печатной платы открыт и доступен для ознакомления. Скачать PCB файл для Altium Designer можно тут. На особый шедевр не претендует, т.к. был спроектирован за пару часов, но тепловые расчеты и моделирование в базовой форме в Comsol проведены — перегрева страшного не будет, но небольшой алюминиевый радиатор на модуль все таки надо поставить, если собираетесь снимать ток более 4-5А. Так же сделал базовые расчеты и моделирование паразитных индуктивностей с последующей оптимизацией для их уменьшения. Габариты печатной платы получились — 100х45 мм, что для преобразователя на 1000 Вт очень неплохо, особенно если учесть, что никаких премудростей и больших частот тут не требуется.





Плата двухслойная, шелкография и компоненты только на верхнем слое. Заказывал печатные платы на PCBway и обошлись они с доставкой почтой в 14$ за 10 штук:


В какую сумму вышли компоненты не скажу, т.к. заказывал на несколько разных проектов, но что-то около 20-25$ из которых 9$ стоил сам модуль PWD13F60. Думаю вы уже посчитали стоимость 4-х mosfet-ов и 2-х драйверов к ним и понял, что данный модуль весьма выгодное решение.

Компоненты все заказывал с Mouser через ПМ Электроникс, возят быстро и без накрутки, доставка курьером до квартиры бесплатная, поэтому рекомендую. Кому интересны конкретные компоненты — в файлике со схемой у каждого компонента прописан парт-номер и имеется ссылка (навести мышку на компоненты и нажать F1, откроется).

Отдельно скажу по монтажу. Я немного переживал по поводу корпуса PWD13F60, т.к. сам футпринт не был обкатан и возможность дефекта пайки смущала. Паять решил не феном, а чтобы наверняка — в печке. Флюс от Ersa и неплохая паста из КНР сделали свое дело — даже при не очень аккуратной установке микросхема сама отцентровалась за счет сил поверхностного натяжения, благо ребята из ST сделали корпус полностью симметричных, хотя и сложной формы. Так как я экспериментировал, то в печи все паять не стал, чтобы в случае убийства платы не пришлось бы все перепаивать — запаял в печи саму PWD13F60, STM32F410 и дроссель для dc/dc 12-3,3В. Остальное допаял уже паяльником и получилось вот так:



Вот такой модуль получился. Для проверки подаем 12В от внешнего источника, например, БП от роутера — разъем там стандартный под штырек 2.1 мм. Далее на силовой вход для начала можно подать с лабораторного БП около 20-30В и написав простейший код для STM, подергать мостом и посмотреть что на выходе. Если на холостом ходе все холодное — хорошо. На выход подключаем нагрузку из резисторов, чтобы потребляемый ток составлял 1А и смотрим на нагрев — модуль должен быть чуть теплый, перегрев не более 5 градусов. Если все так, то пишем код для генерации синуса, проверяем его опять на 20-30В и только потом можно подать выпрямленное напряжение сети. Советую первично подавать напряжение через лампу накаливания 40 Вт в разрыв +VIN, если на холостом ходе все хорошо, то такую же лампу 40 Вт добавляем на выход — работает? Тогда убираем лампу со входа. Радуемся рабочему инвертору.

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

Итог


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

Предложенный дизайн платы уже проверен, каких-то проблем не обнаружено, с паразитными параметрами тоже все хорошо, поэтому кому интересно позаниматься изучением данного модуля и силовой электроники в целом, то рекомендую как минимум ознакомиться с ним, а может и повторить без изменений. Кстати архив с проектом в Altium Designer прилагаю — тут.

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




К сожалению, не доступен сервер mySQL