
Приветствую, Хабр!
Как вы уже поняли, я не равнодушен к дисплеям. В одной из своих прошлых статей я делал книжку на 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 с каким-нибудь сторонним тестером. Пробник далек от метрологического прибора, но понять на сколько жив конденсатор или определить индуктивность катушки без подписи вполне возможно.
Спасибо за внимание и успехов!
Комментарии (22)

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/

tklim
02.11.2025 08:32Зачем же так усложнять "простой"...
Стоило все таки посмотреть на реализацию ардустестера (хотя бы железную часть):Огромная схема для включения/выключения с отдельным триггером. Выкинуть все, оставить одну кнопку. логику включения, "физического отключения" калибровки - все в МК, программно.
Остальные кнопки (по сути, лишние) подключены неправильно (у АВР внутренняя поддяжка только сверху). Резистор с конденсатором тоже выкинуть.
Светодиод бы тоже "перевернуть".Диод после ключа питания - зачем? (чтобы снизить минимальное рабочее напряжение, наверное).
Схема измерения напряжения батареи - тоже выкинуть все ключи, у вас ведь и так питание коммутируется.
Компаратор - использовать счетверенный, когда нужен только один... И самое главное, что мешает использовать встроенный в м328?
Ну и колодка для измерения - сомнительна. В нее так-то можно подключить без дополнителных манипуляций только выводные конденсаторы. У вас как в самой схеме, так и на тестах выводных компонентов не замечено. Подсоединять щупы с крокодилами? 6 сразу или перставлять каждый раз?
Ну и нормальный измеритель придется приобрести, чтоб измерить показания этого, сравнить удобство пользования и понять что вы пользоваться вы им не будете :)
допонено: то что вы измеряете - это не ESR.

alcotel
02.11.2025 08:32Чтобы ускорить заряд больших конденсаторов, логично заряжать их через меньший резистор. Раз ног больше нет, то через тот же R37, через который разряжаете. Ну и не обязательно заряжать до упора.
При измерении индуктивности, как я понял, мк считает период затухающих колебаний. А вот какой алгоритм измерения ESR? Не понимаю с первого раза.

aabzel
02.11.2025 08:32Индуктивность измеряется с помощью компаратора LM339DR. На вход параллельно конденсатору на плате вешаем измеряемую индуктивность, подаем импульс на вход, а на выходе компаратора измеряем длину импульса. Зная емкость конденсатора и длину импульса, вычисляем индуктивность
Ещё один способ измерения индуктивности. Колебательным контуром.
https://youtu.be/y4e5pNi9L5c?si=PDMjQFg72icq6LwF
Почему вы исключили измерение индуктивности через измерение периода колебаний LC контура?
Можно сделать LC генератор.
Генераторам всё равно какая добротность.
https://youtu.be/pQlRr1ll-HI?si=T0rG5NMcBaPTsxUkИзмерять частоту и пересчитывать L

the_bat Автор
02.11.2025 08:32У меня вроде так и измеряет как в первом видео, за исключением компаратора)

osmanpasha
02.11.2025 08:32Очень интересно было почитать, однако кажется, что e-Ink покажет свои достоинства в проектах, где важно максимально низкое энергопотребление, вроде устройств, питающихся от солнечных батарей или маленьких батареек. Ну либо где важно отображение информации под палящим солнцем. Тут же это просто очень неудобный в программировании экран с ужасной частотой обновления, да еще и без подсветки.
Вопрос новичка про схемотехнику - чем такое подключение кнопок (конденсатор поперек кнопки плюс маленький резистор к питанию) лучше, чем, вроде бы более популярное подключение с RC-фильтром между кнопкой и МК?

the_bat Автор
02.11.2025 08:32Да, согласен. Очень хочу сделать часы на e-ink, но все руки не доходят.
Конденсаторы чтобы дребезг убрать. Резистор - подтяжка.

tklim
02.11.2025 08:32Конденсаторы чтобы дребезг убрать. Резистор - подтяжка.
А вы тот же человек, что предыдущие статьи писал? Там было вроде про коммерческую разработку и всякое сложное, типа процессорных модулей с многослойными платами.
Как давно это стало называться "подтяжкой" ?

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