Аналоги реле Phoenix Contact, Finder, Omron, ABB, Schneider

Диапазон преобразования АЦП микроконтроллера можно расширить вдвое без потери точности

Журнал РАДИОЛОЦМАН, март 2012

Mike McGlinchy

Electronic Design Europe

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

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

Чаще всего для этой цели используют схему смещения уровня на операционном усилителе, сдвигающую измеряемый сигнал кверху на половину напряжения +VREF, благодаря чему сигнал не выходит из положительной области и, соответственно, может обрабатываться АЦП. Но такой метод имеет два серьезных недостатка. Во-первых, диапазон преобразуемых напряжений сокращается вдвое. Во-вторых, для компенсации сдвига требуется дополнительная программная обработка результатов оцифровки, что может увеличить, возможно, весьма значительно, общее время преобразования.

Альтернативный метод основан на разделении и независимой оцифровке положительных и отрицательных составляющих сигнала. Для этого потребуются два канала АЦП микроконтроллера, два диода Шоттки, и обе половины сдвоенного операционного усилителя.

Учитывая, что источник сигнала для АЦП должен иметь низкое выходное сопротивление (в типичном случае, хотя бы 10 кОм), практически в любой схеме для согласования импедансов необходим операционный усилитель. Это означает, что используемый в схеме сдвоенный ОУ можно исключить из списка «затрат» на реализацию предложенной идеи.

Пример подобной схемы, сделанной на микроконтроллере средней производительности PIC16F876 (U3), изображен на Рисунке 1. На схеме показаны только те выводы контроллера, которые непосредственно относятся к теме статьи. На одной половине ОУ (U1A) сделан повторитель напряжения с коэффициентом усиления +1, на другой (U1B) – инвертор, с коэффициентом усиления –1. Выход U1A подключен к аналоговому входу AN0 (U3, вывод 2) через ограничивающий резистор R1. Аналогичным образом U1B связан с AN1 через резистор R4.

 Диапазон преобразования АЦП микроконтроллера можно расширить вдвое без потери точности

Кликните для увеличения
Рисунок 1. Выделенные из сигнала положительная и отрицательная составляющие оцифровываются раздельно, что позволяет микроконтроллеру с униполярным АЦП обрабатывать биполярные сигналы в удвоенном входном диапазоне без потери разрешения.

Когда входное напряжение положительно (скажем, +4.00 В), с выхода U1A на вход AN0 поступает напряжение +4.00 В. При этом напряжение на выходе U1B равно –4.00 В, а на входе AN1 (U3, вывод 3), за счет ограничения диодом Шоттки с низким прямым падением напряжения, будет порядка 0.24 В. Точно также, если VIN равно –4.00 В, на выходе U1B и входе AN1 будет +4.00 В, а напряжение –4.00 В попадет на вход AN0 ограниченным примерно до –0.24 В.

Ограничители сигнала предотвращают появление на входах АЦП отрицательного напряжения менее –0.3 В. Инжекция тока при более низком напряжении может привести к искажению результатов в других каналах. На Рисунке 2 приведены осциллограммы симметричной синусоиды с размахом 8 В пик-пик на входе VIN и соответствующих сигналов на выводах АЦП. Любое напряжение, равное или меньшее 0, АЦП воспринимает как ноль.

Диапазон преобразования АЦП микроконтроллера можно расширить вдвое без потери точности

Кликните для увеличения
Рисунок 2. Каждый канал АЦП оцифровывает одну полуволну входного синусоидального сигнала.

Программа, управляющая считыванием входного сигнала, вначале должна выбрать канал 0 (AN0) и подождать завершения выборки примерно 40 мкс, после чего запустить преобразование. Если результат отличается от нуля, значит, входной сигнал VIN положителен. Поскольку VREF=4.096 В, или 4×1024 мВ, считываемые из АЦП значения будут представлять количество 4-мВ дискретов сигнала. Следовательно, умножив на 4 полученное в результате преобразования число, мы получим измеренное напряжение в вольтах. Чтобы сохранить это значение в памяти, потребуются два байта.

При нулевом результате преобразования по входу AN0, программа должна выбрать канал АЦП AN1 и ждать еще 40 мкс до завершения второго преобразования. Если результат не равен нулю (например,1.5 В), значит входное напряжение VIN отрицательно (–1.50 В), и программа перед записью должна инвертировать результат. Случай, когда и AN0, и AN1 равны нулю, означает, что VIN = 0 В.

Приведенная схема может оцифровывать сигналы от +4.092 В до –4.092 В (8.184 В пик-пик). При опорном напряжении +VREF = 5 В диапазон измерений можно расширить до 10 В пик-пик, правда, при этом, из-за дробного шага дискретизации, преобразование считанных значений станет более сложным. Итак, мы увидели, каким образом без потери разрешения можно удвоить длину шкалы преобразования АЦП.

В описанной конструкции следует использовать операционные усилители с малым напряжением смещения и rail-to-rail входами и выходами. Если скорости преобразования будет недостаточно, можно выбрать более широкополосный ОУ и найти микроконтроллер с более быстрым АЦП. Ну, и как всегда, ищите компромисс между скоростью, точностью и мощностью потребления.

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

На английском языке: Double The Span And Digitize Bipolar Signals Using An MCU's ADC

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя