История разрабатываемого устройства началась в 2019 году, когда я работал сервисным инженером по ремонту промышленного оборудования. Во время очередного компонентного ремонта, начальник предложил мне собрать хороший инструмент "из прошлого" для быстрого поиска неисправностей и ремонта печатных плат. По его словам, с помощью этого таинственного устройства ремонт происходил в разы быстрее (в молодости начальник занимался ремонтом персональных компьютеров и периферии). Название того самого прибора мне было тоже озвучено - Huntron Tracker®.
Изучив подробно новую для себя тему, я принялся к сборке простейшей схемы аналога из нескольких деталей (не без скепсиса конечно). Это была приставка к осциллографу.
Что представляет собой "сигнатурный анализатор" и как это работает?
Аналоговый сигнатурный анализ - это метод поиска и локализации неисправностей путём сравнения вольт-амперных характеристик цепей эталонной и неисправной печатных плат. Этот способ привлекателен тем, что он безопасен для исследуемых участков, так как позволяет сравнивать их характеристики без подачи питающих напряжений. Метод позволяет локализовать неисправности пассивных и активных электронных компонентов без риска их повреждения.
Кратко: на участок исследуемой цепи через сигнальные щупы поступает переменное синусоидальное напряжение через токоограничительный резистор (токовый шунт), и образующаяся в процессе проверки вольт-амперная характеристика воспроизводится визуально на экране осциллографа в виде двух величин: проходящего через цепь тока, и выделяющегося на этой цепи напряжения.
Метод позиционируется многими производителями как:
1) простейший (позволяет производить ремонт сложных печатных плат даже не высококвалифицированными специалистами);
2) быстрый (не требует от специалиста много времени на глубокое изучение того, как работает тот или иной участок исследуемой цепи).
Данная методика проверки, помимо её использования в ремонте, по-моему мнению может применяться ещё и на мелких производствах электроники в роли аналога таких инструментов как "Flying probe" или "Ложе гвоздей".
Единственный нюанс при применении этого метода - нужна заведомо исправная аналогичная печатная плата. Но, технологии не стоят на месте, и на мировом рынке представлены продукты, которые позволяют сохранять базы сигнатур в цифровом виде (и даже с привязкой по точкам на фотографии). Т.е. получается следующее: если один раз в руки специалисту по ремонту попадает рабочая ПП (далее - печатная плата), он проводит ручное сканирование всех её цепей, и с помощью компьютерного программного обеспечения сохраняет их в цифровом виде для дальнейшего использования. Когда к нему в руки попадает неисправная подобная ПП, он уже имеет понимание, в чём их отличие, после сравнения сигнатур. И находит место неисправности.
Приставкой персонал пользовался редко и только в исключительных случаях ввиду отсутствия желания доставать её каждый раз и подключать к осциллографу (снова переводить его в режим XY и нажимать на кнопки). Хоть ремонты зачастую были и не сложные, но этой сложившейся ситуацией уважаемый босс был не сильно доволен. Он предложил доработать "коробочку" (в коллективе мы так её называли) и, тем самым побудить коллег использовать её почаще. Эта доработка заключалась в использовании стандартных линейных входа и выхода звуковой карты ноутбука для генерации и наблюдения тех самых визуальных сигналов, как на дисплее осциллографа (используя для генерации сигнала - программу звукового генератора частоты, а для наблюдения сигналов XY - программу осциллографа для звуковой карты). Пробовали, изготавливали, но нормально на коленке так оно и не заработало. Да и не было особенного энтузиазма. Лично для меня представление о работе с новой идеей использования устройства с звуковой картой было не в улучшении рабочего процесса, а строго противоположным (запускать и настраивать каждый раз солянку из программ - ну такое себе).
Эффективность "коробочки"
К слову, этой простейшей приставкой для осциллографа действительно получалось многое отремонтировать в более сжатые сроки (одни только brake chopper от Siemens на полностью рассыпной элементной базе чего стоили..).
Так, у меня возникла мысль разработать свою "коробочку". Ещё, по-моему мнению, к такой идее (сделать что-то своё, но универсальное и обязательно портативное) меня привела -
рабочая обстановка.
Часто приходилось, что здесь и сейчас например, нужна 9-ти вольтовая батарейка для скорой проверки IGBT транзистора: зарядил затвор, и по факту писка мультиметра на переходе коллектор - эмиттер, определил быстренько что транзистор - исправен (конечно, этот метод был лишь дополнением к обычной проверке мультиметром, помимо прочих тестов). Или же срочно требовалось устройство для проверки какого-либо шлейфа на целостность. А этого под рукой нет. И приходится бегать то к лабораторному источнику питания, то к паяльнику, чтобы быстро изготовить тот или иной тестер. Со временем, я начал для себя делать "сервисную" оснастку в виде разнообразных разъёмов и устройств для таких срочных случаев, облегчая себе труд и избегая потерю лишнего рабочего времени.
В те времена я ездил в командировки в другие регионы, и часто приходилось диагностировать промышленное оборудование у заказчиков (были случаи, когда на выезде портативная "коробочка" пригодилась бы). Аналогичного устройства под мои критерии "портативность" и "доступность" - я в то время не нашёл. То оборудование, что было представлено на рынке - зачастую стационарное и недешёвое, либо же просто недешёвые USB-приставки к ноутбуку. А я всего лишь хотел устройство с дисплеем :) Вызов был принят.
Пошли вечера с паяльником и проводами МГТФ, микроконтроллером и дисплеем.
После размышлений, тестов, ошибок и труда родился этот колхозинг :)
Потом я уволился, и ушёл в другую компанию :)
Продолжив разработку своей "коробочки", шаг за шагом я дорабатывал концепцию зарождающегося устройства:
1) Совершенствовал схемотехнику и дизайн PCB. От прототипов печатных плат (изготовленных по фоторезистивной технологии) раскиданных по столу в виде модулей - до первой тестовой заводской печатной платы из Китая в 4-ре слоя.
Немного истории (как всё начиналось)
2) Подбирал качественную и доступную элементную базу. Здравствуй, 2020 год...
3) Проводил изыскания по поводу внешнего вида, корпуса, функционала, и т.д.
Источник вдохновения :)
К тому времени, в период активной разработки я узнал о проекте Flipper Zero.
И, честно говоря - идеология именно этого устройства вдохновила меня на что-то компактное и многофункциональное.
Не прошло и полутора лет, как у меня появился рабочий прототип с названием "ACORN VA".
Почему именно такое название? Потому, что моя фамилия - Дубов, а разрабатываемое детище в незамысловатой форме можно и жёлудем назвать :) Ну и приставка в виде названий физических величин: V - Вольт, A - Ампер. ВАХ снимаем, всё-таки :)
Основные характеристики устройства (на момент публикации статьи)
Физические:
Габариты: 111х60х30 мм;
Вес: 250-350 грамм;
Тип и напряжение питания: аккумулятор Li-ion 3.7V;
Режим сигнатурного анализатора:
Каналов: 2 шт. (функционал: либо левый, либо правый);
MIN выходная амплитуда напряжения для анализа: 1 Вольт.
MAX выходная амплитуда напряжения для анализа: 10 Вольт.
Дискретность выходного напряжения: ~5mV.
Тип выходного сигнала: синус (базовый тип), меандр, пилообразное, треугольник.
Частота выходного сигнала: 1 Гц - 2 кГц (верхняя граница может быть немного повыше).
Набор сопротивлений: 50 Ом, 100 Ом, 500 Ом, 1000 Ом.
Диапазон выходного тока: 1mA - 200mA (нижняя граница может быть выше).
Корпус (внешний вид)
Критерии моего выбора в пользу покупного литого металлического корпуса были очевидны:
1) Условная простота конечной обработки фрезерованием. Первый экземпляр корпуса пришлось в буквальном смысле изготавливать с помощью "ручного" ЧПУ и напильника. Позже, для облегчения жизни удалось приобрести настольный ЧПУ фрезерный станок. Его наличие очень развязало руки в плане возможностей по разработке устройства. Оснастку для фрезеровки (калибраторы, посадочные места для крепления на фрезерный стол) я изготавливал на FDM 3D принтере.
Процесс изготовления корпуса
Архивные кадры процесса.
Кому интересна фрезеровка и техпроцесс - видео ниже.
2) Доступность на рынке.
3) Цена.
4) Готовый теплоотвод для нагревающихся компонентов.
5) Стойкость к ЭМИ, и защита окружающего мира от него.
6) Условная прочность.
7) Металл выглядит по-мужски же!
8) Потенциальная возможность покраски/чернения. Тут я сомневаюсь что данный сплав подходит для какого-либо окрашивания, да и руки не дошли ещё до проверки (если я ошибаюсь, и подобные корпуса всё-таки окрашиваются - сориентируйте пожалуйста, это просто замечательно).
Интерфейсы взаимодействия с пользователем
1) Цветной IPS 2.0 дюймовый дисплей с разрешением 240*320 точек;
2) Три тактовые кнопки для управления устройством.
3) Звуковая пищалка для обратной связи.
Интерфейсы внешние
1) Один разъём USB (B). Выбор остановил на нём, т.к. повсеместно используется в промышленных устройствах.
2) Два разъёма JACK по краям устройства для подключения кабелей для проведения сигнатурного теста (см. дополнительный функционал);
Минимальный набор внешних разъёмов для меня был очень важен, т.к. внутри корпуса мало места (на данный момент обе стороны ПП плотно забиты компонентами), улучшается общая надёжность устройства (меньше разъёмов = меньше поломок), упрощается техпроцесс изготовления корпуса (меньше операций по фрезеровке), меньше шансов "схватить" пыль и влагу.
Основные функциональные составляющие вышеперечисленных разъёмов:
Разъём USB:
1) Зарядка аккумулятора устройства. Тут нечего добавить :)
2) Обмен данными с внешними устройствами через интерфейс USB. Из реализованного:
2.1) CDC (USB communications device class) - для коммутации с программным обеспечением ПК и передачей данных (сигнатур) (см. дополнительный функционал).
2.2) MSC (USB mass storage device class) - для режима "прикидываемся флешкой". Работает как реальный кард-ридер, так как внутри установлена несъёмная SD карта памяти на несколько гигабайт. Требуется для обновления программного обеспечения и копирования с устройства каких-либо накопленных данных (см. дополнительный функционал).
3) Разъём используется для вывода наружу интерфейсов I2C, USART, CAN, или для пары GPIO (см. дополнительный функционал). Жаль, отсутствует возможность одновременной работы этих интерфейсов наружу совместно с USB, т.к. data линий в разъёме всего две.
4) Поддержка режима вывода питания 5VDC на разъём для питания устройств расширения (см. дополнительный функционал) с номинальным током до 1-2А. Смартфон заряжать я уже пробовал, получается :)
Разъёмы JACK (x2 штуки) позволяют по одному из подключенных каналов (левый или правый, на выбор):
1) Подключить к внутренней схеме сигнатурного анализатора один из каналов для анализа;
2) Осуществить измерение напряжения (см. дополнительный функционал).
3) Выпустить наружу зверя постоянное напряжение 24V с условной мощностью 6 Вт без защиты и ограничения тока (см. дополнительный функционал).
4) Работать как выход GPIO (вход или выход). (см. дополнительный функционал).
5) Работать как выход генератора напряжения (см. дополнительный функционал).
6) Работать как выход генератора тока (см. дополнительный функционал).
Интерфейсы внутренние
1) Часы реального времени (RTC). Требуется для удобства пользователя, чтобы он не гадал например, когда сохранил тот или иной файл, а так же для пробуждения устройства в заданную дату и время (признаю - странная функция, но пригодится для будильника какого-либо режима работы).
2) Датчик температуры корпуса. Чтобы устройство не перегрелось. Мне будет спокойней, если такая защита будет, т.к. на борту есть условно нагревающиеся компоненты. Защита по перегреву существует конечно и на контроллере заряда аккумуляторной батареи, но я перестрахуюсь :)
3) MicroSD карта памяти на несколько гигабайт. Просто - нужна :)
Отвлекусь, и отвечу сразу на вопрос "зачем нужна флешка?"
Будет реализация (есть даже демонстрация в видеоматериалах с моего you-tube канала) использования режима сигнатурного анализатора как самостоятельного устройства. Пример: пользователь находится на выезде, сел ноутбук, но срочно требуется сохранить сигнатуры подозрительной печатной платы/устройства. А далее, по возврату пользователя в нормальные рабочие условия - он копирует эти данные на ПК, и сможет использовать их в качестве полноценных исходников своей базы сигнатур для ремонта и проверки аналогичного оборудования в дальнейшем. Либо же может использовать эти данные напрямую с устройства, и компьютер например для тестирования, даже не потребуется. Но на данный момент эту возможность я оставил на "позже". Так как для меня важны качество, удобство и проработка интерфейса взаимодействия пользователя с этой функцией. Пока что в firmware есть моменты поважнее, которые нужно допилить :)
Но, это будет очень приятной особенностью моего сигнатурного анализатора.
Сначала я пошёл не по верному пути - сохранял сигнатуры в формате изображения .bmp (зато научился их генерировать самостоятельно, включая даже текст). Было довольно увлекательно - делать этакий скриншот рабочей области дисплея с разрешением 240*240 пикселей.
Но, абсолютно никакой пользы, кроме как визуальной информативности и ответа на вопрос "интересно, а что за сигнатура сохранена по пути /PCB012/POINT_33.bmp?" это решение не давало. В дальнейшем как раз для этой информативности постараюсь использовать его, если потребуется.
Как сейчас сохраняются сигнатуры?
Просто - в обычный файл (с избыточностью информации). На данный момент, что-то вроде 4 килобайт на сигнатуру. Я думаю, вполне себе решение. И обрабатывать проще, и сохраняется быстрее.
Каков результат на сегодня?
На текущий момент это устройство я позиционирую как сигнатурный анализатор (базовая функция). На данном этапе разработка hardware начинки почти закончена и всё в плане железа доработано. Жду партию печатных плат, подбиваю склад и покупку запчастей для очень маленькой первой партии устройств. Проект коммерческий. По этой причине я избегаю преждевременных публикаций фотоматериалов "нынешней" электронной начинки, схемотехники и компоновки устройства. Прошу меня понять и простить :)
Вы можете ознакомиться с тем, что сегодня это устройство представляет собой (видео уже можно считать давним, так как изменения в разработке происходят ежемесячно, но общее представление будет получено).
Что в планах?
1) В самое ближайшее время закончить разработку firmware устройства до production уровня. На данный момент есть и работает свой bootloader. Присутствует возможность: обновлений через внутреннюю карту памяти, backup-а параметров устройства, смены прошивок для расширения функционала (зачем? об этом далее подробно расскажу).
В общих чертах - идёт построение базы для нормального обновления ПО в будущем.
Скоро в свет должно выйти с десяток устройств. Пока что, с ограниченным программным функционалом. А со временем, после обновлений - будут доступны новые функции о которых я так много рассказывал.
2) Наладить "домашнее" производство (надо же с чего то начинать) и тестирование готовой продукции. Этап производства уже в активной подготовке. Недавно вот, даже изготовил на ЧПУ трафареты для паяльной пасты :) Может быть, и до SMD расстановщика дойду.
Самодельные трафареты для паяльной пасты
Как я впервые попробовал изготовить трафарет на ЧПУ.
Материал - латунь 0.15мм.
Фреза - 0.2мм.
Ну, а после этого было много попыток поломать кучу фрез "набить руку" и сделать производство трафаретов для себя чем-то обыденным.
Получилось построить техпроцесс, но не без жертв конечно. Испортил я фрез дорогущих - тыщи на четыре. Но не опускал руки. Ведь как говорит мой один хороший товарищ:
Слаб не тот - кто ломает фразы, а тот - кто не покупает новые :D
И результат:
3) Реализация мелких партий устройств первым пользователям, чтобы вкладываться в развитие и трансформацию проекта во что-то большее, чем просто "домашнее производство" :)
4) Разработать кроссплатформенное приложение для ПК для расширения возможностей устройства. Для режима сигнатурного анализатора будут доступны базовые функции сохранения сигнатур (по точкам цепей на фотографиях печатных плат) с возможностью их сохранения и воспроизведения для каждого ремонтируемого устройства.
5) Поиск команды. Без команды как я понял - никуда. К слову, этот проект от начала и до сегодня - я тащу в "соло". Не единственное, но и немаловажное, о чём жалею в такой ситуации - проект медленно развивается.
6) Увеличение уникального функционала с помощью дополнительных модулей расширения. Об этом - ниже под спойлером.
Дополнительный функционал? (очень много текста)
Устройство физически способно выдавать на разъёмы JACK произвольное напряжение от -10 до +10 вольт (с дискретностью ~5mV) с током от 1mA до ~200 mA. Ограничение тока реализовано в виде набора сопротивлений, переключаемых внутренними реле (этого требует схемотехническое решение режима сигнатурного анализатора).
Какие появляются возможности:
1) Простейший генератор напряжения (ЦАП).
Примерное применение: открытие и проверка транзисторов (тиристоров), проверка всевозможных реле, светодиодов, динамиков, малопотребляющих устройств, коммутация и управление какими-либо внешними устройствами по времени или другой логической зависимости, эмуляция сигналов напряжения 0-10V для области АСУТП.
2) Генератор произвольных сигналов (DDS).
Примерное применение: то же самое из п.1, только в динамике :), генерация сигналов требуемой формы, амплитуды, частоты.
3) Простейший источник тока (условное определение).
Примерное применение: проверка сигнальных шлейфов на целостность под нагрузкой, проверка целостности цепей печатных плат или проводки под нагрузкой (разнообразные пробники целостности электрических цепей), эмуляция сигналов токовой петли 0-20mA для области АСУТП.
4) Управление мультиплексором (или сканером) каналов (фото ниже).
Для расширения дальнейших возможностей сигнатурного анализатора и множественного сканирования цепей (например, с помощью "ложе гвоздей" или с применением специализированных разъёмов). Так как разъём USB вероятно при тестировании будет занят интерфейсом подключения к ПК, то "лишних" и простейших возможностей для подключения этого модуля к устройству попросту нет :)
Устройство физически способно измерять напряжение номиналом от -14 до +14 вольт на разъёмах JACK. При использовании делителя напряжения в специальном кабеле - пределы измерений расширяются.
Какие появляются возможности:
1) Простейший измеритель напряжения.
Примерное применение: измерение и контроль напряжения электрических цепей, возможность реализации простейшего подручного осциллографа.
Устройство физически способно выдавать на разъёмы JACK постоянное напряжение 24V с максимальным током до ~250mA (без защиты от короткого замыкания, без ограничения тока). Отсутствие защит - не проблема если использовать для подключения "костыль" в виде специального кабеля или модуля с предохранителем. Нестандартно.. ну а как ещё? :)
Какие появляются возможности:
1) Проверка "высоковольтных" устройств и коммутация.
Примерное применение: проверка реле на 24VDC, светодиодов с последовательным соединением, малопотребляющих устройств c питанием 24VDC (датчиков и т.д.), непосредственная коммутация и управление какими-либо внешними устройствами по времени или другой логической зависимости, эмуляция сигналов логической единицы (1) для области АСУТП.
2) Питание (потенциальных) внешних модулей расширения.
Примерное применение: очень специфическое. Но я уверен, применение найдётся :)
Устройство имеет физическую связь внешним миром через следующие цифровые интерфейсы: USB, CAN, I2C и USART.
Нюанс есть. Заключается он в том, что связка интерфейса USB с другими интерфейсами физически невозможна. Но, интересные (по крайней мере, для меня) возможности от этого не страдают.
Они могут ограничиваться лишь качеством и количеством firmware устройства. Устройство самодостаточно может использоваться даже в качестве "мозга" какой-либо дополнительной и модульной системы. Стенды какие-нибудь.. :)
Разъём используется для USB
Какие появляются возможности:
1) Передача данных между устройствами с USB.
Примерное применение: режим сигнатурного анализатора для связки с ПО персонального компьютера (базовое применение), использование для управления выходами JACK с ПК (не знаю для чего, но возможность есть) или генерации/измерения напряжения, при реализации USB-HID возможна эмуляция множества устройств (ну, всё может быть..).
Разъём используется для CAN
Какие появляются возможности:
1) Передача данных между CAN и управление ими.
2) Сканирование идентификаторов кадров шины CAN и их данных.
Примерное применение: управление устройствами, сканирование и логирование данных на карту памяти для последующей обработки программными средствами ПК, эмуляция общения шины.
Уклон моих интересов по этой замечательной шине в большей степени относится к автомобильной тематике. Если будет потенциал для использования - возможно появление специального программного обеспечения устройства.
Разъём используется для USART
Какие появляются возможности:
1) Передача данных между устройствами с USART/UART.
2) Передача данных между устройствами с RS-232.
3) Передача данных между устройствами и в сетях RS485 (или Modbus RTU).
Примерное применение: передача данных, управление устройствами, логирование данных на карту памяти для последующей обработки программными средствами ПК.
Для R/D сигнала, если он понадобится в каком-либо случае, можно использовать сигнал управления с разъёма JACK (озвучил и предусмотрел все варианты).
Разъём используется для I2C
Какие появляются возможности:
1) Передача данных между устройствами/внешними модулями.
2) Подключение внешних расширителей портов GPIO.
3) Подключение внешних всевозможных датчиков.
Примерное применение: передача данных, управление устройствами и дополнительными модулями, управление устройствами преследуя какую-либо логику управления, получение данных от датчиков температуры, напряжения, тока, ускорения и т.д. (доступно логирование данных и физических величин на карту памяти).
К слову - при использовании температурного ИК датчика (при отсутствии тепловизора) возможно простейшее точечное сканирование повреждённых полупроводниковых элементов на печатной плате (с подачей питания). При наличии графика изменения температуры на дисплее или звуковой сигнализации на установленный порог - будет в разы удобнее производить поиск неисправного полупроводника.
Разъём используется для GPIO
Какие появляются возможности:
1) Дискретное и непосредственное управление устройствами.
2) Вывод высокочастотного ШИМ сигнала/частоты.
Примерное применение: генератор частоты, ШИМ контроллер, построение программных интерфейсов.
Во имя тестов и забавы ради, я даже пробовал подключать через ШИМ серво-двигатель :)
Смена прошивок (не про обновления)
Исходя из вышеперечисленных странных хотелок возможностей, для каждого потенциального применения (например, подключив внешний модуль расширения или управление каким-нибудь стендом) будет выпускаться дополнительный файл с программным обеспечением (с продуманной компоновкой построения функций, конечно). Размер FLASH памяти ограничен, а ресурса перезаписи хватит всем. Потратив 10 секунд на смену ПО - и можно делать нечто другое, вместо базовых функций анализатора сигнатур, генераторов напряжения, частоты и т.д..
Но, это уже совсем другая история..
Что мне дал проект?
подтянул знания по САПР системам;
приобрёл большой опыт по проектированию многослойных печатных плат и разработке схемотехники цифро-аналоговых устройств в целом;
углубился в 3D моделирование благодаря изготовлению корпусных частей;
приобрёл ЧПУ станок и освоил работу на нём (обработка металла, изготовление прочих узлов и даже собственных трафаретов для паяльной пасты);
повысил знание языков программирования Си (написание ПО для микроконтроллера) и Python (скрипты взаимодействия между устройством и ПК для тестирования передачи данных и управления, для шифрования/дешифрования/сборщика прошивок);
очень близко познакомился с микроконтроллером STM32 и большинством периферии :)
создал свой you-tube канал, на котором делюсь ходом разработки данного устройства и, надеюсь в дальнейшем, буду делиться контентом по другим разработкам (не уверен, что создал бы канал просто так, по всяким безделушкам);
приобрёл направление своего развития вкупе с ответственностью перед собой по доведению проекта до production уровня;
приобрёл свой самый ценный опыт - проектирование электронного устройства с нуля, захватывая весь спектр задач, начиная с внешнего вида и заканчивая подготовкой к самостоятельному производству (на момент написания статьи);
завёл новые и интересные профессиональные знакомства;
зарегистрировался на Хабре и написал свою первую статью!
Благодарю всех, кто уделил время моей истории о разработке сигнатурного анализатора "ACORN VA". Всем добра!