Часть 1, Часть 2, Часть 3. Страница на краудфандинге

В предыдущей части я сообщил о запуске кампании и спросил у вас мнения насчет того, как лучше поступить с формой корпуса устройства. Юзеры @sshmakov, @dizatorr, тогда предложили сделать небольшой выступ со стороны дисплея, что исключит возможность устойчивого положения «Щупом к верху». А @Ivnika и @Olegun предложил сделать защитное стекло дисплея полукруглым. Прорабатываем оба эти варианта.

Очевидным упущением для меня стало то, что я плохо объяснил куда подключается второй щуп. Такие вопросы возникли как у читателей, так и у бекеров CrowdSupply. Думаю два этих фото все расставят по местам:

Как видим второй щуп действительно присутствует и для этого используется разъем TYPE-С.
Между тем, у некоторых читателей возникло справедливое сомнение по поводу надежности такого соединения. Тут необходимо прояснить некоторые моменты. Действительно, если бы этот прибор использовался как классический мультиметр, и на нем измерялись бы большие токи и напряжения, или если бы он лежал отдельно на столе, а мы тягали его за провода, то тогда, условно, эти претензии могли бы иметь основание. Однако, этот прибор предназначен для других целей. Мы его позиционируем как устройства для разработки под микроконтроллеры или иное низковольтное оборудование. Это во-первых. Во-вторых, у нас в руке находится сам щуп, он же прибор. Нет никаких заломов или напряжений в соединении. Нет необходимости тянуть его за провода. И, в-третьих. Ощущение меньшей надежности и жесткости используемого нами разъёма ошибочны. Это довольно крупный порт, который не припаивается на плату, а впаивается в разрез платы, имея 4 точки фиксации помимо контактной группы. Выдернуть его из платы можно только с куском самой платы. Ну и самое главное, за все время использования, не было никаких проблем с разъемом. Но в любом случае покажет живой опыт.

Так же были вопросы о том, как он измеряет ток, если нет отдельного разъёма под эту процедуру. Об этом, в частности, и о общем устройстве сегодня и пойдет речь. Но, для начала, расскажу еще об одном качественном улучшении, которое анонсировал в предыдущей части. В частности изменен входной тракт, ОУ осциллографа что дает возможность измерять отрицательную полуволну. Ну а теперь подробнее о устройстве устройства :D

Рассмотрим работу QUARK на основе блок-схемы:

Устройство построено на базе контроллера ESP32. Используется готовый модуль ESP32-WROOM. Все основные задачи по реализации режимов работы, вычисления, прорисовка экрана, беспроводные соединения, всем этим занимается ESP32. Так же, на борту имеется Atmega328, который выполняет роль АЦП при дополнительной оцифровке сигналов в режиме осциллографа и устанавливает чувствительность входного ОУ. Кроме того Atmega328 мультиплексирует массив резисторов при измерении сопротивления и емкости, и выполняет второстепенные функции включения светодиода подсветки платы и озвучку динамика. А теперь подробнее.

Внешний щуп (External PIN), подключается в разъем TYPE-C. В стандартном исполнении, он соединен с землей устройства и все измерения проводятся относительно нее. Через этот же порт осуществляется зарядка устройства, реализованная на микросхеме MCP73831. Стабилизированное питание обеспечивает LDO MIC5219, а на электронном насосе TPS60403 реализовано двухполярное питание +/- 3.3V, для питания ОУ входного каскада осциллографа. Ниже, часть схемы, описывающей питание устройства:

TYPE-C реализует обмен данными посредством USB-UART моста на CP2104 с главным контроллером ESP32 и Atmega328. При чем для общения компьютера с Atmega328, ESP32 выступает в качестве транслятора, поскольку Atmega328не подключен напрямую к CP2104. К примеру, для того, чтобы залить прошивку в Atmega328, ESP32 переводиться в режим ISP-программатора, а данные заливаются через шину SPI. По этой же шине общаются между собой ESP32 и Atmega328в рабочем режиме.

Встроенный щуп (Internal PIN) подключен к основной схеме через бистабильное электромеханическое реле. Во всех режимах, за исключением режима измерения тока, реле находиться в «Основном» состоянии. Для начала рассмотрим режим измерения тока. Реле из «Основного» переводиться в противоположное состояние, при этом внешний (External PIN) и встроенный (Internal PIN) щупы шунтируются токоизмерительным резистором номиналом 0.1Ом. При этом электронные ключи (KEY 1 TS5A3166 и KEY 2 TS5A3166) механически отвязаны от встроенного щупа. Реле бистабильное, что значит, что оно потребляет ток только в момент переключения состояния и подключено через мультиплексер (74HCT4066):

Cделано это по двум причинам. Во-первых, ток для переключения хоть и мал, но нагружает выводы контроллера. Во-вторых, реле переключается разной полярностью, что означает невозможность подключения защитного диода, а значит возрастает риск выхода из строя портов контроллера. Входы и выходы 74HCT4066 задействованы крест на крест, на схеме они обозначены REL_01 и REL_02. Дополнительно, резисторами R29 и R43, с одной стороны и R44 и R45, с другой, входы принудительно подтянуты к среднему неопределенному состоянию, что бы исключить случайное переключение.

Рассмотрим работу режима измерения тока на примере куска схемы:

PIN1 встроенный щуп. Реле находиться в положении как изображено выше. Ток идет через PIN1 -> предохранитель F1 -> группу контактов 1.3 реле -> токоизмерительный шунт R21 -> группу контактов 1.2 реле и приходит на землю устройства. Второй щуп PIN2 всегда подключен к земле, таким образом, с контактов токоизмерительного шунта R21, через резисторы R19 и R16, специализированной микросхемой U8 на INA226 (POWER MONITOR INA226), происходит измерение падения напряжения. Данные в цифровом виде, по шине I2C, отсылаются главному контроллеру.


Основной режим работы. Контакты реле находятся в противоположных положениях:

Если нам необходимо измерить напряжение, то сигнал со встроенного щупа PIN1, через предохранитель F1 поступает на группу контактов 1.2 реле. Дале, через резистор R16, поступает на вход VBUS, микросхемы INA226, на котором и происходит измерение напряжения относительно земли. Напомню, второй щуп всегда подключен к земле через разъем TYPE-C. В иных случаях, сигнал идет через группу контактов 1.3 реле и сверхбыстрый предохранитель F2. Микросхемы TS5A3166 электронные ключи со сверхнизким внутренним сопротивлением. U9 (KEY 1TS5A3166) и U10 (KEY 1 TS5A3166).

В режиме измерения сопротивления, или емкости, открывается KEY 1 (U9) и задействуется массив резисторов R9, R10, R46, R47 и R48 (RC-METER RESISTOR ARRAY). Сопротивление измеряется на делителе напряжения, образованном неизвестным резистором и одним из резисторов массива. Для более точного определения номинала, задействуется АЦП INA226. Емкость измеряется методом постоянной времени RC цепи. Точно так же, в зависимости от номинала конденсатора, подключается резистор определенного сопротивления из массива (RC-METER RESISTOR ARRAY) и измеряется время заряда. В режимах UART-логгер, UART-плоттер и генератор сигналов, сигнал так же идет через ключ U9 (KEY 1TS5A3166).

Индуктивность вычисляется измерением резонансной частоты на известной емкости C8. При это ключ U9 (KEY 1TS5A3166) закрыт, а сигнал идет через U10 (KEY 1 TS5A3166). С контроллера, короткий импульс поступает через защитный диод D3 на конденсатор C8 и через открытый ключ U10 (KEY 1 TS5A3166), на измеряемую индуктивность. Сигнал частоты снимается с выхода компаратора  LM331 (COMPATOR LMV331).

В режиме осциллографа оба ключа закрыты и сигнал поступает во входной тракт, выполненный на ОУ LM258DG (LM258DG AMPLIFIER) (U11.1/ U11.2). На резисторах R20 и R25 происходит смещение нуля. Степень усиления сигнала регулируется массивом резисторов R50-52 (SENSIVITY RESISTOR ARRAY). R51 и R52 управляются контроллером. Сигнал с ОУ поступает на вход АЦП ESP32 , где происходит его обработка – определяется триггер, частота и период. Далее, данные, в подготовленном виде, передаются на смартфон посредством bluetooth соединения.

Управление устройством реализовано на специализированной микросхеме MPR121Q (TOUCH SENSOR MPR121):

Сенсоры S1, S2 и S3 объединены в одну группу, а сенсоры S4, S5 и S6 - в другую. Сделано это для того, чтобы сенсором можно было пользоваться как правой, так и левой рукой. Всегда работает только одна группа сенсоров, ориентированная под рабочую руку. Ниже, схематически обозначено расположение сенсоров:

Сенсор S0 является функциональным, а также выводит устройство из режима сна, сигналом прерывания на вывод IRQ. Поскольку MPR121Q не позволяет повесить прерывание на произвольный сенсор, то, для того, чтобы исключить возникновение события от любого сенсора, перед уходом в режим сна, MPR121Q конфигурируется таким образом, чтобы остался только один рабочий вход - S0. После пробуждения, MPR121Q переконфигурируются на работу с выбранной группой сенсоров. Вопреки заблуждению, акселерометр LSM6DS3 (ACCEL LSM6DS3) нужен вовсе не для ориентации дисплея, а для определения бездействия что бы безопасно уйти в режим сна.

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

P.S. В статье были исправлены некоторые неточности, в частности была неверно указана частота семплирования АЦП.

Комментарии (27)


  1. engine9
    25.08.2021 23:12
    +1

    Выпуклое стекло "соберёт" в центре царапины, лучше козырёк он и стекло защитит и свет лишний заслонит и послужит опрокидывателем.


    1. Mulin Автор
      25.08.2021 23:13

      Думаете, таки, будут на него пытаться поставить? ))


      1. engine9
        25.08.2021 23:17

        Если взглянуть на любую часто используемую технику у неё все выпуклое покрыто сеточкой царапин или даже сошлифовано. А оргстекло первым примет на себя удар времени и станет с неопрятным мутным блином в центре...


        1. Mulin Автор
          25.08.2021 23:18

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


          1. engine9
            25.08.2021 23:22
            +1

            Тогда сделать слегка выступающий ободок с козырьком, примерно как у квадратных светофоров :)


            1. Mulin Автор
              25.08.2021 23:25

              Это как раз то, что придется делать дабы не было возможности ставить на экран.


  1. Sabubu
    25.08.2021 23:27

    Интересно почитать, как устроены измерители напряжений и параметров деталей. Немного неожиданно, что для измерения напряжения можно использовать не специализированный АЦП, а счетчик потребляемого электричества. А у меня возникли такие вопросы:


    • при измерении емкости цепь R23-C9 не будет вносить искажения?
    • у вас есть массивы резисторов. А есть ли гарантия, что микросхема, подающая на них напряжение, выдает одинаковое напряжение и ток на всех выводах?
    • ну и конечно, интересно, где вы взяли устройство оцифровки с временем 50 нс (для осциллографа 20 Мгц). Чтобы строить осцилограммы с высоким разрешением в единицы или десятки наносекунд на Адруино, я хотел бы найти дешевое и быстрое устройство Sample-and-Hold, желательно в DIP корпусе, но поиск выдает в основном микросхемы вроде LF398 с временем выборки в 10 мкс. Не нужен быстрый АЦП, нужно лишь быстрое устройство S-and-H и АЦП от Ардуино. Не знаете ли вы таких устройств?


    1. Mulin Автор
      25.08.2021 23:43

      1 Сама цепь искажения не вносит, если не подключены R25 и R20. Они управляются отдельно.
      2 Разбросы если и есть, то существенно меньше требуемых показателей. Да и особо это не важно, калибровка так или иначе нивелирует этот момент.
      3 Я не использую для этих целей отдельный АЦП. Оцифровкой занимается бортовой АЦП Atmega328.


    1. Mulin Автор
      25.08.2021 23:59

      Блин, вот только что проверил. Должен извиниться, редактор накосячил и добавил лишний ноль. не 20, а 2мГц, максималка. Сам виноват, не перчитал и не перепроверил. И то это в тестовом режиме. Писать нельзя было такое.


    1. andand
      26.08.2021 16:57

      я хотел бы найти дешевое и быстрое устройство Sample-and-Hold, желательно в DIP корпусе, но поиск выдает в основном микросхемы вроде LF398 с временем выборки в 10 мкс. Не нужен быстрый АЦП, нужно лишь быстрое устройство S-and-H и АЦП от Ардуино. Не знаете ли вы таких устройств?

      Время дискретных микросхем выборки-хранения ушло. Теперь во многих скоростных АЦП есть встроенная S&H. У этих АЦП получается малое время выборки, а аналоговая полоса сигнала больше максимальной частоты преобразования. Это позволяет оцифровывать сигналы выше частоты преобразования АЦП.
      Сейчас ничего не мешает сделать S&H на «рассыпухе». Нужен быстрый ключ, мелкая емкость и буфер с большим входным сопротивлением. Да, и еще чуть чуть мелкой логики, которая будет этим управлять. Все доступно и сравнительно недорого.


  1. hw_store
    26.08.2021 00:01

    del


    1. Mulin Автор
      26.08.2021 00:05

      Спасибо, исправил. Перед заливкой не проверил от редактора. Мне тут уже и 20мГц осциллограф нарисовали. Приходиться править налету блин...


  1. ancc
    26.08.2021 04:21

    imho странный выбор элементной базы для такого мультитула. ESP+древняя атмега


    1. kibizoidus
      26.08.2021 08:06

      Это называется "на чем умеем - на том и делаем". И получается весьма неплохо, ИМХО.


      1. ancc
        26.08.2021 08:27

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


    1. Mulin Автор
      26.08.2021 12:26

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


  1. zoonman
    26.08.2021 06:52
    +1

    К девайсу можно сделать подставку-зарядку. Принцип можно подглядеть у кейса от AirPods. Можно даже сделать крупненькую с отсеком для пинцетов и всего такого. Будет очень удобно - попользовался и сразу поставил в зарядку. Индукционную зарядку я не предлагаю, помехи от нее, а обычная контактная будет работать на ура.


    1. Mulin Автор
      26.08.2021 18:23

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


      1. zoonman
        26.08.2021 18:38

        Я почему вам подсказываю тему с подставкой. У меня есть достаточно продвинутый пинцет и заряжать его реально напрягает, особенно, если пользуешься активно. Просто запаривает, когда ты посередине чего-то и он разряжен. А с подставкой такой проблемы нет. Измерил и сразу назад в подставку, и не надо его там выключать и все такое. Моментально готов к работе. Это сильно повышает удобство использования.

        Я рекомендую сделать прототип на 3D принтере и активно попользоваться прибором хотя бы часа 4. Если сделать все удобно, вы немедленно заметите разницу.

        А модификации минимальны, пара колечек из нержи на корпусе и диодный мостик внутри.


        1. Mulin Автор
          26.08.2021 18:42

          Даже диодный мост не нужен. Напрямую от usb можно запитывать. Проблема в стоимости матрицы. Мы пока отталкиваться от того, что реально сможем себе позволить. А так то, индукционная зарядка все же была бы удобнее ​


  1. iliasam
    26.08.2021 07:46

    Судя по конденсатору C9, осциллограф постоянную составляющую не видит?


    1. Mulin Автор
      26.08.2021 12:37
      +1

      В этом режиме не видит. Тут не полная схема, я привел упрощенный вариант. Вот кусок с полной схемой:

      Зеленая линия идет от входного реле


  1. yavfast
    26.08.2021 10:24

    Защита от высокого импульсного напряжения есть?

    На земле должна быть возможность смены щупа на крокодил.

    Версия без экрана возможна?


    1. Mulin Автор
      26.08.2021 12:41

      1 Выскокоскоростной предохранитель и супрессоры перед ключами и после. Входы напрямую к портам не подключаются. Минимальный резистор 10К.
      2 Там стандартный щуп с возможностью на него одеть крокодил, такого типа:

      3 Нет. Версии без экрана не будет. Это не наше условие.


  1. NotebookKiller
    26.08.2021 17:51

    А ёмкость суппрессоров на сигнал не влияет? А ещё странный вопрос - бистабильное реле не переключится при падении прибора из рук на стол или хуже того - на пол? Его положение контролируется?


    1. Mulin Автор
      26.08.2021 18:24

      Скорее всего влияет, но это за пределами измерений. Во всяком случае ёмкости кондереов и меандры сигнала отрабатывает как положено


  1. McHummer1
    30.09.2021 12:40
    +1

    Подача нестандартного сигнала на usb это очень-очень плохое решение. Можно по ошибке подключить что то не то и тогда сгорит. К тому же, щуп должен иметь стандартный разъем, чтобы можно было подключить стандартный щуп