Цепь, которую нельзя свести к последовательным и параллельным соединениям, — мост, две батареи с общей нагрузкой, делитель с источником тока — рассчитывают по законам Кирхгофа. Калькулятор решает такие цепи методом узловых потенциалов: он составляет по одному уравнению на узел, решает систему методом Гаусса и проверяет ответ двумя независимыми способами — балансом мощности и наложением источников.
Как описать схему
Схема записывается списком элементов, по одному на строке, как в SPICE: имя, два узла и номинал.
| Строка | Элемент | Смысл узлов |
|---|---|---|
R1 1 2 4k7 | резистор 4,7 кОм | между узлами 1 и 2 |
V1 1 0 28 | источник напряжения 28 В | плюс — первый узел: U(1) − U(0) = 28 В |
I1 0 2 10m | источник тока 10 мА | ток течёт из первого узла через источник во второй — в узел 2 |
Узлы называют числами или словами из латинских букв (in, out, n1); регистр, как в SPICE, не важен: Out и OUT — один узел. Один узел — земля: 0 или gnd; напряжения всех остальных отсчитываются от него. Номиналы пишут с приставками, как в остальных калькуляторах сайта: 4k7, 2,2k, 10m (милли), 1meg или 1M (мега), 1T (тера). Комментарий — строка, которая начинается с *, или остаток строки после ;; строки с точкой (.dc, .print, .end) пропускаются.
Список из учебника или из LTspice обычно нужно поправить. Убирают строку с заголовком — в SPICE первая строка всегда название схемы. Источник, напряжение которого задано директивой .dc (у Kuphaldt — v1 1 0 и .dc v1 28 28 1), получает номинал прямо в своей строке: V1 1 0 28. И главное отличие: в SPICE заглавная M означает милли, а здесь — мега, как везде на сайте; мегаомы надёжнее записывать как meg, а милли — строчной m.
Метод узловых потенциалов
Для каждого узла, кроме земли, записывают первый закон Кирхгофа: токи, вытекающие из узла через резисторы, в сумме равны току, который втекает в узел из источников тока. Ток резистора выражают через напряжения узлов по закону Ома, I = G (Uk − Um), где G = 1/R — проводимость. Для двух узлов получается система
Kuphaldt формулирует правило записи «на глаз»: на диагонали стоит сумма проводимостей, подключённых к узлу, вне диагонали — проводимости между узлами со знаком минус, справа — токи источников, втекающие в узел. Пример из его книги: после замены источников 10 и −4 В с последовательными резисторами на источники тока 5 и −4 А система принимает вид 1,15 U1 − 0,4 U2 = 5, −0,4 U1 + 1,6 U2 = −4, и ответ — 3,8095 и −1,5476 В.
Источник напряжения так не записать: его ток не выражается через напряжения. Поэтому калькулятор, как и SPICE, добавляет ток каждого источника напряжения в число неизвестных, а в систему — уравнение U+ − U− = E. В курсе MIT 6.01 этот подход называется NVCC: неизвестны напряжения всех узлов и токи компонентов, уравнений — по одному на узел без земли и на компонент. Матрица получается размером «узлы + источники напряжения», и для цепей до 12 узлов решается мгновенно.
Проверки
- Баланс мощности. Мощность каждого элемента — произведение напряжения на нём на ток из первого вывода во второй. У резисторов она положительна, у источников, отдающих энергию, — отрицательна. Сумма всех мощностей равна нулю, поэтому отданная мощность совпадает с потреблённой.
- Наложение. В линейной цепи ток и напряжение любого элемента — сумма вкладов от каждого источника, действующего отдельно. Kuphaldt формулирует правило: остальные источники напряжения заменяют перемычками, источники тока — разрывами. Калькулятор решает цепь столько раз, сколько в ней источников, и показывает вклады в отдельной таблице; их сумма совпадает с полным решением.
- Ошибки схемы. Узел без пути к земле через резисторы и источники напряжения не имеет определённого потенциала — калькулятор назовёт его. Два источника напряжения параллельно или в замкнутом контуре дают неопределённые токи — это тоже ошибка, а не результат.
- Точность. Система решается в числах двойной точности, около 16 значащих цифр, с выбором ведущего элемента по масштабу строки — поэтому рядом могут стоять резисторы 1 Ом и 1 ТОм. Ток резистора считается как разность напряжений узлов, делённая на сопротивление: если оба узла под большим напряжением и почти равны, часть цифр теряется при вычитании — у узлов 1000 В, различающихся на 1 мкВ, ток верен примерно до седьмого знака.
Пример: две батареи и три резистора
Пример Kuphaldt для метода токов ветвей: батарея 28 В в узле 1, батарея 7 В в узле 3, резисторы 4 Ом (1–2), 2 Ом (2–0) и 1 Ом (2–3). Ответ, проверенный в книге моделированием SPICE: на R1 — 20 В, на R2 — 8 В, на R3 — 1 В; токи 5, 4 и 1 А.
Баланс мощности (наш расчёт): батарея 28 В отдаёт 28 · 5 = 140 Вт. Резисторы рассеивают 100 + 32 + 1 = 133 Вт, а оставшиеся 7 Вт уходят в батарею 7 В — ток 1 А втекает в её плюс, она заряжается. Наложение: батарея 28 В одна даёт в узле 2 напряжение 4 В, батарея 7 В одна — тоже 4 В, вместе — 8 В.
Если вас интересует только то, что видит нагрузка между двумя выводами схемы, удобнее эквивалент: калькулятор Тевенина и Нортона сводит схему к одному источнику с внутренним сопротивлением. Сами правила узлов и контуров с правилами знаков — в статье «Правила Кирхгофа», простые соединения резисторов — в калькуляторе последовательного и параллельного соединения.
Частые вопросы
Как рассчитать сложную цепь, которую не свести к последовательным и параллельным соединениям?
Методом узловых потенциалов. Один узел объявляют землёй, для остальных записывают первый закон Кирхгофа: сумма токов, вытекающих из узла через резисторы, равна току, который втекает в него из источников тока. Токи резисторов выражают через напряжения узлов по закону Ома, и получается система линейных уравнений с напряжениями узлов как неизвестными. Неуравновешенный мост из примера Kuphaldt решается так в три уравнения; калькулятор составляет и решает их сам.
Что значит отрицательный ток в результатах?
Что ток течёт в обратную сторону — из второго узла в первый. Направление в списке элементов выбирается произвольно, и расчёт сам показывает настоящее. Так у Kuphaldt в примере с неуравновешенным мостом: в первом решении контурными токами отрицателен один ток, а во втором, где третий ток пущен другим путём, — два, −93,793 и −58,851 мА. Предположения о направлениях были неверны, но токи резисторов в обоих решениях совпадают.
Как понять, отдаёт источник энергию или потребляет?
По знаку мощности. Калькулятор считает мощность как произведение напряжения между выводами на ток из первого вывода во второй — в такой записи у резистора она всегда положительна. Источник, который отдаёт энергию, получает отрицательную мощность. В примере с батареями 28 и 7 В первая отдаёт 140 Вт, а вторая потребляет 7 Вт — ток идёт в её плюс, и она заряжается.
Почему калькулятор пишет, что узел висит?
Потому что у этого узла нет пути к земле через резисторы или источники напряжения, и его потенциал ничем не задан. Чаще всего это опечатка в номере узла или забытый резистор. Источник тока потенциал не задаёт: узел, соединённый с остальной схемой только через него, тоже висит — а в реальной схеме напряжение на таком источнике росло бы, пока он не выйдет из режима.
Можно ли так считать цепи переменного тока?
Этот калькулятор — только для постоянного тока и линейных элементов. Для синусоидального тока тот же метод работает с комплексными сопротивлениями катушек и конденсаторов; импеданс одной ветви на заданной частоте посчитает калькулятор импеданса на сайте.
Источники
- Kuphaldt T. R. Lessons In Electric Circuits, Vol. I — DC, ch. 10 «DC Network Analysis» (CC BY) — разд. «Branch current method» и «Mesh current method»: батареи 28 и 7 В с резисторами 4, 2 и 1 Ом — 20, 8 и 1 В, токи 5, 4 и 1 А, проверка SPICE; неуравновешенный мост 24 В (150, 50, 100, 300, 250 Ом) — 17,66 и 19,31 В; разд. «Node voltage method»: правила составления уравнений по проводимостям, пример 10 и −4 В — 3,809524 и −1,547619 В, мост с источником тока 0,136092 А — 24,000, 17,655 и 19,310 В; разд. «Superposition Theorem»: неактивные источники напряжения заменяют перемычками, источники тока — разрывами
- MIT OpenCourseWare. 6.01SC Introduction to Electrical Engineering and Computer Science I, Spring 2011, course notes, ch. 6 «Circuits» — разд. 6.4, с. 247–250: метод узловых напряжений и токов компонентов (NVCC) — n − 1 уравнений по закону токов и по одному уравнению на компонент; пример 6.4.3 (15 В, 3 и 2 Ом, источник 10 А) — v2 = 18 В, i1 = −1 А, i2 = 9 А; упражнение 6.1 (10 В, 100, 200 и 100 Ом) — 7,5, 10 и 2,5 В, ток 25 мА
- Agarwal A., Lang J. 6.002 Circuits and Electronics, Lecture 3: Superposition, Thévenin and Norton. MIT OpenCourseWare, Spring 2007 — узловой метод как основной инструмент курса; наложение для линейных цепей с источниками напряжения и тока
Где пригодится
- Первый закон Кирхгофа (KCL)Алгебраическая сумма токов в узле равна нулю
- Второй закон Кирхгофа (KVL)Сумма напряжений вдоль замкнутого контура равна нулю
- Метод токов ветвейНеизвестные — токи ветвей, уравнения — оба закона Кирхгофа
- Метод контурных токовНеизвестные — токи контуров, уравнения — второй закон Кирхгофа
- Метод узловых потенциаловНеизвестные — потенциалы узлов, уравнения — первый закон Кирхгофа
- Модифицированный узловой анализ (MNA)Узловой метод, где токи источников напряжения — тоже неизвестные
Встроить калькулятор на свой сайт
Скопируйте код и вставьте его в HTML страницы, статьи или вики. Виджет бесплатный, без рекламы, счётчиков и cookie. Условие одно — ссылка на GAW под рамкой остаётся на месте. Подробнее о виджетах
<iframe src="https://gaw.ru/embed/kirchhoff-solver/" title="Расчёт цепи методом узловых потенциалов" width="100%" height="640" style="border:1px solid #e3e5e9;border-radius:8px" loading="lazy" allow="clipboard-write"></iframe>
<p style="margin:6px 0 0;font-size:14px">Калькулятор: <a href="https://gaw.ru/tools/kirchhoff-solver/">Расчёт цепи методом узловых потенциалов</a> — GAW.ru</p>Автоподстройка высоты рамки
Если сайт разрешает скрипты, добавьте этот код один раз в любом месте страницы: рамка будет менять высоту вместе с результатом расчёта.
<script>window.addEventListener("message",function(e){if(e.origin!=="https://gaw.ru"||!e.data||e.data.type!=="gaw:embed-height")return;var f=document.querySelectorAll('iframe[src^="https://gaw.ru/embed/"]');for(var i=0;i<f.length;i++)if(f[i].contentWindow===e.source)f[i].style.height=e.data.height+"px"})</script>Обновлено .
Нашли ошибку в расчёте? ·