Измерение разности температур и калибровка датчиков. Калибровка датчиков

Калибровка датчиков.

· вызвать пункт меню «Расчеты»-«Калибровка входных данных от системы сбора»

· пройти по списку параметров - датчиков, вызывая кнопку «Калибровать»

· в появившемся окне выполнить следующее:

o выбрать номер канала

o заполнить таблицу «базовые точки калибровки»

o выбрать функцию калибровки и фильтрацию при необходимости

Процедура калибровки подробно описана в “DTCIS руководство пользователя” .

Выбор функции калибровки:

Для параметров Хроматограф канал1, 2 и Время анализа хроматографа – Прямой код

Для газов – выбрать прямой код, функцию калибровки – линейную, ввести максимальный код 1000000, коэффициенты А=0.001, В=0 и выйти из диалога по кнопке “Ok”. (Не нажимать “Расчет”).

Для параметров с линейной характеристикой – Линейная.

Для всех остальных параметров – Кусочно-линейная.

Для сильно “шумящих” параметров применяется фильтрация

Особенности калибровки различных датчиков:

Þ Вес на крюке Wкр.

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

Калибровка осуществляется следующим образом:

Тензодатчик калибруется по двум точкам; 1).Код, снятый при пустом крюке - значение 0; 2). Код, снятый по показаниям датчика при полном весе бурильной колонны на крюке – значение веса, соответствующее рассчётному весу бурильной колонны с учетом облегчения за счет выталкивающей силы раствора =Wк* (1-Yp/Yж), где:

Wк – вес колонны, расчитанный по компановке.

Yp – удельный вес раствора

Yж – удельный вес металла

Полученная прямая в программе автоматически продолжается до максимального кода.

ГИВ с датчиком МД-10 калибруется аналогично.

Внимание! ГИВ на первые 10 делений не калибруется.

Þ Глубина долота.

Калибровка датчика глубины производится минимум в трех точках: первая Нкр-3м, вторая точка на длину квадрата (10-15м);третья на на длину свечи (25-35м).

Þ Давление на входе Рвх.

Измеряются суммарные потери давления при прокачке раствора через бурильные трубы (Рт), долото (Рд), кольцевое пространство скважины (Рк.п.) датчиком типа МД200, МД300 или тензометрическим . При работе с вращающимся превентором, ликвидации выброса, опресовке колонны, необходимо измерять давление на выходе скважины. Датчик МД200 врезается в выкидную линию. Калибруется по двум точкам: 1).Код х (при подключенном, но не врезанном в гидравлическую систему МД200) - значение 0; 2). Код х - значение Рвх с манометра буровой.

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

Þ Обороты ротора Nрот..

Датчик нелинейный, калибруется на максимальное число точек, находящихся в рабочем интервале (50-100 об/мин).

Применяется “фильтрация с автосбросом” для фиксирования одиночных импульсов при подклинках. (см. “DTCIS руководство пользователя” раздел “Калибровка датчика”).

Þ Момент на роторе Мрот.

Измеряется сила, пропорциональная силе сопротивления вращению бурильного инструмента, датчиками усилий разного типа. Примерную калибровку можно выполнить по удельному моменту разрушения горных пород или просто в условных единицах. Момент холостого хода ставиться равным 40-50 у.е. ,с тем чтобы при увеличении нагрузки на долото на 10 т момент увеличился на 4-5 у.е..Фильтрация применяется аналогично параметру “Обороты ротора” .

Þ Расход на входе Qвх..

Измеряется объёмный расход бурового раствора расходомерами типа РГР (тарируется заводом изготовителем) или ультразвуковым . В случае отсутствия датчика расход рассчитывается по ходам насосов. Для этого необходимо параметр “Расход на входе” отметить как расчетный.

Þ Поток на выходе Qвых.

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

Þ 9. Ходы насосов Хн1, Хн2, Хн3.

Измеряются число двойных ходов поршней насосов. Датчик нелинейный, калибруется на максимальное число точек, находящихся в рабочем интервале (50-100 ход/мин).

Þ 10. Температура раствора на выходе Твых.

Измеряется температура раствора, выходящего из скважины. Датчик устанавливается на поплавке в открвтом желобе или в трубке, залитой маслом, в закрытом желобе как можно ближе к устью скважины. Калибруется по максимальному числу точек в рабочей области (20-80°С). По изменению температуры должны выделятся: забойная пачка, газированная пачка раствора, изменение температуры при промыве инструмента, износе долот.

Þ 11. Объёмы раствора в емкостях V1, V2, V3, V4, V5, Vдол.

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

Иизменению уровня 0.5м в процессе калибровки присваивается соответствующее изменение объема; далее измеряется фактический объем (мерной линейкой),который устанавливается изменением коэффициента В в калибровочном графике.

Пример калибровки аналогового датчика смотрите в Приложении 1

Производится еслипроизводственные на датчик превышают требуемую точность измерения.Например, требуется измерить температуру с точностью ±0.5°С датчиком, посправочным данным обладающим ±1?С. Это можно сделать только послепроведения калибровки этого конкретного датчика, т.е. после нахождения егоиндивидуальной .

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

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

Другойподход к калибровке нелинейных датчиков - применение кусочно-линейной аппроксимации:любую в пределах достаточно небольшого всегда можно заменитьлинейной функцией. Поэтому нелинейную передаточную функцию можно представить ввиде комбинации линейных отрезков, каждый из которых обладает своимисобственными коэффициентами а и b .
Дляпроведения калибровки датчиков важно иметь точные физические эталоны,позволяющие моделировать соответствующие внешние воздействия. Например, прикалибровке контактного датчика температуры его необходимо помещать либо врезервуар с водой, либо в «сухой колодец», в которых есть возможность точнорегулировать температуру. При калибровке инфракрасных датчиков требуетсяналичие черного тела, а для калибровки гигрометров - набор насыщенных растворовсолей, используемых для поддержания постоянной относительной влажности взакрытом контейнере и т.д.

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

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

  • Tutorial

Для некоторых датчиков ускорения требуется дополнительная калибровка нуля после монтажа на плату. Когда я увидел несколько исходников с калибровкой датчиков ускорения, где составляющая G учитывалась просто путём вычитания из оси Z величины = 9,8 м/с2 - появилась идея написать данную заметку.

Структура публикации

  • Проблема
  • Как правильно получить точки?
  • Как вычислить центр шара?
  • Об ошибках при замерах

Проблема

В чём проблема - МЕМС-датчики после монтажа в плату претерпевают незначительные деформации, которые влияют на:
  • положение нуля;
  • масштабирование измеряемых величин;
  • перпендикулярность осей к друг-другу.
И если масштабирование и перпендикулярность нарушаются не так заметно, то положение нуля сбивается ощутимо. Например, если перевести типичную величину смещения нуля для акселерометра датчика MPU9250 в м/с 2 , то это получается в районе 0,2 м/с 2 . Т. е. датчик неподвижен, но при этом показывает ускорение, а через 5 секунд мы получаем скорость в 1 м/с. С одной стороны, все данные датчиков всегда пропускают через какой-либо фильтр (например такой). Но с другой стороны зачем фильтру постоянно компенсировать это смещение? Ведь датчик будет показывать движение там, где его нет. Это снижает точность результата. А всего то нужно один раз найти величину смещения и потом во время работы датчика вычитать эту величину из его показаний.

Простейшее решение для поиска величины смещения нуля, которое сразу приходит в голову - это создать условия, при которых датчик точно должен показывать ноль. Значение, регистрируемое на датчике - это и есть величина смещения нуля! Так? Но нет - на акселерометр постоянно действует сила тяжести. Чтобы её избежать, понадобится невесомость (подбрасывание не подойдёт). На компас действует магнитное поле Земли, а на гироскоп её вращение. Так что, если у вас нет персонального звездолёта, то придётся что-то придумать.

Второе решение, которое сразу приходит в голову - это поставить датчик (а точнее его оси) в такое положение, при котором мы точно будем знать, что должен показывать датчик. Разница между тем, что датчик показывает и тем, что он должен показывать - и будет смещение нуля! Так? Например, мы знаем, что если акселерометр поставить в уровень с горизонтом, то по идее, вектор ускорения свободного падения будет направлен точно вдоль оси Z датчика. Величину вектора ускорения мы знаем.

Однако есть проблема. Заключается она в том, что мы не можем точно установить оси датчика в уровень с горизонтом. Дело в том, что поверхность на которую мы будем опираться не параллельна печатной плате. Та в свою очередь не параллельна площадке на которой расположен датчик. Сам датчик не ровно стоит на своей площадке и оси внутри датчика не параллельны корпусу датчика. Погрешность в установки оси относительно горизонта на 1 градус, даёт проекцию, сопоставимую по размерам с величиной самого смещения нуля, которое мы хотим найти. В случае магнитометра, мы вдобавок не знаем, куда направлен вектор магнитного поля. В теории - на север. Но на практике, само магнитное поле Земли неоднородно по напряжённости и направлению. Плюс ближайшие металлические предметы вносят свои коррективы.

Постановка задачи и способ решения

Задача звучит так: нужно определить вектор смещения нуля, используя показания датчика, который всегда будет регистрировать вектор смещения + постоянный вектор внешнего воздействия (ускорение свободного падения, вращение Земли, магнитное поле Земли), величину и направление которого мы не знаем (в случае с акселерометром величину мы знаем, но опять же масштаб датчика может быть не равен 1).

Способ решения. В данной статье предлагается определять вектор смещения следующим образом. Мы берём и крутим датчик по всякому и регистрируем показания датчика. После N измерений, величины взятые с датчика и расположенные на графике будут представлять собой шар, радиус которого - это величина внешнего воздействия, а центр - это как раз искомая величина смещения нуля.

Как правильно получить точки?

Для облегчения самой процедуры измерения, можно написать простенькую программу. Она должна фиксировать показание датчиков, когда прибор неподвижен. Нам останется только поворачивать прибор в нужные положения. Для того, чтобы определить неподвижное состояние, подходит и не калиброванный акселерометр - просто берём разницу между текущим значением и предыдущим. И если больше уровня шума, то значит фиксируем движение. У меня порог получается в районе 0,07G. Если держите руками, будет получаться больше этого значения. Я использовал для фиксации положения малярный скотч. Если всё-равно не получается - проверьте, нет ли рядом холодильника, вентилятора или чего-то подобного.

Как это может быть в коде

// здесь у вас глобальные по модулю переменные static TSumSensorsData g_sens_data; static int32_t g_sens_data_sum_cnt; static uint8_t g_sens_data_num; // здесь какое-то прерывание, при получении данных с датчиков IS_INTERRUPT void on_dma_raw_ready_calibrate_step1() { SensorRawBuffer *raw = sensor_get_raw_buffer(); g_sens_data.acc_x += swap_i16(raw->accell_x_unswap); g_sens_data.acc_y += swap_i16(raw->accell_y_unswap); g_sens_data.acc_z += swap_i16(raw->accell_z_unswap); g_sens_data.gyro_x += swap_i16(raw->gyro_x_unswap); g_sens_data.gyro_y += swap_i16(raw->gyro_y_unswap); g_sens_data.gyro_z += swap_i16(raw->gyro_z_unswap); g_sens_data.mag_x += raw->mag_x_raw * g_mag_calibrate.kx; g_sens_data.mag_y += raw->mag_y_raw * g_mag_calibrate.ky; g_sens_data.mag_z += raw->mag_z_raw * g_mag_calibrate.kz; g_sens_data_sum_cnt++; } //это вызывается из main void sensors_calibrate_program(FlashROM *flash_ptr) { double calibrate_result_error; TVector16 calibrate_result; int32_t radius; uint8_t raw_is_deleted; TVector16 raw; . . . // определяю неподвижность g_sens_data_sum_cnt = 0; g_sens_data_num = 0; int16_t prev_avg_x = 0; int16_t prev_avg_y = 0; int16_t prev_avg_z = 0; int8_t low_motion_cnt = 0; while(low_motion_cnt < ACCEL_NO_MOTION_DETECT_COUNT) { if (g_sens_data_sum_cnt >= ACCEL_NO_MOTION_DETECT_SAMPLES) { uint8_t new_data_num = (g_sens_data_num + 1) & 1; g_sens_data.acc_x = 0; g_sens_data.acc_y = 0; g_sens_data.acc_z = 0; g_sens_data.gyro_x = 0; g_sens_data.gyro_y = 0; g_sens_data.gyro_z = 0; g_sens_data.mag_x = 0; g_sens_data.mag_y = 0; g_sens_data.mag_z = 0; g_sens_data_sum_cnt = 0; uint8_t old_data_num = g_sens_data_num; g_sens_data_num = new_data_num; // вот эта операция не может быть выполнена во время работы прерывания // (так по-простому можно разделить два потока, не имея операционки) // здесь всё очень просто - нахожу среднюю int16_t avg_x = g_sens_data.acc_x / g_sens_data_sum_cnt; int16_t avg_y = g_sens_data.acc_y / g_sens_data_sum_cnt; int16_t avg_z = g_sens_data.acc_z / g_sens_data_sum_cnt; // собственно получаю разницу с предыдущим значением int16_t dx = avg_x - prev_avg_x; int16_t dy = avg_y - prev_avg_y; int16_t dz = avg_z - prev_avg_z; prev_avg_x = avg_x; prev_avg_y = avg_y; prev_avg_z = avg_z; // если акселерометр регистрировал низкую активность if ((abs_i16(dx) <= ACCEL_NO_MOTION_DETECT_AVG_VALUE)&&(abs_i16(dy) <= ACCEL_NO_MOTION_DETECT_AVG_VALUE)&&(abs_i16(dz) <= ACCEL_NO_MOTION_DETECT_AVG_VALUE)) { // тогда мы регистрируем точку raw.x = avg_x; raw.y = avg_y; raw.z = avg_z; raw.x = g_sens_data.gyro_x / g_sens_data_sum_cnt; raw.y = g_sens_data.gyro_y / g_sens_data_sum_cnt; raw.z = g_sens_data.gyro_z / g_sens_data_sum_cnt; raw.x = g_sens_data.mag_x / g_sens_data_sum_cnt; raw.y = g_sens_data.mag_y / g_sens_data_sum_cnt; raw.z = g_sens_data.mag_z / g_sens_data_sum_cnt; low_motion_cnt++; // даём звуковой сигнал beep(); // и даём фору себе 2 секунды отклеить скотч, пока датчик в руках - программа регистрирует движение // прилепили - получили точку // поэтому всё получится быстро и весело delay_ms(2000); } } } . . . }


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

Пример неправильного результата



Нужно датчик лепить не по всей поверхности глобуса, а на один меридиан. Допустим берём семь точек на меридиане (первая и последняя на северном и южном полюсе). В каждой точке меридиана прикладываем ваше устройство к глобусу и ещё крутим устройство вокруг своей оси с определённым шагом, например 30-35 градусов. Получается если вокруг своей оси поворачивать 12 раз, то в 7 точках всего получается 84 замера.

Прелесть метода в том, что всё можно сделать “на коленке”. Точность позиционирования особой роли не играет, просто нужно крутить по схеме, чтобы вектор внешнего воздействия на графике нарисовал шар. Правильный выглядит примерно так - см. рис (отметкой обозначен центр).

Как вычислить центр шара?

Это интересная задача и у неё несколько вариантов решения. Может показаться, что для поиска центра достаточно взять среднее арифметическое по координатам полученных точек. Однако это не так - точки могут быть расположены на шаре неравномерно (см. рис).

Уравнение шара выглядит так: (X - A) 2 + (Y - B) 2 + (Z - C) 2 = R 2 , где X, Y, Z - координаты точки, лежащей на шаре. A, B, C - это координаты центра на осях x, y и z соответственно. R - радиус шара. Можно построить систему уравнений и каким-то методом постараться попроще решить эту систему. А можно просто перебором найти центр (это типа метод последовательных приближений). Смысл метода прост: величина ошибки (X - A) 2 + (Y - B) 2 + (Z - C) 2 - R 2 должна стремиться к нулю. А значит сумма этих величин для всех точек сферы также должна стремиться к нулю. Зная это, мы можем подобрать такие значения A, B и C, для которых величина ошибки для всех точек будет минимальной. Зона перебора ограничивается габаритами шара (условный куб). То есть мы последовательно должны поставить центр шара во все точки куба и посчитать ошибку. Там где минимальная ошибка - там и центр.

В качестве R нужно брать теоретическую величину вектора внешнего воздействия - для акселерометра, это ускорение свободного падения, для компаса - это средняя величина магнитного поля Земли, для гироскопа - скорость вращения Земли. Разумеется в формуле должны быть величины одной размерности (условные единицы датчика или м/с 2 , градус/с и т. д.). Удобней пересчитывать в условные единицы соответствующего датчика.

Условные единицы датчика = Величина * Разрешение датика / (Максимальный предел измерения - Минимальный предел измерения)
Например: Сколько условных единиц должен показать 16-битный датчик ускорения с пределом измерения ±2g при воздействии на датчик только ускорения свободного падения?:
9,8 м/с 2 * 65536 / (2g + 2g) = 9,8 м/с 2 * 65536 / (2 * 9,8 м/с 2 + 2 * 9,8 м/с 2) = 16384 у. е. датчика.


Кстати, если точно знать радиус шара, то можно вычислить центр только по его «дольке». То есть по точкам, которые расположены только на кусочке поверхности шара. Но это не наш случай.

Как ускорить поиск центра шара?

Нужно искать центр не во всём кубе (габариты шара), а по линии, начало у которой произвольное, каждая следующая точка ближе к действительному центру и окончание - в центре. Предположим, что мы начинаем с точки (0; 0; 0)… Мы всегда движемся с постоянным шагом. Поэтому если представить набор кубиков 3х3х3, где каждая грань равна величине шага и также представить, что текущее положение - это средний кубик, то у нас есть 9 + 8 + 9 вариантов, куда поставить следующую точку. Мы просто должны находясь в каждой точке, посчитать в какой из соседних 26 точках ошибка будет меньше. Если окажется, что ошибка меньше в текущей точке, а не в одной из соседних, то значит она стоит в центре и перебор окончен.

Как это может быть в коде

Public Function get_err(A As Double, B As Double, C As Double, R As Double) As Double Dim x, y, z As Double Dim sigma As Double Dim row_n As Long get_err = 0 For row_n = 1 To 15 x = Application.ActiveWorkbook.ActiveSheet.Cells(row_n, 1).Value y = Application.ActiveWorkbook.ActiveSheet.Cells(row_n, 2).Value z = Application.ActiveWorkbook.ActiveSheet.Cells(row_n, 3).Value get_err = get_err + abs((A - x) ^ 2 + (B - y) ^ 2 + (C - z) ^ 2 - R ^ 2) Next End Function . . . A = 0 B = 0 C = 0 Do While True min_sigma = 0 For ai = -1 To 1 For bi = -1 To 1 For ci = -1 To 1 sigma = get_err(A + ai, B + bi, C + ci, 16384) If sigma < min_sigma Or min_sigma = 0 Then ai_min = ai bi_min = bi ci_min = ci min_sigma = sigma End If Next Next Next If ai_min = 0 And bi_min = 0 And ci_min = 0 Then Exit Do End If A = A + ai_min B = B + bi_min C = C + ci_min Loop . . .

Как ещё ускорить поиск центра шара?

Нужно искать с переменным шагом. Сначала ищем центр крупным шагом. Нашли центр, уменьшаем шаг и от него начинаем искать дальше. И так далее, пока не получите результат необходимой точности.

Как это может быть в коде

Public Function get_err(A As Double, B As Double, C As Double, R As Double) As Double Dim x, y, z As Double Dim sigma As Double Dim row_n As Long get_err = 0 For row_n = 1 To 15 x = Application.ActiveWorkbook.ActiveSheet.Cells(row_n, 1).Value y = Application.ActiveWorkbook.ActiveSheet.Cells(row_n, 2).Value z = Application.ActiveWorkbook.ActiveSheet.Cells(row_n, 3).Value get_err = get_err + abs((A - x) ^ 2 + (B - y) ^ 2 + (C - z) ^ 2 - R ^ 2) Next End Function . . . A = 0 B = 0 C = 0 step = 1000 Do While True min_sigma = 0 For ai = -1 To 1 For bi = -1 To 1 For ci = -1 To 1 sigma = get_err(A + ai * step, B + bi * step, C + ci * step, 16384) If sigma < min_sigma Or min_sigma = 0 Then ai_min = ai bi_min = bi ci_min = ci min_sigma = sigma End If Next Next Next If ai_min = 0 And bi_min = 0 And ci_min = 0 Then step = step / 10 If step < 0.01 Then Exit Do End If Else A = A + ai_min * step B = B + bi_min * step C = C + ci_min * step End If Loop . . .

Об ошибках при замерах

Во время замеров могут быть ситуации, когда по каким-то причинам результат замера может оказаться сильно дальше от поверхности шара. Или это может быть множество точек. Или вообще в результате замеров может получиться не шар, а “яйцо” или “дирижабль”. В этом случае, разумеется, нужно повторить все замеры, выявив возможные причины ошибок. Например, для магнитометра это может быть болт или гвоздь в столе и прямо над ним вы проводите замеры. И чем ниже по мередиану опускать датчик, тем сильнее металл будет влиять на результат. Поэтому нужно определить порог допустимой величины ошибки. Чтобы не переделывать замеры из-за нескольких явно ошибочных точек, можно применить фильтр. Принцип действия фильтра очень простой - вычислив первый раз центр, отсортируйте точки по уровню ошибки в каждой из них. Часть точек с наибольшей ошибкой можно просто выбросить (например 10%). Затем нужно повторить поиск центра.

Итог

У метода довольно хорошая точность. Метод позволяет обходиться простыми подручными средствами (мяч, банка и т. п.). Достаточно быстро работает. Простой код. Во многих датчиках есть специальные регистры, куда можно записать найденное значение, и датчик будет сам на лету его вычитать. Такие регистры обычно имеют префикс «TRIM», как в MPU9260, или «OFFSET», как в LSM303. А вот всем известный LIS302DL таких регистров не имеет.

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

Теги:

  • инерциальная навигация
  • калибровка
  • центр сферы
Добавить метки

Приборы КИП периодически нуждаются в калибровке (регулировке). Чаще всего у прибора можно подрегулировать нулевую точку (ноль, zero) и чувствительность (точку шкалы, span). В некоторых случаях эксплуатирующий персонал может подстроить только ноль или только чувствительность, у некоторых же датчиков (например, датчиков термосопротивления и термопар) нет возможности настроить ни то, ни другое.

В зависимости от типа прибора и его функциональных возможностей регулировка показаний осуществляется либо с помощью механических регуляторов – подстроечных или переменных резисторов, либо с помощью кнопок, либо с помощью различных проводных (HART, RS232, RS485) или беспроводных (IR, Bluetooth) интерфейсов.

Не зависимо от того каким способом и с помощью чего осуществляется калибровка датчика есть некоторые общие рекомендации по выполнению калибровки нуля и точки шкалы.

1. Калибровка нуля датчика

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

Допустим, имеем датчик избыточного давления с пределами измерения от 0 до 6 Бар, у которого была выполнена калибровка чувствительности в точке шкалы 6 Бар, по результатам которой при подаче давления в 6 Бар датчик показывает давление 5,998 Бар. После этого было решено проверить нулевую точку датчика, и оказалось, что при нулевом давлении датчик вместо нуля показывает 0,15 Бар. Нулевая точка была откалибрована и на нуле датчик стал показывать ноль, но при подаче тестового давления в 6 Бар он вместо прежних 5,998 Бар стал показывать 5,848 Бар. Это произошло из-за того, что при калибровке нуля характеристика датчика смещается вверх или вниз (в зависимости от того, завышает или занижает датчик) по всей своей длине. Как результат, нам нужно снова выполнять калибровку чувствительности датчика.

Поэтому в 99,9% случаев сначала выполняется калибровка нуля, а уже потом настраивается чувствительность датчика если иной порядок калибровки не предусмотрен производителем прибора.

2. Калибровка чувствительности

Калибровка чувствительности (калибровка шкалы) выполняется после калибровки нуля. При калибровке чувствительности корректировка показаний датчика осуществляется наклоном характеристики датчика относительно нулевой точки. Как правило, корректировка чувствительности не влияет на положение нулевой точки датчика (не приводит к «уходу нуля»). Но в некоторых старых аналоговых приборах с механическими регуляторами может потребоваться подстройка нуля после коррекции чувствительности на величину более 10-20%. В этом случае нужно выполнить настройку нуля и чувствительности последовательно два и более раза, постепенно приближаясь к нужному результату.

Как правило, калибровку чувствительности рекомендуют выполнять подавая на датчик измеряемый параметр величиной, равной 40-100% шкалы измерения датчика. То есть, если, например, наш датчик давления имеет шкалу от 0 до 6 Бар, то калибровку чувствительности лучше выполнять при подаче тестового давления от 2,4 до 6 Бар. При калибровке чувствительности более низкими значениями можно получить увеличенную погрешность на конце диапазона измерения.

К сожалению, реальные характеристики датчиков КИП часто далеки от линейных (как на первых двух рисунках).

Для того чтобы как то «вписать» показания датчика в узкие рамки нормированных метрологических характеристик (погрешностей) производители идут на различные ухищрения, например, добавляя дополнительные точки для калибровки чувствительности. Чаще всего это одна основная и одна дополнительная точка калибровки чувствительности, хотя в некоторых приборах их может быть больше (например, газоанализаторах Хоббит-Т их может быть максимум пять).

Как понятно из рисунка дополнительная точка калибровки чувствительности как бы разбивает характеристику датчика на два участка, меняя их наклон относительно нуля, что позволяет «вписать» показания датчика в требуемые границы, определяемые погрешностью измерения датчика.

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

Например, датчик на начальном участке характеристики показывает меньше чем нужно при том, что в нулевой точке и на конце диапазона погрешность измерения минимальна (как в примере на рисунке). В этом случае можно искусственно сдвинуть его точку шкалы вверх, «вписав» выпавший участок характеристики в диапазон допустимых значений.

Допустим датчик давления со шкалой от 0 до 6 Бар и относительной погрешностью 5% не укладывается в середине шкалы (занижает), хотя при подаче 6 Бар показывает 6 Бар ровно. В этом случае, мы, оставляя тестовое давление неизменным (например, мы калибровали его давлением 5 Бар), меняем в настройках калибровки точки шкалы значение давления с 5 Бар, до 5,25 Бар (5+(5*5%)/100%). То есть мы как бы говорим датчику, что будем калибровать его давлением 5,25 Бар, а сами при этом подаем давление всего 5 Бар. Естественно что из-за того, что реальное давление ниже чем то, что мы задали в настройках датчика его характеристика, наклоняясь (поворачиваясь относительно нулевой точки против часовой стрелки), приподнимется. И есть большая вероятность, что «выпавший» начальный участок характеристики уложится в диапазон допустимых значений с учетом заявленных производителем погрешностей.

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