Найти тему
Разумный мир

Цифровая калибровка это просто

Оглавление

Электронные измерительные приборы существуют давно. А просто электрические (те же вольтметры стрелочные) еще больше. И всегда важным вопросом была точность показаний и связанная с этим процедура калибровки.

Калибровка могла быть довольно простой, например, подбор сопротивлений резисторов и шунтов или их подгонка надфилем. Если требовалась периодическая подстройка и калибровка, то устанавливали подстроечные резисторы. А если подстройка требовалась часто, например, в омметрах или усилителях постоянного напряжения, то подстроечный резистор выводился наружу.

В сложных измерительных приборах количество элементов подстройки могло быть очень большим, причем их влияние могло быть взаимозависимым. В результате, настройка становилась итерационной, а в документации на прибор появлялся раздел о настройке и калибровке. Да, раньше в СССР документация на измерительные приборы была очень подробной.

Сегодня многое переведено из аналоговой обработки в цифровую. Многое, но не все. Необходимость в калибровке не пропала, но вот методы несколько изменились. А россыпи подстроечных элементов заменили записанные в ПЗУ калибровочные константы. Конечно, далеко не все можно заменить электронной подстройкой.

Для любителей иногда цифровая, программная, калибровка кажется сложной и не до конца понятной. Между тем, все устроено довольно просто. Давайте посмотрим, как цифровая калибровка может быть реализована для некоего абстрактного измерительного прибора. Рассматривать будем самый простой случай.

Электронный измерительный прибор. Абстрактный, но вполне реальный

Электронный измерительный прибор, в общем случае, состоит из:

  • Датчика, который преобразует не электрический параметр, например, температуру или перемещение, в параметр электрический, например, напряжение или ток. Если измеряемый параметр уже электрический, то датчик все равно присутствует. Например, входной делитель вольтметра или шунт амперметра тоже являются датчиками.
  • Нормирующего усилителя, который приводит сигнал с датчика к уровням, которые могут быть обработаны и измерены. Кроме того, нормирующий усилитель может выполнять согласование сопротивлений датчика и схемы измерения/преобразования.
  • Схемы измерения/преобразования. Например, преобразователь напряжение-частота с последующим частотомером. Сегодня это скорее всего будет АЦП и микроконтроллер.
  • Устройства отображения, которое преобразует результат обработки и измерения в вид воспринимаемый человеком. Это может быть как стрелочный индикатор, так и цифровой индикатор. И даже интерфейс для передачи информации в компьютер.

Не все эти элементы будут присутствовать в любом измерительном приборе.

Обобщенная функциональная схема электронного измерительного прибора. Иллюстрация моя
Обобщенная функциональная схема электронного измерительного прибора. Иллюстрация моя

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

Электронный цифровой вольтметр с цифровым отображением результата измерения. Иллюстрация моя
Электронный цифровой вольтметр с цифровым отображением результата измерения. Иллюстрация моя

Здесь у нас есть датчик, входной делитель напряжения, который обеспечивает несколько диапазонов измерения. Предполагаем, что резисторы делителя обладают достаточной стабильностью и точностью.

Есть нормирующий усилитель, который имеет высокое входное сопротивление, что для вольтметра важно, преобразующий напряжение после входного делителя к уровню необходимому для преобразователя напряжения в частоту. Коэффициент усиления нормирующего усилителя может подстраиваться.

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

Цифровой индикатор является устройством отображения. Кроме собственно индикатора, например, газоразрядных цифровых ламп, сюда же входит и схема управления им (высоковольтные дешифраторы, например).

Регулировка и калибровка

Какие элементы настройки нужно предусмотреть в таком вольтметре? Кроме уже показанной подстройки коэффициента усиления нормирующего усилителя? И какой должна быть процедура настройки и калибровки? Давайте будем считать, что преобразователь напряжение-частота линеен.

У нас три предела измерения, а регулировка усиления едина для все пределов. Эта регулировка позволит скомпенсировать неточность резисторов, задающих коэффициент усиления, и разброс коэффициентов усиления усилителя без ОС. В конечном итоге, усилитель не обязательно является ОУ с большим коэффициентом усиления.

Наш усилитель является усилителем постоянного напряжения. А значит, сразу возникает вопрос смещения нуля. Эта регулировка на нашей функциональной схеме не показана, но это требуется.

Резисторы делителя будем считать прецизионными, что позволяет исключить их подбор и регулировку, достаточно обеспечить соответствие результатам расчета. Если же требуется повышенная точность, то резисторы придется или подбирать, или "подгонять", например, лазером. Разумеется, лазерная подгонка в любительских условиях выглядит крайне маловероятной.

Преобразователь напряжение-частота может иметь несколько регулировок. В частности, регулировки линейности и коэффициента преобразования. Давайте примем, что линейность обеспечивается схемотехнически, а вот коэффициент преобразования подстраивается.

Частотомер настройки не требует, так как использует кварцевый генератор, который обеспечивает высокую точность.

Итого, получаем минимум три органа регулировки: баланс, усиление, коэффициент преобразования. Не так много, но не так и мало. Три подстроечных резистора, которые лучше всего взять многооборотными.

Процедура настройки и калибровки может быть примерно такой:

  1. Выбрать второй диапазон измерений. Все настройки выполняются на этом диапазоне.
  2. Замкнуть накоротко вход вольтметра. Выбрать второй диапазон измерения. Установить нулевые показания на индикаторе регулятором баланса. Это регулировка "баланса", напряжения смещения нуля усилителя. Выполняется на среднем диапазоне измерений.
  3. Подать на вход вольтметра эталонное напряжение соответствующее верхнему пределу измерения на втором диапазоне измерений. Установить заданное напряжение на выходе усилителя регулятором усиления.
  4. Повторить пункты 2 и 3 несколько раз, добиваясь наилучшей настройки нормирующего усилителя. Этот пункт нужен, если регулировки смещения и коэффициента усиления влияют друг на друга.
  5. Подать на вход вольтметра напряжение соответствующее верхнему пределу на втором диапазоне измерений. Установить на индикаторе верное значение измеренного напряжения регулятором коэффициента преобразования.

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

Можем ли мы заменить все эти регулировки подстроечных резисторов электронными? Да, можем.

Электронная цифровая настройка и калибровка

Давайте вернемся в наше время и будем использовать АЦП, а не преобразование напряжения в частоту. При этом не важно, будет АЦП отдельным, или будет входить в состав микроконтроллера, который и будет управлять работой вольтметра.

Цифровой вольтметр с цифровой автоматической балансировкой и цифровой калибровкой. Иллюстрация моя
Цифровой вольтметр с цифровой автоматической балансировкой и цифровой калибровкой. Иллюстрация моя

Здесь не показан индикатор, так как он управляется, как и все остальное, микроконтроллером и не важен для дальнейшего рассмотрения. Давайте рассмотрим некоторые элементы функциональной схемы нашего вольтметра подробнее.

Во первых, теперь коэффициент усиления нормирующего усилителя не регулируется. Теперь нам не нужна высокая точность абсолютного значения коэффициента усиления. Чуть позже станет понятно, почему.

Во вторых, теперь нам не требуется вручную закорачивать вход вольтметра на землю, это делает полевой транзистор, затвором которого управляет микроконтроллер.

Других особенностей, на первый взгляд, нет. На самом деле, они просто скрыты от глаз внутри микроконтроллера. Это, разумеется, программа, которая и реализует алгоритм калибровки. И сам алгоритм калибровки, который мы сейчас будем рассматривать. И перепрограммируемое ПЗУ, которое и хранит результат калибровки в виде калибровочных констант.

А теперь...

Немного математики

Давайте вспомним уравнение прямой в прямоугольной системе координат. Эта прямая может проходить через начало координат, а может и не проходить.

Уравнение прямой в декартовой системе координат
Уравнение прямой в декартовой системе координат

Для чего нам потребовался экскурс в школьный курс математики? Выходной код АЦП, в идеале, должен в точности соответствовать напряжению на входе вольтметра. Причем зависимость между входным напряжением и выходным кодом должна быть линейной. Поэтому наша функция напряжение-код будет той самой прямой линией. Входное напряжение будет координатой X, а отображаемое значение, пропорциональное выходному коду АЦП, координатой Y.

При этом прямая обязательно будет проходить через начало координат. Так как нулевому входному напряжению должен соответствовать и нулевой код на выходе. А вот в реальном устройстве прямая может и не проходить через начало координат. И основная причина здесь в том самом напряжении смещения нормирующего усилителя. Вертикальное смещение прямой и учитывается слагаемым b в уравнении прямой. Это выходной код соответствующий нулевому напряжению на входе. Мы скоро рассмотрим это подробнее.

Коэффициент k определяет угол между прямой и осью X. Этот коэффициент соответствует коэффициенту усиления нормирующего усилителя. Если не учитывать коэффициент деления входного делителя. А если учитывать, то произведению коэффициента передачи входного делителя на коэффициент усиления нормирующего усилителя.

Коррекция напряжения смещения

Если помните, в процедуре ручной настройки этот шаг тоже был первым. Дело в том, что напряжение смещения нормирующего усилителя дает постоянную абсолютную погрешность для любого измерения, в любой точке диапазона входных напряжений.

Конечно, мы можем использовать прецизионный усилитель, но это не обязательно исключит необходимость коррекции напряжения смещения. Обратите внимание, я говорю о напряжении смещения без детализации, чем это вызвано. То есть, разность токов входов тоже учитывается в едином параметре "напряжение смещения".

Теперь мы можем полностью автоматически выполнять корректировку напряжения смещения. Причем во время работы, между отдельными результативными измерениями. Нам не требуется использовать выводы балансировки ОУ, мы будем считывать выходной код при открытом полевом транзисторе, то есть, при закороченном входе, что соответствует нулевому напряжению на входе усилителя. И использовать это для компенсации смещения.

Может возникнуть вопрос, а не повлияет ли сопротивление канала полевого транзистора? Ведь на входе вольтметра может быть максимально допустимое напряжение, а сопротивление канала не нулевое. Нет, не повлияет. Если входное сопротивление нормирующего усилителя большое. Сопротивление резистора между входом вольтметра и переключателем диапазонов измерения во много раз (на несколько порядков) больше сопротивления канала даже такого дешевого и распространенного транзистора, как 2N7002 (порядка 10 Ом).

Для компенсации напряжения смещения микроконтроллер открывает транзистор, закорачивая тем самым вход усилителя. После чего считывает выходной код АЦП. Считанное значение и будет слагаемым b из уравнения прямой. Оно определяет вертикальный сдвиг прямой. Можно закрыть транзистор и вернуться к нормальным измерениям.

Теперь мы можем сохранить это значение, причем для этого не требуется ПЗУ так как мы в любой момент может снова получить это значение. А при выполнении измерений мы будем вычитать его из результата измерения. Возвращая прямую в начало координат.

Таким образом, нам не обязательно использовать прецизионный усилитель с малым дрейфом. Достаточно периодически выполнять процедуру определения смещения обновляя "калибровочную константу" смещения нуля.

Коррекция погрешности коэффициента деления входного делителя и коэффициента усиления нормирующего усилителя

Да, обе эти погрешности можно скомпенсировать одновременно, одним шагом. Но вот автоматического определения поправки тут уже не получится. Зато мы сможем использовать и не самые прецизионные резисторы в делителе, и обычные резисторы для задания коэффициента усиления.

Теперь у нас уже скомпенсировано слагаемое b, осталось скомпенсировать погрешность коэффициента k. А еще точнее, мы просто будем вычислять коэффициент, причем для каждого диапазона измерения в отдельности. И вычисленные коэффициенты мы будем сохранять в ПЗУ (перепрограммируемом). Где они и будут храниться между калибровками/"поверками".

Для выполнения калибровки нам надо перевести микроконтроллер в режим калибровки. Этот режим просто соответствует выполнению не программы измерений, а программы калибровки. Как именно микроконтроллер будет переведен в этот режим нам сейчас совершенно не важно.

Теперь мы выбираем первый диапазон измерений и подаем на вход вольтметра напряжение соответствующее верхней точке диапазона. Как вариант, требуемое напряжение может быть оговорено отдельно. Но максимально возможное для данного диапазона напряжение даст максимально точное вычисление коэффициента.

Нам осталось как то сигнализировать микроконтроллеру, что он может зафиксировать результат. Микроконтроллер считывает выходной код АЦП, вычитает из него код напряжения смещения (уже определенного автоматически) и делит на него напряжение на входе вольтметра. Таким образом мы и получаем коэффициент k для данного диапазона.

Остается повторить эту последовательность для оставшихся диапазонов. Таким образом, мы получим три коэффициента, для нашего примера. теперь микроконтроллер выходит из режима калибровки и сохраняет вычисленные коэффициенты в ПЗУ. Все, мы можем выполнять измерения.

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

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

Что мы получили в итоге?

Как видим, цифровая программная калибровка не самом деле достаточно проста. Да, я опустил, сознательно, многие детали и тонкости. Но с помощью незначительного усложнения схемы прибора (а может наоборот, упрощения?), и с помощью более значительно усложнения программы управления прибором, мы смогли избавиться от механических элементов регулировки.

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

Разумеется, процедуру калибровки можно существенно усложнить, что даст возможность корректировать и нелинейность функции преобразования. Как кусочно-линейной аппроксимацией, так и сплайнами. Это потребует более мощного микроконтроллера и большего усложнения схемы прибора. Насколько это целесообразно решить можете только вы.

Заключение

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

До новых встреч!