Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Удаленная работа
Помощь проекту


Калькулятор ШИМ-ЦАП (RC-фильтр)



ШИМ-ЦАП фильтр

Превращение ШИМ в аналоговое напряжение RC-фильтром. Задайте частоту ШИМ, разрядность, питание и номиналы R, C — калькулятор оценит остаточные пульсации и время установления.

В
бит

Как ШИМ превращается в аналоговое напряжение

ШИМ-ЦАП — самый дешёвый способ получить аналоговое напряжение из микроконтроллера, у которого нет встроенного ЦАП. Идея простая: ШИМ-сигнал с фиксированной частотой и меняющейся скважностью пропускают через RC-фильтр нижних частот. Фильтр усредняет прямоугольные импульсы, и на выходе остаётся постоянная составляющая, пропорциональная скважности D. При D = 0 % на выходе 0 В, при D = 100 % — полное питание, а между ними — линейная шкала. Так одна цифровая нога МК и два копеечных пассивных элемента заменяют полноценный преобразователь.

Vвых = Vпит · D    fc = 1/(2π·R·C)
пульсации(pp) ≈ Vпит/(4·fшим·R·C)    установление ≈ R·C·N·ln2

Выходное напряжение задаёт только скважность: Vвых = Vпит·D. Всё остальное — качество этого напряжения. Фильтр характеризуют частотой среза fc = 1/(2π·R·C): выше неё сигнал давится, ниже — проходит. Чтобы отфильтровать несущую ШИМ и оставить только среднее, частоту среза берут намного ниже частоты ШИМ — тогда импульсы усредняются, а полезный (медленный) сигнал проходит без искажений. Постоянная времени фильтра τ = R·C — та же величина, что и в калькуляторе RC постоянной времени.

Разрядность и шаг ЦАП (LSB)

Разрядность N говорит, на сколько ступеней делится шкала напряжения. Число уровней равно 2^N, а шаг одного уровня — младший значащий разряд: LSB = Vпит/2^N. Для 8 бит это 256 ступеней, для 10 бит — 1024, для 12 бит — 4096. Реальная разрядность ШИМ-ЦАП ограничена не столько таймером МК, сколько разрешением самого таймера: чтобы получить N бит на выходе, счётчик ШИМ должен считать до 2^N, а значит при том же тактовом генераторе частота ШИМ падает вдвое на каждый добавленный бит. Отсюда вечный компромисс: больше бит — ниже несущая — труднее фильтровать. LSB — это масштаб, к которому привязывают всё остальное: пульсации, шум и точность имеет смысл мерить именно в долях LSB, а не в абсолютных милливольтах.

Пульсации: сколько «дрожит» выход

Идеального постоянного напряжения на выходе не бывает — сквозь фильтр всегда просачивается остаток несущей. Это и есть пульсации: размах определяется формулой Vпит/(4·fшим·R·C) и максимален при скважности 50 %, когда импульс и пауза равны. Чем выше частота ШИМ и чем больше произведение R·C, тем сильнее подавляется пульсация. Практическое правило: пульсации должны быть меньше одного LSB, иначе младшие биты «тонут» в дрожании и разрядность становится фиктивной. Если калькулятор показывает больше 1 LSB, вариантов два — поднять частоту ШИМ или увеличить R·C. Обратите внимание: пульсации зависят от частоты ШИМ линейно, а от частоты среза фильтра — тоже линейно, поэтому удвоение любого из этих параметров вдвое уменьшает размах дрожания. Второй фильтр (два звена RC подряд или активный фильтр Sallen-Key) давит пульсации гораздо резче: на каждую декаду частоты второй порядок отнимает 40 дБ против 20 дБ у одиночного RC, но и время установления у двухзвенного фильтра растёт, а сам он может дать выброс, поэтому номиналы подбирают с запасом по устойчивости.

Время установления и компромисс

За гладкий выход платят скоростью. Время установления ≈ R·C·N·ln2 — это сколько нужно фильтру, чтобы после смены скважности выход дошёл до нового значения с точностью до одного LSB. Множитель N·ln2 берётся из того, что за каждую постоянную времени τ ошибка уменьшается в e раз, а чтобы уложиться в 1/2^N от диапазона, нужно примерно N·ln2 ≈ 0,69·N таких интервалов. Вывод неприятный: большое R·C душит пульсации, но во столько же раз замедляет отклик. Поэтому ШИМ-ЦАП хорош там, где сигнал меняется медленно (яркость, уставка температуры, опорное напряжение), и плох там, где нужна быстрая динамика — там ставят настоящий R-2R ЦАП или микросхему ЦАП. Ограничивать ток фильтра резистором тоже нельзя бесконечно: слишком большой R создаёт падение на нагрузке, поэтому выход почти всегда буферят повторителем на ОУ.

Типовые параметры фильтра

Ориентиры для fc намного ниже несущей ШИМ. Значения пульсаций и времени — для питания 3,3 В при R·C, дающем указанную частоту среза (округлённо, скважность 50 %).

Задачаfшимfc фильтраУстановление
Яркость LED, уставки1 кГц30 Гц≈ 30 мс
Опорное напряжение20 кГц50 Гц≈ 20 мс
Медленная аналоговая шкала100 кГц100 Гц≈ 10 мс
Аудио / динамика1 МГц+1–5 кГц< 1 мс

Где применяют — и где не годится

ШИМ-ЦАП стоит почти в каждом любительском проекте: регулировка яркости светодиодов (там ещё важна гамма-коррекция), задание опорного напряжения для компаратора, генерация плавной уставки в терморегуляторе, простые синтезаторы огибающей. Управление сервоприводом — родственная тема, но там ШИМ используют напрямую как импульс, без фильтра. Не годится ШИМ-ЦАП для быстрых сигналов, прецизионных источников и всего, где важна монотонность на уровне долей милливольта: инерция фильтра и остаточная пульсация ставят потолок. Кроме того, на точность влияет размах логической единицы порта: выход привязан к напряжению питания МК, поэтому нестабильное или «просаженное» питание прямо переносится в ошибку выходного напряжения, и для ответственных узлов ногу МК питают от отдельного чистого источника или добавляют опорный стабилизатор. Для оценки напряжения на выходе и обратного перевода в код удобен калькулятор ADC ↔ напряжение, а величину реактивного сопротивления конденсатора на частоте среза даёт калькулятор реактивности.

Пример

На значениях по умолчанию (fшим = 10 МГц, Vпит = 3,3 В, R = 10 кОм, C = 1 мкФ, N = 8 бит) шаг ЦАП LSB = 3,3 / 256 ≈ 12,9 мВ. Частота среза fc = 1/(2π·10 000·10⁻⁶) ≈ 15,92 Гц — в 600 тысяч раз ниже несущей, поэтому фильтрация очень глубокая. Размах пульсаций = 3,3/(4·10⁷·10⁴·10⁻⁶) ≈ 8,25 мкВ, то есть < 0,001 LSB — практически незаметен. Плата за это — время установления R·C·N·ln2 = 0,01·8·0,693 ≈ 55,45 мс: выход выходит на новое значение почти за одну двадцатую секунды, что нормально для яркости или уставки, но недопустимо для звука.

См. также: RC-фильтр · ШИМ · ADC ↔ напряжение · R-2R ЦАП · RC постоянная времени · все калькуляторы


Частые вопросы

Как получить аналоговое напряжение из ШИМ?

ШИМ пропускают через фильтр нижних частот (обычно RC): он усредняет импульсы, и на выходе получается напряжение, пропорциональное скважности. Частоту среза фильтра выбирают намного ниже частоты ШИМ, чтобы подавить пульсации.

Как уменьшить пульсации ШИМ-ЦАП?

Пульсации падают с увеличением постоянной времени RC и частоты ШИМ. Амплитуда остаточных пульсаций примерно равна размаху ШИМ, поделённому на отношение частоты ШИМ к частоте среза. Помогают фильтр второго порядка (два RC-звена) и более высокая частота ШИМ.

Чем ШИМ-ЦАП хуже настоящего ЦАП?

У него есть компромисс между пульсациями и быстродействием: сильное сглаживание убирает пульсации, но замедляет отклик (большое время установления). Поэтому ШИМ-ЦАП хорош для медленно меняющихся сигналов (яркость, уставки), а не для аудио высокого качества.


Похожие калькуляторы — Embedded / интерфейсы
Pull-up I2C  ·  RS-485 линия  ·  ADC ↔ напряжение  ·  ШИМ (скважность)  ·  Таймер/прескейлер МК  ·  R-2R ЦАП  ·  все калькуляторы →


© 2003—2026 «KAZUS.RUN - Электронный портал»