ESR — Equivalent Series Resistance – параметр конденсатора, который показывает активные потери в цепи переменного тока. В эквиваленте его можно представить, как включенный последовательно с конденсатором резистор, сопротивление которого определяется, главным образом, диэлектрическими потерями, а так же сопротивлением обкладок, внутренних контактных соединений и выводов конденсатора. Чем меньше значение ESR (Ом), тем лучшего качества конденсатор. Как правило параметр ESR очень актуален для электролитических конденсаторов емкостью свыше 4,7 мкФ.
На рисунке показана схема простого ESR — метра, уст-во основано на платформе Arduino и содержит минимальный набор внешних элементов, прост в сборке и настройке. Прибор может измерять ESR электролитических конденсаторов до 5 Ом.
Для упрощения схемы используется 18-битный АЦП MCP3421 подключенный к Arduino через шину I2C. Измерение ESR производится на частоте 100 кГц подаваемое с выхода D9 Adruino.
Перед как пользоваться прибором его необходимо откалибровать, так как у меня в наличии не было конденсаторов с известным значением ESR, то пришлось откалибровать прибор при помощи эталонных сопротивлений, методика калибровки ESR-метра при помощи сопротивлений является спорной, но других вариантов у меня нет.
Библиотека — https://github.com/liman324/MCP3421.git
datasheet — MCP3421.pdf
#include <Wire.h> #include <MCP3421.h> #include <LiquidCrystal.h> MCP3421 mcp; LiquidCrystal lcd(7, 8, 2, 3, 4, 5);// RS,E,D4,D5,D6,D7 long dig; float u; const float u0=0.075;// калибровка нуля const float call= 2.84;// калибровка диапазона void setup(){ pinMode(9,OUTPUT); // ВЫХОД СИГНАЛА TCCR1A = 0x40;TCCR1B = 0x09;OCR1A = 79; Serial.begin(9600);Wire.begin(); mcp.setConfig(3,0); // 12 14 16 18 bit - 0-3 // 1x 2x 4x 8x gain - 0-3 } void loop(){ dig = mcp.readWire(); u = dig * 2.048 /131071; Serial.print(dig); Serial.print(" "); Serial.print(u,3); Serial.print(" "); Serial.println((u-u0)*call,3); lcd.setCursor(1,0);lcd.print("ESR = ");lcd.print((u-u0)*call,3);lcd.print(" Om "); delay(1000); }
Калибровка:
- Замкните вход прибора перемычкой, откройте монитор порта и укажите в переменной const float u0
- Далее возьмите сопротивление номиналом 1 Ом и измерьте его сопротивление при помощи ESR-метра, при необходимости измените значение переменной const float call
На этом калибровка закончена, можно проверить линейность измерения сопротивления при помощи другого резистора.
Далее можно проводить измерения, руководствуясь данной таблицей
Результаты измерений