Всем привет !
Родилась у меня идея собрать что-то интересное и полезное для ремонта радиоаппаратуры какой-нибудь приборчик . В поиске по интернету наткнулся на тестер ESR конденсаторов (эквивалент последовательного сопротивления) по русски .
Схематически его можно представить так , не задаваясь вопросом про ESL .
Если разбираться в тонкостях , то можно ещё целую статью напечатать . Простыми словами , чем ниже это сопротивление , тем идеальнее этот конденсатор .
Случаи с конденсаторами разные бывают : вздувшиеся , это сразу заметно и такие сразу под замену , вытек электролит через уплотнительную резинку , тоже видно следы на плате , внутренний обрыв , тут уже без прибора никак , потеря ёмкости , тоже без прибора никак , а бывает что ёмкость в порядке , но его esr выше нормы (в конце будет таблица) , и теперь этот конденсатор уже практически бесполезен в схемах с высокой частотой , такие неисправности часто в импульсных БП , ШИМ контроллерах , преобразователях , фильтрах ....
Так вот , тестер который собрал (повторил с сайта) определяет это сопротивление достаточно точно , благодаря АЦП (аналого-цифровой преобразователь) MCP3421 и платы Arduino с выводом информации на ЖК дисплей 1602 .
Как видите , схема очень простая . Работает на частоте 100 кГц . В моём случае после настройки , измеряет до 20 Ом . Потребление конечно не хилое , порядка 100 мА на холостом , при измерении ещё больше .
Модуль MCP3421 , дисплей 1602 и плата ардуино ("nano" можно другие) , приобретал на али , ссылок нет (статья живёт долго , а товар имеет свойства заканчиваться) в поиске легко находится :) .
Подготовка к сборке .
1. Для начала нужно установить программу Arduino IDE , выбирайте под свою систему windows или что там у вас есть .
2. Драйвера для платы , точно не помню есть они в программе или нет , но у меня они до установки уже были установлены , пусть будут CH340
3. Подключаем плату ардуино к ПК кабелем (кабель оригинальный должен быть , не шнурок для зарядки всякой мелочи) , у меня Type-C для зарядки телефона , должен загореться красный светодиод POWER , у кого-то помимо питания может ещё и рядом другой мигать светодиод L - это тестовый скетч залит уже "Blink" .
4. Переходим в "панель управления" --> "диспетчер устройств"--> "Порты ( COM и LPT )" , и запоминаем СОМ , у меня 10 (далее пригодится в программе)
5. Теперь откроем программу . Далее "инструменты" там сделаем три настройки , сдвигайте картинки . Выбрать свой порт "СОМ..." , выбрать процессор ATmega328 или ATmega328 (Old Bootloader) у меня две платы , работают по разному . И третья настройка , выбираем свою плату (nano , uno ....)
6. Теперь зальём тестовый скетч(прошивку) . Жмём в верху "файл" --> "примеры" --> "01. Basics" --> Blink . Должен появиться текст и строки с командами .
7. Жмём кнопку со стрелочкой , ждём пока загрузится . Если всё загрузилось , то на плате ардуино должен мигать светодиод с интервалом раз в секунду . Если не загрузилось , и в низу красная надпись , то в настройках меняем галочку на ATmega328 или ATmega328 (Old ....) , пробуем снова загрузить , жмём в верху стрелку .
8. Если всё получилось и светодиод мигает на самой плате , то чистим редактор в программе , удаляем всё , должно остаться чистое белое поле . Далее копируем скетч полностью , ничего не пропускаем и вставляем в редактор программы , загружать его пока не нужно , пусть просто там находится .
#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.017;// калибровка нуля const float call= 20.000;// калибровка диапазона
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);
}
9. Теперь нужно скачать пару библиотек для модуля АЦП и дисплея . Библиотека АЦП скачать zip и Библиотека для дисплея zip далее в программе жмём "скетч"--> "подключить библиотеку" --> "Добавить ZIP библиотеку.." находим сначала один zip файл который скачали , потом второй аналогично . После как установили библиотеки , жмём загрузку скетча .
10. Поздравляю !!! Ардуино плата прошита , библиотеки подключены . Теперь на перекур или куда вздумается , перед сборкой схемы размяться . Все выводы , на плате , дисплее и модуле подписаны , смотрим внимательно , не ошибаемся особенно на ардуине , там А1 , А2 , А3 ..... не путаем с D2 , D3 , D4 ......
Питание платы осуществляется от компьютера через кабель , но так как потребляет схема прилично , дабы не нагружать стабилизатор находящийся на плате ардуино , подключить внешнее питание как на схеме через стабилизатор 5в . Или кабель USB при настройке можно не отсоединять , а питание транзистора от внешнего источника питания 5в .
Собираем схему и настраиваем
1. Если всё получилось и на дисплее высвечивается надпись ESR = хххх , то снова поздравляю :) . Теперь замыкаем на плате дорожки которые идут к проверяемому конденсатору , именно на плате , а не провода которыми будем мерять сопротивление конденсатора , т.к. провода образуют индуктивный контур и изменение его физически , показание на дисплее будет меняться , а это затруднит настройку .
2. После как замкнули , должно высвечиваться некое сопротивление близкое к нулю . Далее в программе жмём в верху кнопку "инструменты" находим там "монитор порта" и жмём на него , откроется окно - это и есть монитор порта , в нём нас интересует второй столбик с показаниями при замкнутыми дорожками на плате . У меня при замкнутой выводит значение 0.017 (среднее)
3. Это значение нужно записать в скетче , строчка const float u0=0.017;// калибровка нуля , после как записали , снова загружаем на нашу плату этот скетч , теперь уберём перемычку и припаиваем провода , как можно короче и сечением квадрата 0.75 . Теперь можно измерить несколько конденсаторов , лучше заранее с известным ESR .
В строчке const float call=19.750;// калибровка диапазона , выставляется диапазон максимального сопротивления , у меня 20 , а больше и не надо для электролитов .
Пара измерений , хорошего конденсатора и плохого . И будущий домик для платы . Дополнится острым щупом , модулем повышайка и одновременно контроллером заряда для LiIon см. фото (сдвигаются)
Кстати , чуть не забыл про таблицу , по которой ориентироваться на допустимое сопротивление разных конденсаторов .
P.S. В своей схеме изменил кое-что , а именно : биполярный транзистор заменил на мосфет IRF630 и убрал одно сопротивление R2 . Потребление сократилось на холостом 64 мА , при измерении 83 мА .
Ну вот и всё , если что-то упустил , дополню в комментах , ВСЕМ ПОКА !