ЭФО предлагает со своего склада новую серию преобразователей интерфейсов USB UART компании FTDI FT232RNL-REEL
РадиоЛоцман - Все об электронике

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

STMicroelectronics STM32F103RBT6

- Одесса

Общее количество методов стабилизации выходного напряжения при импульсном преобразовании электрической энергии достаточно велико. Но на практике все сводится к одному простому правилу: «берем подходящую микросхему и следуем инструкциям». Действительно, производители электронных компонентов проделали огромную работу и наполнили рынок контроллерами «на все случаи жизни». Поэтому разработчику уже не нужно самому реализовывать, например, «метод управления с упреждением по входному напряжению» [1] или D-CAP3 [2]; для этого достаточно использовать готовую микросхему, содержащую все необходимые узлы, уже правильно соединенные и откалиброванные. Да и современные рыночные условия уже не позволяют производителям электроники собирать схемы управления на дискретных компонентах, ведь в большинстве случаев это долго, дорого и не всегда качественно.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Но что делать, когда подходящего контроллера не существует, например, когда силовая часть преобразователя выполнена по необычной схеме, или когда она является стандартной, но функциональности существующих контроллеров недостаточно для конкретного приложения? Например, где найти готовый контроллер для импульсного стабилизатора переменного напряжения, описанного в [3]?

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

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

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

Цифровые контуры управления активно используются и в «серьезных» системах, например, в платформе MIPAQ Pro (Рисунок 1) [4], предлагаемой компанией Infineon для инверторов мощных электроприводов или солнечных электростанций. Одной из ее особенностей является программная реализация математической модели тепловых процессов, происходящих внутри кристаллов силовых полупроводниковых приборов, установленных в модулях. Эта модель позволяет на основе текущих значений напряжений силовых шин, тока нагрузки и известных параметров IGBT, рассчитать статические и динамические потери в каждом транзисторе в каждом цикле преобразования. Зная тепловые сопротивления кристалл-модуль, модуль-радиатор и радиатор-среда (с учетом работы системы охлаждения), а также текущую температуру внутри корпуса прибора, можно с высокой точностью определить, какими будут абсолютные температуры кристаллов после очередного цикла преобразования. Это позволяет не только предотвратить перегрев компонентов, но и максимально эффективно использовать их установочную мощность, ведь теперь, точно зная, что в данных условиях кристалл не расплавится, можно увеличить выходной ток модуля.

Пример цифрового контура управления платформы MIPAQ Pro [4].
Рисунок 1. Пример цифрового контура управления платформы MIPAQ Pro [4].

Однако из-за большого объема работы, которую еще только предстоит сделать, это направление до сих пор остается «молодым» и «малоизученным». Но его уже нельзя назвать «недоступным». Сейчас на рынке присутствует достаточно большое количество быстродействующих микроконтроллеров, вполне пригодных для использования в качестве основы для цифровых контуров управления. Нужно только научиться их создавать. А вот доступной литературы, посвященной этому вопросу, пока еще очень мало, а та, что есть, иногда не выдерживает никакой критики.

В этой статье будут рассмотрены общие вопросы построения цифровых контуров управления на основе микроконтроллеров общего назначения. А в качестве примера будет рассмотрена схема управления импульсным преобразователем переменного напряжения [3, 5], реализованная на микроконтроллере семейства STM32 производства STMicroelectronics.

Общие особенности цифровых методов управления

Отличительной особенностью цифровых методов управления является минимальное количество аналоговых узлов, в большинстве случаев выполняющих лишь функцию интерфейса между существующей в физическом мире электрической схемой и ее виртуальной моделью. В общем случае, для построения цифрового контура управления необходим комплект аналоговых датчиков, формирующих на входах АЦП сигналы, пропорциональные реальным физическим параметрам: напряжению, току, температуре и т.п. Количество датчиков зависит от конкретной задачи и может быть разным. В самом простейшем случае, например, при реализации цифрового варианта метода управления по напряжению, достаточно лишь датчика выходного напряжения. Если же говорить о полноценном управлении силовою частью, тогда необходимо как минимум четыре датчика (Рисунок 2): для измерения входного и выходного напряжений, выходного тока и температуры ключевых компонентов системы.

Пример цифрового контура управления платформы MIPAQ Pro [4].
Рисунок 2. Цифровой контур управления импульсным преобразователем.

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

Ключевым преимуществом такого подхода является исключительная гибкость. При использовании комплекта датчиков, как на схеме Рисунка 2, можно реализовать практически все методы управления, рассмотренные в [1, 2], причем со всеми сервисными функциями и защитами. А если учесть, что большинство современных микроконтроллеров имеет в своем составе как минимум один аппаратный интерфейс для обмена данными, то и реализовать в этом преобразователе функции удаленного управления, мониторинга или настройки тоже не составит технической сложности.

Эти преимущества, в свое время, и определили выбор такого подхода к реализации управления стабилизатором GF-9000 [5], ведь разработка на дискретных компонентах всего, что было в конечном итоге реализовано программно, привела бы к значительному усложнению сборки и настройки этого аппарата.

Особенности стабилизатора GF-9000

С полным перечнем технических характеристик стабилизатора GF-9000 (Рисунок 3), разработанного одесской компанией «Гофер», можно ознакомиться на ее официальном сайте [5]. Из его ключевых особенностей можно выделить максимальную мощность 9 кВА, обеспечиваемую во всем диапазоне входных напряжений от 150 В до 280 В (у традиционных стабилизаторов она обычно падает по мере увеличения отклонения напряжения) и при любых коэффициентах мощности нагрузки (аппарат может работать как на чисто индуктивную, так и на чисто емкостную нагрузку с коэффициентом мощности равным нулю). Использование импульсного способа преобразования позволяет восстановить нормальное значение выходного напряжения уже через 5 мс после изменения входного. И это далеко не предел быстродействия для данной технологии, теоретически способной корректировать форму синусоиды. Однако наиболее важным преимуществом стабилизатора GF-9000 является его компактность и малый вес, равный всего 13 кг (вес типичного стабилизатора такой мощности превысил бы 30 кг). Из-за этого он стал незаменимым прибором для людей, которым необходимо качественное напряжение «здесь и сейчас»: строителей, выездных музыкантов и т.п.

Внешний вид стабилизатора GF-9000 (слева) и внутреннее устройство его прототипа (справа).
Внешний вид стабилизатора GF-9000 (слева) и внутреннее устройство его прототипа (справа).
Рисунок 3. Внешний вид стабилизатора GF-9000 (слева) и внутреннее
устройство его прототипа (справа).

Силовая часть стабилизатора GOFER-9000 (Рисунок 4) состоит из двух одинаковых каналов, работающих в многофазном режиме. Регулирование напряжения осуществляется методом вольтодобавки или вольтовычитания – в зависимости от соотношения напряжений на входе и выходе (Рисунок 5). Преобразование электрической энергии в каждом силовом канале производится двумя индуктивными приборами: трансформатором и дросселем. Такой подход к построению силовой части позволяет максимально уменьшить размеры и вес магнитопроводов индуктивных элементов [6]. В качестве силовых ключей используются высоковольтные IGBT с интегрированными антипараллельными диодами (IRG4PH40UD и IRG4PС50UD) производства компании International Rectifier, ныне ставшей частью Infineon. Частота работы трансформатора и накопительного дросселя равна, соответственно, 20 кГц и 40 кГц. Использование многофазного принципа преобразования позволило одновременно увеличить частоту пульсаций тока во входных и выходных цепях и уменьшить их амплитуду, что, свою очередь, дало возможность упростить входные и выходные сглаживающие фильтры, работающие на частоте 80 кГц.

Силовая часть стабилизатора GF-9000.
Рисунок 4. Силовая часть стабилизатора GF-9000.
 
Принцип регулировки напряжения стабилизатора GF-9000.
Рисунок 5. Принцип регулировки напряжения стабилизатора GF-9000.

Основой схемы управления является микроконтроллер STM32F103RBT6 с ядром, работающим на частоте 72 МГц (Рисунок 6). Датчики входного и выходного напряжений реализованы на основе 50-герцовых понижающих трансформаторов с возможностью подстройки коэффициента передачи с помощью подстроечных резисторов. В качестве измерителя выходного тока используется датчик Холла ACS756SCA-100B. Температура транзисторов измеряется с помощью двух терморезисторов – по одному в каждом канале. В системе присутствует также датчик балансировки на основе трансформатора тока, предназначенный для контроля равномерного распределения нагрузки между силовыми каналами. Первичные обмотки этого трансформатора образованы двумя проводами, размещенными в окне трансформатора таким образом, чтобы магнитные поля, создаваемые их токами, взаимно компенсировались. При неравномерной нагрузке возникает сигнал рассогласования, который снимается с вторичной обмотки трансформатора, оцифровывается и обрабатывается программой.

Схема управления стабилизатора GF-9000.
Рисунок 6. Схема управления стабилизатора GF-9000.

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

Общая структура программного обеспечения

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

  • операции, требующие немедленного выполнения;
  • операции, требующие максимально быстрого выполнения;
  • операции, выполняемые в фоновом режиме.

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

Упрощенный алгоритм программного обеспечения.
Рисунок 7. Упрощенный алгоритм программного обеспечения.

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

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

К операциям, требующим максимально быстрого выполнения, относится, в первую очередь, код, отвечающий за защиту преобразователя и нагрузки. Для силовой части стабилизатора и оборудования, подключенного к его выходу, самым опасным является превышение мгновенных значений напряжений и тока. Например, при обрыве нулевого провода действующее значение входного напряжения в сети может увеличиться до 400 В (амплитудное – до 570 В). Попытка уменьшить его до 230 В, скорее всего, приведет к пробою силовых транзисторов, поэтому при обнаружении высокого напряжения на входе силовую часть нужно отключить. Это необходимо сделать как можно быстрее, но при этом задержка в несколько десятков и даже сотен микросекунд вполне допустима.

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

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

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

Список функций, доступных в аварийном цикле, зависит от конкретной задачи. Например, в стабилизаторе GOFER-9000 при возникновении аварии продолжает поддерживаться обмен данными по UART, что позволяет определить причину отказа. В общем случае аварийный цикл не является обязательным – соответствующие блокировки можно достаточно просто реализовать и в основном цикле. Тут уже все зависит от решения и настроения программиста.

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

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

Особенности использования АЦП

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

В этом случае микроконтроллеры STM32 имеют ряд преимуществ по сравнению с другими микроконтроллерами в аналогичной ценовой категории. Например, АЦП микроконтроллеров этого семейства могут работать в режиме инжектированных преобразований с поддержкой до четырех каналов. Особенностью этого режима является отсутствие необходимости постоянного переконфигурирования АЦП. При использовании инжектированных преобразований АЦП настраивается один раз на этапе инициализации микроконтроллера. Каждому инжектированному каналу назначается конкретный вывод микросхемы (номер канала мультиплексора), на котором будет происходить измерение входного сигнала. При активизации инжектированного режима АЦП автоматически выполняет оцифровку сигналов на входах всех активных каналов с сохранением результатов измерений в индивидуальные для каждого канала регистры. Более того, запуск инжектированных преобразований можно привязать к определенным аппаратным событиям, например, к событиям, генерируемым таймерами. В этом случае оцифровка сигналов может происходить полностью автоматически с минимальными затратами процессорного времени.

Микроконтроллер STM32F103RBT6 имеет два АЦП, каждый из которых поддерживает до четырех инжектированных каналов. А в схеме управления стабилизатором есть семь сигналов, требующих оцифровки (входное и выходное напряжение, выходной ток, два датчика температуры, сигнал балансировки и опорное напряжение). Таким образом, в микроконтроллере STM32F103RBT6 были задействованы семь из восьми инжектированных каналов АЦП. При максимальной скорости оцифровки общее время, необходимое для обработки четырех сигналов, равно чуть меньше 25 мкс. Это позволило запускать инжектированные преобразования двух АЦП аппаратно – с помощью одного из таймеров, работающих на частоте 40 кГц. В итоге при использовании микроконтроллеров STM32 регулярную оцифровку семи входных сигналов удалось реализовать без затрат процессорного времени, за исключением времени выполнения кода инициализации, проводимой один раз после сброса микроконтроллера.

Контроль времени выполнения программы

Определить точное время выполнения того или иного фрагмента кода на этапе написания и отладки программы, особенно при использовании языков высокого уровня, практически нереально. Поэтому всегда существует риск, что процессор «не успеет» вовремя обработать входящую информацию. Ситуация усугубляется еще и тем, что ряд событий, требующих обработки процессором, в принципе не могут быть детерминированными. Например, пакет данных, принимаемых по UART, имеет переменную длину, поэтому на его обработку уйдет разное количество процессорного времени – чем длиннее пакет, тем больше времени необходимо, чтобы его проверить обработать и сформировать ответ. Это может привести, к ситуации, когда время, затрачиваемое ядром на обработку второстепенных задач, окажется больше времени между двумя последовательными преобразованиями АЦП одного и того же канала, и часть измерений будет безвозвратно потеряна. В лучшем случае это приведет к несистемным ошибкам в расчетах средних и действующих значений напряжений и токов, нарушению синхронизации с сетью, а в худшем – к полному краху программного обеспечения с возможностью выхода из строя силовой части.

Для исключения этого в программу добавлен модуль контроля времени выполнения программного кода (Рисунок 8), основным элементом которого является счетчик прерываний, инициируемый при запуске программы нулевым значением. В начале основного цикла происходит проверка значений этой переменной, и пока она равна нулю, основной поток приостанавливается до тех пор, пока ситуация не изменится. Счетчик прерываний увеличивается на единицу в обработчике прерываний таймера, запускающего АЦП на преобразование. Это значит, что в этот момент времени АЦП завершили оцифровку всех инжектированных каналов, и сейчас в их выходных регистрах находятся самые свежие данные о состоянии входных сигналов (за исключением самого первого прохода, когда оцифровка еще не проводилась).

Алгоритм контроля скорости выполнения программного кода.
Рисунок 8. Алгоритм контроля скорости выполнения программного кода.

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

В общем случае, длительность одной итерации основного цикла ТИТЕР., равная сумме длительностей операций, требующих максимально быстрого выполнения и фоновых операций, должна быть меньше длительности между двумя прерываниями (25 мкс). В этом случае основной поток периодически будет находиться в «замороженном» состоянии, ожидая появления «свежих» результатов измерений АЦП (Рисунок 9а), и процессорного времени будет вполне достаточно для обработки данных.

Ситуация не будет критической, даже если время работы некоторых итераций основного цикла будет превышать 25 мкс (Рисунок 9б). В этом случае пропуска данных не будет, поскольку они все равно копируются из регистров АЦП во временные переменные. Самое главное в этом случае, чтобы средняя длительность итераций основного цикла была меньше 25 мкс. Тогда ядро, хоть и с некоторой задержкой, но все же будет успевать обрабатывать данные.

Принцип работы модуля самоконтроля.
Рисунок 9. Принцип работы модуля самоконтроля.

Но если суммарная длительность двух соседних итераций превысит 50 мкс, то данные будут утеряны. В этом случае значение счетчика прерываний станет больше единицы, и программа перейдет в аварийный цикл (Рисунок 9в).

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

Список источников

  1. Русу А.П. Как управлять импульсными преобразователями с постоянной частотой переключений
  2. Русу А.П. Как работают импульсные преобразователи с гистерезисным управлением
  3. Русу А.П. Импульсное преобразование переменного тока
  4. IGBT-cборки MIPAQPro от Infineon – готовое решение для мощных преобразователей
  5. Стабилизатор напряжения импульсный GF-9000
  6. Русу А.П. Почему гальваническая развязка увеличивает размеры импульсных преобразователей электрической энергии

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

  1. Часть 1
  2. Часть 2
60 предложений от 30 поставщиков
Отладочная плата NUCLEO-F103RB на микроконтроллере STM32F103RBT6 в основе которого используется Cortex-M3 72МГц с 128кб флеш и 20кб оперативной памяти. Плата содержит...
AliExpress
Весь мир
STM32F103C6T6A STM32F103C8T6 STM32F103CBT6 STM32F103CBT6 STM32F103R8T6 STM32F103RBT6 STM32F103RCT6 STM32F103RDT6 STM32F103RET6 STM32F103RFT6 STM32F103V8T6 STM32F103VBT6 STM32F103VCT6 STM32F103VET6 STM32F STM32IC MCU
86 ₽
STM32F103RBT6
STMicroelectronics
91 ₽
STM32F103RBT6TR
STMicroelectronics
от 1 425 ₽
LifeElectronics
Россия
STM32F103RBT6TR
STMicroelectronics
по запросу
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения (только последние 20 сообщений):Полный вариант обсуждения »
  • Добрый день. Патенты на силовую часть есть. Ссылки на них можно найти на сайте производителя. Хотя этот принцип регулирования основательно рассмотрен еще во времена СССР. Кобзев А.В., Лебедев Ю.М., Михайличенко Г.Я., Семенов В.Д., Сидонский И.Б., Тараскин А.В. Стабилизаторы переменного напряжения с высокочастотным широтно-импульсным регулированием. – Москва: Энергоатомиздат. – 1986 г. – 152 с. А программное обеспечение, насколько мне известно, не патентуется в принципе. На него распространяется только авторское право на исходный код, так же как и на любое художественное произведение.
  • А я и не утверждаю, что решения на дискретных компонентах всегда плохи. Но чем больше элементов, тем дороже производство. Я думаю, ни для кого не секрет, что стоимость установки резистора может быть больше стоимости самого резистора. А если учесть возможные ошибки при сборке и затраты времени на поиск и переделку, то решения на дискретных компонентах могут оказаться вообще "золотыми". Вот поэтому цифровые контуры управления и являются перспективными, Они при минимуме дискретных элементов обеспечивают максимально возможную и гибкую функциональность. Вплоть до того, что преобразователь "легким движением руки" можно превратить в швейную машинку.
  • Вот не уверен на счёт дискретных решений. Как-то долго провозился с неустойчивостью аналоговой ФАПЧ, пока не реализовал цифровую на том же STM32. С цифровым управлением всё как и сказал Александр: Так, если для очередного изделия не хватает быстродействия, то всегда можно взять контроллер в том же корпусе, но побыстрее. Например, имея тактовую ядра 400МГц и богатую периферию МК, цифровым управлением можно по сути приблизиться к аналоговому "континууму". Плюс любая алгоритмизация управления. Дискретность в погоне за континуальностью, если Вы меня понимаете.
  • Да все просто, на самом деле. Тот же стабилизатор, который в примере. Готового контроллера, который можно было бы хоть как-то "прикрутить" к этой схеме просто нет, а если даже такой и существует, то он и денег будет стоить прилично. А лепить схему управления на аналоговых компонентах - так это целый измерительный комплекс получится из нескольких плат и нескольких сотен радиоэлементов, которые надо найти, купить, припаять и потом проверить. А так вышла маленькая платка с простейшей обвязкой (в основном помехоподавляющие RC-фильтры) и двумя "крутилками" (калибраторы датчиков напряжений), которые просто лень было делать программно, ибо потом еще надо было "ваять" ПО для настройки и усложнять ее процесс. В конечном итоге, программисты, конечно, помучились. Зато потом, при сборке, не было никаких проблем. А настройка занимала вообще 2 минуты. И не забывайте про систему самодиагностики: когда большинство огрехов сборки (например, датчик тока "отвалился") "находит" сам процессор и тут же "говорит" мастеру "где копать". Для сравнения (хоть и не совсем в тему). Когда-то были телевизоры "Оризон" 4-го поколения. Так там модуль управления (с графикой) сделали на дискретной логике. 38 микросхем (если мне память не изменяет), здоровенная двухсторонняя плата, которая еще и глючила по-черному. Хотя уже тогда это все можно было реализовать на одном микроконтроллере.
  • Небольшой оффтоп, говоря о цифровых системах управления. Для меня было открытием, что для управления ракетой Сатурн-5 со стартовой массой около 3000 тонн цикл опроса гироскопов и прочих датчиков составлял [B]целых 40мс[/B]. А главный цикл с учётом обработки всех прерываний - [B]около 2 секунд[/B]! Плюс диагностика системы благодаря телеметрии, как сейчас сказали бы, отладочным данным. А это конец 1950х начало 1960х. [url]https://youtu.be/6mMK6iSZsAs?t=1463[/url]
  • Насколько я помню, в 50-60 годах бортовые компы управлением двигателями еще не занимались, они использовались для других целей, например для навигации. Это кстати было одной из причин последующей остановки прогресса космонавтики. Что касается темы топика, то ждем второй части статьи, т.к. хотелось определиться с себестоимостью изделия.
  • Думается, что это неуместный вопрос к разработчику, т.е. автору статьи. На фотографии рисунка 3 представлен макет стабилизатора (судя по фанерному корпусу и качеству плат). Что не мешает просто посчитать стоимость комплектующих с учётом оптовых цен при серийной сборке, плюс организация производства. Но часто разработчик не занимается непосредственно производством, поскольку всегда есть "[B]специально обученные люди[/B]" :-). Вот ещё вопрос возможно к Александру - на сколько сложно сейчас выйти на рынок с подобной продукцией в Украине? Или данные силовые преобразователи не подлежат сертификации? Имею ввиду сертификаты [B]качества, безопасности и электромагнитной совместимости[/B] ДСТУ, IEC, ISO и т.п. Поскольку патенты, конечно, хорошо. Но нужно же ещё соответствовать техническим регламентам.
  • Разработка макета и разработка конструкторской документации для серийного производства должны проводится в соответствии с заданными в ТЗ характеристиками, которые, в свою очередь, задаются в соответствие с требованиями рынка. Попасть на незанятый сектор рынка очень сложно...
  • Меня не интересует стоимость при серийной сборке, меня интересует сколько сам автор примерно потратил на реализацию своего проекта.
  • Совершенно верно, и это совсем другая работа.
  • Мой вопрос был о сертификации и безопасности, а не ТЗ. Странный вопрос, ART_HA. Потому что собрать железо и написать-отладить ПО для МК - это немного разные задачи, поверьте. В работе наверняка участвовало пару человек. Если аппаратную часть можно посчитать, то оценить время на разработку и отладку ПО - тут нет однозначного ответа. А написание ПО тут заняло 2/3 от всей работы, уверен. Программисты очень по-разному оценивают своё время. К тому же, отладка в железе всегда порождает непредсказуемые события. Ведь автор прямо сказал: . Но это проекция моего опыта, поэтому заранее извиняюсь. А вообще - замечательная разработка, редко нечто подобное появляется на страницах РЛ, пускай и в самом общем виде.
  • [b]antonydublin[/b], давайте подождем ответа автора.
  • Ух, какая активная дискуссия получилась. А я немного выпал из темы. У меня сейчас сессия :-) Попробую ответить на все вопросы. Прототип делали преподаватели и студенты Одесской национальной академии связи им. А.С.Попова, к сожалению, уже бывшей... На все работы ушло примерно два года (правда мы еще параллельно занимались другими проектами). Костяк команды - 4 человека: два студента и два препода. Программировал в основном я. Расчеты силовой части тоже мои. Это пятая рабочая версия стабилизатора. Предыдущие версии по разным причинам дальше не пошли. Кое-какие фотки есть здесь (прошу прощения за рекламу, сайт бесплатный). [url]http://shurusu.narod.ru/index/stabilizator_gofer_pk_9000/0-89[/url] Изначально это был шаг в никуда. Все одесские производители стабилизаторов (а мы с этой идеей оббили пороги не одной компании) смотрели на нас как на идиотов, потому что такой аппарат в то время пытались сделать многие, но ни у кого толком не получилось. Сейчас в Украине уже выпускаются стабилизаторы с аналогичным принципом. Я понимаю, что мы просто показали другим путь. Первая партия была готова в конце 2014 года. И его цена в тот год была вполне конкурентноспособна. Но потом в мире произошли события, о которых вам всем должно быть хорошо известно, и сейчас у нас покупают в основном дешевый Китай. По этой же причине остановили сертификацию. Мы начали с электромагнитной совместимости. Тот аппарат, что описан в статье, всего лишь в 2 раза превысил норму по кондуктивным помехам, что стало для нас полной неожиданностью (ожидали как минимум на 2 порядка). Глядя на фото, знающие люди поймут, что там вопросы электромагнитной совместимости вообще не учитывались. Там даже классического фильтра электромагнитных помех нет - когда делали первую партию было не до этого. Собрали ему дополнительный внешний фильтр - почти уложились в норму (вылезла одна гармоника на пару децибелл). Потом этом процесс заглох. Электробезопасность проверяли сами - вроде все в норме. Коэффициент мощности отсутствует по определению (он равен коэффициенту мощности нагрузки). Проверяли в центре сертификации - там спецы были в шоке. Говорят это самое трудное для подобного оборудования, а мы бы этот этап просто "проскочили". Доведением до производства и серийным производством занимались другие люди. Сколько это все стоило не спрашивайте, даже если бы и знал, то не сказал бы - не мой секрет. Мы пытались дальше развивать эту тему. Собрали 4-х канальный на 18 кВА. Даже не смогли его нагрузить - нечем было, да и проводка не позволяла. А вообще было весело. Самое яркое воспоминание - тестировали его летом - жара +35. А у нас еще на 9 кВт дуйки в помещении. Работали реально чуть ли не в одних трусах (хорошо хоть коллектив был мужской). Надеюсь ответил на все вопросы. Если что забыл - пишите. За вторую часть сяду после Нового года, как немного разгребусь со студентами.
  • Вот небольшой репортаж о нас [url]https://youtu.be/WV6IaUc1fo4[/url]
  • Думаю, что скажу от всех - спасибо за столь подробные ответы и участие в форуме. К слову о вопросах. Поскольку эта статья - развитие статьи [URL="https://www.rlocman.ru/review/article.html?di=372823"]"Импульсное преобразование переменного тока"[/URL], то вот несколько вопросов к продолжению. 1. Можно ли акцентировать внимание на драйверах IGBT/MOSFET, их питании и энергетике, а также защите транзисторов. Может быть, есть интересные наработки, которыми не жалко поделиться. HCPL3120 действительно хорошие микросхемы и существенно "упрощают жизнь". Но [URL="https://www.rlocman.ru/review/article.html?di=372825"]DC-DC конвертер рисунка 5[/URL] на основе TL494 не формирует двухполярное выходное напряжение. Насколько важно, по Вашему мнению, запирать IGBT отрицательным смещением, в данном случае транзисторы двунаправленных ключей? И соображение по этому поводу - имея STM32 с возможностью сформировать в целом сколько угодно импульсных/ШИМ каналов, нельзя ли упростить схему этих изолирующих DC-DC конвертеров, исключив ШИМ-контроллер. Ведь большой ток от них требуется лишь в начале импульса управления IGBT. Поэтому, немного пожертвовав качеством, распределённое питание драйверов также поручить STM32. Или это вовсе не упрощение с учётом копеечной стоимости TL494? 2. Вопрос по контролю входных и выходных напряжений, тока нагрузки. В статье сказано, что "датчики входного и выходного напряжений реализованы на основе 50-герцовых понижающих трансформаторов". Не ухудшает ли это быстродействие защиты по входу. Так, датчик тока ACS756 на выходе с легкостью отработает 25мкс периода оцифровки. Но трансформатор на обычном железе будет немного медленнее. В общем, в будущей статье хотелось подробнее узнать о защитах и их программной организации. Хотя бы допустимые временные задержки для контроля и гарантированного пресечения аварийных ситуаций, алгоритмы действий. 3. Как следствие - среди режимов работы АЦП в STM32F103 есть возможность реализовать "оконный компаратор" (Analog Watchdog feature). В плане реализации быстродействующих защит и управления - используется ли эта функция или её использование нецелесообразно. Спасибо.
  • В 2 раза - это на 6 дБ по напряжению на эквиваленте для квазипикового или среднего значения? (надеюсь, что не 122 дБ вместо 66 дБ и не 100 вместо 50 :D ) и на каких-то определённых частотах или множественные частоты.
  • Честно говоря, даже не знаю что Вам ответить. Вопросами ЭМС занимался вплотную мой студент. К тому времени он уже от бездельника дорос до магистра и этот вопрос стал его квалификационной работой. Поэтому основных результатов исследования у меня нет. Вот нашел у себя результаты наших измерений кондуктивных помех после всех "танцев с бубном" (доработка конструктива, доп фильтр ЭМ помех и т.п.), Этот график давал нам надежду, что в Киеве нам таки скажут "да". Мы для этого одолжили на пару месяцев один жутко дорогой и сильно кошерный аппарат, который, хоть и был заточен немного под другие задачи, но после "доработки напильником" мог показывать спектр помех. И мой студент вместо того, чтобы кушать мороженое на пляжу, сидел все лето в лаборатории и мужественно воевал с децибелами. Но, видимо, мы где-то "промахнулись" с калибровкой, потому что в Киеве, в центре сертификации, нам в итоге показали аналогичный график, в котором одна частота на пару децибел зашла за красную черту и не они не захотели это "развидеть" даже за гешефт. [IMG]https://www.rlocman.ru/forum/attachment.php?attachmentid=42411&stc=1&d=1609348815[/IMG]
  • Это может быть хорошей темой для отдельной статьи, но никак не продолжением статьи про цифровые контуры управления. Тогда мы были, в основном, теоретиками и начинали с нуля. Поэтому нам надо было самим находить ответы на вопросы, на которые вообще мало кто мог ответить. Вот про двухполярное напряжение ничего не могу сказать. Наши IGBT хорошо закрывались нулем. Поэтому мы воспользовались первой заповедью телемастера - "работает - не лезь" и пошли решать следующую проблему. Самое лучшее решение - отдельные изолированные DC-DC конвертеры на каждый ключ. Показанный вариант рабочий, но не самый лучший. И как потом оказалось - и не самый дешевый. Все остальное - только если обосновано. Процессор далеко от драйвера. А тащить через все устройство, где каждая пимпочка может быть под напряжением немножко киловольт, высокочастотный ШИМ-сигнал - не самая лучшая идея. Систематический исследований мы не проводили. Но наши стабилизаторы, в том числе и мой домашний, работали в сетях, где работали сварщики на старых трансформаторных сварочных аппаратах. Причем сварку подключали как ко входу стабилизатора, так и к его выходу. Все успевал отработать. Да и за шесть лет не одну грозу пережили. Кстати, сварщики - тоже наши клиенты (из-за 13 кг веса). Если сварку подключить к выходу стабилизатора, то шов получается качественней. Особенно трансформаторы. В сварочных инверторах дуга стабилизируется своими контроллерами. О защитах - во второй части статьи.
  • Скорее всего, это было на частотах (судя по графику) выше 5 МГц. Возможно, что связано не с клабровкой - это связано с методикой измерения: должна быть проводящая стена (не менее 1мх1.5м, заземлена) на расстоянии 30 см от которой находится эквивалент сети (сопротивление 50 Ом на частотах от 150 кГц до 30 МГц или сейчас до 80 МГц) и короткий провод к испытуемому аппарату. От взаимного расположения очень сильно зависят результаты (иногда больше 20 дБ на частотах 20-30 МГц и до 10 дБ на частотах от 5 МГц). А то, что это нормально - типа Вы ещё раз прийдёте и заплатите за испытания... И никто не будет говорить, что они только деньги собирают. «Честь мундира» и всё такое...
  • Нынешние поколения IGBT в этом уже не нуждаются, а такие производители, как Infenion например, вообще кроме самих транзисторов производят и драйвера для них. Типа меняете драйвера для MOSFET и сами MOSFET на драйвера для IGBT и ставите сами IGBT и всё (Tefal думает за Вас)...
Полный вариант обсуждения »