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

Миллиомметр с графическим LCD Nokia-5110

В статье приведена аппаратная и программная реализация цифрового миллиомметра на базе нового микроконтроллера EFM8LB12 со встроенным 14-разрядным высокоскоростным SAR АЦП, ИУ INA333 и ОУ OPA334. Погрешность измерения миллиомметра составляет не более 1%. Показания миллиомметра выводятся на популярный графический дисплей Nokia-5110 (84×48 пикселей), установленный в корпусе размером 102×54×30 мм. В статье приводятся принципиальные схемы, разводка и фотографии плат, изображения самого устройства, позволяющие изготовить прибор самостоятельно.

01.04.2021 942 0
Миллиомметр с графическим LCD Nokia-5110

Введение

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

Стоимость подобных приборов довольно высока и начинается от $300 у приборов с не особенно высокой точностью. Более точные приборы стоят в несколько раз дороже. В то же время опыт, полученный автором при конструировании цифрового вольтметра с высоким разрешением [1], и метод, применённый для измерения напряжений, натолкнул на идею: а нельзя ли сконструировать миллиомметр, применив подобные принципы для измерения малых сопротивлений?

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

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

Предварительные замечания

Чтобы понять принципиальные схемы миллиомметра, приведённые далее, на рисунке 1 показана упрощённая схема, поясняющая принцип измерения сопротивления тестируемого резистора Rx.

Этот принцип основан на измерении напряжения URx на резисторе Rx, через который пропускается определённый ток IRx(также измеряемый). Сопротивление Rx вычисляется по закону Ома:

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

Для формирования тока IRx используется стабилизатор напряжения, показанный на рисунке 1 в виде отдельного блока. На вход стабилизатора Vin подаётся напряжение питания, условно показанное как Vп. Стабилизатор может включаться и выключаться с помощью сигнала «on/off», подаваемого на одноимённый вход. Кроме того, на вход Vref стабилизатора подаётся опорное напряжение Vref. В качестве Vref в данном случае используется выходное напряжение внешнего источника опорного напряжения (ИОН) номиналом 2,5 В. Любой стабилизатор имеет также измерительный вход Vrefi, на который подаётся напряжение Vrefi, сравниваемое с опорным Vref. И, наконец, стабилизатор имеет выход Vout, напряжение на котором Vrefm и используется для формирования тока IRx. Отличительной особенностью стабилизатора является способ подключения напряжения к измерительному входу Vrefi. Обычно к этому измерительному входу подключается выходное напряжение стабилизатора Vrefm, которое и стабилизируется. Но в данном случае к этому входу, как видно из схемы, подключено напряжение, взятое с контакта зажима с образцовым резистором, т.е. Vrefi. Таким образом, стабилизатор выдаёт такое выходное напряжение Vrefm, чтобы напряжение Vrefi было равно опорному Vref, поскольку именно напряжение, поданное на измерительный вход Vrefi, сравнивается с опорным.

В первом контуре (сигнал Vrefm–Rx–Rобр–«земля») ток IRобр проходит через измеряемый резистор Rx и последовательно соединённый с ним образцовый резистор Rобр. Силовые провода (Vrefm) и провод, соединяющий нижний (по схеме) зажим с Rобр, должны иметь относительно большое поперечное сечение (не менее 0,5 мм2). Для определения тока IRобр напряжение с образцового резистора Vrобр подаётся на один из входов АЦП МК (назовём его условно как первый канал АЦП). Зная напряжение Vrобр и номинал образцового резистора Rобр, можно определить ток IRобр (см. далее), который также проходит через измеряемый резистор Rx.

Второй контур (сигнал Vrefi–Rx–Vrobri) предназначен для измерения падения напряжения на измеряемом резисторе Rx. В этот контур включён инструментальный усилитель (ИУ – INA333), работающий в дифференциальном режиме. Сигнал Vrobri через стоомный резистор подаётся на неинвертирующий вход ИУ (Vin+), а сигнал Vrefi – на вход опорного напряжения ИУ (REF) и через 100­омный резистор – на инвертирующий вход ИУ (Vin–). Провода для сигналов Vrefi и Vrobri (в связи с пренебрежимо малым током в этом контуре) могут быть меньшего сечения (лучше не менее 0,1…0,05 мм2). Для установки коэффициента усиления G ИУ к его входам RG подключён резистор RG. Коэффициент усиления ИУ (согласно справочному листку на ИУ INA333) G = 1 + 100К/RG. Выходное напряжение ИУ (Vout) подключается к условно второму каналу АЦП МК. Это напряжение для классического ИУ, построенного на трёх ОУ (а именно так устроен ИУ INA333), как известно, определяется формулой:

Здесь следует сделать некоторое отступление относительно способа включения ИУ. В наиболее часто используемом способе включения вход

Введение

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

Стоимость подобных приборов довольно высока и начинается от $300 у приборов с не особенно высокой точностью. Более точные приборы стоят в несколько раз дороже. В то же время опыт, полученный автором при конструировании цифрового вольтметра с высоким разрешением [1], и метод, применённый для измерения напряжений, натолкнул на идею: а нельзя ли сконструировать миллиомметр, применив подобные принципы для измерения малых сопротивлений?

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

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

Предварительные замечания

Чтобы понять принципиальные схемы миллиомметра, приведённые далее, на рисунке 1 показана упрощённая схема, поясняющая принцип измерения сопротивления тестируемого резистора Rx.

Этот принцип основан на измерении напряжения URx на резисторе Rx, через который пропускается определённый ток IRx(также измеряемый). Сопротивление Rx вычисляется по закону Ома:

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

Для формирования тока IRx используется стабилизатор напряжения, показанный на рисунке 1 в виде отдельного блока. На вход стабилизатора Vin подаётся напряжение питания, условно показанное как Vп. Стабилизатор может включаться и выключаться с помощью сигнала «on/off», подаваемого на одноимённый вход. Кроме того, на вход Vref стабилизатора подаётся опорное напряжение Vref. В качестве Vref в данном случае используется выходное напряжение внешнего источника опорного напряжения (ИОН) номиналом 2,5 В. Любой стабилизатор имеет также измерительный вход Vrefi, на который подаётся напряжение Vrefi, сравниваемое с опорным Vref. И, наконец, стабилизатор имеет выход Vout, напряжение на котором Vrefm и используется для формирования тока IRx. Отличительной особенностью стабилизатора является способ подключения напряжения к измерительному входу Vrefi. Обычно к этому измерительному входу подключается выходное напряжение стабилизатора Vrefm, которое и стабилизируется. Но в данном случае к этому входу, как видно из схемы, подключено напряжение, взятое с контакта зажима с образцовым резистором, т.е. Vrefi. Таким образом, стабилизатор выдаёт такое выходное напряжение Vrefm, чтобы напряжение Vrefi было равно опорному Vref, поскольку именно напряжение, поданное на измерительный вход Vrefi, сравнивается с опорным.

В первом контуре (сигнал Vrefm–Rx–Rобр–«земля») ток IRобр проходит через измеряемый резистор Rx и последовательно соединённый с ним образцовый резистор Rобр. Силовые провода (Vrefm) и провод, соединяющий нижний (по схеме) зажим с Rобр, должны иметь относительно большое поперечное сечение (не менее 0,5 мм2). Для определения тока IRобр напряжение с образцового резистора Vrобр подаётся на один из входов АЦП МК (назовём его условно как первый канал АЦП). Зная напряжение Vrобр и номинал образцового резистора Rобр, можно определить ток IRобр (см. далее), который также проходит через измеряемый резистор Rx.

Второй контур (сигнал Vrefi–Rx–Vrobri) предназначен для измерения падения напряжения на измеряемом резисторе Rx. В этот контур включён инструментальный усилитель (ИУ – INA333), работающий в дифференциальном режиме. Сигнал Vrobri через стоомный резистор подаётся на неинвертирующий вход ИУ (Vin+), а сигнал Vrefi – на вход опорного напряжения ИУ (REF) и через 100­омный резистор – на инвертирующий вход ИУ (Vin–). Провода для сигналов Vrefi и Vrobri (в связи с пренебрежимо малым током в этом контуре) могут быть меньшего сечения (лучше не менее 0,1…0,05 мм2). Для установки коэффициента усиления G ИУ к его входам RG подключён резистор RG. Коэффициент усиления ИУ (согласно справочному листку на ИУ INA333) G = 1 + 100К/RG. Выходное напряжение ИУ (Vout) подключается к условно второму каналу АЦП МК. Это напряжение для классического ИУ, построенного на трёх ОУ (а именно так устроен ИУ INA333), как известно, определяется формулой:

Здесь следует сделать некоторое отступление относительно способа включения ИУ. В наиболее часто используемом способе включения вход REF ИУ заземляется, вход Vin– также подключается к «земле» через какой­либо токо­ограничивающий резистор небольшого номинала (например, 100 Ом), а измеряемый сигнал подаётся на вход Vin+ также через небольшой токоограничивающий резистор. Однако такой способ включения имеет два существенных недостатка. Во­первых, при таком способе пришлось бы образцовый резистор подключать к выходу стабилизатора (т.е. к Vrefm), а измеряемый резистор – между образцовым и «землёй». В этом случае при измерении напряжения на образцовом резисторе с помощью АЦП возникли бы проблемы, поскольку АЦП измеряет напряжение относительно «земли» (а не относительно Vrefm). Во­вторых, напряжение на измеряемом резисторе измерялось бы АЦП относительно «земли», и при малом номинале измеряемого резистора (миллиомы) это напряжение было бы также мало́ (даже учитывая усиление ИУ). Малые напряжения относительно «земли» при их измерении АЦП имеют максимальную погрешность, поскольку вблизи «земли» интегральная нелинейность максимальна, да и вообще АЦП очень плохо измеряет малые напряжения относительно «земли». При способе включения, показанном на рисунке 1, из опорного напряжения вычитается малое напряжение на измеряемом резисторе, в связи с чем результирующее напряжение очень близко к опорному. Чем ближе измеряемое напряжение к опорному, тем точнее оно измеряется АЦП, поскольку АЦП сравнивает измеряемое напряжение с опорным, а не с «землёй». Кроме того, интегральная нелинейность АЦП минимальна, если измеряемое напряжение близко к опорному. Помимо этого, при способе включения ИУ, показанном на рисунке 1 (т.е. ИУ как бы «перевёрнут» по сравнению со стандартным способом включения), напряжение на образцовом резисторе измеряется АЦП с минимальной погрешностью, поскольку это напряжение также близко к опорному.

Поскольку потенциал сигнала Vrefi всегда выше потенциала сигнала Vrобрi, приведённая формула (1) может быть переписана в виде:

Из (2) можно найти разность потенциалов (напряжение) на резисторе Rx:

Реальное напряжение Vout, если оно измеряется АЦП, может быть получено по его безразмерному показанию (обозначим его как Uout), умноженному на опорное напряжение Vref:

Здесь следует сделать некоторое уточнение. Пусть имеется 14­разрядный АЦП, и пусть его передаточная характеристика идеальна. Тогда при подключении к его входу опорного напряжения Vref его показания в двоичном коде будут равны Uout2= 111111111111112 (т.е. 14 двоичных единиц). Безразмерное показание АЦП, выраженное рациональным десятичным числом, Uout10, можно найти, разделив Uout2 на (214– 1): Uout10 =Uout2/(214– 1) = 1. Другими словами, в этом случае Uout = 1. Если же вход АЦП заземлить, то безразмерное показание АЦП будет нулевым: Uout = 0.

Аналогично по безразмерному показанию АЦП (Urобр) определяется реальное напряжение (Vrобр) на образцовом резисторе:

Ток IRобр, проходящий через образцовый резистор Rобр, может быть найден по формуле:

Измеряемое сопротивление резистора Rx может быть найдено как разность потенциалов (Vin– –Vin+), делённая на проходящий ток IRобр, а с учётом (3–6) получим формулу для вычисления Rx по показаниям АЦП (Uout, Urобр), номиналу образцового резистора Rобр и, коэффициенту усиления G ИУ:

Интересной особенностью формулы (7) является отсутствие в ней опорного напряжения Vref. Это означает, что, во­первых, оно в принципе может быть любым (конечно, в разумных пределах), и, во­вторых, что его абсолютное значение не играет никакой роли, лишь бы оно было стабильно во время измерения (не более 1 с, см. далее). Формула (7) и была использована для всех расчётов в программе для МК. Конкретные значения номиналов образцовых резисторов Rобр и коэффициентов усиления G будут указаны далее.

Принципиальные схемы

Условно схему платы миллиомметра (см. рис. 2) с дополнительными устройствами (см. рис. 3) можно разбить на две части: цифровую и аналоговую.


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

Первый вариант программирования МК – с помощью USB DEBUG адаптера, который сопрягается с компьютером по интерфейсу USB, а с МК – по двухпроводному интерфейсу C2. Для этого предназначен трёхконтактный штыревой разъём XB, на который выведены два сигнала – RST/С2СK и C2D – и «земля». Для сопряжения используется кабель, который одним концом (ответная трёхконтактная вилка) подключается к разъёму XB, a второй его конец подключается к самому USB DEBUG адаптеру. Схему такого кабеля можно найти в [2]. Цепочка R1R2C1 используется для штатной работы интерфейса C2.

Второй вариант программирования МК – по интерфейсу RS­232 с помощью COM­порта компьютера (COM1). Для сопряжения используется 4­контактный штыревой разъём XD/RS, на который выведены два сигнала – TxDM RxDM – питание (+3,5 В) и «земля». К этому разъёму подключается преобразователь уровней интерфейса RS232­TTL, а к нему – кабель сопряжения с COM­портом компьютера. Все схемы и подробное описание этого режима программирования можно найти в [3]. Для перевода МК в данный режим программирования необходимо замкнуть перемычкой контакты 1–2 разъёма XB (эта перемычка показана пунктиром).

Для сопряжения МК с LCD­5110 используется интерфейс SPI и семиконтактный штыревой разъём XN, на который выведены сигналы SPI, питание (+3,5 В) и «земля». К этому разъёму одним концом (ответная семиконтактная вилка – XNK, см. рис. 3в) подключается кабель, который вторым концом (ответная восьмиконтактная вилка – XLK, см. рис. 3в) подключается к разъёму LCD (XL, см. рис. 3г). Дисплей оборудован подсветкой – четыре светодиода синего цвета, расположенные по углам LCD. Для того чтобы «зажечь» светодиоды, необходимо на контакт BL (BackLight, седьмой контакт разъёма XLK) подать напряжение питания Vcc (шестой контакт XLK) через токоограничивающий (до 20 мА) резистор RBL. Это осуществляется с помощью кнопки DS­402 (КН2, см. рис. 3в) красного цвета, которая установлена на лицевой поверхности корпуса прибора.

Управление режимaми работы МК осуществляется сигналами DIAP0 и DIAP1, логические состояния которых (лог. 0 или лог. 1) определяют тот или иной режим работы. Эти сигналы выведены на штыревой разъём XD/RS. К контактам 1–3 этого разъёма одним концом (трёхконтактная ответная вилка) подключается кабель, который вторым концом припаян к движковому переключателю ПД1 (см. рис. 3б). Здесь следует заметить, что объединение в одном разъёме (XD/RS) сигналов для программирования МК по интерфейсу RS–232 и сигналов управления не приведёт к какой­либо коллизии: при программировании МК прибор не работает и ничего не измеряет, а при измерениях он отключён от интерфейса RS–232.

Сигнал CLUI (лог. 0) запускает миллиомметр в режиме измерения, если он появляется после включения питания. Этот сигнал (и «земля») выведен на двухконтактный штыревой разъём XC, к которому подключается один из концов кабеля (ответной двухконтактной вилкой), а второй его конец соединяется с двухконтактной кнопкой КН1 (см. рис. 3д).
При нажатии кнопки CLUI = лог. 0, при отпускании CLUI = лог. 1. Если кнопка нажата и удерживается в нажатом состоянии перед включением питания, а после включения питания отпускается, то миллиомметр переходит в режим установки нуля по выбранному диапазону измерения (см. далее). Для управления работой стабилизатора используется управляющий сигнал ENT (подаваемый МК), состояние которого включает (лог. 1) или выключает (лог. 0) стабилизатор.

Аналоговая часть включает в себя следующие устройства. Прецизионный измерительный резистор R3, напряжение на котором измеряется АЦП МК, ИУ INA333 (DA1), посредством которого измеряется падение напряжения на измеряемом резисторе, ИОН REF3125 (DA3) с выходным напряжением Vref=2,5 В и стаби­лизатор на базе операционного усилителя (ОУ) OPA334 (DA2) и мощного полевого p­канального транзистора STD30PF03L­1 (VT1).

Сигнал Vref подключён ко второму выводу МК DD1 (P0.0/Vref). Этот же сигнал выведен на одноконтактный штыревой разъём Xref. Конденсатор C4 блокировочный; он необходим для штатной работы ИОН. Для измерения напряжения на R3 это напряжение (сигнал R3) подаётся на первый контакт двухконтактного разъёма XR3Vref. В штатном режиме работы его контакты 1–2 замыкаются перемычкой, в результате чего напряжение (на R3) со второго контакта (сигнал R3/Vref) через RC цепочку R9C2 подаётся на 17­й вывод МК (ADC0.7) – сигнал ADCIN_R3/Vref. В режиме калибровки полной шкалы АЦП (см. далее) перемычка с разъёма XR3Vref снимается, и второй контакт разъёма XR3Vref соединяется с контактом разъёма Xref проводом с двумя ответными гнёздами на его концах. В результате опорное напряжение Vref через цепочку R9C2 подаётся на вход АЦП ADC0.7 МК (сигнал ADCIN_R3/Vref).

ИУ INA333 (DA1) включён по схеме, аналогичной рисунку 1. В зависимости от диапазона измерения к его входам RG (выводы 1, 8) подключается либо резистор R7 (1 кОм),
в этом случае коэффициент усиления G =1+100К/1К = 101, либо резистор R6 (10 кОм), тогда G=1+100К/10К =11, либо ничего не подключается, т.е. выводы 1, 8 свободны; в этом случае G=1.

Для установки того или иного коэффициента усиления служит движковый переключатель ПД­47 (ПД1, см. рис. 3б) с двумя группами контактов (три положения, два направления). Для установки коэффициента усиления G на плате предусмотрен трёхконтактный штыревой разъём XRG. К этому разъёму подключается кабель, на одном конце которого расположена ответная трёхконтактная вилка XRGK (которая и подключается к разъёму XRG), а второй его конец припаян к контактам 1’–3’ ПД1 (см. рис. 3б). Помимо установки коэффициента усиления ИУ, ПД1 с помощью второй группы контактов (1–3) устанавливает в то или иное состояние биты диапазонов DIAP0 и DIAP1 МК. Для этого служит трёхпроводный кабель, который одним концом припаян к контактам 1–3 ПД1 (см. рис. 3б), а на втором его конце установлена трёхконтактная вилка XDK, которая подключается к контактам 1–3 разъёма XD/RS (см. рис. 2). В первом (нижнем по схеме на рис. 3б) положении ПД1 все его контакты разомкнуты, в связи с чем биты DIAP0 и DIAP1 находятся в состоянии лог. 1, а коэффициент усиления ИУ G=1. Во втором (среднем) положении замыкаются контакты 2–3 и 2’–3’, бит DIAP0 устанавливается в состояние лог. 0 (DIAP1=лог. 1), а коэффициент G=11 (см. ранее). В третьем (верхнем по схеме) положении замыкаются контакты 1–3 и 1’–3’, в связи с чем бит DIAP1 = лог. 0 (DIAP0 =1), a G = 101.

Есть ещё одна (технологическая) комбинация: бит DIAP0 и DIAP1. Оба бита устанавливаются в состояние лог. 0. Комбинация используется для калибровки полной шкалы АЦП МК (см. далее). Для этого с разъёма XD/RS снимается ответная трёхконтактная вилка кабеля, соединяющего этот разъём с переключателем ПД1, и на три контакта (1–3) надевается трёхконтактная перемычка, соединяющая все три контакта, т.е. заземляющая сигналы DIAP0 и DIAP1. Эта перемычка показана пунктиром справа от разъёма XD/RS (см. рис. 2).

Измеряемый резистор RX подключается к зажимам Кельвина LCR­90, к которым одним концом припаяны два двухпроводных кабеля, ко вторым концам которых припаяны двухконтактные разъёмы – вилки DJK­10B (XREFK и XR3K, см. рис. 3ж). Эти две вилки вставляются в розетки DJK­04B (XR3 и XREF, см. рис. 2), установленные на лицевой поверхности корпуса прибора. К этим розеткам припаяны два двухпроводных кабеля, которые своим вторым концом впаяны в плату. Силовой контур, через который течёт большой ток, – REFM­RX­R3, измерительный контур, предназначенный для измерения напряжения на RX, – REFI­RX­R3I. Сигнал REFI подключён к выводу REF ИУ DA1 (5­й вывод) и через резистор R5 – к входу Vin– ИУ DA1 (2­й вывод), а сигнал R3I через резистор R4 подключён к входу Vin+ (3­й вывод DA1), т.е. именно так, как это организовано на рисунке 1.

Напряжение с выхода ИУ Vout (6­й вывод DA1) через цепочку R8C6 подаётся на 18­й вывод МК (ADC0.6) – сигнал ADCIN_RX. Блокировочный конденсатор C5 служит для штатной работы ИУ DA1.

В состав стабилизатора входит ОУ OPA334 (DA2) и мощный p­канальный полевой транзистор STD30PF03L­1 (VT1). В отличие от стандартной схемы стабилизатора положительного напряжения на ОУ и n­канальном полевом транзисторе, на сток которого подаётся входное напряжение, а с истока снимается стабилизированное, в данном случае использован p­канальный транзистор, который «перевёрнут», т.е. входное напряжение (+3,5 В) подаётся на его исток, а стабилизированное снимается с его стока. Такое включение p­канального транзистора имеет одну особенность. В стандартной схеме для открытия n­канального транзистора требуется подать на его затвор напряжение выше напряжения истока (т.е. выше входного напряжения) на 1…4 В (пороговое). В данной же схеме (см. рис. 2), во­первых, на стоке напряжение (выходное – около +2,5 В) более отрицательно по отношению к напряжению истока (входное – +3,5 В), т.е. p­канальный транзистор работает в штатном режиме. Во­вторых, на затвор транзистора для его открытия требуется подать напряжение не выше входного, а ниже его на те же 1…4 В (т.е. более отрицательное по отношению к напряжению истока). С этим легко справится ОУ DA2, т.к. напряжение его питания – +3,5 В. Транзистор STD30PF03L­1 имеет низкое пороговое напряжение (около 1 В), поэтому схема будет работать даже при сильном разряде аккумулятора (до 2,7 В). Как видно из схемы, на инвертирующий вход ОУ (4­й вывод DA2) через резистор R13 подаётся опорное напряжение Vref, а на неинвертирующий вход (3­й вывод DA2) подаётся не выходное напряжение стабилизатора (REFM), а напряжение REFI, т.е. то, которое получается в месте контакта зажима (с разъёмом XREFK) с измеряемым резистором (см. рис. 3ж). Другими словами, стабилизатор устанавливает опорное напряжение Vref именно в месте контакта RX с зажимом (напряжение REFI). Выходное напряжение ОУ (1­й вывод DA2) через резистор R12 подаётся на затвор транзистора VT1. При подключении нагрузки к выходу стабилизатора его выходное напряжение (REFM) будет падать, а вместе с ним упадёт и напряжение REFI, и поскольку оно подключено к неинвертирующему входу ОУ DA2 (через резистор R14), снизится и выходное напряжение ОУ. Это приведёт к тому, что напряжение затвора транзистора также снизится, транзистор приоткроется, вернув выходное напряжение REFM, а за ним и напряжение REFI на прежний уровень. При отключении нагрузки всё произойдёт с точностью до наоборот. Конденсатор C10 предотвращает самовозбуждение ОУ DA2.

ОУ DA2 имеет вход разрешения (En – Enable) – 5­й вывод DA2, низкий уровень (лог. 0), на котором отключает выход ОУ, т.е. переводит его в высокоимпедансное состояние. В этом случае затвор VT1 оказывается подключённым к истоку через резистор R10, что приведёт к закрытию транзистора. Если на вход En DA2 подан высокий уровень (лог. 1), то выход ОУ включится, что приведёт к работе стабилизатора в штатном режиме. Как видно из схемы, номинал R12 (100 Ом) на 3 порядка ниже номинала R10 (100 кОм), поэтому влияние R10 на включение транзистора ничтожно мало́. Включение и выключение стабилизатора осуществляется сигналом ENT, подаваемым с МК (13­й вывод DD1).

К выходу стабилизатора через двухконтактный штыревой разъём XLed (см. рис.2) и двухпроводный кабель с ответным разъёмом XLedK (см. рис. 3е) подключён светодиод. Светодиод расположен на лицевой панели корпуса и сигнализирует о наличии напряжения на выходе стабилизатора. Он загорается только в процессе измерения (не более 1 с).

Напряжение питания платы с условным значением +3,5 В поступает с двухконтактного цангового штыревого разъёма XП. На самом деле, напряжение полностью заряженного аккумулятора составляет +4,2 В, а разряженного (но ещё находящегося в штатном режиме работы) – +2,7 В. К разъёму XП одним концом с ответным гнездом XПК
(см. рис. 3а) подключается двухпроводный кабель питания, который своим вторым концом припаян к 1­му выводу выключателя питания ВК1 (+3,5 В, 2­й вывод XПК), а провод GND (1­й вывод XПК) припаян к клемме KL2, соединённой с минусом аккумулятора (BAT1). Эта клемма надета на лепесток, приваренный к минусу BAT1. Аналогичная клемма KL1 надета на лепесток, приваренный к плюсу BAT1. Эта клемма (сигнал +3,5Z) соединена проводом с выводом 3 выключателя ВК1 и одновременно с выводом 2 гнездового разъёма DJK­19S (XZ). 1­й вывод разъема XZ (сигнал GND) соединён с клеммой KL2. Клеммы KL1 и KL2 – нажимные, размером 6,3 мм.

Разъём XZ предназначен для зарядки аккумулятора зарядным устройством. Этот разъём (DJK­19S) припаян на специальную плату (её разводка приведена в дополнительных материалах к статье), которая двумя винтами М2 крепится к днищу корпуса. Конец разъёма выведен наружу на торец корпуса. К этому разъёму подключается ответная вилка DJK­11K (2,5×0,7­L9) двухпроводного кабеля, который своим вторым концом припаян к плате зарядного устройства на базе TP4056. Сама плата зарядного устройства приклеена гибкой теплопроводящей прокладкой с двусторонним липким слоем к игольчатому радиатору с площадью поверхности около 70 см2 (см. далее).

Для определения состояния аккумулятора в схеме используются два резистора R15 и R16, точка соединения которых через цепочку R17C12 подаётся на ещё один вход АЦП МК – ADC0.1 (24­й вывод DD1, сигнал ADCIN_Vp). Напряжение в точке соединения резисторов делителя напряжения питания (в 2 раза) измеряется АЦП МК, и в зависимости от его значения на дисплей выводится условное изображение аккумулятора с тремя сегментами, соответствующими напряжениям (см. рис. 4).


Все резисторы (кроме R3) и конденсаторы (керамические) – для поверхностного монтажа, размером 0603 (кроме C4, C7, C8, C11 – их размер 0805). Резистор R3 пятиваттный в металлическом корпусе. Все разъёмы (кроме XП, XR3 и XREF) штыревые с шагом 1,27 мм (PLL­0X), разъём XП цанговый с шагом 2,54 мм (PSLM­02).

Разводка плат и фотографии устройства

Разводка плат выполнена в программе SprintLayOut 6.0. В дополнительных материалах к статье приведён файл разводки в формате *.lay6, в котором присутствует разводка обеих плат: основной платы с МК и миниатюрной платы для установки разъёма подключения зарядного устройства.

На рисунке 5 приведены разводка и фотография (перед распайкой компонентов навесного монтажа) основной платы миллиомметра. Кружками на разводке показаны места с двусторонней пайкой. Разводка платы с разъёмом для подключения зарядного устройства в связи с её простотой не приводится.

Конструкция прибора

По фотографии прибора в открытом корпусе размером 102×54×30 мм (см. рис. 6) можно составить представление о его внутреннем устройстве.

Корпус состоит из двух половин. На первой расположена лицевая панель прибора. В ней прорезано окно для дисплея, плата которого укреплена по углам пластиковыми полосками, приклеенными к боковым поверхностям корпуса губчатой лентой с двусторонним липким слоем. На лицевой стороне также расположены: светодиод, кнопка чёрного цвета для инициализации процесса измерений, кнопка красного цвета для включения подсветки и выключатель питания. Для ручки движкового переключателя диапазонов прорезано прямоугольное окно. На этой же стороне укреплены разъёмы (гнёзда) для подключения измерительных зажимов Кельвина, к которым припаяны провода с ответными разъёмами (штекеры). На внутренней стороне второй половины корпуса расположены: аккумулятор, приклеенный полосками губчатой ленты с двусторонним липким слоем; движковый переключатель, к которому припаяны две латунные стойки с внутренней резьбой М2,5, прикрученные к корпусу с обратной стороны винтами М2,5 впотай; плата с разъёмом для зарядки аккумулятора, прикрученная к корпусу с обратной стороны двумя винтами М2 впотай и гайками (см. далее). Транзистор припаян к медной пластине размером 25×15×1,5 мм, в которой просверлено отверстие и нарезана резьба М3. Эта пластина крепится к внутренней поверхности второй половины корпуса винтом М3 впотай. Все три вывода транзистора впаяны в плату со стороны расположения компонентов для поверхностного монтажа. Образцовый резистор впаян в плату и держится на своих выводах. Плата не имеет крепёжных отверстий, т.к. она держится на достаточно жёстких выводах транзистора. Обе половины корпуса защёлкиваются двумя торцевыми пластинами.

Зарядка аккумулятора прибора

Как уже упоминалось ранее, для зарядки аккумулятора используется специальная плата на базе микросхемы TP4056, оборудованная разъёмом microUSB для подключения к ней устройства для зарядки телефона с выходным напряжением 5 В. К выходным контактам устройства на TP4056 припаян двухпроводный кабель, а на другой его конец – ответный разъём DJK­11K (2,5×0,7­L9, см. рис. 7).

Провода в месте пайки кабеля к плате укреплены каплей термоклея. Иначе от частого изгибания кабеля провода в месте пайки могут отломиться. Этот кабель подключён к разъёму зарядки прибора DJK­19S (XZ, рис. 3а), распаянном на небольшой плате (см. рис. 6, сверху). Разъём microUSB от зарядного устройства подключён к плате. При зарядке аккумулятора питание прибора должно быть выключено, а зарядное устройство подключено к сети. При правильном подключении на плате включится красный светодиод и начнётся зарядка аккумулятора. По завершении зарядки (когда аккумулятор зарядится до напряжения 4,2 В) красный светодиод погаснет и включится синий.

На плате с TP4056 по умолчанию установлено максимальное значение зарядного тока 1 А. Такой ток обеспечивают далеко не все зарядные устройства. Кроме того, при токе 1 А плата с TP4056 достаточно сильно нагревается и может выйти из строя от перегрева. Поэтому если использовать зарядное устройство для телефона (или других аккумуляторов), обеспечивающее ток 1 А или более, то плату необходимо установить на радиатор. Автор использовал игольчатый радиатор с площадью поверхности около 70 см2. Плата приклеена к радиатору гибкой термопрокладкой с двусторонним липким слоем (см. рис. 7). Если же зарядное устройство обеспечивает ток не более 0,5 А, то в радиаторе нет необходимости.

Программные средства и управление работой прибора

Используемый для измерений необходимых напряжений в миллиомметре метод передискретизации и осреднения для увеличения разрешающей способности четырнадцатиразрядного SAR­АЦП (встроенного в МК EFM8LB12) подробно описан в [1]. Вывод информации на ЖКИ условно можно разбить на две части. Первая часть состоит в подготовке информации к выводу, т.е. получения необходимых для вывода цифр с помощью функции Си sprintf(). Об этом подробно описано в [1]. Вторая часть касается непосредственно вывода цифр на дисплей LCD­5110. В отличие от вывода цифр на семисегментный ЖКИ [1], вывод цифр на графический дисплей LCD­5110 существенно отличается. Далее описана организация такого вывода.

С программной точки зрения дисплей состоит из так называемых строк шириной 8 пикселей, соответствующих 8 битам или 1 байту. В LCD­5110 таких строк шесть (6×8 = 48 пикселей по вертикали). Строки нумеруются от 0 до 5. Помимо строк имеются также столбцы. Таких столбцов в LCD­5110 – 84. Столбцы нумеруются слева направо от 0 до 83.

Каждая цифра представляет собой прямоугольное поле пикселей определённого размера. В LCD­5110 это поле имеет размер 24×16 пикселей, т.е. три строки (3 байта) по 16 столбцов (размер поля выбран автором). Значение тех или иных битов поля определяется шрифтом и соответствующей цифрой (символом). Существуют специальные программы, которые формируют значения бит поля в зависимости от символа и шрифта. Автор использовал бесплатную программу GLCD Font Creator 1.2.0.0. Для цифр использовался шрифт Clarendon Condensed жирный размером 26. У этого шрифта каждый символ цифры как раз занимает поле из 24×16 пикселей.

Вывод цифр на дисплей в программе осуществляется по столбцам. Например, для того чтобы вывести один символ на дисплей LCD­5110, необходимо указать номер строки (в данном случае это 3), начиная с которой будет выводиться столбец, и указать начальный номер столбца (от 0 до 83). При выводе каждого байта номер строки автоматически увеличивается на 1, поэтому после вывода трёх байт необходимо установить номер строки в начальное состояние (3) и выводить следующие 3 байта. При этом номера столбцов автоматически инкрементируются. После вывода всех 16 столбцов цифра появится на экране.

На дисплей выводятся пять цифр, занимающих 5×16=80 пикселей, а оставшиеся 4 пикселя занимает десятичная точка шириной 4 пикселя, что в сумме составляет 84 пикселя – вся ширина экрана LCD­5110. Цифры и десятичная точка выводятся на три последние строки (с третьей по пятую).

Помимо цифр, на две верхние строки (нулевую и первую) выводятся символы «mΩ» и пиктограмма аккумулятора, показывающая степень его разряженности, в соответствии с рисунком 4. Символы «m» и «Ω» занимают поле 16×16 пикселя, а один из символов разряженности аккумулятора (их четыре) – 16×32 пикселей. Для символа «Ω» использован шрифт Symbol PS, жирный, размер 16; для символа «m» – шрифт Тimes, жирный, размер 14. Для символов аккумулятора использован шрифт Arial, жирный, размер 26. В этом шрифте символы цифр 0, 1, 2 и 3 соответственно заменены на рисунки аккумулятора: пустой, с одним «горящим» сегментом, с двумя и тремя.

Подпрограммы вывода информации на дисплей (по сравнению с остальной частью программы) примитивно просты. Формула (7) для расчёта измеряемого сопротивления Rx также проста, и запрограммировать её в МК не составляет большого труда. Поэтому ниже будет описана только суть работы подпрограмм, используемых в миллиомметре, и способ их запуска.Таких подпрограмм три: подпрограмма калибровки полной шкалы АЦП МК, подпрограмма установки нуля прибора в выбранном диапазоне, подпрограмма штатной работы прибора. Кроме того, дополнительно используется подпрограмма индикации уровня зарядки аккумулятора.

Подпрограмма калибровки полной шкалы АЦП может быть запущена только в открытом корпусе прибора (см. рис. 6). Эту подпрограмму требуется запустить всего один раз:

  • снять с разъёма XD/RS (см. рис. 2) ответный разъём кабеля;
  • подключить к контактам 1–3 разъёма XD/RS 3­контактную перемычку – ответный разъём с тремя контактами, соединёнными между собой;
  • снять двухконтактную перемычку с контактов разъёма XR3Vref;
  • соединить второй контакт разъёма XR3Vref с контактом разъёма XRef (для этого необходимо изготовить однопроводный кабель с двумя гнёздами на его концах);
  • включить питание прибора.

Подпрограмма измерит опорное напряжение Vref в безразмерном виде, т.е. АЦП покажет значение, близкое к единице (например, у одного экземпляра МК это значение было равно 0,9998). Далее вычисляется обратное значение (которое в данном случае будет равно 1/0,9998≈1,0002), которое в виде коэффициента К=1,0002 запишется во флеш­память МК и прочитается из неё. Далее будет произведено повторное измерение напряжения, которое будет умножено на К и выведено на дисплей. Показания на дисплее должны быть: «1.0000». Если на дисплее получено такое показание, то это будет означать, что калибровка полной шкалы произведена правильно. В противном случае необходимо произвести калибровку заново, выключив и включив питание прибора. После калибровки полной шкалы необходимо вернуть все разъёмы в первоначальное состояние и закрыть корпус прибора. На этом калибровка полной шкалы закончена. Запуск подпрограммы установки нуля для каждого диапазона измерений необходимо проводить в следующей последовательности:

  1. подключить к прибору штекеры от зажимов и соединить их измерительные контакты между собой;
  2. не включая питания, нажать чёрную кнопку и, не отпуская её, включить питание. Далее кнопку отпустить. Подпрограмма прочитает из флеш­памяти коэффициент К, полученный при калибровке полной шкалы АЦП. С учётом этого коэффициента подпрограмма произведёт измерение сопротивления (в данном случае это сопротивление равно нулю). Результат будет выведен на дисплей. Показания на дисплее должны быть нулевыми в каждом диапазоне. Подпрограмма вычислит разницу между нулём и измеренным сопротивлением, запишет эту разницу в виде коэффициента (К0 – для первого диапазона, К1 – для второго и К2 – для третьего);
  3. выключить питание и включить заново. Затем нажать и отпустить чёрную кнопку. Программа прочитает из флеш­памяти записанные ранее коэффициенты (К, К0, К1 и К2), измерит сопротивление (нулевое, т.к. зажимы закорочены) и с учётом коэффициентов выведет результат на экран дисплея. Показания прибора также должны быть нулевыми. В противном случае необходимо произвести повторно установку нуля (п. 2). Во время измерения кратковременно (не более чем на 1 с) загорится и погаснет светодиод;
  4. произвести установку нуля во всех трёх диапазонах.

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

  • подключить измеряемый резистор к зажимам;
  • установить нужный диапазон измерения;
  • включить питание прибора;
  • нажать и отпустить чёрную кнопку.

Программа прочитает из флеш­памяти записанные ранее коэффициенты (К, К0, К1 и К2), измерит сопротивление подключённого резистора и с учётом коэффициентов выведет результат на экран дисплея. Во время измерения кратковременно (не более чем на 1 с) загорится светодиод, а показания останутся на дисплее.

Подпрограмма для индикации уровня зарядки аккумулятора работает следующим образом. Максимальное напряжение, до которого заряжается аккумулятор, как было упомянуто ранее, составляет 4,2 В. Минимально допустимое напряжение, при котором аккумулятор функционирует в штатном режиме, составляет 2,7 В. Однако прибор адекватно работает, если напряжение питания составляет не менее 3,4 В, поэтому были выбраны следующие граничные напряжения: 2,7, 3,4, 3,6 и 3,8 В (см. рис. 4).

Для определения выходного напряжения аккумулятора UБАТ (см. рис. 2) это напряжение (сниженное в 2 раза делителем R15­R16) подаётся на вход первого канала АЦП МК (ADC0.1). Подпрограмма измеряет это напряжение. Если 2,7 В ≤ UБАТ ≤ 3 ,4 В, то индицируется «пустой» символ аккумулятора. Если 3,4 В < UБАТ ≤ 3,6 В, то индицируется символ с одним сегментом. Если 3,6 В < UБАТ ≤ 3,8 В – с двумя. Если UБАТ > 3,8 В – с тремя. При измерениях необходимо следить за состоянием аккумулятора, и если индицируется один сегмент, аккумулятор следует подзарядить.

Если для измерения напряжений Uout и URобр, использующихся в расчёте значения измеряемого сопротивления Rx по формуле (7), производится 64­кратное осреднение результатов 1024 показаний АЦП (осреднённых с децимацией), то для измерения значения UБАТ производится восьмикратное осреднение. Это сделано в связи с тем, что высокая точность измерения UБАТ не нужна, а восьмикратное осреднение требует в 8 раз меньше времени (т.е. почти на порядок), чем 64­кратное. А это дополнительное время, которое входит в общее время прохождения большого тока (0,5 А). Оно снижено в 8 раз для того, чтобы аккумулятор меньше разряжался.

Если время измерения Rx не превышает 1 с, то каждое измерение потребует 0,5 А·с. Ёмкость аккумулятора составляет 3 А·ч, однако если принять во внимание разрядную характеристику аккумулятора, то при токе разряда, равном 0,2 ёмкость C будет равна 0,2×3000 мА = 600 мА, ёмкость аккумулятора при разряде до напряжения 3,4 В составит, по разным оценкам, от 2 до 2,5 А·ч. Если взять минимальное значение 2 А·ч=7200 А·с и разделить на 0,5 А·с, то получим 14 400, т.е. около 14 000 измерений. Другими словами, полностью заряженный аккумулятор позволяет произвести около 14 000 измерений, после чего его уже следует подзарядить.

Потребление тока миллиомметром только при индикации показаний составляет около 15 мА, т.е. существенно меньше, чем во время измерения (500 мА). Также следует отметить, что потребление тока только в режиме индикации для миллиоомметра (15 мА) в 3 раза выше, чем потребление тока вольтметром (5 мА), описанным в [1]. Утроенное потребление тока – следствие утроенной тактовой частоты процессора МК (72 МГц – в миллиомметре против 18 МГц – в вольтметре [1]). Однако утроение тактовой частоты процессора МК снизило время измерения (когда протекает ток 0,5 А) до 1 с (при частоте 18 МГц это время составляет 3 с).

Как было указано ранее, при подсветке потребление тока дисплеем LCD­5110 составляет около 25 мА (20 мА потребляет подсветка и 5 мА – дисплей без подсветки), так что существенного разряда аккумулятора от подсветки не произойдёт. Программа для миллиомметра в уже готовом загрузочном *.hex­формате приведена в дополнительных материалах к статье.

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

Для проверки работоспособности приборов автор подобрал несколько резисторов однопроцентной точности разного номинала и два шунта класса 0,5. Результаты измерений показаны на рисунках 8–10.



Результаты измерений оказались неожиданными. Относительные погрешности всех без исключения измеренных значений полностью укладываются в относительные погрешности резисторов (1%) и шунтов (0,5%). Конечно, предполагалось, что прибор должен измерять подобные сопротивления, но откуда взялась такая невероятная чувствительность и достаточно приемлемая точность, особенно при измерении сопротивлений шунтов (см. рис. 10)?

Учитывая формулу (7), можно прийти к выводу, что сопротивление измеряемого резистора Rx зависит от четырёх параметров: от результатов измерений двух напряжений Uout и URобр, от коэффициента усиления ИУ G и номинала Rобр. Если не учитывать погрешности измерений напряжений Uout и URобр, то остаётся два параметра: G и Rобр. Как следует из справочного листка на ИУ INA333, типовая (максимальная) погрешность установки коэффициента G при G = 1 составляет 0,01% (0,1%), при G = 10 – 0,05% (0,25%), при G = 100 – 0,07% (0,25%). Установка коэффициента G осуществляется резисторами R6 и R7 (см. рис. 2), имеющими погрешность 0,1%. Сопротивление образцового резистора Rобр было измерено более точным прибором с погрешностью около 0,1%. Если принять среднее значение погрешности установки коэффициента G равным dG ≈ 0,1% и сложить его с погрешностями d(R6/R7) = 0,1% и dRобр ≈ 0,1%, то получим, что осреднённая погрешность измерения прибором сопротивления Rx будет равна dRx = dG + d(R6/R7) + dRобр ≈ 0,3%. Но даже если принять максимальную погрешность dG = 0,25%, dRобр = 0,5% и d(R6/R7) = 0,1%, то получим dRx = 0,85%, т.е. не более 1%, причём во всех трёх диапазонах. На основе приведённых рассуждений можно сделать вывод, что погрешность dRx лежит где­то между 0,3 и 0,85%. Таким образом, результаты (см. рис. 8–10) показывают, что измерения малых сопротивлений прибором достаточно адекватны.

Заключение

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

Литература

  1. Кузьминов А. Цифровой вольтметр с высоким разрешением. Современная электроника. 2020. № 8–9. 2021. № 1–2.
  2. Кузьминов А. Ю. Связь между компьютером и микроконтроллером. Современные аппаратные и программные средства. М. Перо. 2018.
  3. Кузьминов А. Программирование микроконтроллеров EFM8 с помощью встроенного загрузчика программ. Радио. 2018. № 12.
in– также подключается к «земле» через какой­либо токо­ограничивающий резистор небольшого номинала (например, 100 Ом), а измеряемый сигнал подаётся на вход Vin+ также через небольшой токоограничивающий резистор. Однако такой способ включения имеет два существенных недостатка. Во­первых, при таком способе пришлось бы образцовый резистор подключать к выходу стабилизатора (т.е. к Vrefm), а измеряемый резистор – между образцовым и «землёй». В этом случае при измерении напряжения на образцовом резисторе с помощью АЦП возникли бы проблемы, поскольку АЦП измеряет напряжение относительно «земли» (а не относительно Vrefm). Во­вторых, напряжение на измеряемом резисторе измерялось бы АЦП относительно «земли», и при малом номинале измеряемого резистора (миллиомы) это напряжение было бы также мало́ (даже учитывая усиление ИУ). Малые напряжения относительно «земли» при их измерении АЦП имеют максимальную погрешность, поскольку вблизи «земли» интегральная нелинейность максимальна, да и вообще АЦП очень плохо измеряет малые напряжения относительно «земли». При способе включения, показанном на рисунке 1, из опорного напряжения вычитается малое напряжение на измеряемом резисторе, в связи с чем результирующее напряжение очень близко к опорному. Чем ближе измеряемое напряжение к опорному, тем точнее оно измеряется АЦП, поскольку АЦП сравнивает измеряемое напряжение с опорным, а не с «землёй». Кроме того, интегральная нелинейность АЦП минимальна, если измеряемое напряжение близко к опорному. Помимо этого, при способе включения ИУ, показанном на рисунке 1 (т.е. ИУ как бы «перевёрнут» по сравнению со стандартным способом включения), напряжение на образцовом резисторе измеряется АЦП с минимальной погрешностью, поскольку это напряжение также близко к опорному.

Поскольку потенциал сигнала Vrefi всегда выше потенциала сигнала Vrобрi, приведённая формула (1) может быть переписана в виде:

Из (2) можно найти разность потенциалов (напряжение) на резисторе Rx:

Реальное напряжение Vout, если оно измеряется АЦП, может быть получено по его безразмерному показанию (обозначим его как Uout), умноженному на опорное напряжение Vref:

Здесь следует сделать некоторое уточнение. Пусть имеется 14­разрядный АЦП, и пусть его передаточная характеристика идеальна. Тогда при подключении к его входу опорного напряжения Vref его показания в двоичном коде будут равны Uout2= 111111111111112 (т.е. 14 двоичных единиц). Безразмерное показание АЦП, выраженное рациональным десятичным числом, Uout10, можно найти, разделив Uout2 на (214– 1): Uout10 =Uout2/(214– 1) = 1. Другими словами, в этом случае Uout = 1. Если же вход АЦП заземлить, то безразмерное показание АЦП будет нулевым: Uout = 0.

Аналогично по безразмерному показанию АЦП (Urобр) определяется реальное напряжение (Vrобр) на образцовом резисторе:

Ток IRобр, проходящий через образцовый резистор Rобр, может быть найден по формуле:

Измеряемое сопротивление резистора Rx может быть найдено как разность потенциалов (Vin– –Vin+), делённая на проходящий ток IRобр, а с учётом (3–6) получим формулу для вычисления Rx по показаниям АЦП (Uout, Urобр), номиналу образцового резистора Rобр и, коэффициенту усиления G ИУ:

Интересной особенностью формулы (7) является отсутствие в ней опорного напряжения Vref. Это означает, что, во­первых, оно в принципе может быть любым (конечно, в разумных пределах), и, во­вторых, что его абсолютное значение не играет никакой роли, лишь бы оно было стабильно во время измерения (не более 1 с, см. далее). Формула (7) и была использована для всех расчётов в программе для МК. Конкретные значения номиналов образцовых резисторов Rобр и коэффициентов усиления G будут указаны далее.

Принципиальные схемы

Условно схему платы миллиомметра (см. рис. 2) с дополнительными устройствами (см. рис. 3) можно разбить на две части: цифровую и аналоговую.


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

Первый вариант программирования МК – с помощью USB DEBUG адаптера, который сопрягается с компьютером по интерфейсу USB, а с МК – по двухпроводному интерфейсу C2. Для этого предназначен трёхконтактный штыревой разъём XB, на который выведены два сигнала – RST/С2СK и C2D – и «земля». Для сопряжения используется кабель, который одним концом (ответная трёхконтактная вилка) подключается к разъёму XB, a второй его конец подключается к самому USB DEBUG адаптеру. Схему такого кабеля можно найти в [2]. Цепочка R1R2C1 используется для штатной работы интерфейса C2.

Второй вариант программирования МК – по интерфейсу RS­232 с помощью COM­порта компьютера (COM1). Для сопряжения используется 4­контактный штыревой разъём XD/RS, на который выведены два сигнала – TxDM RxDM – питание (+3,5 В) и «земля». К этому разъёму подключается преобразователь уровней интерфейса RS232­TTL, а к нему – кабель сопряжения с COM­портом компьютера. Все схемы и подробное описание этого режима программирования можно найти в [3]. Для перевода МК в данный режим программирования необходимо замкнуть перемычкой контакты 1–2 разъёма XB (эта перемычка показана пунктиром).

Для сопряжения МК с LCD­5110 используется интерфейс SPI и семиконтактный штыревой разъём XN, на который выведены сигналы SPI, питание (+3,5 В) и «земля». К этому разъёму одним концом (ответная семиконтактная вилка – XNK, см. рис. 3в) подключается кабель, который вторым концом (ответная восьмиконтактная вилка – XLK, см. рис. 3в) подключается к разъёму LCD (XL, см. рис. 3г). Дисплей оборудован подсветкой – четыре светодиода синего цвета, расположенные по углам LCD. Для того чтобы «зажечь» светодиоды, необходимо на контакт BL (BackLight, седьмой контакт разъёма XLK) подать напряжение питания Vcc (шестой контакт XLK) через токоограничивающий (до 20 мА) резистор RBL. Это осуществляется с помощью кнопки DS­402 (КН2, см. рис. 3в) красного цвета, которая установлена на лицевой поверхности корпуса прибора.

Управление режимaми работы МК осуществляется сигналами DIAP0 и DIAP1, логические состояния которых (лог. 0 или лог. 1) определяют тот или иной режим работы. Эти сигналы выведены на штыревой разъём XD/RS. К контактам 1–3 этого разъёма одним концом (трёхконтактная ответная вилка) подключается кабель, который вторым концом припаян к движковому переключателю ПД1 (см. рис. 3б). Здесь следует заметить, что объединение в одном разъёме (XD/RS) сигналов для программирования МК по интерфейсу RS–232 и сигналов управления не приведёт к какой­либо коллизии: при программировании МК прибор не работает и ничего не измеряет, а при измерениях он отключён от интерфейса RS–232.

Сигнал CLUI (лог. 0) запускает миллиомметр в режиме измерения, если он появляется после включения питания. Этот сигнал (и «земля») выведен на двухконтактный штыревой разъём XC, к которому подключается один из концов кабеля (ответной двухконтактной вилкой), а второй его конец соединяется с двухконтактной кнопкой КН1 (см. рис. 3д).
При нажатии кнопки CLUI = лог. 0, при отпускании CLUI = лог. 1. Если кнопка нажата и удерживается в нажатом состоянии перед включением питания, а после включения питания отпускается, то миллиомметр переходит в режим установки нуля по выбранному диапазону измерения (см. далее). Для управления работой стабилизатора используется управляющий сигнал ENT (подаваемый МК), состояние которого включает (лог. 1) или выключает (лог. 0) стабилизатор.

Аналоговая часть включает в себя следующие устройства. Прецизионный измерительный резистор R3, напряжение на котором измеряется АЦП МК, ИУ INA333 (DA1), посредством которого измеряется падение напряжения на измеряемом резисторе, ИОН REF3125 (DA3) с выходным напряжением Vref=2,5 В и стаби­лизатор на базе операционного усилителя (ОУ) OPA334 (DA2) и мощного полевого p­канального транзистора STD30PF03L­1 (VT1).

Сигнал Vref подключён ко второму выводу МК DD1 (P0.0/Vref). Этот же сигнал выведен на одноконтактный штыревой разъём Xref. Конденсатор C4 блокировочный; он необходим для штатной работы ИОН. Для измерения напряжения на R3 это напряжение (сигнал R3) подаётся на первый контакт двухконтактного разъёма XR3Vref. В штатном режиме работы его контакты 1–2 замыкаются перемычкой, в результате чего напряжение (на R3) со второго контакта (сигнал R3/Vref) через RC цепочку R9C2 подаётся на 17­й вывод МК (ADC0.7) – сигнал ADCIN_R3/Vref. В режиме калибровки полной шкалы АЦП (см. далее) перемычка с разъёма XR3Vref снимается, и второй контакт разъёма XR3Vref соединяется с контактом разъёма Xref проводом с двумя ответными гнёздами на его концах. В результате опорное напряжение Vref через цепочку R9C2 подаётся на вход АЦП ADC0.7 МК (сигнал ADCIN_R3/Vref).

ИУ INA333 (DA1) включён по схеме, аналогичной рисунку 1. В зависимости от диапазона измерения к его входам RG (выводы 1, 8) подключается либо резистор R7 (1 кОм),
в этом случае коэффициент усиления G =1+100К/1К = 101, либо резистор R6 (10 кОм), тогда G=1+100К/10К =11, либо ничего не подключается, т.е. выводы 1, 8 свободны; в этом случае G=1.

Для установки того или иного коэффициента усиления служит движковый переключатель ПД­47 (ПД1, см. рис. 3б) с двумя группами контактов (три положения, два направления). Для установки коэффициента усиления G на плате предусмотрен трёхконтактный штыревой разъём XRG. К этому разъёму подключается кабель, на одном конце которого расположена ответная трёхконтактная вилка XRGK (которая и подключается к разъёму XRG), а второй его конец припаян к контактам 1’–3’ ПД1 (см. рис. 3б). Помимо установки коэффициента усиления ИУ, ПД1 с помощью второй группы контактов (1–3) устанавливает в то или иное состояние биты диапазонов DIAP0 и DIAP1 МК. Для этого служит трёхпроводный кабель, который одним концом припаян к контактам 1–3 ПД1 (см. рис. 3б), а на втором его конце установлена трёхконтактная вилка XDK, которая подключается к контактам 1–3 разъёма XD/RS (см. рис. 2). В первом (нижнем по схеме на рис. 3б) положении ПД1 все его контакты разомкнуты, в связи с чем биты DIAP0 и DIAP1 находятся в состоянии лог. 1, а коэффициент усиления ИУ G=1. Во втором (среднем) положении замыкаются контакты 2–3 и 2’–3’, бит DIAP0 устанавливается в состояние лог. 0 (DIAP1=лог. 1), а коэффициент G=11 (см. ранее). В третьем (верхнем по схеме) положении замыкаются контакты 1–3 и 1’–3’, в связи с чем бит DIAP1 = лог. 0 (DIAP0 =1), a G = 101.

Есть ещё одна (технологическая) комбинация: бит DIAP0 и DIAP1. Оба бита устанавливаются в состояние лог. 0. Комбинация используется для калибровки полной шкалы АЦП МК (см. далее). Для этого с разъёма XD/RS снимается ответная трёхконтактная вилка кабеля, соединяющего этот разъём с переключателем ПД1, и на три контакта (1–3) надевается трёхконтактная перемычка, соединяющая все три контакта, т.е. заземляющая сигналы DIAP0 и DIAP1. Эта перемычка показана пунктиром справа от разъёма XD/RS (см. рис. 2).

Измеряемый резистор RX подключается к зажимам Кельвина LCR­90, к которым одним концом припаяны два двухпроводных кабеля, ко вторым концам которых припаяны двухконтактные разъёмы – вилки DJK­10B (XREFK и XR3K, см. рис. 3ж). Эти две вилки вставляются в розетки DJK­04B (XR3 и XREF, см. рис. 2), установленные на лицевой поверхности корпуса прибора. К этим розеткам припаяны два двухпроводных кабеля, которые своим вторым концом впаяны в плату. Силовой контур, через который течёт большой ток, – REFM­RX­R3, измерительный контур, предназначенный для измерения напряжения на RX, – REFI­RX­R3I. Сигнал REFI подключён к выводу REF ИУ DA1 (5­й вывод) и через резистор R5 – к входу Vin– ИУ DA1 (2­й вывод), а сигнал R3I через резистор R4 подключён к входу Vin+ (3­й вывод DA1), т.е. именно так, как это организовано на рисунке 1.

Напряжение с выхода ИУ Vout (6­й вывод DA1) через цепочку R8C6 подаётся на 18­й вывод МК (ADC0.6) – сигнал ADCIN_RX. Блокировочный конденсатор C5 служит для штатной работы ИУ DA1.

В состав стабилизатора входит ОУ OPA334 (DA2) и мощный p­канальный полевой транзистор STD30PF03L­1 (VT1). В отличие от стандартной схемы стабилизатора положительного напряжения на ОУ и n­канальном полевом транзисторе, на сток которого подаётся входное напряжение, а с истока снимается стабилизированное, в данном случае использован p­канальный транзистор, который «перевёрнут», т.е. входное напряжение (+3,5 В) подаётся на его исток, а стабилизированное снимается с его стока. Такое включение p­канального транзистора имеет одну особенность. В стандартной схеме для открытия n­канального транзистора требуется подать на его затвор напряжение выше напряжения истока (т.е. выше входного напряжения) на 1…4 В (пороговое). В данной же схеме (см. рис. 2), во­первых, на стоке напряжение (выходное – около +2,5 В) более отрицательно по отношению к напряжению истока (входное – +3,5 В), т.е. p­канальный транзистор работает в штатном режиме. Во­вторых, на затвор транзистора для его открытия требуется подать напряжение не выше входного, а ниже его на те же 1…4 В (т.е. более отрицательное по отношению к напряжению истока). С этим легко справится ОУ DA2, т.к. напряжение его питания – +3,5 В. Транзистор STD30PF03L­1 имеет низкое пороговое напряжение (около 1 В), поэтому схема будет работать даже при сильном разряде аккумулятора (до 2,7 В). Как видно из схемы, на инвертирующий вход ОУ (4­й вывод DA2) через резистор R13 подаётся опорное напряжение Vref, а на неинвертирующий вход (3­й вывод DA2) подаётся не выходное напряжение стабилизатора (REFM), а напряжение REFI, т.е. то, которое получается в месте контакта зажима (с разъёмом XREFK) с измеряемым резистором (см. рис. 3ж). Другими словами, стабилизатор устанавливает опорное напряжение Vref именно в месте контакта RX с зажимом (напряжение REFI). Выходное напряжение ОУ (1­й вывод DA2) через резистор R12 подаётся на затвор транзистора VT1. При подключении нагрузки к выходу стабилизатора его выходное напряжение (REFM) будет падать, а вместе с ним упадёт и напряжение REFI, и поскольку оно подключено к неинвертирующему входу ОУ DA2 (через резистор R14), снизится и выходное напряжение ОУ. Это приведёт к тому, что напряжение затвора транзистора также снизится, транзистор приоткроется, вернув выходное напряжение REFM, а за ним и напряжение REFI на прежний уровень. При отключении нагрузки всё произойдёт с точностью до наоборот. Конденсатор C10 предотвращает самовозбуждение ОУ DA2.

ОУ DA2 имеет вход разрешения (En – Enable) – 5­й вывод DA2, низкий уровень (лог. 0), на котором отключает выход ОУ, т.е. переводит его в высокоимпедансное состояние. В этом случае затвор VT1 оказывается подключённым к истоку через резистор R10, что приведёт к закрытию транзистора. Если на вход En DA2 подан высокий уровень (лог. 1), то выход ОУ включится, что приведёт к работе стабилизатора в штатном режиме. Как видно из схемы, номинал R12 (100 Ом) на 3 порядка ниже номинала R10 (100 кОм), поэтому влияние R10 на включение транзистора ничтожно мало́. Включение и выключение стабилизатора осуществляется сигналом ENT, подаваемым с МК (13­й вывод DD1).

К выходу стабилизатора через двухконтактный штыревой разъём XLed (см. рис.2) и двухпроводный кабель с ответным разъёмом XLedK (см. рис. 3е) подключён светодиод. Светодиод расположен на лицевой панели корпуса и сигнализирует о наличии напряжения на выходе стабилизатора. Он загорается только в процессе измерения (не более 1 с).

Напряжение питания платы с условным значением +3,5 В поступает с двухконтактного цангового штыревого разъёма XП. На самом деле, напряжение полностью заряженного аккумулятора составляет +4,2 В, а разряженного (но ещё находящегося в штатном режиме работы) – +2,7 В. К разъёму XП одним концом с ответным гнездом XПК
(см. рис. 3а) подключается двухпроводный кабель питания, который своим вторым концом припаян к 1­му выводу выключателя питания ВК1 (+3,5 В, 2­й вывод XПК), а провод GND (1­й вывод XПК) припаян к клемме KL2, соединённой с минусом аккумулятора (BAT1). Эта клемма надета на лепесток, приваренный к минусу BAT1. Аналогичная клемма KL1 надета на лепесток, приваренный к плюсу BAT1. Эта клемма (сигнал +3,5Z) соединена проводом с выводом 3 выключателя ВК1 и одновременно с выводом 2 гнездового разъёма DJK­19S (XZ). 1­й вывод разъема XZ (сигнал GND) соединён с клеммой KL2. Клеммы KL1 и KL2 – нажимные, размером 6,3 мм.

Разъём XZ предназначен для зарядки аккумулятора зарядным устройством. Этот разъём (DJK­19S) припаян на специальную плату (её разводка приведена в дополнительных материалах к статье), которая двумя винтами М2 крепится к днищу корпуса. Конец разъёма выведен наружу на торец корпуса. К этому разъёму подключается ответная вилка DJK­11K (2,5×0,7­L9) двухпроводного кабеля, который своим вторым концом припаян к плате зарядного устройства на базе TP4056. Сама плата зарядного устройства приклеена гибкой теплопроводящей прокладкой с двусторонним липким слоем к игольчатому радиатору с площадью поверхности около 70 см2 (см. далее).

Для определения состояния аккумулятора в схеме используются два резистора R15 и R16, точка соединения которых через цепочку R17C12 подаётся на ещё один вход АЦП МК – ADC0.1 (24­й вывод DD1, сигнал ADCIN_Vp). Напряжение в точке соединения резисторов делителя напряжения питания (в 2 раза) измеряется АЦП МК, и в зависимости от его значения на дисплей выводится условное изображение аккумулятора с тремя сегментами, соответствующими напряжениям (см. рис. 4).


Все резисторы (кроме R3) и конденсаторы (керамические) – для поверхностного монтажа, размером 0603 (кроме C4, C7, C8, C11 – их размер 0805). Резистор R3 пятиваттный в металлическом корпусе. Все разъёмы (кроме XП, XR3 и XREF) штыревые с шагом 1,27 мм (PLL­0X), разъём XП цанговый с шагом 2,54 мм (PSLM­02).

Разводка плат и фотографии устройства

Разводка плат выполнена в программе SprintLayOut 6.0. В дополнительных материалах к статье приведён файл разводки в формате *.lay6, в котором присутствует разводка обеих плат: основной платы с МК и миниатюрной платы для установки разъёма подключения зарядного устройства.

На рисунке 5 приведены разводка и фотография (перед распайкой компонентов навесного монтажа) основной платы миллиомметра. Кружками на разводке показаны места с двусторонней пайкой. Разводка платы с разъёмом для подключения зарядного устройства в связи с её простотой не приводится.

Конструкция прибора

По фотографии прибора в открытом корпусе размером 102×54×30 мм (см. рис. 6) можно составить представление о его внутреннем устройстве.

Корпус состоит из двух половин. На первой расположена лицевая панель прибора. В ней прорезано окно для дисплея, плата которого укреплена по углам пластиковыми полосками, приклеенными к боковым поверхностям корпуса губчатой лентой с двусторонним липким слоем. На лицевой стороне также расположены: светодиод, кнопка чёрного цвета для инициализации процесса измерений, кнопка красного цвета для включения подсветки и выключатель питания. Для ручки движкового переключателя диапазонов прорезано прямоугольное окно. На этой же стороне укреплены разъёмы (гнёзда) для подключения измерительных зажимов Кельвина, к которым припаяны провода с ответными разъёмами (штекеры). На внутренней стороне второй половины корпуса расположены: аккумулятор, приклеенный полосками губчатой ленты с двусторонним липким слоем; движковый переключатель, к которому припаяны две латунные стойки с внутренней резьбой М2,5, прикрученные к корпусу с обратной стороны винтами М2,5 впотай; плата с разъёмом для зарядки аккумулятора, прикрученная к корпусу с обратной стороны двумя винтами М2 впотай и гайками (см. далее). Транзистор припаян к медной пластине размером 25×15×1,5 мм, в которой просверлено отверстие и нарезана резьба М3. Эта пластина крепится к внутренней поверхности второй половины корпуса винтом М3 впотай. Все три вывода транзистора впаяны в плату со стороны расположения компонентов для поверхностного монтажа. Образцовый резистор впаян в плату и держится на своих выводах. Плата не имеет крепёжных отверстий, т.к. она держится на достаточно жёстких выводах транзистора. Обе половины корпуса защёлкиваются двумя торцевыми пластинами.

Зарядка аккумулятора прибора

Как уже упоминалось ранее, для зарядки аккумулятора используется специальная плата на базе микросхемы TP4056, оборудованная разъёмом microUSB для подключения к ней устройства для зарядки телефона с выходным напряжением 5 В. К выходным контактам устройства на TP4056 припаян двухпроводный кабель, а на другой его конец – ответный разъём DJK­11K (2,5×0,7­L9, см. рис. 7).

Провода в месте пайки кабеля к плате укреплены каплей термоклея. Иначе от частого изгибания кабеля провода в месте пайки могут отломиться. Этот кабель подключён к разъёму зарядки прибора DJK­19S (XZ, рис. 3а), распаянном на небольшой плате (см. рис. 6, сверху). Разъём microUSB от зарядного устройства подключён к плате. При зарядке аккумулятора питание прибора должно быть выключено, а зарядное устройство подключено к сети. При правильном подключении на плате включится красный светодиод и начнётся зарядка аккумулятора. По завершении зарядки (когда аккумулятор зарядится до напряжения 4,2 В) красный светодиод погаснет и включится синий.

На плате с TP4056 по умолчанию установлено максимальное значение зарядного тока 1 А. Такой ток обеспечивают далеко не все зарядные устройства. Кроме того, при токе 1 А плата с TP4056 достаточно сильно нагревается и может выйти из строя от перегрева. Поэтому если использовать зарядное устройство для телефона (или других аккумуляторов), обеспечивающее ток 1 А или более, то плату необходимо установить на радиатор. Автор использовал игольчатый радиатор с площадью поверхности около 70 см2. Плата приклеена к радиатору гибкой термопрокладкой с двусторонним липким слоем (см. рис. 7). Если же зарядное устройство обеспечивает ток не более 0,5 А, то в радиаторе нет необходимости.

Программные средства и управление работой прибора

Используемый для измерений необходимых напряжений в миллиомметре метод передискретизации и осреднения для увеличения разрешающей способности четырнадцатиразрядного SAR­АЦП (встроенного в МК EFM8LB12) подробно описан в [1]. Вывод информации на ЖКИ условно можно разбить на две части. Первая часть состоит в подготовке информации к выводу, т.е. получения необходимых для вывода цифр с помощью функции Си sprintf(). Об этом подробно описано в [1]. Вторая часть касается непосредственно вывода цифр на дисплей LCD­5110. В отличие от вывода цифр на семисегментный ЖКИ [1], вывод цифр на графический дисплей LCD­5110 существенно отличается. Далее описана организация такого вывода.

С программной точки зрения дисплей состоит из так называемых строк шириной 8 пикселей, соответствующих 8 битам или 1 байту. В LCD­5110 таких строк шесть (6×8 = 48 пикселей по вертикали). Строки нумеруются от 0 до 5. Помимо строк имеются также столбцы. Таких столбцов в LCD­5110 – 84. Столбцы нумеруются слева направо от 0 до 83.

Каждая цифра представляет собой прямоугольное поле пикселей определённого размера. В LCD­5110 это поле имеет размер 24×16 пикселей, т.е. три строки (3 байта) по 16 столбцов (размер поля выбран автором). Значение тех или иных битов поля определяется шрифтом и соответствующей цифрой (символом). Существуют специальные программы, которые формируют значения бит поля в зависимости от символа и шрифта. Автор использовал бесплатную программу GLCD Font Creator 1.2.0.0. Для цифр использовался шрифт Clarendon Condensed жирный размером 26. У этого шрифта каждый символ цифры как раз занимает поле из 24×16 пикселей.

Вывод цифр на дисплей в программе осуществляется по столбцам. Например, для того чтобы вывести один символ на дисплей LCD­5110, необходимо указать номер строки (в данном случае это 3), начиная с которой будет выводиться столбец, и указать начальный номер столбца (от 0 до 83). При выводе каждого байта номер строки автоматически увеличивается на 1, поэтому после вывода трёх байт необходимо установить номер строки в начальное состояние (3) и выводить следующие 3 байта. При этом номера столбцов автоматически инкрементируются. После вывода всех 16 столбцов цифра появится на экране.

На дисплей выводятся пять цифр, занимающих 5×16=80 пикселей, а оставшиеся 4 пикселя занимает десятичная точка шириной 4 пикселя, что в сумме составляет 84 пикселя – вся ширина экрана LCD­5110. Цифры и десятичная точка выводятся на три последние строки (с третьей по пятую).

Помимо цифр, на две верхние строки (нулевую и первую) выводятся символы «mΩ» и пиктограмма аккумулятора, показывающая степень его разряженности, в соответствии с рисунком 4. Символы «m» и «Ω» занимают поле 16×16 пикселя, а один из символов разряженности аккумулятора (их четыре) – 16×32 пикселей. Для символа «Ω» использован шрифт Symbol PS, жирный, размер 16; для символа «m» – шрифт Тimes, жирный, размер 14. Для символов аккумулятора использован шрифт Arial, жирный, размер 26. В этом шрифте символы цифр 0, 1, 2 и 3 соответственно заменены на рисунки аккумулятора: пустой, с одним «горящим» сегментом, с двумя и тремя.

Подпрограммы вывода информации на дисплей (по сравнению с остальной частью программы) примитивно просты. Формула (7) для расчёта измеряемого сопротивления Rx также проста, и запрограммировать её в МК не составляет большого труда. Поэтому ниже будет описана только суть работы подпрограмм, используемых в миллиомметре, и способ их запуска.Таких подпрограмм три: подпрограмма калибровки полной шкалы АЦП МК, подпрограмма установки нуля прибора в выбранном диапазоне, подпрограмма штатной работы прибора. Кроме того, дополнительно используется подпрограмма индикации уровня зарядки аккумулятора.

Подпрограмма калибровки полной шкалы АЦП может быть запущена только в открытом корпусе прибора (см. рис. 6). Эту подпрограмму требуется запустить всего один раз:

  • снять с разъёма XD/RS (см. рис. 2) ответный разъём кабеля;
  • подключить к контактам 1–3 разъёма XD/RS 3­контактную перемычку – ответный разъём с тремя контактами, соединёнными между собой;
  • снять двухконтактную перемычку с контактов разъёма XR3Vref;
  • соединить второй контакт разъёма XR3Vref с контактом разъёма XRef (для этого необходимо изготовить однопроводный кабель с двумя гнёздами на его концах);
  • включить питание прибора.

Подпрограмма измерит опорное напряжение Vref в безразмерном виде, т.е. АЦП покажет значение, близкое к единице (например, у одного экземпляра МК это значение было равно 0,9998). Далее вычисляется обратное значение (которое в данном случае будет равно 1/0,9998≈1,0002), которое в виде коэффициента К=1,0002 запишется во флеш­память МК и прочитается из неё. Далее будет произведено повторное измерение напряжения, которое будет умножено на К и выведено на дисплей. Показания на дисплее должны быть: «1.0000». Если на дисплее получено такое показание, то это будет означать, что калибровка полной шкалы произведена правильно. В противном случае необходимо произвести калибровку заново, выключив и включив питание прибора. После калибровки полной шкалы необходимо вернуть все разъёмы в первоначальное состояние и закрыть корпус прибора. На этом калибровка полной шкалы закончена. Запуск подпрограммы установки нуля для каждого диапазона измерений необходимо проводить в следующей последовательности:

  1. подключить к прибору штекеры от зажимов и соединить их измерительные контакты между собой;
  2. не включая питания, нажать чёрную кнопку и, не отпуская её, включить питание. Далее кнопку отпустить. Подпрограмма прочитает из флеш­памяти коэффициент К, полученный при калибровке полной шкалы АЦП. С учётом этого коэффициента подпрограмма произведёт измерение сопротивления (в данном случае это сопротивление равно нулю). Результат будет выведен на дисплей. Показания на дисплее должны быть нулевыми в каждом диапазоне. Подпрограмма вычислит разницу между нулём и измеренным сопротивлением, запишет эту разницу в виде коэффициента (К0 – для первого диапазона, К1 – для второго и К2 – для третьего);
  3. выключить питание и включить заново. Затем нажать и отпустить чёрную кнопку. Программа прочитает из флеш­памяти записанные ранее коэффициенты (К, К0, К1 и К2), измерит сопротивление (нулевое, т.к. зажимы закорочены) и с учётом коэффициентов выведет результат на экран дисплея. Показания прибора также должны быть нулевыми. В противном случае необходимо произвести повторно установку нуля (п. 2). Во время измерения кратковременно (не более чем на 1 с) загорится и погаснет светодиод;
  4. произвести установку нуля во всех трёх диапазонах.

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

  • подключить измеряемый резистор к зажимам;
  • установить нужный диапазон измерения;
  • включить питание прибора;
  • нажать и отпустить чёрную кнопку.

Программа прочитает из флеш­памяти записанные ранее коэффициенты (К, К0, К1 и К2), измерит сопротивление подключённого резистора и с учётом коэффициентов выведет результат на экран дисплея. Во время измерения кратковременно (не более чем на 1 с) загорится светодиод, а показания останутся на дисплее.

Подпрограмма для индикации уровня зарядки аккумулятора работает следующим образом. Максимальное напряжение, до которого заряжается аккумулятор, как было упомянуто ранее, составляет 4,2 В. Минимально допустимое напряжение, при котором аккумулятор функционирует в штатном режиме, составляет 2,7 В. Однако прибор адекватно работает, если напряжение питания составляет не менее 3,4 В, поэтому были выбраны следующие граничные напряжения: 2,7, 3,4, 3,6 и 3,8 В (см. рис. 4).

Для определения выходного напряжения аккумулятора UБАТ (см. рис. 2) это напряжение (сниженное в 2 раза делителем R15­R16) подаётся на вход первого канала АЦП МК (ADC0.1). Подпрограмма измеряет это напряжение. Если 2,7 В ≤ UБАТ ≤ 3 ,4 В, то индицируется «пустой» символ аккумулятора. Если 3,4 В < UБАТ ≤ 3,6 В, то индицируется символ с одним сегментом. Если 3,6 В < UБАТ ≤ 3,8 В – с двумя. Если UБАТ > 3,8 В – с тремя. При измерениях необходимо следить за состоянием аккумулятора, и если индицируется один сегмент, аккумулятор следует подзарядить.

Если для измерения напряжений Uout и URобр, использующихся в расчёте значения измеряемого сопротивления Rx по формуле (7), производится 64­кратное осреднение результатов 1024 показаний АЦП (осреднённых с децимацией), то для измерения значения UБАТ производится восьмикратное осреднение. Это сделано в связи с тем, что высокая точность измерения UБАТ не нужна, а восьмикратное осреднение требует в 8 раз меньше времени (т.е. почти на порядок), чем 64­кратное. А это дополнительное время, которое входит в общее время прохождения большого тока (0,5 А). Оно снижено в 8 раз для того, чтобы аккумулятор меньше разряжался.

Если время измерения Rx не превышает 1 с, то каждое измерение потребует 0,5 А·с. Ёмкость аккумулятора составляет 3 А·ч, однако если принять во внимание разрядную характеристику аккумулятора, то при токе разряда, равном 0,2 ёмкость C будет равна 0,2×3000 мА = 600 мА, ёмкость аккумулятора при разряде до напряжения 3,4 В составит, по разным оценкам, от 2 до 2,5 А·ч. Если взять минимальное значение 2 А·ч=7200 А·с и разделить на 0,5 А·с, то получим 14 400, т.е. около 14 000 измерений. Другими словами, полностью заряженный аккумулятор позволяет произвести около 14 000 измерений, после чего его уже следует подзарядить.

Потребление тока миллиомметром только при индикации показаний составляет около 15 мА, т.е. существенно меньше, чем во время измерения (500 мА). Также следует отметить, что потребление тока только в режиме индикации для миллиоомметра (15 мА) в 3 раза выше, чем потребление тока вольтметром (5 мА), описанным в [1]. Утроенное потребление тока – следствие утроенной тактовой частоты процессора МК (72 МГц – в миллиомметре против 18 МГц – в вольтметре [1]). Однако утроение тактовой частоты процессора МК снизило время измерения (когда протекает ток 0,5 А) до 1 с (при частоте 18 МГц это время составляет 3 с).

Как было указано ранее, при подсветке потребление тока дисплеем LCD­5110 составляет около 25 мА (20 мА потребляет подсветка и 5 мА – дисплей без подсветки), так что существенного разряда аккумулятора от подсветки не произойдёт. Программа для миллиомметра в уже готовом загрузочном *.hex­формате приведена в дополнительных материалах к статье.

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

Для проверки работоспособности приборов автор подобрал несколько резисторов однопроцентной точности разного номинала и два шунта класса 0,5. Результаты измерений показаны на рисунках 8–10.



Результаты измерений оказались неожиданными. Относительные погрешности всех без исключения измеренных значений полностью укладываются в относительные погрешности резисторов (1%) и шунтов (0,5%). Конечно, предполагалось, что прибор должен измерять подобные сопротивления, но откуда взялась такая невероятная чувствительность и достаточно приемлемая точность, особенно при измерении сопротивлений шунтов (см. рис. 10)?

Учитывая формулу (7), можно прийти к выводу, что сопротивление измеряемого резистора Rx зависит от четырёх параметров: от результатов измерений двух напряжений Uout и URобр, от коэффициента усиления ИУ G и номинала Rобр. Если не учитывать погрешности измерений напряжений Uout и URобр, то остаётся два параметра: G и Rобр. Как следует из справочного листка на ИУ INA333, типовая (максимальная) погрешность установки коэффициента G при G = 1 составляет 0,01% (0,1%), при G = 10 – 0,05% (0,25%), при G = 100 – 0,07% (0,25%). Установка коэффициента G осуществляется резисторами R6 и R7 (см. рис. 2), имеющими погрешность 0,1%. Сопротивление образцового резистора Rобр было измерено более точным прибором с погрешностью около 0,1%. Если принять среднее значение погрешности установки коэффициента G равным dG ≈ 0,1% и сложить его с погрешностями d(R6/R7) = 0,1% и dRобр ≈ 0,1%, то получим, что осреднённая погрешность измерения прибором сопротивления Rx будет равна dRx = dG + d(R6/R7) + dRобр ≈ 0,3%. Но даже если принять максимальную погрешность dG = 0,25%, dRобр = 0,5% и d(R6/R7) = 0,1%, то получим dRx = 0,85%, т.е. не более 1%, причём во всех трёх диапазонах. На основе приведённых рассуждений можно сделать вывод, что погрешность dRx лежит где­то между 0,3 и 0,85%. Таким образом, результаты (см. рис. 8–10) показывают, что измерения малых сопротивлений прибором достаточно адекватны.

Заключение

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

Литература

  1. Кузьминов А. Цифровой вольтметр с высоким разрешением. Современная электроника. 2020. № 8–9. 2021. № 1–2.
  2. Кузьминов А. Ю. Связь между компьютером и микроконтроллером. Современные аппаратные и программные средства. М. Перо. 2018.
  3. Кузьминов А. Программирование микроконтроллеров EFM8 с помощью встроенного загрузчика программ. Радио. 2018. № 12.

Скачать

2021.4.40programma.zip / ZIP, 10 КБ
2021.4.40faylrazvodki.zip / ZIP, 69 КБ

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

01.04.2021 942 0
Комментарии
Рекомендуем
Анализ зашумлённых сигналов на осциллографах VESNA серии OVS3

Анализ зашумлённых сигналов на осциллографах VESNA серии OVS3

В статье анализируются способы повышения качества результатов измерений сигналов в присутствии аддитивного шума различной природы. В работе выделены типовые источники шума, а также выполнен обобщающий анализ способов, реализация которых позволяет тем или иным образом снизить уровень шума либо повысить уровень полезного сигнала. Для одного из таких способов, основанного на построении автокорреляционных функций, оценена эффективность в части измерения амплитуды и частоты синусоидального сигнала на фоне гауссовского шума. Приведены примеры измерений зашумлённых сигналов, выполненных с использованием осциллографа VESNA OVS3, позволяющие наглядно судить о потенциальных возможностях снижения уровня гауссовского шума при усреднении осциллограмм, ограничении полосы пропускания и при использовании внешнего фильтра.
18.02.2026 СЭ №2/2026 705 0

ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjdWbKyt
ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnje2F5cn
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться