РадиоКот :: Цифровой пробник uProbe
Например TDA7294

РадиоКот >Конкурсы >Поздравь Кота по-человечески 2021! >

Теги статьи: Добавить тег

Цифровой пробник uProbe

Автор: iliasam
Опубликовано 13.09.2021
Создано при помощи КотоРед.

 

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

Сейчас в нем реализованы такие функции:
* Собственно, режим логического пробника
* Вольтметр
* Частотомер
* Измерение скорости UART интерфейсов
* Медленный осциллограф


Вот так пробник выглядит:

Как видно из фотографии, пробник сделан в корпусе от маркера (всегда хотелось сделать маленький прибор в таком корпусе, и вот, наконец, получилось!).

Управление пробником производится двумя кнопками.
Зарядка встроенного аккумулятора и программирование – через торец маркера, обычно закрытый желтой крышкой:

Схема пробника


Из схемы видно, что основные компоненты на печатной плате устройства – это микроконтроллер STM32F303CBT6 и маленький дисплей IPS 160x80 0.96". Замечу, что в этой статье я рассказываю уже о второй версии пробника, первая была собрана на довольно распространённом OLED дисплее SSD1306 128x64. OLED, конечно, ярче LCD, но новый дисплей тоже имеет свои достоинства:

* Он цветной
* Разрешение выше на 25%
* Нет мерцания, присущего OLED, которое особенно заметно, если экран двигать.
* Значительно меньше контактов на шлейфе, что упрощает разводку платы.

Питание на экран подается через транзистор Q1 – чтобы минимизировать потребление пробника в спящем режиме.
Микросхемы DA1/DA2 – нужны для питания пробника и зарядки аккумулятора, включены согласно даташитам. R8/R9 – цепь для измерения напряжения аккумулятора. Использованный аккумулятор - LP602030 - Robiton, 6x20x30, 300 ма*ч.

В центре снизу схемы – узел измерения внешнего сигнала. R5/R6 образуют делитель напряжения, стабилитрон D3 защищает вход контролера от перенапряжения (но, к сожалению, ограничивает полосу пропускания сигнала). Через резистор R7 и диод D4 на вход пробника может подаваться сигнал частотой 100 Гц. Он нужен как раз в режиме логического пробника – для обнаружения Z-состояния выводов. Диод D4 нужен для защиты выхода контролера от отрицательной полярности на входе пробника.
Диапазон напряжений, которые может измерять пробник: 0-30В. До -30В проверял – выдерживает нормально.

Подробнее про режимы работы пробника

Включение пробника и переключение режимов работы производится нижней кнопкой – S2, режимы переключаются циклически.

Первый режим – режим логического пробника

Здесь крупным текстом отображается тип сигнала:
* LOW – все, что ниже 1В
* HIGH – все, что выше 2В
* Z-STATE – когда контроллер обнаруживает, что никаких вешних напряжений нет
* PULSE – присутствие импульсного сигнала
* UNKNOWN – не удалось определить тип сигнала
Ниже отображается разноцветная шкала измеренной амплитудой сигнала, ее максимум – 5В.
Еще ниже – измеренное напряжение.

Второй режим – режим вольтметра

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

Третий режим – режим частотомера



В этом режиме используется дополнительная периферия микроконтроллера – ЦАП для задания порогового уровня сигнала и компаратор для оцифровки входного сигнала. Сигнал с выхода компаратора через дорожку на плате подается на счетный вход таймера 1 - ETR.
Микроконтроллер измеряет время, за которое таймер досчитает до 0xFFFF, и по значению этого времени вычисляет частоту сигнала. Если 0xFFFF импульсов не набирается за одну секунду – то частота сигнала рассчитывается по числу импульсов, которые были подсчитаны за эту секунду. Таким образом, несколько потеряв в точности, можно легко измерять и высокие и низкие частоты. Замечу, что кварцевого резонатора в этом устройстве нет, так что точность измерения частоты все равно невысокая.
Измеряются частоты от 10 Гц до 300 КГц.

Подробнее работа с пробником в этом режиме показана в видео в конце статьи.
Пробник работает только с однополярными сигналами, так что для правильной работы частотомера необходимо установить уровень срабатывания компаратора (он отображается внизу на экране). Для этого нужно нажать верхнюю кнопку пробника, после чего контроллер в течении одной секунды анализирует сигнал при помощи АЦП. Среднее значение измеренного напряжения принимается за новый уровень компаратора.

Четвертый режим – режим измерения скорости UART


Этот режим нужен для измерения скорости различных интерфейсов, основанных на UART. Здесь тоже используется компаратор, но для формирования прерываний.
По каждому прерыванию от компаратора микроконтроллер сохраняет точное время события в массив, данные из которого потом анализируются – по минимальной разности времени между событиями вычисляется частота интерфейса. Для анализа должно накопиться 128 событий. Для удобства измеренный результат округляется до наиболее распространенных значений скорости. Понятно, что при определенных условиях, к примеру, когда передаются одни нули, скорость UART будет измеряться неверно, но в большинстве случаев существующего алгоритма хватает.

Пятый режим – режим медленного осциллографа


“Осциллограф” здесь именно медленный, так как я решил, что основная задача пробника – оценка наличия пульсаций исследуемого сигнала. Для более сложных задач экран пробника слишком мал, и кнопок для управления явно не хватает.

Шаг сетки по оси Y и общий диапазон отображаемых значений отображаются на экране в верхнем правом углу. Диапазон выбирается автоматически, по максимальному значению из всех, что присутствуют на экране. Минимальный диапазон – 3В, максимальный – 30В.
Желтые точки сетки обозначают интервалы времени в 1с.

Принцип измерений здесь такой: в течении каждых 100 мс микроконтроллер делает 1000 измерений с частотой 10 КГц. Измеренные значения анализируются – контроллер определят, стабилен ли сигнал или нет. Для импульсного сигнала определяется минимум и максимум напряжения. “Стабильные” значения отображаются белыми точками; значения, содержащие один переход сигнала – отображаются белой линией, импульсные сигналы отображается пунктирной линией зеленого цвета.

Нажатие на верхнюю кнопку включает и выключает режим паузы – в нем захват данных останавливается.
Работа с пробником в режиме осциллографа также показана в видео в конце статьи.

Шестой режим – меню настроек

Подпункты меню переключаются коротким нажатием верхней кнопки. Вход в подпункт – длительное нажатие верхней кнопки. Выход из подпунктов – длительное нажатие нижней кнопки.
* Подпункт INFO – здесь отображается версия прошивки и напряжение батареи.
* Подпункт CALIBRATE ADC – запуск калибровки АЦП. Калибровка нужна для более точного измерения напряжений. После запуск калибровки нужно подать определенное стабильное напряжение на вход пробника на 1 секунду, после чего выставить на экране кнопками истинное значение напряжения.
* Подпункт SET OFF TIME – установка времени автоматического выключения пробника. Во всех режимах при нажатии кнопок счетчик времени сбрасывается.
* Подпункт RESET – перезагрузка.

Сборка пробника

Расскажу подробнее о некоторых особенностях сборки пробника.
Корпус использованного маркера Faber-Castell Textliner 48 немного сужается от заднего торца к пишущей части, это нужно было учитывать при выборе ширины печатной платы.

Внутри вдоль корпуса есть специальные выступы (по два на каждой скруглённой части), печатная плата вставляется между ними.

Для того, чтобы правильно прорезать в корпусе маркера отверстия, я наклеил на него специальный бумажный трафарет:


Рекомендую припаивать кнопки к плате только после того, как будут просверлены отверстия для них. Причем сначала их нужно припаивать только за два вывода из четырех – так проще перепаять и передвинуть кнопку, если окажется, что она находится не совсем там, где нужно

В качестве щупа используется обычная игла (длиной не менее 38 мм), которая припаивается к плате:


На иглу надета специальная защитная пластиковая накладка, про нее - далее.

Так плата выглядит со стороны экрана:

Видно, что разъем справа приклеен к аккумулятору.
Между экраном и платной нужно приклеить прокладку из какого-либо мягкого материала. За счет нее экран прижимается к корпусу пробника.


С обратной стороны пробника, под кнопками, в корпусе просверлено отверстие, в которое вкручивается винт. Он приживает плату к верхним выступам корпуса и не дает ей прогибаться при нажатии кнопок. Чтобы винт не повредил плату, как раз и нужна защитная накладка.


Чтобы игла не гнулась при нажатиях, в отверстие пишущей части маркера я вставил металлическую клемму от ненужного предохранителя диаметром 5мм, в которой просверлил отверстие.

 

Видео про пробник:

 

Исходные коды, прошивка, схема, gerber файлы - Ссылка на гитхаб

Ссылка на файлы к статье


Файлы:
Прошивка, gerber-файлы


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

57 3 1