The ARC Journal
Выпуск 8/2026
Setting the pages…
Издание о технологических исследованиях

The ARC Journal

Выпуск 8/2026 · Ереван, 15 октября 2026 г.

Центр перспективных исследований (ARC)

Центр перспективных исследований (ARC) создан в Engineering City для проведения исследований в области технологий, продуктов и приложений будущего. В настоящее время он включает пять лабораторий: лабораторию интеллектуального производства и робототехники, аэрокосмическую лабораторию, лабораторию полупроводников, автомобильную лабораторию и лабораторию кибербезопасности и вычислений.

Издаётся Инженерной ассоциацией

The ARC JournalВыпуск 8/2026Издаётся Инженерной ассоциациейЕреван, 15 октября 2026 г.
Конец выпускаThe ARC JournalВыпуск 8/2026СодержаниеОбложкаОригинал в PDF

Содержание

Итоговая статьяАвтоматизированный стенд тестирования основных плат на основе проектирования встраиваемых систем с выбором компонентов из наличияАннотацияПредпосылки: методология ориентации на наличиеОпределение промышленной проблемыОсновные целиФункциональные требованияАрхитектура системы и проектирование аппаратной частиПринципиальная схема и реализация аппаратных модулейОбщая шина ввода-вывода и архитектура мультиплексированияМеханическое приспособление для проверки и автоматического запускаПользовательский интерфейс и аппаратура вывода диагностикиАрхитектура микропрограммы и проектирование программного обеспеченияАрхитектура конечного автомата и конечный автоматПодробное выполнение состояний и динамика переходовРасширенные процедуры измерения сигналовCAD-проектирование корпуса и механическая конструкцияПараметрическое CAD-моделирование в SolidWorks и стратегия изготовленияДвухзонная архитектура конструкцииЭкспериментальные результаты и проверка характеристикБыстродействие и производительностьФункциональная проверка и охват дефектовВременные характеристики задач микропрограммы в реальном времениЗаключение и перспективыЗаключениеПерспективы
Итоговая статья

Автоматизированный стенд тестирования основных плат на основе проектирования встраиваемых систем с выбором компонентов из наличия

Перевод на русский язык

Аннотация

В статье представлена образовательная основа для проектирования встраиваемых систем, основанная на стратегии выбора компонентов из имеющихся складских запасов. В качестве практического примера на платформе ATmega328P была разработана система автоматизированного испытательного оборудования (ATE), заменяющая медленную ручную проверку мультиметром. Сочетая мультиплексирование ввода-вывода с продуманными приёмами в микропрограмме — такими как дифференциальная проверка нагруженных линий и виртуальная подтяжка (pull-up) для аналоговых входов, — система преодолевает аппаратные ограничения микроконтроллера без добавления внешних микросхем. Разработанный прототип сокращает время тестирования до 0.4 секунды на единицу — повышение производительности в 22x–42x — при сохранении 100% точности обнаружения неисправностей.

Ключевые слова

Встраиваемые системы, автоматизированное испытательное оборудование (ATE), выбор компонентов из наличия, ATmega328P, мультиплексирование выводов, общий ввод-вывод, неблокирующий конечный автомат (FSM), проверка целостности цепей.

Предпосылки: методология ориентации на наличие

Стандартные инженерные курсы обычно предполагают неограниченные закупки компонентов: сначала определяются требования, а затем закупаются идеальные детали. Напротив, малобюджетные учебные лаборатории и среды с ограниченными поставками требуют создавать работоспособное оборудование из того, что есть в наличии. Методология ориентации на наличие (Stock-Oriented) заставляет проект системы полностью адаптироваться к уже имеющимся компонентам без заказа специальных микросхем расширения.

Определение промышленной проблемы

В условиях мелкосерийного производства и обучения контроль качества основан на ручной проверке щупами цифрового мультиметра (DMM). Такой подход создаёт три основные эксплуатационные проблемы:

  1. Низкая производительность: ручная проверка целостности цепей занимает от 8 до 20 секунд на одно тестируемое устройство (DUT), создавая серьёзное узкое место контроля.

  2. Ошибки оператора: при ручной проверке щупами легко пропустить контрольные точки и по-разному интерпретировать показания на многовыводных платах.

  3. Скрытые механические дефекты: когда DUT лежит на верстаке во время ручной проверки, незатянутые гайки клемм прижимаются к переходным отверстиям печатной платы, маскируя незакреплённый крепёж и давая ложные результаты PASS.

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

Рис. 1 Ручная сборка крепежа (основной источник дефектов незатянутых гаек)
Рис. 2 Ручная проверка целостности цепей щупами DMM (узкое место контроля).

Основные цели

  1. Нулевые затраты на закупки: создать работоспособную платформу ATE исключительно из имеющихся в наличии компонентов

  2. Максимальная производительность: сократить общее время цикла тестирования до менее 0.5 секунды на единицу.

  3. Охват дефектов: надёжно обнаруживать электрические обрывы, короткие замыкания и неисправности механической сборки крепежа.

Функциональные требования

  1. Автоматический запуск теста: система должна автоматически начинать сканирование при механическом зацеплении DUT без необходимости нажатия кнопок вручную.

  2. Выявление механических неисправностей: испытательное приспособление должно прикладывать физическое контактное усилие, чтобы сдвигать незакреплённый крепёж клемм и надёжно выявлять дефекты механической сборки во время проверки.

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

  1. Многоканальная диагностика неисправностей: при отрицательном результате теста система должна сообщать точный индекс или канал каждого неисправного узла с поддержкой отображения нескольких одновременных мест неисправности.

  2. Различимая сигнализация PASS/FAIL: система должна обеспечивать различимую, однозначную визуальную и звуковую обратную связь о результате теста.

  3. Детерминированная синхронизация цикла: основной цикл управления должен выполняться с неблокирующей логикой, поддерживая задержку системы ниже 50 мс.

Архитектура системы и проектирование аппаратной части

Принципиальная схема и реализация аппаратных модулей

Принципиальная схема системы задаёт аппаратную архитектуру с общей шиной, объединяющую все измерительные щупы и периферию пользовательского интерфейса на одном микроконтроллере ATmega328P. Физически управляющая электроника собрана в виде «сэндвича», объединяющего оценочную базовую плату Arduino Uno R3 с установленным сверху специальным макетным шилдом. Схема разделена на пять основных функциональных блоков:

Рис. 3 Неукомплектованный специальный шилд-прототип (верхний слой «сэндвича»).
Рис. 4 Оценочная базовая плата Arduino Uno R3 с микроконтроллером ATmega328P (нижний слой).

1. Центральный микроконтроллер (Arduino Uno)

Основной процессор работает на частоте 16 MHz и предоставляет 20 цифровых/аналоговых линий ввода-вывода. Внутренние регистры динамически переключают роли выводов между высокоимпедансным входом для проверки во время активного сканирования и активным выходом во время отображения результатов.

2. Подсистема выходного демультиплексора (SN74HC138DR)

Для увеличения числа тестовых каналов демультиплексор 3-to-8 SN74HC138DR (U1) управляется выводами микроконтроллера D11, D12 и D13 (IN0, IN1, IN2). Его выходы с активным низким уровнем (с Y0Y_{0} по Y7Y_{7}) направляют последовательные тестовые импульсы на каналы возбуждения с T1T1 по T8T8 по матрице целевой платы.

3. Однопроводная аналоговая сеть управления (A7)

Аналоговая сеть кодирует как механическое зацепление приспособления, так и выбор профиля целевой платы в одном аналоговом входе (A7):

  • Резисторная лестница: резисторы R20R_{20} (1 kΩ\Omega), R21R_{21} (2 kΩ\Omega), R22R_{22} (1 kΩ\Omega) и R23R_{23} (5 kΩ\Omega) образуют многоотводный делитель напряжения

  • Микровыключатели приспособления (SW1, SW2): включены последовательно в сеть. Действительное сканирование начинается только тогда, когда оба выключателя одновременно нажаты полностью и ровно вставленной платой.

  • Переключатель конфигурации (S3): выбирает между профилями тестирования цифровой и аналоговой плат, изменяя базовое напряжение, подаваемое на вывод A7.

4. Подсистема общего пользовательского интерфейса

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

  • 7-сегментные индикаторы (S1, S2): два цифровых индикатора с общим катодом, управляемые через линии шины A0–A5, D3 и D4, с мультиплексированием общих катодов через выводы D9 и D10.

  • Светодиод состояния (LD1): двухцветный индикатор, управляемый выводами D2 и D6.

  • Звуковой сигнализатор (B1): пьезокерамический зуммер, управляемый через вывод D5.

5. Интерфейсы матрицы щупов

  • Щупы возбуждения (T1T1–T8T8): подключены непосредственно к выходам Y0Y_{0}–Y7Y_{7} демультиплексора SN74HC138DR для подачи стимулирующих сигналов на целевую плату.

  • Измерительные щупы (T9T9–T22T22): подключены к выводам микроконтроллера A0–A6 и D2–D8 для получения ответных сигналов и оценки целостности дорожек, падений напряжения и дефектов обрыва/замыкания

Общая шина ввода-вывода и архитектура мультиплексирования

Чтобы уложиться в ограничение ATmega328P в 20 выводов без внешних микросхем расширителей портов, система использует топологию общей шины ввода-вывода. Один и тот же набор выводов микроконтроллера выполняет двойную функцию:

  1. Активное состояние (DUT установлено): выводы работают как измерительные каналы матрицы с использованием дешифратора 74HC138 для мультиплексирования линий.

  2. Диагностическое состояние (DUT снято): освобождение микровыключателей приспособления программно перенастраивает направления выводов в регистрах, превращая ту же шину в управление выходами пользовательского интерфейса (2-разрядный 7-сегментный индикатор, светодиоды состояния и пьезокерамический зуммер).

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

Рис. 5 Полная принципиальная схема системы, разработанная в Altium Designer.

Механическое приспособление для проверки и автоматического запуска

  1. Определение двумя микровыключателями: два последовательно соединённых микровыключателя обнаруживают физическую установку DUT. Чтобы замкнуть цепь запуска, оба выключателя должны быть полностью нажаты платой; последовательность сканирования начинается автоматически, без нажатия кнопки оператором.

  2. Геометрия выявления механических неисправностей: точки проверки представляют собой неподвижные, закреплённые винтами сверху вниз гнёзда типа «банан». Когда плату вдвигают на место, механическое усилие сверху вниз отталкивает незатянутые гайки клемм вниз, от переходных отверстий печатной платы. Если гайка не затянута, это физическое усилие разрывает контакт с дорожкой и вызывает отказ «обрыв цепи».

Рис. 6 Два микровыключателя для автоматического определения установки DUT.
Рис. 7 Незатянутая гайка клеммы, смещённая при проверке сверху вниз

Пользовательский интерфейс и аппаратура вывода диагностики

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

  2. Периферия сигнализации:

    • Состояние PASS: загорается зелёный светодиод, пьезокерамический зуммер подаёт импульс длительностью 0.1 с, 7-сегментный индикатор показывает 00.

    • Состояние FAIL: загорается красный светодиод, пьезокерамический зуммер подаёт импульс длительностью 0.6 с, 7-сегментный индикатор показывает индексы ошибок.

  3. Логика отображения диагностических неисправностей:

    • Профиль цифровой платы: отображает статические коды отказов, обозначающие линию 1 (d1), линию 2 (d2) или обе линии (d3).

    • Профиль аналоговой платы: отображает коды каналов (с A1 по A8). Если одновременно неисправны несколько каналов, внутренний программный буфер последовательно циклически выводит все активные коды ошибок на 7-сегментный индикатор с частотой обновления 1 Гц.

Рис. 8 Специальный шилд-прототип интерфейса: вид сверху с 7-сегментным индикатором, зуммером, переключателем профиля и демультиплексором (слева); вид снизу с навесным монтажом (справа).

Архитектура микропрограммы и проектирование программного обеспечения

Архитектура конечного автомата и конечный автомат

Микропрограмма системы работает как детерминированный событийно-управляемый конечный автомат (FSM). Чтобы сохранить полную отзывчивость системы без блокирующих циклов, все периферийные задачи — такие как мультиплексирование индикатора, подавление дребезга переключателей, звуковая сигнализация и аналоговые выборки — планируются с помощью процедур сравнения меток времени (millis()). Конечный автомат отделяет физические измерения от вывода на пользовательский интерфейс, обеспечивая динамическую перенастройку общей физической шины в прямой синхронизации с активным рабочим состоянием.

Подробное выполнение состояний и динамика переходов

Состояние APP_IDLE

  • Логика выполнения: микроконтроллер непрерывно выполняет фоновые планировщики (обновление индикатора каждые 3 мс, обработчик звука каждые 10 мс, опрос конфигурации каждые 50 мс). Вывод на индикатор активен (displayEnabled = true). Если предыдущий запуск завершился результатом TEST_FAIL с несколькими выявленными неисправными каналами, неблокирующий таймер с периодом 1000 мс перебирает сохранённые коды отказов, циклически показывая диагностические индексы на индикаторе.

  • Условие перехода: система опрашивает однопроводную аналоговую сеть (CONFIGURATION / A7). Когда давление приспособления сверху нажимает оба последовательных микровыключателя, напряжение падает ниже порога срабатывания и устанавливается appState = APP_START_TEST.

Состояние APP_START_TEST

  • Логика выполнения: микропрограмма немедленно изолирует общую шину, отключая мультиплексирование индикатора (displayEnabled = false) и устанавливая высокий уровень на линиях катодов индикатора. Она сбрасывает статус оценки в TEST_NONE, очищает регистры неисправностей (failedCount = 0) и фиксирует активный целевой профиль (activeBoardIsDigital). Применяются начальные направления выводов для тестирования.

  • Условие перехода: после завершения изоляции шины и инициализации регистров конечный автомат немедленно переходит в appState = APP_TEST_RUNNING в том же цикле выполнения.

Состояние APP_TEST_RUNNING

  • Логика выполнения: микроконтроллер периодически выполняет задачи оценки матрицы с интервалом 50 мс (DigitalTask() или AnalogTask()). Он перебирает каналы демультиплексора 74HC138, оценивая целостность дорожек. По результатам оценки матрицы микропрограмма устанавливает testResult в TEST_PASS или TEST_FAIL и заполняет буфер отказов конкретными индексами линий (d1–d3 для цифровой, A1–A8 для аналоговой платы).

  • Условие перехода: сканирование матрицы продолжается непрерывно, пока оператор не извлечёт плату. Освобождение приспособления размыкает микровыключатели, возвращая напряжение A7 к уровню без зацепления и переводя конечный автомат в appState = APP_SHOW_RESULT.

Состояние APP_SHOW_RESULT

  • Логика выполнения: микроконтроллер снова включает вывод на индикатор интерфейса (displayEnabled = true) и возвращает общие выводы (PD2, PD6, PD5) в режим выходного драйвера. Он оценивает testResult:

    • TEST_PASS: загорается зелёный светодиод, запускается звуковой импульс длительностью 100 мс, в буфер индикатора загружается 00.

    • TEST_FAIL: загорается красный светодиод, запускается звуковой сигнал тревоги длительностью 600 мс, а основной код отказа загружается в активный буфер индикатора.

  • Условие перехода: после запуска периферийных индикаторов конечный автомат автоматически сбрасывается в appState = APP_IDLE, возвращаясь к контролю в режиме ожидания или к циклическому отображению нескольких неисправностей.

Расширенные процедуры измерения сигналов

  • Дифференциальная выборка линии (ReadDifferential):

Стандартное логическое чтение даёт сбой на дорожках, содержащих последовательно включённые активные компоненты (такие как индикаторные светодиоды или зуммеры), из-за нелинейного прямого падения напряжения. Микропрограмма выполняет двухфазную дифференциальную проверку, переключая демультиплексор 74HC138 между его активным и неактивным каналом с задержкой установления 10 μ\mus:

Continuity Valid=(StateActive= ⁣= LOW)∧(StateInactive= ⁣= HIGH)\text{Continuity Valid} = (\text{State}_{\text{Active}} =\!=\ \text{LOW}) \land (\text{State}_{\text{Inactive}} =\!=\ \text{HIGH})

Такая импульсная проверка отделяет истинную проводимость проводника от прямого падения напряжения на полупроводниках без ложноположительных показаний обрыва цепи.

  • Сброс конденсатора выборки-хранения АЦП (ReadAnalogA6):

У канала A6 нет внутренних цифровых подтягивающих резисторов (INPUT_PULLUP). Перед выборкой микропрограмма выполняет холостое преобразование analogRead. Это очищает и предварительно заряжает внутренний конденсатор выборки-хранения АЦП (~14 pF), создавая стабильную программную виртуальную подтяжку без дискретных внешних резисторов на печатной плате.

Механизм циклической диагностики нескольких неисправностей

Когда проверка по аналоговому профилю обнаруживает несколько неисправных каналов, все индексы неисправных каналов сохраняются в массиве отказов во время APP_TEST_RUNNING. После перехода в APP_SHOW_RESULT и возврата в APP_IDLE таймер с периодом 1000 мс непрерывно перебирает все записанные коды ошибок, последовательно выводя диагностические индексы (с A1 по A8) на двухразрядный индикатор с частотой обновления 1 Гц.

CAD-проектирование корпуса и механическая конструкция

Параметрическое CAD-моделирование в SolidWorks и стратегия изготовления

Настольный корпус был спроектирован в SolidWorks и изготовлен аддитивным методом FDM на 3D-принтере Bambu Lab. Поскольку общая осевая длина корпуса ATE превышала физический объём рабочей платформы принтера, модель корпуса была целенаправленно разделена на две сцепляющиеся разъёмные секции, соединяющиеся по точному механическому шву. Встроенные направляющие выступы вдоль стыка обеспечивают жёсткость конструкции, точную осевую фиксацию и беспроблемную сборку после печати.

Двухзонная архитектура конструкции

Компоновка корпуса физически разделена на две отдельные функциональные зоны, чтобы изолировать испытательное приспособление от чувствительной управляющей электроники:

  1. Зона управления и интерфейса (правая часть):

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

  2. Зона проверки DUT (левая часть):

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

Рис. 9 CAD-модели механического корпуса, спроектированные в SolidWorks

Экспериментальные результаты и проверка характеристик

Полностью собранная платформа ATE была оценена по физическим, электрическим параметрам и параметрам выполнения в реальном времени.

Рис. 10 Собранная платформа ATE в незагруженном состоянии с видимыми контактами щупов (слева) и с установленным тестируемым устройством (DUT) для тестирования матрицы (справа).

Быстродействие и производительность

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

  • Время сканирования: ручная проверка требовала примерно от 8 s до 20 s на плату. Платформа ATE выполняет полное сканирование матрицы менее чем за 0.4 s после срабатывания микровыключателей.

  • Диагностический вывод: неисправность определяется сразу после извлечения платы с отображением назначенных кодов ошибок (d1–d3 для цифровой, A1–A8 для аналоговой платы) без ручного отслеживания дорожек.

  • Экономическая эффективность: платформа достигла полной функциональности при нулевых капитальных затратах ($0.00) и была полностью собрана из имеющихся в лаборатории деталей (ATmega328P, демультиплексор 74HC138, 7-сегментный индикатор и корпус, изготовленный на 3D-принтере).

Функциональная проверка и охват дефектов

Проверка системы проводилась на целевых тестовых платах в четырёх основных рабочих условиях:

  1. Электрические обрывы и короткие замыкания: прямое логическое сканирование по каналам матрицы 74HC138 успешно выявило оборванные дорожки и перемычки-замыкания между тестовыми каналами.

  2. Проверка механического крепежа: целевые платы с незатянутыми гайками клемм тестировались как на плоском верстаке, так и в приспособлении ATE. На плоском верстаке направленная вверх нормальная сила от рабочей поверхности прижимала незатянутые гайки к переходным отверстиям печатной платы, давая ложные результаты PASS при ручной проверке DMM. На изготовленном на 3D-принтере стенде ATE давление сверху вниз от неподвижных щупов-«бананов» физически отталкивало незатянутые гайки вниз, от переходных отверстий, разрывая целостность дорожки и вызывая истинный результат FAIL.

Временные характеристики задач микропрограммы в реальном времени

Временные характеристики задач микроконтроллера проверялись на соответствие ограничениям неблокирующего цикла. Конечный автомат (appState) выполнял фоновые задачи — включая мультиплексирование индикатора каждые 3 ms, обработку звука/кнопок каждые 10 ms и выборку аналоговой сети A7 каждые 50 ms — без аппаратных задержек-остановок, удерживая время выполнения основного цикла значительно ниже порога 50 ms.

Заключение и перспективы

Заключение

Проект успешно реализовал платформу автоматизированного испытательного оборудования (ATE) на микроконтроллере ATmega328P и имеющихся в лаборатории компонентах. Используя общую шину выводов ввода-вывода, демультиплексирование на 74HC138 и кодирование аналогового напряжения на одном выводе, система максимально использует аппаратные возможности при жёстких ограничениях по числу выводов микроконтроллера. Специальные процедуры микропрограммы — включая дифференциальную импульсную выборку и предварительный заряд конденсатора выборки-хранения АЦП — надёжно оценивают нагруженные линии и аналоговые каналы без подтяжки, не требуя дополнительных компонентов в BOM. Корпус, спроектированный в SolidWorks и напечатанный на 3D-принтере Bambu Lab, физически изолирует управляющую «сэндвич»-плату от нагрузок при проверке, а механическое давление приспособления сверху вниз надёжно выявляет незакреплённый крепёж клемм, который пропускается при ручной проверке DMM.

Перспективы

  • Энергонезависимая регистрация: добавление памяти EEPROM или SD-карты для записи истории диагностических отказов и серийных номеров изделий для отслеживания контроля качества.

  • Автоматический зажим: замена ручного давления при установке платы пневматической или моторизованной механической защёлкой.

© 2026 Авторы статей

Все материалы, содержащиеся в The ARC Journal, могут использоваться со ссылкой на авторов.

Отзывы о журнале, его содержании и статьях просим направлять по адресу info@engineeringcity.am.

Статьи для публикации просим направлять по адресу info@engineeringcity.am. Статьи могут быть написаны на любом языке.