Цифровое против аналогового управления

Два мира регуляторов: непрерывные аналоговые и тактовые цифровые.

Аналоговое управление реализует регулятор непрерывной электроникой, цифровое — программой на процессоре, работающей тактами. Сегодня доминирует цифровое.

Как было: аналоговые регуляторы

Исторически регуляторы строили из непрерывной аналоговой электроники: операционные усилители, конденсаторы (для интегрирования), резисторы. Такой ПИД работает непрерывно, без всякой дискретизации, и реагирует мгновенно. Аналоговое управление и сегодня живёт там, где нужна предельная скорость и простота: стабилизаторы напряжения, высокочастотные приводы. Но настроить его — значит паять и менять номиналы, а гибкости почти нет.

Как стало: цифровое управление

Современный регулятор — это программа на микроконтроллере или компьютере. Она читает датчик через АЦП, считает дискретный ПИД (как мы писали в классе), выдаёт воздействие через ЦАП или ШИМ — и так каждые Ts секунд. Плюсы огромны: коэффициенты меняются в коде, можно реализовать сложную логику (анти-windup, фильтры, переключение режимов, адаптацию), легко логировать и отлаживать. Минус — дискретизация добавляет запаздывание и требует выбора частоты. Именно цифровое управление лежит в основе ROS-узлов, полётных контроллеров, промышленных ПЛК.

СвойствоАналоговоеЦифровое
Реализацияэлектроника (ОУ, RC)программа на процессоре
Времянепрерывноетактовое (период Ts)
Гибкостьнизкая (паять)высокая (правка кода)
Скоростьмгновеннаяограничена тактом и АЦП
Сложная логикатруднолегко

Как работает под капотом: квантование добавляет ошибку

У цифрового управления есть особенность — квантование: АЦП измеряет не точное значение, а ближайший уровень из конечного набора. Это вносит маленькую ошибку, которой нет в аналоговом мире. Покажем эффект разрешения АЦП.

def quantize(value, bits, vmax):
    levels = 2**bits
    step = vmax/levels
    return round(value/step)*step

true_signal = 3.14159
print("разрешение  измерено   ошибка квантования")
for bits in (4, 8, 12):
    q = quantize(true_signal, bits, 5.0)
    print(f"  {bits:2d} бит    {q:7.4f}    {abs(true_signal-q):.4f}")
print("больше бит АЦП -> меньше ошибка квантования")

Вывод:

разрешение  измерено   ошибка квантования
   4 бит     3.1250    0.0166
   8 бит     3.1445    0.0029
  12 бит     3.1421    0.0005
больше бит АЦП -> меньше ошибка квантования

Чем больше разрядность АЦП, тем мельче ошибка квантования. В реальных системах разрешение датчика и АЦП — такой же параметр качества управления, как и коэффициенты регулятора: грубый АЦП ставит предел точности, ниже которого не опуститься. Это плата за гибкость цифрового мира, но она почти всегда оправдана.

Алиасинг и фильтр сглаживания

У дискретизации есть коварная ловушка — алиасинг, знакомый из курса DSP. Если в сигнале есть составляющие частотой выше половины частоты дискретизации (предела Найквиста), то после оцифровки они «маскируются» под низкочастотные и неотличимо подмешиваются в данные. Для управления это значит, что высокочастотный шум или вибрация могут после оцифровки притвориться медленным дрейфом, который регулятор начнёт честно, но ошибочно компенсировать. Лекарство — аналоговый сглаживающий фильтр (anti-aliasing filter) перед АЦП, срезающий высокие частоты до оцифровки. Это ещё одна причина, по которой цифровое управление требует понимания не только алгоритма ПИД, но и теории сигналов: курсы DSP и теории управления здесь смыкаются вплотную.

Частые ошибки

  • Переносить аналоговые коэффициенты в цифру без учёта Ts. Дискретизация меняет поведение; коэффициенты надо пересчитывать.
  • Игнорировать квантование и разрешение датчика. Грубый АЦП ограничивает достижимую точность.
  • Брать слишком грубый АЦП ради экономии. Шум квантования может стать главным источником ошибки.

Итоги

  • Аналоговое управление непрерывно и быстро, но негибко; цифровое — программное, тактовое и гибкое.
  • Сегодня доминирует цифровое: лёгкая правка, сложная логика, логирование — основа ROS и контроллеров.
  • Цена цифры — дискретизация и квантование, добавляющие запаздывание и ошибку.
Проверьте себя
1. Чем цифровой регулятор отличается от аналогового?
AЦифровой быстрее всегда
BЦифровой — программа, работающая тактами (Ts); аналоговый — непрерывная электроника
CАналоговый не нуждается в датчике
DОни идентичны
2. Что такое квантование в цифровом управлении?
AНакопление интеграла
BАЦП измеряет ближайший уровень из конечного набора, внося ошибку
CНасыщение привода
DПериод колебаний
3. Главное преимущество цифрового управления?
AМгновенная реакция
BГибкость: лёгкая правка коэффициентов, сложная логика, логирование
CПолное отсутствие ошибок
DНе нужен процессор