Фильтр по тематике

Цифровой вольтметр с высоким разрешением Часть 4. Настройка устройств

Статья посвящена цифровому вольтметру с разрешением 6 десятичных разрядов на базе микроконтроллера EFM8LB12, оснащённому 14-разрядным SAR АЦП. Высокое разрешение прибора получено в результате использования известного метода передискретизации и осреднения, позволяющего существенно поднять разрешающую способность АЦП. В предыдущих частях были представлены принципиальные схемы устройств и программные средства. Отдельно было уделено внимание разводке и изготовлению печатных плат. Заключительная часть посвящена настройке прибора.

Цифровой вольтметр с высоким разрешением Часть 4. Настройка устройств

Настройка приборов заключается в проведении процедур калибровки нуля и полной шкалы, а также в настройке аттенюатора (делителя входного напряжения) подстроечными резисторами R4 и R6 (см. рис. 1, 4). Но прежде чем описывать эти процедуры, стоит уделить некоторое внимание сути калибровки нуля и полной шкалы.

На рисунке 24 приведён график зависимости показаний АЦП (ось y) от входного напряжения (ось x), построенный в безразмерных координатах. Это означает, что показания АЦП и входное напряжение отнесены к значению опорного напряжения, составляющему в данном случае 3 В, но оно может быть и любым другим. Чёрным цветом показана идеальная прямая передаточной функции АЦП, уравнение которой: у = х (или y = Kx + B, где K = 1, а B = 0). Коэффициент K – это тангенс угла наклона прямой, а B – смещение. На графике приведены две реальные передаточные функции (синяя и красная прямые), имеющие разный наклон и смещение. Тот факт, что это именно прямые, а не кривые, будет обоснован далее. Синяя прямая, как можно заметить, пересекает ось y при y = 0,2 (B = 0,2). Обозначим это смещение V0 и будем называть его смещением нуля. Тангенс угла наклона K этой прямой равен 0,5. Как скорректировать показания АЦП, если они соответствуют синей прямой? Например, при x = 0,6 показания АЦП, очевидно, будут 0,5, а в идеальном случае (чёрная прямая) – 0,6. Чтобы скорректировать показания АЦП, необходимо, во­первых, устранить смещение V0 и, во­вторых, скорректировать коэффициент наклона прямой. Пусть показания АЦП равны V (например, V=0,5 при x = 0,6). Для коррекции, очевидно, вначале нужно из показания V вычесть смещение V0, затем найти реальный тангенс угла наклона или реальный коэффициент kр: kр = (V1–V0)/1. Далее следует определить, во сколько раз реальный коэффициент kр меньше идеального (равного 1): 1/kр = 1/(V1–V0). Обозначим 1/kр = k и назовём k коэффициентом коррекции. Если теперь умножить разность (V–V0) на коэффициент коррекции k, то мы получим скорректированное (правильное) значение показаний Vк=k(V – V0). Проверим полученную формулу. Имеем:

k = 1/(0,7 – 0,2) = 1/0,5 = 2;
V–V0 = 0,5 – 0,2 = 0,3;
Vк=k(V – V0) = 2×0,3 = 0,6.

Это как раз и есть правильное значение при x = 0,6.

Таким образом, для нахождения правильного значения измеренного АЦП напряжения V сначала необходимо определить коэффициент k = 1/(V1 – V0), затем вычислить разность V – V0 и умножить её на k: Vк=k(V – V0).

Для нахождения V0, очевидно, требуется подать на вход АЦП нулевой потенциал, т.е. соединить сигнал CALV с «землёй» в разъёме XC1 (см. рис. 1, 4). Для этого между контактами 2 и 3 потребуется установить перемычку. Назовём эту процедуру калибровкой нуля. Для того чтобы «сообщить» микроконтроллеру о том, что требуется произвести калибровку нуля (т.е. запустить подпрограмму калибровки нуля), в разъёме XC2 (рис. 1, 4) потребуется заземлить сигнал CAL0, т.е. подать на него низкий уровень напряжения (лог. 0). Для этого необходимо соединить контакты 1 и 2 разъема XC2. Кроме того, потребуется снять с разъёма XD (рис. 1, 4) ответную часть XD1 (см. рис. 2б, 5г), соединяющую его с переключателем диапазона измерений, или, другими словами, отключить аттенюатор, чтобы он не мешал калибровке. Таким образом, процедура калибровки нуля заключается в следующем:

  1. перед включением питания соединить джамперами контакты 2, 3 в разъёме XC1 и контакты 1 и 2 в разъёме XC2;
  2. снять с разъёма XD ответную часть XD1;
  3. включить питание.

«Обнаружив», что требуется выполнить калибровку нуля, микроконтроллер запустит соответствующую подпрограмму. При этом будет измерено напряжение V0 и записано во флеш­память. Процесс калибровки нуля длится 3–4 с. Перед началом калибровки на экран выведется сообщение, что процесс начался: «CAL.0» (см. рис. 25а). После окончания калибровки на экран ЖКИ выведется скорректированное напряжение, т.е. из измеренного входного напряжения вычтется V0 и выведется на экран ЖКИ (см. рис. 25б). При правильной калибровке нуля это напряжение должно строго равняться нулю. Дополнительно о том, что производится калибровка нуля, сообщит чёрточка над 4­й цифрой. Далее питание следует выключить и произвести калибровку полной шкалы, описанную далее.

При калибровке полной шкалы потребуется подать на вход АЦП напряжение ИОН (3 В), т.е. соединить сигнал CALV (2­й вывод разъёма XC1, см. рис. 1, 4) с сигналом Vref (1­й вывод XC1). Кроме того, чтобы запустилась подпрограмма калибровки полной шкалы, потребуется подать низкий уровень напряжения (лог. 0) на вход CAL1 микроконтроллера. Для этого в разъёме XC2 (см. рис. 1, 4) необходимо соединить сигнал CAL1 (3­й вывод) с «землёй» (2­й вывод). Также потребуется снять с разъёма XD (см. рис. 1, 4) ответную часть XD1 (см. рис. 2б, 5г), соединяющую его с переключателем диапазона измерений. При калибровке полной шкалы программа вначале прочитает из флеш­памяти записанный в неё в результате калибровки нуля коэффициент (V0). После получения коэффициента калибровки полной шкалы он будет записан во флеш­память. Далее будет произведено измерение входного напряжения АЦП, и с учётом этого коэффициента, а также коэффициента калибровки нуля (V0) будет рассчитано реальное напряжение по приведённой ранее формуле. Это напряжение далее будет умножено на 3 (т.е. на значение опорного напряжения) и выведено на экран ЖКИ. Таким образом, процедура калибровки полной шкалы состоит в следующем:

  1. перед включением питания соединить контакты 1 и 2 разъёма XC1 и контакты 3 и 2 разъёма XC2;
  2. снять с разъёма XD ответную часть XD1;
  3. включить питание.

Начало процесса калибровки полной шкалы отразится на экране сообщением «CAL.1» (см. рис. 26а). После окончания калибровки на экран выведется результат (см. рис. 26б), при этом над 3­й цифрой появится чёрточка, дополнительно показывающая, что производится калибровка полной шкалы. Результат должен строго равняться «3,00000». После окончания калибровки с разъёмов XC1 и XC2 необходимо снять обе перемычки.

Далее следует произвести настройку аттенюатора подстроечными резисторами R4 и R6 (см. рис. 1, 4). Для этого потребуется перемычка, с помощью которой необходимо подать опорное напряжение (сигнал Vref) с разъёма XC1 (1­й контакт) на вход прибора – сигнал Вх+ разъёма XUвх (2­й контакт). Такую перемычку можно изготовить из одножильного провода (например, МГТФ­0,2) длиной около 5 см. На один конец провода нужно припаять ответное для разъёма XUвх цанговое гнездо, а на второй – гнездо, ответное для штыря с шагом 1,27 мм для разъёма XC1. Перед включением питания необходимо установить эту перемычку, а также подключить разъём от кабеля для переключателя диапазона к разъёму XD. Диапазон измерений следует установить 0…60 В. После включения питания резистором R6 настроить показание ЖКИ, равным по возможности 3,0000 В. Далее (можно, не выключая питания) переключить диапазон на 0…6 В и настроить резистором R4 показание ЖКИ, равным 3,00000 В. После этого питание следует выключить, а перемычку снять. На этом настройка прибора заканчивается.

Здесь следует добавить следующее. В справочном листке на микроконтроллер EFM8LB12 указаны четыре вида погрешностей, из которых максимальная – погрешность наклона. В нашем случае это погрешность полной шкалы. Погрешность смещения нуля на несколько битов меньше; ещё на несколько битов меньше интегральная нелинейность. И последняя погрешность – дифференциальная нелинейность. Она ещё на несколько битов меньше. Прямое измерение напряжения показало, что погрешность смещения нуля (V0) практически равна нулю (по крайней мере, при том методе измерения напряжения и его осреднения по 65536 значениям). Другими словами, 5­й знак после запятой в диапазоне 0…6 В нулевой. В связи с этим, в принципе, калибровка нуля практически ничего существенного не даёт, и её вполне можно исключить. Однако этот факт, а также то, что погрешность интегральной нелинейности на несколько битов меньше погрешности смещения нуля, означает, что погрешность интегральной нелинейности ничтожно мала, и её учитывать не имеет практического смысла. То же самое касается и дифференциальной нелинейности. А раз так, то с достаточно большой точностью можно констатировать, что красная и синяя линии, приведённые на рисунке 25 для примера, – это прямые (а не кривые), и все рассуждения по поводу формулы получения реального напряжения с учётом погрешностей смещения нуля и полной шкалы вполне логичны. Кстати, прямое измерение показало также, что погрешность полной шкалы является относительно малой величиной. Корректирующий коэффициент полной шкалы, по результатам проведённых измерений, варьировался от 1,01 до 1,015, т.е. погрешность составляет всего от 1 до 1,5%. 

Примеры работы вольтметра

Измерение вольтметром напряжения новой батарейки АА (см. рис. 27а) показывает, что её напряжение существенно выше 1,5 В. В то же время измерение напряжения батареи типа «Крона», которая проработала более 4 лет (см. рис. 27б), показывает, что её напряжение уже несколько меньше номинального значения 9 В.
  

Заключение

За высокое разрешение вольтметра неизбежно приходится платить: прибор не имеет защиты ни от переполюсовки, ни от превышения измеряемого напряжения максимальных значений на использованных диапазонах. Однако в ситуациях, когда требуется произвести всего два–три относительно точных измерения напряжения, чтобы удостовериться в полученных результатах, покупка дорогостоящего прибора является нецелесообразной. Вот в таких случаях описанный прибор и может оказать неоценимую помощь. Применённый метод передискретизации и осреднения, позволяющий существенно поднять разрешающую способность АЦП, можно использовать не только в других микроконтроллерах со встроенными АЦП, но и в отдельных относительно скоростных АЦП, сопряжённых с микроконтроллером. Подобную конструкцию устройства и программные средства можно применить не только для измерения напряжения, но и в более широких областях. Если оборудовать подобное устройство различными датчиками физических величин (например, датчиками давления, температуры, силы, влажности и т.п.), то можно получить достаточно точные автономные измерители этих величин (манометры, барометры, термометры, динамометры, влагомеры и т.п.) с цифровой индикацией. Даже описанный в данной статье прибор можно использовать для относительно точного измерения сопротивления, для этого необходим только прецизионный резистор. Таким образом, область применения описанного устройства, на взгляд автора, довольно широка.

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

Комментарии
Рекомендуем

  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться