Вступление

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

Чаще всего, когда речь заходит о стендах тестирования электронных устройств, мы представляем массовое производство. Там подобные стенды не просто правило хорошего тона, а острая необходимость. И это правильный подход! На эту тему есть пара интересных статей: «Как выглядит тестирование электроники Flipper Zero», «Серийное производство электроники в России. Автоматизация тестирования».

На поточных производствах обычно используют готовые решения для тестирования и отладки устройств, такие как PCBA Test, Semco Machine Corporation или INGUN. Для первичной отладки оборудования готовые решения могут не подойти: у них большие габариты (стенд может занимать треть стола Embedded-разработчика), компоненты таких стендов труднодоступны для модификации.

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

В этой статье мы поделимся опытом создания стендов для отладки.

Пример устройства

Допустим, вы разработали электронное устройство. Оно вставляется в корпус так, что свободного пространства для установки разъемов отладки не остается. Заказывать дорогостоящие решения (о которых говорили выше) может быть либо нерентабельно, либо нецелесообразно по срокам изготовления. Как быть? В таком случае мы разрабатываем стенд для тестирования и отладки (далее – стенд), который включает в себя тестируемую плату (далее – DUT (device under test)), механическую оснастку для крепления DUT и плату управления стенда. Механическую оснастку легко напечатать на 3D-принтере.

Ниже приведен пример такого DUT – пульт на базе nRF52, который должен уместиться в пластиковом корпусе. Все компоненты этого пульта расположены только с одной стороны.

Вид платы в среде разработки и ее фотография в собранном виде
Вид платы в среде разработки и ее фотография в собранном виде
Даже платы, бывает, печатаем

Чтобы пощупать будущее устройство, оценить его габариты и размещение компонентов, мы экспортируем его 3D-модель из CAD'а для разработки плат и печатаем на 3D-принтере. Это стандартная процедура при разработке плат, которые входят в другие платы или корпуса, – проверка на собираемость.

Слева – 3D-модель пульта, напечатанная на FDM-принтере соплом 0,4 мм и высотой слоя 0,2 мм, справа – на SLA с высотой слоя 35 мкм. Логика поэтапной печати на обоих принтерах очень проста: FDM-принтер напечатал устройство посредственного качества за 13 минут, а SLA напечатал за 3 часа, но с высоким качеством (подняли от стола на 5 мм, плата под углом, поддержки – классика). Первые грубые прикидки делаем на FDM, а финальную проверку всех тонкостей – на SLA.

Погопины

Разрабатываемый пульт будет подключаться к стенду через погопины. В пульте нет больших потребителей тока, поэтому для качественного подключения достаточно тонких погопинов типа P50-J1 с полусферическим контактом (фото ниже). У таких погопинов много преимуществ – за счет полусферической формы контакта они будут иметь большую эффективную площадь контакта. А минимальный рекомендуемый шаг между контактными площадками составляет всего 1,27 мм, что значительно ниже чем для погопинов 75-й (1,91 мм) или 100-й серии (2,54 мм).

Что выводим на тест-поинты? Прежде всего, пины программирования (JTAG, SWD) на каждый микроконтроллер/ПЛИС в DUT, поскольку отладка и заливка прошивки – важный этап отладки DUT. Во-вторых, контактные площадки для кнопок и GPIO управления – они нужны для тестирования срабатывания и обработки откликов нажатий. Еще пригодятся интерфейсы (SPI, UART, I2C и т.д.), через которые можно посылать информацию на стенд либо «подслушивать» сообщения между функциональными узлами. Среди прочего надо не забыть про питание – как про его подачу через стенд, так и про его контроль на DUT при помощи АЦП на плате управления стенда (измерение напряжения, тока, переключения между напряжениями, если предусмотрено в DUT, и т.д.). Если на DUT несколько разных питающих напряжений, то для удобства на каждом питании можно использовать светодиоды, сигнализирующие о наличии каждого вида питания (пример на фото ниже). Результаты проверки питания с помощью АЦП на плате управления стенда тоже можно выводить на светодиоды.

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

Крепежная оснастка

Теперь мы можем подключаться к нашему DUT и даже получать с него информацию. Но для начала позаботимся о надежной механической фиксации на стенде. Для этих целей чаще всего используют PCBA Test, Semco Machine Corporation или INGUN. Но у нас уже были закуплены крепления (фото ниже), а наши инженеры полны энтузиазма и любят 3D-печать.

Видно, что на крепеже GH-201-B предусмотрен резиновый «палец», который при защелкивании красного рычага надавливает на плату. Первые попытки не увенчались успехом: «палец» надавливал на большую BGA-микросхему, установленную на плату, а ответная часть содержала встречные крепежные ограничители, фиксирующие плату. Как результат – растрескивание шаров с последующей перепайкой BGA. После доработок оснастки мы заменили «палец» на крышку, которая равномерно давит на свободные участки платы. Результат на фото ниже.

Поскольку погопины длинные и тонкие, они могут изгибаться при надавливании, а это чревато тем, что они могут сдвинуться и подключиться куда-нибудь «не туда». Поэтому в ложементе оснастки нужно предусмотреть направляющие отверстия достаточной глубины. Для рассматриваемых P50-J1 будет достаточно 10 мм. Диаметр отверстий – от 0,8 до 1,0 мм (точная величина зависит от режимов и филаментов) при диаметре погопина в 0,68 мм, поскольку FDM-принтер печатает с погрешностями. Если погопин все же не влезает, то нужно слегка досверлить отверстие сверлом 0,8 мм.

Пример стенда для пульта

Вернемся к нашему пульту. Для его механической фиксации мы использовали крепеж P2458A. Крепеж фиксирует крышку оснастки, которая закрывается сверху и надавливает на свободные участки платы.

Результирующий вид стенда
Результирующий вид стенда

Плюсы подобных стендов:

  • малые габариты;

  • легкость и скорость внесения правок «по ходу», оснастку можно заново распечатать на 3D-принтере;

  • условно легкая и дешевая масштабируемость: если нужно сделать пару-тройку штук – просто печатаем и собираем.

На что стоит обратить внимание при проектировании стендов?

Во-первых, на каком 3D-принтере вы будете печатать? Наш опыт подсказывает, что самые крепкие и износоустойчивые детали получаются на FDM-принтерах. Но главная проблема FDM – точность. Это особенно заметно, когда нужно состыковать несколько деталей. Поэтому при печати на FDM мы всегда закладываем допуск по направлению печати XY – от одного до двух диаметров сопла. Ну и напомним, что филаменты PETG и ABS более дружелюбны к постобработке, чем PLA (сверление, напильник, наждачка и т.д.).

Во-вторых, нужно предусмотреть защиту от КЗ. Такой стенд будут бросать на стол, где могут лежать металлические предметы, на которые так любят попадать торчащие хвостики погопинов. Достаточно добавить на стенд пластиковое дно, которое защитит от КЗ.

В-третьих, как мы писали выше, не стоит давить на корпуса микросхем, лучше надавливать на свободные участки печатной платы, и желательно максимально равномерно.

В-четвертых, вынесите кнопки на поверхность стенда – когда DUT в стенде, бывает сложно до них дотянуться.

В-пятых, не забывайте про питание. Если ваше устройство работает от батареек, то предусмотрите питание как от батареек/аккумуляторов, так и от внешнего блока питания, т.к. процессы перепрошивки устройства (стирание и запись Flash-памяти) могут быстро высаживать маломощные батарейки (к примеру, LR44, CR2016, и т.д.).

Ну и напоследок еще один совет: облегчите жизнь будущим пользователям вашего стенда, сделайте его компактным и мобильным. И не забывайте о короткой инструкции по использованию ;)

Raccoon Security – специальная команда экспертов НТЦ «Вулкан» в области практической информационной безопасности, криптографии, схемотехники, обратной разработки и создания низкоуровневого программного обеспечения.

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


  1. VT100
    25.08.2021 21:01
    +4

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

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


    1. RaccoonSecurity Автор
      27.08.2021 13:43
      +1

      Да, совершенно верно! Мы это отмечали в своей статье в пункте про питание от батареек. В нашем конкретном примере мы использовали держатель BAT-HLD-001

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


      1. VT100
        27.08.2021 20:40

        Поясню. Надо проверить работу и с повышенным сопротивлением источника питания. Однажды влетел на доработку (пусть и небольшой серии) не учтя "слабость" заложенного элемента питания.


  1. ruomserg
    26.08.2021 06:59
    +3

    Супер-статья! Тоже собираемся подобное делать…

    Кстати, для увеличения точности печати отверстий можно попробовать следующие способы (и их комбинации):

    — Уменьшить в слайсере External perimeter width до 0.3мм или меньше (даже если это меньше диаметра сопла). Поскольку принтер печатает external perimeters в конце — оно уже поджато внутренними периметрами и ложится нормально.

    — Печатать не круглые отверстия, а описанные вокруг него квадраты или треугольники. Филамент в расплаве тянется при изменении направления движения головы. Поэтому квадрат намного более предсказуем в размерах, чем окружность малого диаметра

    — Уменьшать скорость external perimeters, т.к. диаметр малых форм очень сильно зависит от скорости. Можно еще вентилятор включить процентов на 20-40 если материал позволяет (PETG).


    1. RaccoonSecurity Автор
      27.08.2021 13:45
      +1

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


  1. le2
    27.08.2021 16:08
    +1

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

    Потом оказалось что что быстрее, дешевле и качественнее заказать кастомный стенд в китае - каждый завод там это может и имеет соответствующий цех. (электроника наша).


    1. vau
      01.09.2021 10:22

      Приветствую. Можете раскрыть тему по подробнее. Что за инфу надо предоставлять китайцам что-бы получить от них максимум полезного? А то мы самопал уже переросли, но до INGUN-а еще не доросли


      1. le2
        01.09.2021 11:24
        +1

        я думаю что все эти INGUN, Spea и прочие это деньги на ветер. Не нужно туда смотреть при российских объемах. Оснастки это расходный материал. В идеале плата сама должна себя тестировать в самопальной оснастке. Лучше в Китае заказать 10 оснасток и потом при производстве менять только иглы при износе (обычно и это не требуется).
        Мои платы все в Альтиуме целиком в 3Д со всеми компонентами. То есть можно выслать Step, плоские слои Автокада где указать контактные точки где какие должны быть иглы. У меня два типа - острые и в виде короны на штырек разъемов.
        Также мои платы обычно без крепежных отверстий, по которым все обычно позиционируют платы в оснастках толстыми направляющими (иглами). Это не беда - китайцы фрезеруют ложемент под плату.
        Короче высылайте им все что есть. Они сами скажут что требуется. Через три недели уже можно получить готовую работу.


        1. vau
          02.09.2021 09:56

          Благодарю! Ваши комментарии полезны и своевременны.


  1. juray
    06.09.2021 00:55
    +1

    необходимо выводить как можно больше доступных интерфейсов


    Я, помнится, довольно быстро приобрел такую привычку — выводить практически все неиспользуемые выводы МК на «тупиковые» переходные отверстия. Не столько для тестирования, сколько чтобы облегчить использование серийной платы в качестве макетной для следующей модификации.

    И кстати, в переходные отверстия, открытые от маски, очень удобно тыкать щупом осциллографа — на обычных тест-площадках он может соскальзывать, а так отверстие фиксирует остриё.

    А если позволяет плотность монтажа и не требуется следить за волновым сопротивлением и прочими ВЧ параметрами — можно переходные отверстия делать настолько большими, что щуп в них можно просто вставить и он там держится. И еще в такие отверстия можно удобно запаять провод перемычки (или подключения дополнительной субсхемы на отдельной маленькой платке).