Если кратко, то постараюсь на примере рассуждений и анализа полезной технологии научить читателя пользоваться новейшим модулем Mixed SIM программного комплекса Altium Designer...
ЧАСТЬ ПЕРВАЯ: ШИМ, как результат эволюции Линейных Систем.
Прекрасные идеи и гениальные решения
В мире технологий есть различные приемы достижения тех или иных целей как конечных так и промежуточных. Некоторые приемы являются настолько удачными, что в своей нише применяются повсеместно и с высокой эффективностью. Электроника не является исключением, где прекрасных идей и гениальных решений найдено и применяется пожалуй больше чем в других инженерных направлениях. Ярчайшим примером является применение Широтно-Импульсной Модуляции (ШИМ) сигналов (энергии), которая применяется в любом современном электронном устройстве, будь то автопилот, смартфон, планшет, ноутбук, светодиодный прожектор или даже электронная игрушка и помогает эффективно/экономично решить следующие задачи:
Преобразование напряжения или тока для электропитания отдельных цепей, узлов и блоков электронного устройства (стабилизация напряжения питания для схем, стабилизация тока для питания осветительных приборов на основе светодиодов)
Высокоэкономичное и эффективное усиление мощности сигнала звукового диапазона (УМЗЧ класса D с КПД близким к 100%)
Управление исполнительными механизмами такими как гидравлические или пневматические клапаны (привода аэродинамических плоскостей крыльев, рулей самолетов и ракет, АКПП автомобилей, блоки управления ДВС и турбин, промышленная автоматизация в самом широком смысле)
Преобразование цифрового кода в конкретное пропорциональное значение напряжения или тока (является альтернативой многим ЦАП)
Передача информации (в том числе и в виде команд на исполнение) о положении исполнительного устройства (например, управление рулевыми машинками БПЛА и роботов)
Данное обстоятельство ставит ШИМ в первые ряды для глубокого изучения, и рассмотрения “её работы” в реальных и практических задачах.
Для эффективного применения ШИМ необходимо понимать инженерные трудности с которыми столкнулись инженеры в прошлом, как шла мысль и идеи, впоследствии соединяясь в эффективные законченные решения на основе ШИМ энергии.
Инженерные трудности
Есть устройство, которое требует стабилизированное напряжение питания 5В и потребляет при этом ток 2А. У нас имеется источник питания с выходным напряжением от 10В до 36В. Как с помощью него запитать наше устройство? Первое что приходит на ум, это применить линейный стабилизатор идея которого состоит в том чтобы “рассеять” лишнее входное напряжение сверх 5В. Давайте создадим и промоделируем схему линейного стабилизатора напряжения для нашего устройства и проанализируем его характеристики, с помощью симулятора Altium Designer - Mixed Simulation* :
*Примечание: Подготовительные мероприятия по запуску в работу симулятора Mixed Simulation хорошо описаны в документе Guide_SS, поэтому сейчас и далее будут описываться действия и рассуждения применительно к работе схем и их характеристик, а сами схемы, для исключения проблем поиска компонентов с особыми характеристиками, будут создаваться из ЭК стандартной библиотеки Simulation Generic Components интегрированной в Altium Designer.
Создадим в новом проекте схему “Linear regulator” Линейного стабилизатора напряжения на основе ОУ:
![](https://habrastorage.org/getpro/habr/upload_files/997/298/49b/99729849b364cb0200a823036121511c.png)
Представленная схема во многом идеализированная и состоит только из компонентов, которые представляют только суть идеи. ОУ сравнивает образцовое напряжение на опорном источнике V2 Ref с напряжением на нагрузке R1 и подает управляющее воздействие, на биполярный транзистор Q1 выполняющий функции регулирующего элемента (РЭ). В нашем случае схема поддерживает выходное напряжение V(Load)=5В равное опорному напряжению V(Ref).
Обратите внимание на номинал R1: Симулятор позволяет в качестве номинала писать не только строгие значения, но и математические представления и зависимости, в нашем случае это формула Закона Ома: 5В/2А, т.е. 2,5 Ом, и конечно же вместо дроби можно просто написать 2.5 и результат будет тот же.
Для отображения напряжений в узлах схемы необходимо запустить расчет рабочей точки схемы (Operating Point) и тут же выбрать отображение необходимых физических величин: Напряжение, Мощность,Токи.
Но в Задаче исходное условие: Источник выдает напряжение в диапазоне 10-36В, поэтому нам важно видеть как схема ведет себя в этих условиях, т.е. нам надо построить функцию V(Load)(V(V1)), это нам позволяет сделать следующий вид анализа: DC Sweep, который мы и настроим:
Выберем в DC Sweep параметр V1, который будем менять, тут же указав его диапазон 10-36В с шагом 0,1В:
![](https://habrastorage.org/getpro/habr/upload_files/199/0e1/9bd/1990e19bdb8b6b7f346479e3db762ae4.png)
В Output Expression Укажем/Добавим (+Add) величину, которую хотим видеть на Первом графике:
![](https://habrastorage.org/getpro/habr/upload_files/da8/c3f/fd7/da8c3ffd7e660ef75652877eecdd3705.png)
В итоге имеем настроенный к выводу на график функцию V(Load)(V(V1))
![](https://habrastorage.org/getpro/habr/upload_files/41c/4bb/ebb/41c4bbebbfa6d7ef9717e1106096bbce.png)
Для этого запустим расчет: Смело жмем RUN в поле DC Sweep и тут же Симулятор нам покажет график:
![По оси абсцисс - входное напряжение V(V1)
По оси ординат - напряжение в нагрузке V(Load) равное 5 Вольтам По оси абсцисс - входное напряжение V(V1)
По оси ординат - напряжение в нагрузке V(Load) равное 5 Вольтам](https://habrastorage.org/getpro/habr/upload_files/d46/07f/920/d4607f920b3a256f270d90676db1473d.png)
Мы видим - схема корректно работает во всем диапазоне входного напряжения.
Давайте теперь оценим эффективность данного решения. Для этого нам необходимо сравнить полную мощность схемы, которая равна выходной мощности источника V1, с полезной мощностью в нагрузке R1, для этого там же в DC Sweep добавляем (+Add) в Output Expression новые функции по мощности от входного напряжения V(V1) на интересующих компонентах, а именно P(R1) (V(V1)) и P(V1)(V(V1)) и выведем их на 2 график:
![](https://habrastorage.org/getpro/habr/upload_files/1f9/66d/ad0/1f966dad005a7d020f1dbd737feebf6d.png)
![](https://habrastorage.org/getpro/habr/upload_files/d63/9db/4b2/d639db4b202c9a39de11f0d0db8edf40.png)
Запускаем расчет (RUN) DC Sweep и Смотрим графики:
![](https://habrastorage.org/getpro/habr/upload_files/380/2c5/50f/3802c550f3bdfc927cd0a457ac08fa50.png)
Уже при входном напряжении 10В Мощность в нагрузке в 2 раза меньше мощности отдаваемой источником питания, т.е. КПД схемы 50%, а при напряжении 36В картина еще более печальная, которую тоже можно оценить с помощью калькулятора, но зачем?, у нас же есть Симулятор, который может это сделать за нас и более наглядно! Для этого необходимо там же в DC Sweep добавить (+Add) в Output Expression функцию расчета КПД схемы, в нашем случае это:
( P(R1) / P(V1) ) от V(V1) * 100, почти именно так и запишем разместив результат на 3 графике:
![](https://habrastorage.org/getpro/habr/upload_files/f49/877/dd8/f49877dd881ab65b392353cc25d3dac9.png)
Запускаем расчет (RUN) DC Sweep и Смотрим графики:
![](https://habrastorage.org/getpro/habr/upload_files/c90/901/9c9/c909019c9b4181da145bca7f8b85a49d.png)
Печальный результат. Третий график наглядно показывает как при увеличении напряжения питания схемы, её КПД линейно падает с 50% до 14%. Если реализовать такую схему, то стоимость только радиатора будет в несколько раз больше суммарных затрат на электронную часть данной схемы и это не говоря уже о низкой эффективности использования энергии. Описанное заставляет искать решения, которые улучшат эффективность преобразования энергии.
Несмотря на отрицательный результат, можно, а главное нужно, видеть потенциально перспективные результаты, в нашем случае это рост КПД схемы при уменьшении напряжения падения на РЭ, что это значит?
Загоризонтные перспективы
Давайте посмотрим эквивалентное сопротивление РЭ от входного напряжения, для этого в соответствии с Законом Ома падение напряжения на РЭ поделим на протекающий через него ток, т.е.:
Rq1 = (Vsource - Load) / IcQ1 (т.к. ток базы транзистора Q1 много меньше токов его коллектора и эмиттера пренебрежем им и будем считать, что токи коллектора и эмиттера равны)
И опять нам поможет в этом DC Sweep. Добавим (+Add) в Output Expression эту функцию:
![Примечание: Для удобства представления отношение 1/IcQ1 выразим в виде (IcQ1)^-1, в итоге функция будет выглядеть так: (Vsorce-Load)*ic(Q1)^-1: Примечание: Для удобства представления отношение 1/IcQ1 выразим в виде (IcQ1)^-1, в итоге функция будет выглядеть так: (Vsorce-Load)*ic(Q1)^-1:](https://habrastorage.org/getpro/habr/upload_files/3d1/808/267/3d1808267fcb91c48f0407638ce5f14b.png)
Посмотрим весь перечень графиков, которые мы построили:
![](https://habrastorage.org/getpro/habr/upload_files/7e2/674/2c9/7e26742c96d0d4aabad0e48c66717a11.png)
Запускаем расчет (RUN) DC Sweep и Смотрим графики:
![](https://habrastorage.org/getpro/habr/upload_files/932/947/11f/93294711f9e264ef82ca37f115aa7495.png)
Нижний график это и есть изменение эквивалентного сопротивления Rq1 транзистора Q1. Обратите внимание: при увеличении КПД, Rq1 уменьшается, т.е. чем меньше сопротивление РЭ, тем выше КПД. Давайте изучим, что будет если сопротивление РЭ станет равным нулю, при этом посмотрим где и какие мощности выделятся. Для этого транзистор Q1 заменим на резистор R2 и посмотрим, как его сопротивление будет влиять на баланс мощностей в схеме (при этом нас не будет интересовать напряжение на нагрузке R1):
Для этого в схему добавим резистор, а не участвующие ЭК спрячем за маской компиляции:
![](https://habrastorage.org/getpro/habr/upload_files/2c7/a1a/85b/2c7a1a85b49eb5d290344327941343b8.png)
В этот раз в DC Sweep отключаем (не удаляем) ранее рассчитанные ненужные зависимости снятием соответствующих галочек:
![](https://habrastorage.org/getpro/habr/upload_files/bed/195/89e/bed19589e2aaa96879996a7d46e36c06.png)
Выберем в DC Sweep параметр R2, который будем менять, тут же указав его диапазон 0-100 Ом с шагом 0,1 Ом и добавим (+Add) в Output Expression новые функции следующих зависимостей: P(R2) и P(R1) от R2:
![](https://habrastorage.org/getpro/habr/upload_files/cf5/993/17e/cf599317ebef273331a6dabb7a52fc34.png)
Запускаем расчет (RUN) DC Sweep и натыкаемся на “калейдоскоп” ошибок, которые отображаются в нижней панели Messages сразу под графиками:
![](https://habrastorage.org/getpro/habr/upload_files/479/18d/d37/47918dd3737a34e76bd1d1cc2c04fc4e.png)
Нет, мы сделали все правильно, но при работе с Симулятором есть некоторые ограничения, их не много, но их нужно знать и чувствовать, чтобы Симулятор был нашим надежным помощником. Дело в том, что Симулятор, это все-таки математическая машина, которая работает в “цифровом организме”, у которого есть ограничения по возможности представления сверхмалых и сверхбольших чисел, на которых он иногда (но не всегда!) спотыкается, (в нашем случае при расчетах Симулятор видимо что-то поделил на ноль), поэтому Симулятор “не любит” нули и бесконечность сопротивлений и проводимостей.
Вот и в нашей задаче Симулятор споткнулся на нулевом значении сопротивления R2… Проблема эта решается просто, вместо 0 Ом Симулятору нужно предложить малое, но уже не нулевое значение, например 1 мОм, которое для нас не влияет на практическое качество результата, но при этом Симулятор с легкостью его обрабатывает:
![](https://habrastorage.org/getpro/habr/upload_files/1eb/e2c/01f/1ebe2c01f844a0d8aa27aa58b248adf4.png)
Запускаем расчет (RUN) DC Sweep и Смотрим графики:
![](https://habrastorage.org/getpro/habr/upload_files/494/511/bc2/494511bc2824f575b64adb9363c6f17b.png)
Присмотримся и можем видеть… Но нет!, пожалуй вглядываться это тоже неправильно. Симулятор это не только математическая машина, но и телескоп и микроскоп одновременно, который позволяет удобно видеть и малое и большое в одном окошке, логарифмически хитро искривляя область отображения малое растягивая, а большое сжимая: для этого откройте панель Chart Options двойным кликом по горизонтальной оси абсцисс графика:
![](https://habrastorage.org/getpro/habr/upload_files/14a/2a3/1e8/14a2a31e8ec98de9e532212d206ac8c3.png)
поставьте галочку напротив Logarithmic, и далее OK. Что мы видим:
![](https://habrastorage.org/getpro/habr/upload_files/b0b/1c7/87b/b0b1c787b8f087e5fff5ec3e3e6638f6.png)
Горизонтальная ось поделена на равные участки, границы которых различаются не “на 10 Ом” (как на предыдущем графике), а “в 10 раз”, т.е. теперь одинаково видно в одном масштабе, что творится в диапазонах и 0,1-1 Ом и 1-10 Ом и 10-100 Ом и это замечательно!
Глядя на результат, чувствуется, что возможности такого представления в полной мере справа еще не исчерпались, поэтому давайте в DC Sweep для параметра R2 увеличим верхний диапазон в 100 раз т.е. до 10 кОм:
![](https://habrastorage.org/getpro/habr/upload_files/00a/a0f/501/00aa0f501ec9de3449c5176ea1be9354.png)
Для оценки разницы восприятия самостоятельно оцените информативность графиков в линейном и логарифмическом масштабах переключая соответствующие галочки в Chart Options и имейте в виду, не верьте глазам своим, то что вы видите и в линейном и в логарифмическом масштабе это одно и тоже! Вот оно волшебство логарифмирования.
Вернемся обратно к анализу графиков. Красный график, это мощность переданная в нагрузку - R1, а синий график это мощность рассеянная на РЭ - R2. Как можно заметить, если менять сопротивление РЭ скачкообразно (т.е. как можно быстрее) от 0 к бесконечности и обратно, то можно поставлять энергию от источника к нагрузке порциями без потери энергии на РЭ!. Данный режим работы РЭ называется ключевым, а РЭ работающий в таком режиме часто называют Ключом. Отсутствие потерь энергии на Ключе, в крайних значениях его сопротивления, весьма привлекательно для применения и оказывается именно ключевой режим лежит в основе работы ШИМ энергии позволяя с высокой эффективностью решать задачи по ее преобразованию.
Настало время заглянуть внутрь ШИМ, так сказать понять ее анатомию, которую мы рассмотрим во второй части нашего рассказа: “Нитка с иголкой в ткани энергии.”