Радиолоцман Электроника en
расширенный поиск +
  

30-11-2018

Создайте ЦАП из АЦП микроконтроллера

Журнал РАДИОЛОЦМАН, август 2018

Vardan Antonyan

EDN

Немногие микроконтроллеры имеют встроенный ЦАП. И хотя всегда нетрудно подобрать дешевый внешний ЦАП, управляемый от микроконтроллера, вместо дополнительного компонента можно использовать незадействованные периферийные элементы. Для того чтобы превратить встроенный АЦП микроконтроллера в ЦАП, достаточно одного входа/выхода общего назначения (GPIO). Заряжая конденсатор при высоком уровне GPIO, можно установить требуемый аналоговый уровень. Конденсатор можно также разрядить низким уровнем на выходе GPIO, или сохранить его напряжение, переключив GPIO в третье состояние (Рисунок 1).

ПИД-алгоритм можно усовершенствовать для управления шириной и периодом импульсов, чтобы создать ЦАП из входа/выхода общего назначения. АЦП используется как часть петли обратной связи.
Рисунок 1. Использование токового зеркала может надежно защитить от разрушительной
токовой перегрузки две параллельные цепочки, состоящие из любого количества
мощных 350-миллиамперных светодиодов.

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

ПИД-алгоритм может использоваться для сравнения выходного напряжения с требуемым значением и вычисления соответствующей ошибки. При нулевой ошибке программный блок управления вводом/выводом устанавливает GPIO в третье состояние. Если сигнал ошибки положительный или отрицательный, блок управления устанавливает на выводе GPIO высокий уровень для заряда конденсатора или низкий уровень для его разряда. Значение ошибки микроконтроллер загружает в таймер для формирования пропорционального импульса. Таким образом, знак величины ошибки определяет характер цикла (заряд или разряд), а величина определяет длительность импульса. По завершении цикла можно установить линию ввода-вывода в третье состояние, чтобы сохранить выходное напряжение неизменным. Алгоритм может работать как программный цикл. Его можно вызывать по прерываниям от другого таймера. Для минимизации времени отклика убедитесь, что этот алгоритм выполняется с желаемым выходным значением, немного превышающим 2.2RC. Для полного заряда или разряда конденсатора через резистор R1 требуется дополнительное время.

Разрешение ЦАП зависит от нескольких факторов, главный из которых – разрешение АЦП. Разрешение ЦАП никогда не может быть лучше, чем у АЦП. Кроме того, на разрешение ЦАП влияет выбор переменных и разрешение таймера. Для реализации 10-битного ЦАП потребуется 16-разрядный таймер и 16-битные переменные для ПИД-алгоритма. Можно использовать таймер меньшей разрядности, но тогда придется чаще вызывать процедуру алгоритма. Из-за этого увеличится время установления и возрастет нагрузка на процессор.

Настраивая переменные ПИД-алгоритма, можно добиться на удивление хороших значений времени установления выхода при небольшом изменении напряжения на выходе ЦАП после установления. Температурная стабильность схемы ограничивается стабильностью источника опорного напряжения АЦП. Ни температурные характеристики R1 и C1, ни утечка C1 неблагоприятного влияния на стабильность ЦАП не оказывают. R1 и C1 выбираются исходя из требований конкретного приложения на основе требуемого времени установления. Для относительно медленного ЦАП можно увеличить частоту обновления, запуская алгоритм чаще, чем с периодом 2.2RC, и используя 8-разрядный таймер. Для буферизации выхода ЦАП можно использовать операционный усилитель, включенный повторителем напряжения, или обычный транзисторный эмиттерный повторитель. С помощью неинвертирующего усилителя выходной сигнал можно усилить, а если нужно передать лишь часть сигнала АЦП, следует добавить делитель напряжения.

Перевод: AlexAAN по заказу РадиоЛоцман

На английском языке: Create a DAC from a microcontroller's ADC

Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Рекомендуемые публикации по теме:
Форум  »
Подскажите как называется и где приобрести ЦАП - АЦП
Книги  »
Микросхемы АЦП и ЦАП (+CD). Справочник
Схемы  »
АЦП и ЦАП Texas Instruments для приложений с низким потреблением
Схемы  »
Использование АЦП микроконтроллера в качестве интерфейса клавиатуры
Схемы  »
Диапазон преобразования АЦП микроконтроллера можно расширить вдвое без потери точности

При перепечатке материалов с сайта прямая ссылка на РадиоЛоцман обязательна.

Приглашаем авторов статей и переводов к публикации материалов на страницах сайта.

Срезы ↓
антенны Maxtena для приложений GPS (L1, L2), ГЛОНАСС и IRIDIUM
Инновационные антенны Maxtena для приложений GPS (L1, L2), ГЛОНАСС и IRIDIUM
Спиральные и микрополосковые антенны
Тепловизор Fluke TiX580
Тепловизор Fluke TiX580
Диапазон измеряемых температур: от 20 до +800 °C
Цена: от 1 458 000 руб.
Доставка: Россия
Лазерный дальномер Leica Disto D1
Дальномер Leica Disto D1
Дальность измерения: 0.2 - 40 м
Цена: от 4 999 руб.
Доставка: Россия
Рейтинг@Mail.ru