В своей первой статье о калибровке [1] я обсуждал калибровку входных сигналов с использованием методов, допускающих наличие смещений, которые просто включались в измерения. В этой статье я рассмотрю способы обнуления смещений.
Первоначальный подход заключается в том, чтобы встроить в схему опорные сигналы и обеспечить возможность самокалибровки системы. Одной из проблем может быть то, что калибровка в этом случае не будет прослеживаться до какого-либо стандартного уровня, но давайте пока оставим это в стороне и рассмотрим схему на Рисунке 1, где сначала измеряется входной сигнал, а затем переключается мультиплексор и проверяется опорное напряжение.
![]() | |
| Рисунок 1. | Использование опорного сигнала для компенсации ошибок смещения и шума. |
При измерении VIN напряжение, подаваемое на АЦП, представляет собой сумму VIN + VOFFSET1 + VNOISE1. Аналогично, при измерении VREF на АЦП поступает напряжение VREF + VOFFSET2 + VNOISE2.
Здесь
VOFFSET1 – смещение входа VIN,
VNOISE1 – шум на входе VIN,
VOFFSET2 – смещение входа VREF,
VNOISE2 – шум на входе VREF.
В определенных условиях можно предположить, что значения смещения и шума в обоих случаях одинаковы; тогда при вычитании одного показания из другого мы получаем VIN – VREF, и, если величина VREF известна, можно определить VIN. Все это кажется простым, однако необходимо учитывать и ряд других факторов.
Во-первых, действительно ли уровень шума одинаков? Вы можете уменьшить вариации шума, используя медленно изменяющиеся сигналы, но следует учитывать и другие факторы. VIN и VREF должны быть одного порядка величины, иначе потребуются разные настройки усилителя, что сведет на нет этот подход. Кроме того, если опорное напряжение не будет значительно точнее сигнала, оно также будет вносить вклад в погрешность из-за шума и дрейфа.
Компания Cypress подробно описывает этот метод, называемый «двойной коррелированной выборкой» (ДКВ) [2]. Схему на Рисунке 1 можно улучшить, если сконфигурировать ее так, как показано на Рисунке 2, где сигнал измеряется дифференциально, а в измерение сигнала вводится напряжение VREF. Это очень похоже на логометрические измерения, где опорное напряжение АЦП также управляет датчиком, и поэтому изменения опорных напряжений компенсируют друг друга.
![]() | |
| Рисунок 2. | Измеряются сигналы на обоих входах, при этом в процесс измерения VIN вводится опорное напряжение VREF. |
Возвращаясь к токовой петле, которую я обсуждал в первой части своей статьи, я добавил резистор последовательно с нагрузочным резистором. Причина в том, что я пытаюсь получить входное напряжение VREF выше 0 В. Если у вас есть опыт работы с так называемыми аналоговыми входами «rail-to-rail», вы знаете, что все же целесообразно оставлять запас между крайними значениями входного напряжения. Я мог бы использовать усилитель с отрицательным напряжением питания, но если это внутренний усилитель микроконтроллера, придется прибегнуть к некоторым методам смещения уровней. На Рисунке 2 измеренное напряжение на входе VIN равно VSIGNAL + VREF + VOFFSET1 + VNOISE1, а на нижнем входе – VREF + VOFFSET2 + VNOISE2. Теперь, если мы вычтем их (при условии, что шум одинаков), у нас останется только VSIGNAL.
Согласно рекомендациям Cypress, для снижения влияния компоненты шума 1/f можно также применять методы обработки сигналов.
АЦП LMP90100 имеет встроенную функцию самокалибровки, которая решает большинство проблем. Более того, этот процесс происходит в фоновом режиме. Компания TI не раскрывает используемые методы калибровки, поэтому я не знаю, идет ли речь о ДКВ, но, что бы это ни было, это хорошая тенденция.
А что делать с нелинейной зависимостью? Можно линеаризовать кривую (аппаратно или программно) перед применением методов калибровки. Проще говоря, можно откалибровать множество точек и выполнить кусочно-линейную линеаризацию кривой.
Нет никаких причин, по которым нельзя было бы использовать ДКВ в сочетании с калибровкой. Поскольку ДКВ не дает информации о коэффициенте усиления системы, вы не знаете, чему на самом деле соответствует результат преобразования АЦП, поэтому такой подход, безусловно, полезен, если только вы не измеряете отношения величин.
Ну а какие методы калибровки используете вы?




