Перейти к содержимому

Бонус: симуляция мультивибратора

Время: ~40 мин

Цели урока

  • подготовить схему к симуляции — модели, источник, опорный узел GND
  • настроить переходный анализ (Transient) и поставить пробники
  • измерить период и частоту по графику и сравнить с расчётом
  • понимать, чем симуляция отличается от реальной схемы

Схема нарисована, плата разведена. Но работает ли схема так, как мы рассчитали? Проверить можно, не паяя: в Altium встроен SPICE-симулятор. Нарисованную схему он превращает в систему уравнений и считает, как меняются напряжения во времени. В этом бонусном уроке посмотрим на импульсы мультивибратора и сравним период с расчётом.

Полупериод, пока закрыт один транзистор: t = ln2·R·C = 0,693 · 100 кОм · 22 нФ ≈ 1,52 мс. Схема симметрична, поэтому период T ≈ 3,05 мс, частота f ≈ 328 Гц, коэффициент заполнения около 50 %. Проверь это калькулятором (урок 3.9). Он уже настроен под нашу схему: светодиодов в учебной схеме нет (поле «Светодиод в коллекторе» = 0), а транзистор BC547C — группа с h21э не меньше 420 по даташиту onsemi. Запас насыщения получается около 4×:

Калькулятор мультивибратора

Частота f—
Период T—
Q1 закрыт / Q2 закрыт—
Коэф. заполнения D (Q1 закрыт)—
Ток коллектора Iк—
Запас насыщения β·Iб / Iк—
Uк1Uк2t
Напряжение на коллекторах (качественно). Фронт нарастает плавно: конденсатор заряжается через Rк, τ = Rк·C.

    t = ln2·Rб·C ≈ 0,693·Rб·C — приближение для Uпит ≫ 0,6 В. Реальная частота отличается на 10–20 % из-за допусков конденсаторов (у электролитов −20…+80 %) и параметров транзисторов.

    Калькулятор предупредит про обратное напряжение эмиттер–база — это не случайность, к ней вернёмся в конце урока.

    Симулятору нужна SPICE-модель каждого компонента: как он ведёт себя электрически. У резисторов и конденсаторов модели простые. У транзистора модель описывает его усиление, ёмкости переходов и прочее.

    1. Открой Simulation Dashboard SimulateSimulation Dashboard[ПРОВЕРИТЬ]. Проект должен быть PCB-проектом (.PrjPcb): у отдельного листа схемы симуляция недоступна.
    2. В области Verification нажми Start Verification. В разделе Simulation Models появятся компоненты без моделей (Components without Models).
    3. Для них: Add Model (выбрать или загрузить модель) или Assign Automatically.

    Разъём P1 — это просто два контакта: в реальности питание приходит по проводам, а в симуляции его нужно подать источником.

    1. В области Simulation Sources нажми Add → Voltage, или SimulatePlace Voltage.
    2. Подключи источник между цепями 12V (плюс) и GND (минус).
    3. В панели Properties источника выбери Stimulus Type = DC Source, напряжение 12 В.
    4. Опорный узел (0 В) у симулятора по умолчанию — цепь GND. У нас она есть. Если бы земля называлась иначе, Verification выдал бы ошибку No reference node: либо добавь порт питания GND, либо поменяй имя опорной цепи в настройках.

    Почему так. SPICE считает все напряжения относительно одного опорного узла — это та самая «земля» из урока 1.1. Без неё уравнения не решить.

    1. В области Probes нажми Add → Voltage, или SimulatePlace Probe.
    2. Поставь пробники на коллектор Q1 и коллектор Q2, по желанию ещё на базу Q1.
    3. Непривязанный к цепи пробник называется Empty Probe — проверь, что таких нет.
    1. В области Analysis Setup & Run включи анализ Transient.
    2. Режим Interval: From = 0, To = 20m (20 мс — около шести периодов), Step = 1u (шаг около 1 мкс; фронты короткие, грубый шаг их «съест»).
    3. Запусти симуляцию кнопкой запуска в Dashboard или SimulateRun Simulation.

    Результат откроется отдельным документом с графиками. На коллекторах ты увидишь прямоугольные импульсы в противофазе, с плавным передним фронтом (τ = Rк·C = 1 кОм · 22 нФ = 22 мкс) и резким задним. На базе — характерную «пилу»: резкий скачок вниз, затем экспоненциальный подъём до ~0,6 В.

    1. В области Transient добавь выражение вывода (Output Expressions) — напряжение коллектора Q1.
    2. Во вкладке Measurements диалога Add Output Expression нажми Add Measurement и выбери Period, затем Frequency. Уровень (Level) поставь около половины размаха, например 6 В. Интервал From — 5 мс, чтобы пропустить запуск схемы.
    3. Значения появятся под выражением в Dashboard.

    Сравни с расчётом и заполни таблицу:

    Величина Расчёт (ln2·R·C) Симуляция Расхождение, %
    Полупериод 1,52 мс … …
    Период 3,05 мс … …
    Частота 328 Гц … …

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

    Симуляция и реальность: обратный пробой базы

    Заголовок раздела «Симуляция и реальность: обратный пробой базы»

    Помнишь предупреждение калькулятора? В момент переключения база закрытого транзистора уходит почти на −11 В. А предельное обратное напряжение эмиттер–база у BC547 — 6 В (VEBO по даташиту). В реальной схеме переход эмиттер–база при этом пробивается, как стабилитрон, и не даёт базе опуститься ниже примерно −(7…9) В. Конденсатору тогда нужно перезаряжаться с меньшей глубины, и полупериод становится короче расчётного.

    Оценка: база стартует с −8 В (если пробой ограничивает её на этом уровне) и через R1 стремится к +12 В, а транзистор откроется на +0,7 В. Полупериод t = R·C·ln((12 − (−8)) / (12 − 0,7)) ≈ 0,57·R·C ≈ 1,26 мс вместо 1,52 мс, частота около 400 Гц вместо 328 Гц. Без пробоя база стартует примерно с −11 В, и та же формула даёт ≈ 0,7·R·C — отсюда и ln2.

    Стандартная SPICE-модель биполярного транзистора (Гуммеля–Пуна) обычно не моделирует пробой эмиттер–база. Поэтому симуляция, скорее всего, покажет период ближе к формуле ln2·R·C, чем живая плата. Это хороший урок на всю жизнь: симулятор считает модель, а не реальность, и знать границы модели — твоя работа. Проверить можно в уроке 3.10 на макетке с осциллографом [ПРОВЕРИТЬ на макете] — фактическое напряжение пробоя зависит от экземпляра транзистора.

    🧯 Типичные ошибки

    Verification ругается: Components without Models

    Почему У компонента нет SPICE-модели (часто у транзистора или разъёма).

    Как исправить Подключи модель через Add Model (модель производителя) или исключи из симуляции компоненты, которые электрически не участвуют (разъём).

    No reference node

    Почему В схеме нет цепи, которую симулятор считает опорной (по умолчанию GND).

    Как исправить Добавь порт питания GND или поменяй имя опорной цепи в настройках симуляции.

    Импульсы «ступеньками» или фронты странной формы

    Почему Слишком крупный шаг анализа, фронты длиной десятки мкс пропускаются.

    Как исправить Уменьши Step (например, до 1 мкс) или увеличь число точек.

    Схема не генерирует, линии ровные

    Почему Идеальная симметрия модели без шума.

    Как исправить Внеси небольшую асимметрию в номиналы или задай начальные условия.

    Проверь себя

    1. 1. Чему по формуле t = ln2·R·C равен полупериод при R = 100 кОм и C = 22 нФ?
    2. 2. Зачем в симуляции нужен источник напряжения, если на схеме есть разъём P1?
    3. 3. Почему реальная плата может генерировать чаще, чем показывает симуляция?
    4. 4. Чем определяется время нарастания переднего фронта на коллекторе?

    Практическое задание~40 мин

    1. Подготовь схему к симуляции, запусти Transient на 20 мс и получи импульсы на обоих коллекторах.
    2. Измерь период и частоту и заполни таблицу «расчёт — симуляция — расхождение».
    3. Поменяй C1 и C2 на 47 нФ и повтори. Во сколько раз изменилась частота? Совпадает ли это с формулой?
    4. Если соберёшь схему на макетке (урок 3.10), измерь частоту осциллографом или частотомером мультиметра и добавь третий столбец «реальность». Объясни расхождение.