В первой статье я в общих словах познакомил читателей с устройством. Сегодня расскажу о примененных технических решениях и о том, какого прогресса добился в вопросе выхода на рынок. Но для начала хочу сказать спасибо всем тем, кто откликнулся и дал полезные советы к предыдущей статье. И это не дежурная благодарность, я действительно использовал советы читателей по улучшению прибора и об этом, так же, пойдет речь ниже.

Для начала напомню, что собой представляет устройство. QUARK это
электронный мультиинструмент, в первую очередь, ориентированный под
разработку микроконтроллерных устройств, Arduino, ESP32, STM32,
IoT, домашняя автоматизация и тому подобные девайсы.
Че определяется такая ориентированность? Во-первых, набором
функций. И если первая часть стандартна для типичного
мультиметра:
Вольтметр
Амперметр
Измерение сопротивления
Измерение емкости
Измерение индуктивности
то UART логгер и UART плоттер вещи необходимые ардуинщикам и иже
с ними. Осциллограф конечно не блещет скоростью 400 килосемплов,
однако проверки ШИМ сигналов и сигналов с различных датчиков, его
более чем достаточно.
Во-вторых идеологией работы с выводимыми значениями. Скажем,
ардуинщику практически никогда не требуется знать напряжение с
точностью в одну тысячную процента, зато значение логического
уровня параметр всегда необходимый:


Точно так же мгновенное потребление тока, при разработке IoT, параметр в себе. Гораздо удобнее проследить изменение в динамике при различных режимах работы устройства:


Калькулятор цветовой и СМД маркировки компонентов вещь полезная и нужная, но, согласитесь, так удобнее:


А сейчас опишу свой личный опыт работы с осциллографом. В свое время приобрел себе DS203. Вполне себе, по характеристикам, годный девайс, с жутко неудобным управлением:

Стандартный сценарий работы примерно такой:
Необходимо снять форму (частоту, амплитуду) сигнала с/на пина ноги
устройства. Подключаешься к контактам, включаешь осциллограф,
отключаешь не используемые входы, настраиваешь триггер, амплитуду,
положение графика на экране. Да, я знаю, что прошивками это кое-как
решается, но мой DS203 больше не шьется, да и возня с прошивками Но
поскольку свой девайс я делал в первую очередь для личного
удобства, то и дефолтный режим, это полностью автоматическая
настройка развертки сигнала на лету. Тыкаю в нужный пин и,
практически сразу вижу сигнал:


UART данные, конечно, удобнее смотреть на телефоне чем на дисплее устройства. Не скажу, что я прям мучаюсь при подключении UART-TTL моста к компу, но в поле не всегда имеется такая возможность:

Теперь пару слов о схемотехнике. Вся система построена на ESP32
со всеми вытекающими из нее ништяками (bluetooth, Wi_fi). Для
измерения напряжения и тока я использовал готовый чип INA219. Подключается по I2C
шине, имеет малый размер и вполне достойные, для моих задач,
параметры. Сопротивление измеряю стандартным делителем напряжения,
но в качестве известного сопротивления использую цифровой
потенциометр AD5245, что освобождает пины
контроллера, а учитывая тот факт, что AD5245 управляется по I2C,
так и вообще нет нужды в дополнительных пинах. Тем же способом
измеряю емкость конденсаторов по известному методу заряда до 63.2%. На
больших емкостях AD5245, подключенное к питанию имеет низкое
сопротивление, а при низких, заряд идет через 1 мегаомный резистор.
Таким образом, минимальная измеряемая емкость определяется
пикофарадами.
Индуктивность меряю резонансным методом при известной ёмкости по
срабатыванию компаратора.
Тракт осциллографа реализован на Rail-to-Rail ОУ AD8541, усиление сигнала
регулируется вторым AD5245. Соответственно,
сигналы как с высоким, так и с низким размахом амплитуды, поступают
на вход АЦП в максимальном разрешении. Для оцифровки использую
аппаратный I2S, складываю весь буфер в DMA и вывожу на LCD и, при
необходимости, отсылаю по bluetooth.
UART вход реализован аппаратно. Предварительно определяется Baud
rate, после чего происходит инициализация драйвера UART с
определенными параметрами.
На плате присутствует датчик ускорения LSM6DS3TR. Вообще я его
планировал использовать для автовыключения, но ничто не мешает
вывести с него данные на экран.
А теперь хотелось бы сказать пару слов о тех нововведениях, которые
были реализованы на основе предложений к предыдущей статье.
Во-первых, универсальный прикручиваемый щуп:

Такие будут как в корпусе, так и во втором щупе. Довольно
универсальное решение на стандартной резьбе М2.
Во-вторых, расширен функционал: поиск компонентов по заранее
введенному значению и удержание значений с записью в лог.
И в-третьих, вариант без корпуса, этакий кит-набор, но
распаянный.
Ну и самое главное. По-совету читателей я таки запустился на краудфандинговой
платформе Crowdsupply. Некоторое время вел переговоры, совместно
настраивали страницу и готовили описание. Платформа ориентирована
на железные open source проекты, а значит и мое устройство будет
выложено в открытый доступ. Всех, кому проект интересен приглашаю
поддержать старт и тут я снова сделаю упор на том, что это open
source.