hxESRMeter
Статья опубликована на сайте radiokot.ru
Описание прибора
Прибор предназначен для измерения ёмкости, индуктивности, сопротивления, а также ESR электролитических конденсаторов.
ESR можно измерять в схеме.
Прибор имеет любительское предназначение и не претендует на высокую точность измерений. В любительской практике, в основном, требуется знать примерное значение параметра, чтобы собрать схему. Точность измерений в таблице ниже приведена примерно на основании измерения известных компонентов, разброс параметров которых обычно составляет до 10%.
Таблица. Диапазоны измерений и точность
Параметр | Диапазон измерений | Точность |
Активное сопротивление | 1Ом – 2МОм | не хуже 10% в диапазоне до 400К, не хуже 20% в диапазоне 400К-2МОм |
Ёмкость | 1пФ – 3мкФ | не хуже 10% |
Индуктивность | 1мкГ – 100мГ | не хуже 10% |
ESR | 0.01Ом – 10Ом | не хуже 20% |
На передней панели прибора находятся LCD-индикатор ( 8 знаков ), гнездо для измерения R,L,C, гнездо для измерения ESR, и кнопка установки нуля. На боковой панели находятся кнопки переключения режима. В качестве альтернативы можно измерять ESR в схеме щупами, выведенными на верхнюю панель.
В качестве корпуса взят корпус от роутера DLink DI-524.
Принцип работы
Измерение активного сопротивления
Для измерения активного сопротивления элемента, он включается последовательно с известными сопротивлениями. Всего в схеме 4 известных сопротивления (R22-R25) для разных диапазонов, которые по очереди подключаются микроконтроллером.
Последовательно с измеряемым резистором из-за особенностей схемы включен резистор R21 (100 Ом) для исключения короткого замыкания при переключении выключателей SW1-SW4.
В качестве ключей используются транзисторы 2N7002, выпаянные из материнской платы.
На цепочку ( R21 + Rx + Rcal ) подаётся отфильтрованное напряжение питания (Uavcc, 5V) и измеряется падение напряжения на резисторе Rcal (Usence).
Rx = Rcal * Uavcc / Usence – Rcal – R21
Из всех измерений выбирается то, которое даёт наилучшую точность. Для этого прибор упрощённо вычисляет производную указанной функции. Учитывая, что разрядноть АЦП составляет 1024 единицы, достаточно вычислить изменение Rx при увеличении Usence на Uavcc/1024. Значение с наименьшим изменением принимается как самое точное.
Измерение ёмкости
Измерение ёмкости основано на измерении частоты колебаний LC-контура. Для этого неизвестная ёмкость включается параллельно с известной индуктивностью L1 и ёмкостью C1.
Собственная частота колебательного контура вычисляется как:
F = 1/ (2 * pi * sqrt ( L * C ) )
Разброс параметров деталей может значительно менять частоту колебаний, поэтому прямое измерение частоты не может дать достоверных результатов.
Прибор калибрует параметры измерения, используя компоненты L1,C1,C4.
Для этого прибор измеряет частоту колебательных контуров L1C1 и L1(C1+C4): Цепочка D4D5C12 позволяет подключать конденсатор C4 к колебательному контуру, меняя потенциал на выводе C1EN микроконтроллера.
Повышенные требования к точности предъявляются только к калибровочному конденсатору C4.
Частота колебательного контура L1C1:
F1 = 1 / ( 2 * pi * sqrt( L1 * C1 ) )
Частота колебательного контура L1( C1 + C4 ):
F2 = 1 / ( 2 * pi * sqrt( L1 * ( C1 + C4 ) ) )
Частота колебательного контура L1( C1 + Cx )
F3 = 1 / ( 2 * pi * sqrt( L1 * ( C1 + Cx ) ) )
Из приведённых выше уравнений выводим значение Cx, зависящее только от C4:
Cx = C4 * ( F1 / F3 )^2 / ( F1 / F2 )^2
Калибровка прибора ( измерение F1 и F2 ) производится при переключении в режим измерения ёмкости, поэтому в этот момент к гнезду прибора ничего не должно быть подключено. Также можно повторно запустить калибровку с помощью кнопки установки нуля ( с пустым гнездом ). Калибровка прибора запоминается в EEPROM.
Значение ёмкости C1 не обязательно должно точно соответствовать значению, указанному в схеме. Вместо этого достаточно измерить C1 заведомо точным прибором и внести значение ёмкости в прошивку.
Измерение индуктивности
Измерение индуктивности основано на том же принципе, что и измерение ёмкости. Неизвестная индуктивность подключается последовательно с индуктивностью L1.
Повышенные требования к точности предъявляются только к калибровочному конденсатору C4.
Частота колебательного контура L1C1:
F1 = 1 / ( 2 * pi * sqrt( L1 * C1 ) )
Частота колебательного контура ( L1C1+С4 ):
F2 = 1 / ( 2 * pi * sqrt( L1 * ( C1 + C4 ) ) )
Частота колебательного контура (L1+Lx)C1:
F2 = 1 / ( 2 * pi * sqrt( ( L1 + Lx ) * C1 ) )
Выводим формулу вычисления Lx, зависящую только от C4:
Lx = ( ( F1/F3 ) ^2 – 1 ) * ( ( F2/F3 ) ^2 – 1 ) * ( 1/C4 ) * ( 1 / ( 4 * pi^2 * F1^2 ) )
Из-за особенностей схемы, калибровка режиме измерения индуктивности невозможна – она должна осуществляться в режиме измерения ёмкости. Поэтому перед самым первым использованием прибора, или для получения более точных результатов, необходимо кратковременно переключиться в режим измерения ёмкости. В дальнейшем, калибровка сохраняется в EEPROM.
Измерение ESR
Измерение ESR основано на измерении падения напряжения на неизвестном элементе при синусоидальном сигнале 100кГц. На такой частоте реактивное сопротивление конденсатора близко к нулю и может быть проигнорировано. Величина падения напряжения отражает активное сопротивление элемента.
Амплитуда подаваемого синусоидального сигнала не превышает 80мВ, что позволяет измерять ESR, не выпаивая конденсаторы из схемы. На таком напряжении кремниевые и германиевые переходы не открываются и не влияют на результат измерений. Однако следует иметь в виду, что низкое сопротивление не является фактом исправности конденсатора, так как измеряется общее сопротивление цепи, например – параллельно включенных конденсаторов. С другой стороны, высокое сопротивление скорее всего свидетельствует о неисправности.
Меандр 100кГц формируется микроконтроллером на выводе MOSI и проходит фильтр R28C24 R29C23 R30C25, который оставляет только синусоидальную гармонику 100кГц.
Эмиттерный повторитель Q1 формирует синусоидальный ток на цепочке R27 R14 TR1-1.
Параллельно обмотке TR1-1 включена цепочка R16C37Rx. Таким образом, сопротивление Rx влияет на ток, проходящий через первичную обмотку TR1.
Диоды D5, D7 и конденсатор C16 используются для защиты прибора при подключении к схеме с заряженными конденсаторами.
Резистор R37 нужен для того, чтобы исключить паразитное влияние колебательного контура, образованного конденсатором C16, обмоткой трансформатора и проводами щупов. Вводя дополнительное сопротивление, мы снижаем “добротность” контура и амплитуду резонанса.
Усиленное с помощью трансформатора напряжение выпрямляется цепочкой D8C17 и усиливается операционными усилителями U5:A b U5:B в 3 и 3*21 раз. Первое значение используется для измерения больших значений сопротивления ( > 3 Ом ), второе – малых.
В приборе применяется импульсный трансформатор WYEE-16C из дежурной части блока питания компьютера Codegen-300X, взятый без перемотки.
Измеряемое сопротивление нелинейно влияет на ток, проходящий через обмотку TR1. Также на измеренные напряжения на выходе сильно влияет трансформатор и разброс параметров деталей. Поэтому прибор калибруется по набору известных сопротивлений. Калибровка сохраняется в EEPROM.
Питание
Кратковременное нажатие на кнопку SW5 подаёт питание на прибор, после чего микроконтроллер поддерживает подачу питания с помощью герконового реле RL1. Прибор автоматически отключается после 5 минут неактивности, если к гнёздам ничего не подключено, или через 15 мин, если подключено.
Для принудительного выключения питания необходимо нажать и удерживать SW5, пока экран не погаснет.
Прибор измеряет напряжение батарей ( для индикации разряда ) через резистор RV3.
Плата и схема приведены для варианта с питанием от 9В батареи. В реальном приборе я решил использовать три AA аккумулятора. В этом случае вместо 78L05 ставится перемычка, а стабильное 5В питание подаётся с boost convertor, собранного на mc34063.
Замыкающие контакты реле в этом случае должны стоять в цепи “+” с аккумуляторов.
Также необходимо подать “+” аккумуляторов после контактов реле на вывод 3 RV3
Настройка прибора
Для настройки прибора понадобится осциллограф и RS232-TLL кабель, а также набор калибровочных резисторов номиналами 0.1 Ом ( 3 шт), 0.2, 0.3, 0.6, 1.0, 2.2, 3.6, 4.7, 6.6 и 10 Ом.
Настройка измерения активного сопротивления
Настройка измерения активного сопротивления сводится к проверке наличия открывающих импульсов RCAl1-RCAL4.
К резисторам R21-R25 предъявляются повышенные требования по точности, но точное соответствие сопротивления значениям, указанным в схеме, не требуется. Вместо этого достаточно измерить имеющиеся резисторы заведомо точным прибором, и указать измеренные значения сопротивлений в прошивке.
Настройка измерения ёмкости
Необходимо убедиться, что на выходе микросхемы U1 есть меандр, частота которого зависит от подключенной ёмкости.
Настройка измерения индуктивности
Необходимо убедиться, что на выходе микросхемы U1 есть меандр, частота которого зависит от подключенной индуктивности.
Настройка измерения ESR
Настройка режима ESR – наиболее сложная.
9. Подключаем кабель RS232-TTL к разъему J6.
1. Переключаем переключатель SW4 в положение “Включено”.
На ножке 19 U4 устанавливается “0”, прибор переходит в режим “ESR”. На терминале отображаются строки:
MODEESR: ….
2. Осциллографом проверяем наличие импульсов меандра 100кГц на ножке 17 U4 ( пачки по 0.5 сек с паузой в 1 сек).
3. После прохождения через фильтр R28C24 R29C23 R30C25 импульсы превращаются в почти синусоиду.
и подаются на базу транзистора Q1 через делитель R15R33, который должен быть подобран так, чтобы при подключении к щупам резистора 10 Ом нижняя точка синусоиды немного превышала напряжение открытия транзиcтора (~600мВ), а амплитуда сигнала на базе создавала на резисторе R14 колебания размахом ~80мВ.
4. Проверяем наличие синусоиды на второй обмотке трансформатора.
5. Проводим калибровку операционных усилителей.
Щупы ESR метра закорачиваем. Регулируем напряжение смещения U5:A резистором RV1. Добиваемся, чтобы при появлении импульсов синусоиды, напряжение на выходе 1 U5:A поднималось до ~300 мВ.
6. После этого проводим такую же регулировку усилителя U5:B резистором RV2, контролируя выход 7 осциллографом.
7. Подключаем щупы ESR метра к калибровочному резистору с сопротивлением 10 Ом ( это верхний предел измерений прибора ).
При появлении импульсов, напряжение на выходе 1 U5:A должно подниматься до уровня ~3.5В. Если напряжение превышает 3.7В, то необходимо подобрать коэффициент усиления, задаваемый сопротивлениями R20R13.
Резисторы R32R18R31 задают коэффициент усиления второго усилителя, который используется при измерении малых значений сопротивлений.
В оригинальной схеме используются коэффициенты усиления 3 и 21. Если они будут меняться – нужно поправить константу ESR2_MUL = 21/3 в прошивке.
8. Подключая разные известные сопротивления к щупам ESR метра, нужно убедиться, что меньшим значениям сопротивлений соответсвуют меньшие значения напряжений на выходе 1 U5:A, и наоборот ( зависимость нелинейная ).
8. Начинаем программную калибровку прибора.
Щупы ESR метра закорачиваем и нажимаем кнопку SB1 (удерживаем 1 сек). Прибор запоминает напряжения на линиях ESR1 и ESR2. Они отображаются в терминале как zero=… и должны быть в пределах 10-200, если уровни на выходах операционных усилителей были корректно настроены.
MODEESR: ESR1=67(zero:67) ESR2=21(zero:20) ESR=1 res*1000=0
9. Подключаем калибровочное сопротивление 0.05 Ом (два резистора 0.1 параллельно), в терминале посылаем символы “c”, “a”. Таким образом прибор запоминает калибровочные значения для сопротивления 0.1 Ом в EEPROM. В ответ выводится текст:
Done: xx
И распечатывается таблица калибровки. Это же повторяем для остальных калибровочных резисторов, соответственно нажимая “c”, “b”, “c”,”d” и т.д. Номиналы калибровочных резисторов можно поменять в прошивке в таблице s_ESR_CAL_R.
По завершению по полученным значениям неплохо бы построить график, чтобы убедиться, что всё “похоже на правду”.
Заливка прошивки
Заливка прошивки осуществляется через разъём J3 (нестандарный формат под мой программатор). При программировании необходимо переключить прибор в любой режим, отличный от ESR, и удерживать кнопку включения питания всё время.
Повторение схемы и используемые детали
Я разрабатывал схему под себя, поэтому в ней используются детали, которые у меня были, или которые мне было проще достать. В частности, в приборе используется специфичный LCD индикатор с контроллером mpd7225, взятый из поломанного магнитофона Sony. Очевидно, что при повторении схемы его стоит заменить на любой другой 8-ми сегментный индикатор с интерфейсом SPI, и заменить процедуры общения с индикатором в прошивке( файлы LCD_D7225.h , LCD_D7225.c ). Также можно убрать цепочки R9-R12, D1-D3, U3, служащие для согласования уровней 5V-3.3V.
Проект с печатной платой( Proteus ) + прошивка, (CVAVR ).
Update: использование контроллера HD74780
Поскольку использованный мной индикатор достать практически невозможно, я доделал схему под индикатор HD74780.
Необходимо изготовить SPI адаптер для HD44780 по этой статье.
Схема используется без изменений.
Печатная плата может выглядеть так:
На переходник подаётся питание 5В с основной платы (например, с конденсатора С20). К пинам Data,Clock, E подключаются сигналы LCD_DATA, LCD_CLOCK, LCD_CS с основной платы соответственно (минусы диодов D1-D3). Диоды D1-D3 и резисторы R8-R12 на основной плате можно не впаивать.
Прошивка 1.2:
– поддержка HD44780 (убрать комментарий с #define USE_HD44780 в файле LCD_Impl.c)
– улучшен алгоритм измерения сопротивлений.
Исходники(Codevision AVR 2.05):
hxESRMeter1.2_src.zip
Бинарник, скомпилированный для таких компонентов:
============================= //This file contains definitions for resistors/capacitors used in actual schematics
//Precise value for R22, Ohm * 10, f.e. 97.2 Ohm -> 972 #define RCAL1_VAL 1000 //100
//Precise value for R23, Ohm #define RCAL2_VAL 10000 //10000
//Precise value for R24, Ohm #define RCAL3_VAL 100000 //100000
//Precise value for R25, Ohm #define RCAL4_VAL 1000000 //1000000
//Precise value for C4, Farades #define CCAL 0.000000001 //0.000000001
//calibration resistors for ESR calibartion, Ohm flash const float s_ESR_CAL_R[ ESR_CAL_COUNT ] = { 0, 0.05, 0.1, 0.2, 0.33, 0.6, 1.0, 2.2, 3.6, 4.7, 6.6, 10.0 }; ==============================
Схема и плата переходника в Proteus:
Фьюзы: