Каждый раз, когда вы размещаете компонент на своей печатной плате, это почти как азартная игра. У всех компонентов есть допуски, и некоторые из них очень точные (например, резисторы), но у других компонентов могут быть очень широкие допуски на их номинальные значения (например, проволочные индуктивности или ферриты). В случае, если допуски этих компонентов становятся слишком большими, как можно предсказать, как эти допуски повлияют на ваши схемы?
Хотя вы могли бы рассчитать вариации вокруг номинальных электрических значений (напряжение, ток или мощность) вручную, выполнение этих расчетов вручную занимает много времени, особенно в больших схемах. Однако симуляторы SPICE заимствовали очень полезный тип симуляции из теории вероятностей, чтобы помочь вам ответить на эти вопросы. Этот тип симуляции известен как Монте-Карло, и теперь вы можете выполнить эту симуляцию с пакетом SPICE в Altium Designer.
В этой статье я предоставлю обзор теории, необходимой для понимания и создания симуляций методом Монте-Карло, а затем покажу некоторые примеры результатов для схемы регулятора напряжения и как результаты зависят от допусков. Симуляции методом Монте-Карло генерируют большое количество данных, которые вы можете использовать для статистического анализа работы вашей схемы, и это дает вам хорошее представление о том, насколько вероятно, что ваш продукт будет работать в соответствии с вашими спецификациями из-за допусков на значения компонентов.
Симуляции методом Монте-Карло работают по простому принципу: случайным образом генерируют набор чисел, а затем используют эти случайные числа в математической модели для расчета чего-то полезного. Когда симуляция Монте-Карло используется в SPICE, симуляция случайным образом генерирует значения компонентов в вашей схеме, используя допуски, которые вы определяете. Затем она использует эти случайно сгенерированные значения компонентов для выполнения стандартной симуляции SPICE. Этот процесс повторяется многократно (иногда сотни раз), чтобы предоставить вам набор данных, описывающих, как изменяется поведение вашей схемы из-за допусков компонентов.
Пакеты SPICE реализуют симуляции Монте-Карло через простой процесс. Это включает в себя генерацию случайных чисел и расчет напряжения и тока в стандартном алгоритме SPICE, за которым следует отображение результатов в таблице или графике:
В предстоящем примере я использовал схему понижающего преобразователя, показанную ниже. Эта схема использует относительно большой индуктор в основной части (L1), за которым следует L-фильтр на выходе для дальнейшего уменьшения помех от переключения. Выходной конденсатор имеет снабберный резистор, чтобы помочь уменьшить силу переходного процесса и сгладить выходное напряжение.
Эта схема предназначена для понижения входного напряжения с 25 В до примерно 6,75 В. В моем моделировании я позволю значениям индуктивности изменяться на 30%, и я проведу 15 прогонов. Такое большое изменение может быть обнаружено в некоторых проволочных индукторах и ферритах, и использование такого большого разброса может помочь вам увидеть, какими могут быть крайние значения пульсаций и перенапряжений.
Другая причина, по которой индуктор является изменяемым компонентом, заключается в том, что он является основным фактором, определяющим пульсации на выходе, когда преобразователь работает в режиме непрерывной проводимости. Мы даже могли бы пойти дальше и взглянуть на сам ток через индуктор, чтобы увидеть, насколько близко ток через индуктор приближается к непрерывной проводимости, если бы нам действительно нужно было проверить худшее электрическое поведение.
Некоторые первоначальные результаты, показывающие переходную характеристику при изменении значений компонентов на 30%, представлены ниже. Из этого окна видно, что преобразователь уже демонстрирует некоторое превышение, варьирующееся от 8,37 В до 8,56 В, в зависимости от значений индукторов. Значения для нижнего контура (зеленым, L1 = 91,9 мкГн, L2 = 6,16 мкГн) и верхнего контура (фиолетовым, L1 = 122 мкГн, L2 = 7,64 мкГн) отмечены на графике ниже.
Каждая кривая соответствует паре случайно сгенерированных значений индукторов. Из результатов мы можем ясно видеть эффекты изменений в индукторе:
Тот факт, что пульсации на выходе остаются такими низкими, обнадеживает; это означает, что мы можем полагаться на этот дизайн в плане выдачи стабильных пульсаций при небольших изменениях всех других параметров.
Не глядя на уравнение для пульсаций на выходе как функции от индуктивности на выходе, естественно предположить, что изменение индуктивности на +/- 30% приведет к аналогично большим изменениям в индуктивности на выходе. Однако, если мы посмотрим на уравнение для пульсаций формы напряжения на выходном токе для понижающего преобразователя, работающего в режиме непрерывной проводимости, мы можем понять, почему это не так:
Поскольку значение индуктивности находится в знаменателе, эффект от этих изменений уменьшается. Это можно увидеть, взяв возмущение около номинальных значений индуктора и посмотрев, как чувствительность пульсаций пропорциональна любому изменению индуктивностей:
Влияние этих изменений уменьшается за счет значения индуктора. Другими словами, допуск в 30% для большого индуктора создаст гораздо меньшее изменение в пульсациях на выходе, чем такой же допуск на меньшем индукторе. Это поведение типично, когда отношение между некоторым электрическим значением (в данном случае током) нелинейно связано с рассматриваемым значением компонента.
Кроме того, частота среза на 3 дБ в выходном фильтре (L2 + C2) уже ниже частоты ШИМ, модулирующей Q1. Частота среза на 3 дБ в этом секции фильтра номинально составляет 41,1 кГц, в то время как частота пульсаций соответствует частоте ШИМ 100 кГц. Пульсации будут уже значительно фильтроваться, так что результирующие вариации в частоте среза не оказывают такого большого влияния на пульсации на выходе.
Если вы собираетесь проводить анализ методом Монте-Карло, вам, возможно, потребуется провести некоторый статистический анализ, чтобы действительно понять пределы поведения вашей схемы из-за случайных вариаций в значениях компонентов. На графике ниже я взял результаты моего вышеупомянутого переходного анализа и извлек максимальное напряжение, возникающее во время фазы включения из-за перенапряжения. Я рассчитал среднее значение и стандартное отклонение, чтобы количественно оценить эффекты вариаций в значениях индуктивности.
Чтобы экспортировать результаты вашего переходного анализа в формате CSV или другом формате данных, используйте команду Файл → Экспорт → График в главном меню Altium Designer. Затем вы можете импортировать ваши данные в Excel, MATLAB, Mathematica или другую программу для анализа данных.
Если мы построим доверительный интервал, используя наши собранные данные и приведенные выше статистические значения, 95% этих схем будут демонстрировать перерегулирование в диапазоне от 8,375 В до 8,605 В. Если бы мы хотели провести дальнейший анализ, например, анализ худшего случая, мы могли бы использовать любое из этих крайних значений для понимания поведения схемы.
Чтобы статистически оценить надежность, вы могли бы провести гораздо большее количество симуляций, так что у вас было бы много точек данных для анализа. Имея больше данных, вы могли бы построить гистограмму из ваших извлеченных измерений и использовать ее для получения распределения вероятностей, которое определяет поведение схемы; затем вы могли бы использовать эти значения для определения вероятности того, что схема работает в абсолютно неприемлемом режиме (за пределами крайних значений в нашем доверительном интервале).
Просто ради интереса я увеличил количество симуляций в этом анализе до 100 прогонов. Ниже показаны результаты переходных процессов при 100 итерациях. Из этих кривых мы снова можем извлечь максимальное значение перерегулирования напряжения во время фазы включения.
Если вы экспортируете результаты в Excel, у вас теперь будет достаточно данных для создания гистограммы, подобной показанной ниже. Наложенная оранжевая кривая показывает кумулятивную функцию, определенную из сгруппированных данных; она показывает, какой процент данных находится на уровне текущего интервала или ниже и может использоваться как мера ожидаемого рабочего диапазона этой схемы.
Суть здесь в том, что у нас есть быстрый и простой способ проверить, как будет варьироваться производительность схемы с учетом допусков компонентов. Если результаты не соответствуют нашим спецификациям или запасам безопасности, то схему потребуется изменить перед созданием макета печатной платы и сборкой прототипа.
Если вас интересует проведение симуляций методом Монте-Карло для ваших схем внутри Altium Designer®, вам не нужен внешний пакет симуляции или специализированное программное обеспечение для анализа. Все, что вам нужно для оценки ваших схем и проведения симуляций надежности, можно найти в редакторе схем в Altium Designer. Как только вы завершите вашу печатную плату и будете готовы поделиться своими проектами с коллегами или производителем, вы можете поделиться своими завершенными проектами через платформу Altium 365™. Все, что вам нужно для проектирования и производства передовой электроники, можно найти в одном программном пакете.
Мы только начали раскрывать возможности использования Altium Designer на Altium 365. Начните ваш бесплатный пробный период Altium Designer + Altium 365 уже сегодня.