
Приветствую, Хабр!
Как вы уже поняли, я не равнодушен к дисплеям. В одной из своих прошлых статей я делал книжку на e-ink с диагональю 2,13 дюйма. Потом была статья про будильник на ЖКИ. Дальше — дисплей от Nokia 3310. А много лет назад — думаю, не менее десяти — я купил e-ink 1,53 дюйма, но так и не нашел, к чему его применить, так как это довольна старая модель и не поддерживает полноценного обновления всего изображения сразу.
Недавно пришла мысль сообразить пробник для измерения индуктивности (самостоятельного изготовления или без маркировки). Так как динамика вывода показаний невысокая, мой дисплей должен отлично подойти. Тестер, конечно, проще купить — это понятно. Но куда тогда девать нереализованный дисплей? Первым делом задумался о корпусе. Как я уже писал ранее, стараюсь найти что-то подходящее, чтобы не печатать и не изобретать с нуля. Нашел сгоревший адаптер питания (да, я ничего не выбрасываю и храню потенциально нужные вещи).

Пока искал схемы и методы измерения индуктивности пришел к мысли, что не так сложно измерять емкость, а лучше и ESR электролитов. Наткнулся на очень интересный проект «народного тестера» под названием «ArduTester». Довольно универсальное устройство с открытым кодом и, в принципе, можно было его повторить, но я не смог осилить >4 000 строк кода, чтобы использовать свой e-ink. Поэтому решил ограничиться необходимыми мне функциями: измерение емкости, ESR и индуктивности.
В качестве микроконтроллера снова выбрал Atmega328P, так как для Arduino nano можно найти примеры реализации. GPIO занял почти все. Отладочный SPI для прошивки, занимаю e-ink дисплеем.

UART использую как в nano для конвертера CH340C (примечание: он не работает без конденсатора 100нФ на ноге V3). Наконец-то я стал использовать разъемы USB Type-C.

Части схем я взял из своей прошлой разработки и немного оптимизировал по компонентам. В устройстве у меня три кнопки. S1 – калибровка (сначала думал по этой кнопке запускать процесс измерения, но потом пришел к выводу, что может понадобиться калибровать «0»). Функцию калибровки еще не сделал, проверяю на сколько это необходимо, а кнопку S1 пока задействовал для программно-аппаратного выключения, чтобы можно было выводить данные на дисплей, а не просто рубить питание. S2 – переключение между режимами измерения. S4 – кнопка аппаратного выключения питания.

Для включения/выключения питания и измерения заряда аккумулятора использую пары транзисторов N-Channel и P-Channel. При нажатии кнопки S4 сигнал от триггера CD4013 подается на ключ питания. Сигнал PW_OFF от микроконтроллера эмулирует нажатие кнопки S4, после вывода на дисплей информации. Думаю, можно добавить режим автоматического выключения при простое.

Схема включения e-ink уже отработана. Использую режим «4-line SPI». Дисплей старый и поддерживает частичное обновление только фрэймами определенного размера. То есть нужно выделить в памяти дисплея область, записать в нее данные и затем вывести на дисплей. Сразу всю страницу можно обновить только через полное обновление со стиранием, что занимает 2-3 секунды.

Вариантов схем измерения емкости и индуктивности в интернете масса. Я выбрал самые простые в реализации. Одним из важных критериев было наличие примеров кода. Для определения ESR используется 18-битный АЦП MCP3421A0T на шине I2C. Нашел даже обзор измерителя «HT-RT01» на этой микросхеме. Встречаются также схемы с использованием встроенного АЦП контроллера, но точность будет ниже, скорее всего.
Индуктивность измеряется с помощью компаратора LM339DR. На вход параллельно конденсатору на плате вешаем измеряемую индуктивность, подаем импульс на вход, а на выходе компаратора измеряем длину импульса. Зная емкость конденсатора и длину импульса, вычисляем индуктивность (пример кода есть, в том числе, и на гите). Емкость конденсатора можно вычислить по времени (t - тау) его заряда до 63,2%, где t=R*C (сопротивление резистора в этой RC-цепи нам известно).

По схеме все. На разъемы, на всякий случай, повесил TVS диоды, чтобы ничего не спалить при горячем подключении измеряемых компонентов. Мельчить не стал и использовал пассив 0603 и больше. Все компоненты разместил на одной стороне, получилось вроде хорошо, хоть и плотно.


Параллельно писал софт и подгонял корпус. Дремель использовать не рискнул, чтобы не испортить. Высверливал несколько отверстий и доводил надфилем.

Дальше отверстия для крепления платы, кнопок и вырез для разъемов. Тут главное было не торопиться и все хорошенько промерить.

Все сошлось. На рис.11 как раз видно отдельный фрэйм обновления таймера. Вот такими прямоугольниками я и буду обновлять информацию на экране раз в секунду.

На рис.12 видна неполная перерисовка цифры «9». То есть через множество обновлений это поле может стать неразличимым и придется чистить экран целиком, но мне это не нужно, так как измерения редкие, а после выключения/включения экран полностью обновится.
Когда софт написан, можно приступить к тестовым измерениям (на фото ниже.). Для проверки ESRсначала подключил резистор 1 Ом 1%, чтобы убедиться, что измерения, в принципе, правильные. Далее уже конденсатор и значение получилось 0,20 Ом, что очень похоже на правду, но сравнить показания, к сожалению, не с чем. Емкость конденсатора 220 uFоказалась 211,8 uF. Прибор «MV6013A» выдал значение 211 uF. Катушка 22 uHв пробнике показала индуктивность 21,9 uH.

Пробовал измерять в широком диапазоне, погрешность приемлемая. Нашел один минус – это измерение электролитов с большой емкостью: долгое время заряда. Осталось сравнить ESR с каким-нибудь сторонним тестером. Пробник далек от метрологического прибора, но понять на сколько жив конденсатор или определить индуктивность катушки без подписи вполне возможно.
Спасибо за внимание и успехов!
Комментарии (11)

Ivanii
02.11.2025 08:32Далее уже конденсатор и значение получилось 0,20 Ом, что очень похоже на правду, но сравнить показания, к сожалению, не с чем.
У подобных конденсаторов ESR обычно в районе 10 мОм, у PLF1C271 ESR < 9 мОм.

the_bat Автор
02.11.2025 08:32Хм, интересно. Может где-то в формулах ошибка, но нужно сначала все-таки ESR-метр раздобыть, чтобы точно убедиться.

shiru8bit
02.11.2025 08:32Теперь хотелось бы увидеть, что такое сложный пробник, если это - простой (смайлик).

iliasam
02.11.2025 08:32Возможно, вот: https://radiokot.ru/artfiles/6435/ или https://www.radiokot.ru/artfiles/6641/

VT100
02.11.2025 08:32На IO10/CS - подтяжку к питанию Vdd3V3 добавить, чтобы индикатор точно не путался под ногами при программировании МК?

ArtPlotnikov
А как плату изготавливали и паяли компоненты? Выглядит не как ручная работа. На заказ?
the_bat Автор
Плата в резонит. Пайка ручная, просто я старался)
ArtPlotnikov
Отличная работа! Интересно было бы посмотреть процесс ускоренно, какое оборудование/инструменты. И где детали покупаете. Т.е. хочется так же уметь, получилась бы интересная статья.
the_bat Автор
И мне бы хотелось видео посмотреть такое) обычно все второпях происходит, поэтому можно даже не ускоренно было бы. Просто это все время занимает, удивляюсь как на статьи хватает …