Как сделать фазосдвиг (Phase Shift PWM) в MatLab!

Поделиться
HTML-код
  • Опубликовано: 13 ноя 2021
  • Привет всем!
    Поступили замечания о том, что я снимаю только зарядки, и пользы от этих видео не много.
    По крайней мере, для всех.
    Я решил немного исправить положение и сделать серию роликов, посвященных теории и практике применения MatLab, микроконтроллеров STM32 и не только, в силовой электронике.
    Если будет интерес, я сниму ряд видео, по #STM32F334 и STM32G474, пишите в комментариях, какой процессор более интересен.
    Но это видео посвящено немного другому.
    А именно MatLab и Simulink (#MATLAB & #Simulink) .
    Матлаб это сокрощенно Matrix Laboratory, пакет программ для решения задач технических вычислений от компании MathWorks.
    На данный момент, MatLab, самый мощный и, наверное, самый продвинутый инструмент который существует.
    На мой взгляд.
    Есть LTSpice или SwitcherCAD, сокращенно SWCAD, Analog Devices.
    Он бесплатный и предназначат для моделирования импульсной электроники.
    Многие его используют и наверное это мощный инструмент.
    Но в моих задачах, очень желательно построить полную модель, включая код на Си, чтобы например, отстроить регулятор.
    И в этом смысле MATLAB Simulink нет равных!
    Я не буду хвалить, и петь дифирамбы, любой может почитать о Simulink.
    Видео о конкретной практической задачи!
    А конкретно о моделировании PSFB или Phase Shift Full Bridge топологии.
    В предыдущих видео мы обсуждали данную топологию, и я обещал записать, как это считать.
    Обязательно сделаю, ссылочка будет вверху.
    Суть в том, что перед тем как пробовать в железе расчеты нужно проверить, желательно во всех режимах.
    Если мы говорим за большую мощность и высокое напряжение, то сделать это очень трудно.
    Предположим у вас есть 6 тысяч долларов, и вы купили 4 канальный осциллограф, с изолированными каналами.
    И даже в этом случае вы можете не понять, почему оно сгорело.
    Я делаю так всегда.
    В случае с Simulink, если с инвертором все понятно, то фазосдвиг (Phase Shift) это проблема.
    В интернете есть много бесполезных примеров, как сделать ШИМ, большинство из них рабочих, но очень тупых.
    Один пример вполне рабочий был, найдет на RUclips, там индусский парень нарисовал инвертор PSFB, конечно не совсем корректно, вопрос ZVS не поднимался. Но рабочий Phase Shift, я немного погуглил и нашел что это компонент от самой Simulink.
    Не знаю, понравился пример, и они опубликовали у себя, или он просто сделал видео, выдав за свое, как делают большинство его земляков.
    Мне неинтересно.
    Но идея мне понравилась!
    Но беда указанный Phase Shift, не умеет формировать мертвое время, а это самый важный параметр.
    От него много чего зависит в расчетах.
    Если грубо, то при недостаточной индуктивности рассеивания появляются звоны в паузах импульсов, а это очень плохо и их быть не должно.
    В общем, без мертвого времени (dead time) моделирование будет неполное!
    Поэтому собственно мной был немного доработан пример, подробности на видео!
    Разработка электроники: flppotapov.com.ua
    Примеры разработки электроники: flppotapov.com.ua/primery.htm
  • НаукаНаука

Комментарии • 26

  • @FastChargeIsFuture
    @FastChargeIsFuture  2 года назад +16

    Если будет интерес, я сниму ряд видео, по STM32F334 и STM32G474, пишите в комментариях, какой процессор более интересен.
    Но это видео посвящено теме как сделать фазосдвиг в MATLAB & Simulink.

    • @sasha-bj5tt
      @sasha-bj5tt 2 года назад

      Наверное посмотреть на возможности современного чипа STM32G474 будет интереснее.

    • @valikaleshevich1618
      @valikaleshevich1618 2 года назад

      не соглашусь. g474 довольно широко обозщревается на канале TDM Lab (правда в свете контроллера BLDC-двигателя, но не суть), а вот F334, во-первых, действительно более "приземлен" (с нынешними ценами на stm32 вообще), а во-вторых про него практически нет инфы (в русскоязычном сегменте так точно)

  • @sergeydrachuk8612
    @sergeydrachuk8612 Год назад

    Действительно круто!
    Теперь ясно, зачем matlab в универе учили :)
    Было бы интересно обзорно понять, как сделать народный БП/зарядку для бытовых аккумов на 150-300 Ватт на примере stm32 без раскрытия секретов, чтобы у такого хорошего блоггера хлеб не отнимать. Т.е. какое-то примитивное (пусть с низким КПД), но рабочее устройство с полностью цифровым управлением (не обязательно по резонансной схеме). А то обычно на дисплее одно, а на выходе - гульба тока и напряжения с кучей костылей для компенсации :)

  • @yaroslav_kior
    @yaroslav_kior 2 года назад +4

    Тема интересная! Давай ещё видео на эту тему!

  • @user-nz4rv2kl7m
    @user-nz4rv2kl7m 2 года назад +4

    Круто! Очень интересно и полезно! Буду благодарен продолжению серий этого материала, в особенности f334)))

  • @user-xm1hd9tl7b
    @user-xm1hd9tl7b 2 года назад +1

    Спасибо, хорошее видео

  • @alekseiykozlov2800
    @alekseiykozlov2800 2 года назад +3

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

    • @FastChargeIsFuture
      @FastChargeIsFuture  2 года назад +2

      Принял!

    • @sergeydrachuk8612
      @sergeydrachuk8612 Год назад

      Плюсую, но вопросы далеко не только в контроллере :)

  • @PastuhMedvedey
    @PastuhMedvedey 2 года назад +3

    HRTIM особенно на f334, это очень, очень, очень интересно. Спасибо!

  • @user-qm4lz2ps2j
    @user-qm4lz2ps2j 2 года назад +1

    супер

  • @dmytromykhailiuta9268
    @dmytromykhailiuta9268 2 года назад +1

    огромное спасибо, очень полезная информация.

  • @leaf_for_life
    @leaf_for_life 2 года назад +1

    В итоге по дед тайму, он будет динамически изменятся, подстраиваясь под конкретные элементы или константа, которая вводится методом подбора? Будет требуемый дед тайм зависеть от нагрузки?

    • @FastChargeIsFuture
      @FastChargeIsFuture  2 года назад +2

      Мертвое время это константа.
      Тут суть в том, что часто при расчете, вы получаете значения, которые трудно выполнить в железе, например, если получиться что нужно 50uH дроссель, то он будет больше силового трансформатора.
      В расчетах можно менять параметры, балансируя, находя оптимальную точку, а модель позволит проверить во всех режимах.

    • @primuss3s
      @primuss3s 2 года назад

      не будет, нет ОСи

  • @primuss3s
    @primuss3s 2 года назад

    о, ты научился тыкать двумя шимами, теперь осталось малое - "для напряжения 3P3Z, для тока 2P2Z"

  • @rozendam
    @rozendam 2 года назад +1

    Интересно применение любых микроконтроллеров в ИИП. Однако не совсем понятно зачем отдавать ARM такие низкоуровневые функции как формирование ШИМ, регулирование и защита. Если практически для всех случаев есть специализированные ШИМ контроллеры. Цена этих СТэмок тоже не низкая. В образовательных целях кончено очень интересно.

    • @FastChargeIsFuture
      @FastChargeIsFuture  2 года назад +3

      Так ARM тут и не работает, аппаратный таймер, плюс аппаратные защиты. Компаратор, ОУ, все на кристалле. По сути, нужно микросхема драйвера и немного пассивных компонентов и управа готова!
      Просто возможностей больше, да и надежность повыше будет.

    • @rozendam
      @rozendam 2 года назад +1

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

    • @FastChargeIsFuture
      @FastChargeIsFuture  2 года назад +2

      @@rozendam Драйвер нужен в любом случае.
      И на него возлагается защита первые наносекунды.
      Потом контроллер включает периферию и все становиться нормально.
      Хотя это теория, если правильно все спроектировать, то защита драйвера не работает вообще!
      Например, подтянуть выводы резисторами, чтобы не было неопределенного состояния.
      Это справедливо и для аналоговых ШИМ, при включении им тоже нужен сброс!
      Особенно сложные ШИМ, такие как фазосдвиг!

    • @rozendam
      @rozendam 2 года назад

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