Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Освоение моделирования электрических цепей в SPICE: практическое руководство для проектировщиков и студентов

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

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

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

Моделирование цепей в SPICE

Для моделирования цепей на компьютере я использую SPICE (Simulation Program with Integrated Circuit Emphasis). SPICE интерпретирует текстовое описание цепи — нетлист — и выдаёт результаты детального математического анализа.

Заинтересованным в деталях том 5 справочника этой серии посвящён SPICE полностью. Здесь я сосредоточусь на основах и пройдусь по простым примерам.

Сначала SPICE должен быть установлен. Он бесплатен для многих ОС, я демонстрирую лёгкую версию 2G6 за её простоту.

Давайте проанализируем базовую цепь: батарея 10 В последовательно с резистором 5 Ω. Цель — проверить, что SPICE вычисляет ожидаемый ток по закону Ома (I = E/R).

SPICE — текстовая программа

SPICE не понимает графические схемы; ему нужно чисто текстовое описание. Каждой уникальной точке соединения присваивается номер узла. Общие точки получают один номер. SPICE также требует узел 0 как опорный (заземление).

В нашем примере всего два узла — 1 и 0:

Освоение моделирования электрических цепей в SPICE: практическое руководство для проектировщиков и студентов

Хотя диаграмма иллюстрирует нумерацию узлов, SPICE требует ту же информацию в виде простого текста.

Создание нетлистов SPICE в текстовом редакторе

Текстовый редактор — Notepad в Windows или Vim в Linux — даёт чистое окружение без форматирования для написания нетлистов. SPICE опирается на точный синтаксис этих файлов.

Начните с заголовка:

Освоение моделирования электрических цепей в SPICE: практическое руководство для проектировщиков и студентов

Опишите источник напряжения буквой «v», номерами узлов и значением DC:

Освоение моделирования электрических цепей в SPICE: практическое руководство для проектировщиков и студентов

Затем укажите резистор буквой «r» и его узлы:

Освоение моделирования электрических цепей в SPICE: практическое руководство для проектировщиков и студентов

Завершите нетлист директивой .end. Полный нетлист:

Освоение моделирования электрических цепей в SPICE: практическое руководство для проектировщиков и студентов

Запуск SPICE из командной строки

Сохранив файл (например, circuit1.cir), вызовите SPICE из терминала:

spice < circuit1.cir

В Linux командная строка перед нажатием Enter выглядит так:

Освоение моделирования электрических цепей в SPICE: практическое руководство для проектировщиков и студентов

SPICE печатает нетлист, напряжения узлов, токи источников и общую рассеиваемую мощность. Вывод для примера:

Освоение моделирования электрических цепей в SPICE: практическое руководство для проектировщиков и студентов

Обратите внимание: SPICE сообщает ток как отрицательное значение из-за внутренней знаковой условности. Мощность в научной нотации (2,00E+01 Вт).

Перенаправление вывода в текстовый файл

Чтобы подавить экранный вывод и сохранить результаты в файл, перенаправьте вывод SPICE:

Освоение моделирования электрических цепей в SPICE: практическое руководство для проектировщиков и студентов

Полученный файл output1.txt можно отредактировать в текстовом редакторе. Убрав лишние заголовки, оставляем чистые данные для анализа или вставки в документы:

Освоение моделирования электрических цепей в SPICE: практическое руководство для проектировщиков и студентов

Очищенный вывод в текстовом виде:

my first circuit
v 1 0 dc 10
r 1 0 5
.end
node voltage
( 1) 10.0000
voltage source currents
name current
v -2.000E+00
total power dissipation
2.00E+01 watts

Изменение значений компонентов

Чтобы изменить компонент, отредактируйте нетлист, сохраните и запустите SPICE снова. Например, утроим напряжение до 30 В:

second example circuit
v 1 0 dc 30
r 1 0 5
.end
node voltage
( 1) 30.0000
voltage source currents
name current
v -6.000E+00
total power dissipation
1.80E+02 watts

Ток вырос с 2 А до 6 А, мощность в 9 раз — с 20 Вт до 180 Вт — в согласии с законом Джоуля (P = E²/R).

Использование sweep и plot в SPICE

Для изучения цепи на диапазоне напряжений добавьте директиву .dc. Комментарии (строки, начинающиеся с «*») документируют нетлист:

third example circuit
v 1 0
r 1 0 5
* директива ".dc" говорит SPICE просканировать напряжение источника "v"
* от 0 до 100 вольт шагом 5 вольт.
.dc v 0 100 5
.print dc v(1) i(v)
.end

Команда .print выдаёт табличные данные для каждого шага:

v i(v)
0.000E+00 0.000E+00
5.000E+00 -1.000E+00
1.000E+01 -2.000E+00
1.500E+01 -3.000E+00
2.000E+01 -4.000E+00
2.500E+01 -5.000E+00
3.000E+01 -6.000E+00
3.500E+01 -7.000E+00
4.000E+01 -8.000E+00
4.500E+01 -9.000E+00
5.000E+01 -1.000E+01
5.500E+01 -1.100E+01
6.000E+01 -1.200E+01
6.500E+01 -1.300E+01
7.000E+01 -1.400E+01
7.500E+01 -1.500E+01
8.000E+01 -1.600E+01
8.500E+01 -1.700E+01
9.000E+01 -1.800E+01
9.500E+01 -1.900E+01
1.000E+02 -2.000E+01

Замена .print на .plot генерирует простой текстовый график:

Legend: + = v#branch
------------------------------------------------------------------------
sweep v#branch-2.00e+01 -1.00e+01 0.00e+00
----------------------|------------------------|------------------------|
0.000e+00 0.000e+00 . . +
5.000e+00 -1.000e+00 . . +
1.000e+01 -2.000e+00 . . +
1.500e+01 -3.000e+00 . . +
2.000e+01 -4.000e+00 . . +
2.500e+01 -5.000e+00 . . +
3.000e+01 -6.000e+00 . . +
3.500e+01 -7.000e+00 . . +
4.000e+01 -8.000e+00 . . +
4.500e+01 -9.000e+00 . . +
5.000e+01 -1.000e+01 . + .
5.500e+01 -1.100e+01 . + .
6.000e+01 -1.200e+01 . + .
6.500e+01 -1.300e+01 . + .
7.000e+01 -1.400e+01 . + .
7.500e+01 -1.500e+01 . + .
8.000e+01 -1.600e+01 . + .
8.500e+01 -1.700e+01 . + .
9.000e+01 -1.800e+01 . + .
9.500e+01 -1.900e+01 . + .
1.000e+02 -2.000e+01 + . .
----------------------|------------------------|------------------------|
sweep v#branch-2.00e+01 -1.00e+01 0.00e+00

Интерпретация вывода SPICE с внешними инструментами

Графические программы вроде Nutmeg читают текстовый вывод SPICE и строят визуальные графики. Типичный график Nutmeg показывает линейный рост напряжения на резисторе (v(1)) с возрастанием напряжения источника.

Освоение моделирования электрических цепей в SPICE: практическое руководство для проектировщиков и студентов

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

СВЯЗАННЫЕ РАБОЧИЕ ЛИСТЫ:

Промышленные технологии

  1. Начало работы с SPICE: текстовый симулятор электронных схем
  2. Основы программирования в SPICE: практическое руководство
  3. Синтаксис нетлистов SPICE: именование компонентов, пассивные и активные элементы, определение источников
  4. Продвинутые схемы управления двигателями: защёлкивание, стоп и задержка времени
  5. Проектирование четырехразрядного 7-сегментного дисплея с одним двоичным энкодером
  6. Комплементарный аудиоусилитель на NPN/PNP транзисторах — прямое включение для средней мощности
  7. Понимание мощности в электрических цепях: измерение и значение
  8. Влияние сопротивления на резонанс в последовательно-параллельных LC-цепях
  9. Мастерство проектирования электрических цепей: руководство для начинающих
  10. Гидравлические цепи: типы, функции и применение