Интегрирующие АЦП, обеспечивающие точные результаты без необходимости использования прецизионного интегрирующего конденсатора, используются уже давно. Наглядным примером служит любимый мультиметрами АЦП двойного интегрирования. В этой классической топологии используется всего один интегратор, который поочередно накапливает входной сигнал и дополнительные опорные напряжения с одинаковой постоянной времени RC. Таким образом, автоматически устраняется влияние отклонений постоянной времени. Ловко.
В этой статье будет описан (возможно) новый интегрирующий преобразователь, который достигает аналогичной цели – точного преобразования – без использования точного конденсатора. Но он достигает этой цели существенно иным путем. На этом пути он приобретает несколько полезных особенностей.
Как видно из Рисунка 1, конструкция начинается со старого знакомого – аналогового таймера 555.
Входной сигнал VIN суммируется с напряжением в узле X и накапливается дифференциальным интегратором A1. Цикл преобразования начинается, когда напряжение на выходе усилителя A1 (узел Y) достигает 4.096 В и через делитель R2/R3 повышает напряжение на входе порога (THR) таймера U1 до уровня опорного напряжения 2.048 В, подаваемого от источника опорного напряжения Z1. В результате таймер переключается, и выходом DSC заземляет неинвертирующий вход A1 через делитель R4/R5, выводит ноль на выход GPIO (узел Z), подключенный к входу микроконтроллера, и запускает фазу T–, во время которой происходит линейный спад выходного напряжения A1.
Длительность фазы T– определяется формулой:
где VFS – напряжение полной шкалы. Фаза T– заканчивается, когда напряжение на выходе A1 достигает порогового уровня входа TRG таймера U1, установленного равным 1.024 В с помощью источника опорного напряжения Z1 и внутреннего делителя 2:1 таймера. Подробности смотрите в техническом описании микросхемы LMC555.
Это запускает фазу преобразования T+ с выводом единицы на выход GPIO и выключением выхода DSC таймера U1, в результате чего на неинвертирующий вход A1 подается напряжение 1.024 В, определяемое источником опорного напряжения Z1 и делителем R4/R5. Фаза T+ линейного нарастания напряжения продолжается до тех пор, пока напряжение на выходе A1 не достигнет описанного выше порога VTHR 4.096 В, и не начнется следующий цикл преобразования.
Длительность фазы T+ рассчитывается по формуле:
Эта последовательность событий вкратце проиллюстрирована Рисунком 2.
![]() |
|
Рисунок 2. | Различные сигналы преобразования в узлах схемы X, Y и Z. |
Между тем, предполагается, что выход GPIO подключен к соответствующему периферийному счетчику/таймеру микроконтроллера, в котором накапливаются длительности T– и T+ для выбранного разрешения и скорости преобразования. Для последующего вычисления VIN должно подойти что-то между 1 мкс и 100 нс. Это возвращает нас к заявлению об устойчивости к разбросу емкости конденсатора интегратора, которая, возможно, вас интересует.
Длительность фаз T+ и T– пропорциональна емкости C1, как показано на Рисунке 3.
![]() |
|
Рисунок 3. | Черный – VIN, красный – длительность T+ в мс, синий – длительность T–; C1 = 0.001 мкФ. |
Однако положение (а может быть, даже мою репутацию!) спасает программная арифметика, поскольку восстановление VIN из необработанных тайм-аутов длительностей фаз требует некоторого использования алгоритма «разделяй и властвуй».
И, конечно же, когда T– делится на T+, члены R1C1 удобно исчезают, унося с собой чувствительность к погрешности C1!
И последнее слово о VFS. Полученное выше число ±0.683 В является минимальным значением, но можно легко обеспечить больший диапазон измерений, добавив один резистор (R8) и изменив другой (R1). Вот арифметика изменения масштаба:
Например, на Рисунке 4 показано значение ±10 В.
![]() |
|
Рисунок 4. | Диапазон VIN легко расширить до ±10 В, если вы сможете найти точный резистор 15 МОм. |
Обратите внимание, что для получения сопротивления 15 МОм с использованием стандартных резисторов, вероятно, потребуется составить R1 из последовательной цепочки резисторов.