Представьте стартап в области медицинских технологий в 2018 году. До срока подачи документов в FDA осталось три недели, у них есть производственная партия из 2000 единиц, которая обязательно должна работать. Чтобы доказать свою серьезность инвесторам, они заказали «Золотой стандарт» производственного тестирования: индивидуальный тестер In-Circuit Test (ICT). Это прекрасный кусок обработанного алюминия, просверленный сотнями отверстий для пружинных зондов, предназначенный для проверки каждого резистора и конденсатора на плате. Он стоил $35 000 и занял восемь недель на изготовление.

Но когда тестер наконец прибывает на загрузочную площадку, возникает проблема. Компоновка платы должна была немного измениться в «Rev B» для устранения тепловой проблемы. Монтажные отверстия сместились на три миллиметра.
Теперь тестер — это пресс-папье стоимостью тридцать пять тысяч долларов. Его нельзя модифицировать; его нужно утилизировать. Стартап потерял $35 тыс. и два месяца времени, и они до сих пор не протестировали ни одной платы.
Этот сценарий постоянно повторяется в разработке аппаратного обеспечения. Инженеров учат добиваться «100% покрытия» и часто они по умолчанию используют тяжелое оборудование, применяемое такими гигантами, как Apple или Dell. Но физика — это просто по сравнению с экономикой. Когда вы производите 500, 2000 или даже 5000 единиц, математика традиционного «Большого железа» для тестирования перестает работать. Вам нужна стратегия, которая ставит гибкость выше скорости и функциональную реальность выше структурного совершенства.
Почему «Золотой стандарт» подводит вас
При массовом производстве — подумайте о 100 000 единиц в месяц — ICT король. Тестер «Кровать из гвоздей» зажимает плату, и за шесть секунд он точно скажет, какой резистор 0402 имеет неправильное значение. Это быстро, точно и невероятно дорого. Стоимость разработки (NRE) тестера, программирования и отладки может легко достигать $15 000 до $50 000. Если вы производите миллион единиц, эта стоимость амортизируется до копеек за плату. Если вы производите 1000 единиц, вы платите налог в $15 на каждое устройство только за право его тестировать.
И именно здесь многие команды путаются между «прогоном на выгорание» (Burn-In) и «тестом». Вас может соблазнить идея заказать обширные стойки для прогонов на выгорание, чтобы поймать ранние отказы, думая, что это заменит необходимость в тестере. Это не так. Прогон на выгорание — это стресс-тест для выявления детской смертности — компонентов, выходящих из строя после 48 часов нагрева. Он показывает, выдержит ли плата служит. Он не говорит вам, было ли это сделано правильно с самого начала. Вы не можете прожечь плату, на которой есть мостик припоя на силовой шине; вы просто прожжёте отверстие в печатной плате. Вам всё равно нужен способ проверить качество сборки без покупки алюминиевого устройства.
При малосерийном производстве время цикла не имеет значения. Реальными врагами являются фиксированные затраты и жёсткость. Тестовая плата с «гвоздями» требует «заблокированного» дизайна. Если вы переместите тестовую точку, приспособление выйдет из строя. В хаотичном мире внедрения новых продуктов (NPI), где ревизия C следует за ревизией B в течение месяца, блокировка дизайна для приспособления — стратегическая ошибка. Вам нужен метод тестирования, который может адаптироваться так же быстро, как ваш разработчик разводки может прокладывать трассы.
Летающий зонд: обмен времени на деньги
Немедленной альтернативой фиксированному приспособлению является летающий зонд. Представьте себе большую машину, где вместо одновременного зажима сотен гвоздей четыре-восемь роботизированных рук быстро перемещаются по плате, касаясь тестовых точек по одной. Это похоже на научно-фантастического хирургического робота.
Магия здесь в том, что приспособления нет. Вы загружаете CAD-данные (файлы ODB++ или Gerber) в машину, указываете, где находятся компоненты, и она сама определяет, как их тестировать. Если в следующей ревизии вы переместите резистор, просто загрузите новый файл. NRE снижается с $20,000 до, возможно, $2,000 для настройки. Компромисс, конечно, во времени. В то время как тест с «гвоздями» занимает секунды, летающий зонд может занять от трёх до шести минут на плату в зависимости от плотности компонентов.
Посчитайте. Если вы производите 1,000 единиц, дополнительные четыре минуты на плату — это примерно 66 часов машинного времени. Это незначительно по сравнению с неделями ожидания изготовления приспособления. Однако у летающего зонда есть явное ограничение: он в первую очередь является структурным тестом. Он проверяет, присутствуют ли компоненты и соединены ли паяные соединения. Обычно он не может включить плату и взаимодействовать с прошивкой, потому что не может одновременно удерживать все силовые и сигнальные контакты. Он сообщает, что корпус собран, но не жив ли мозг.
Функциональный тест: действительно ли он загружается?
Это заставляет критически осознать для малосерийного оборудования: покрытие функционального теста (FCT) часто ценнее, чем структурное покрытие. У вас может быть плата, где каждое паяное соединение идеально, каждый резистор измеряет 10 кОм, и плата всё равно не работает, потому что кварцевый генератор неправильной частоты или флэш-память выходит из строя по времени.
Вспомните инцидент «Призрак в флюсе». Партия плат периодически выходила из строя в эксплуатации, вызывая хаос. Структурные тесты проходили каждую единицу. Оказалось, что контрактный производитель использовал специфический «no-clean» флюс, который при высокой влажности (около 90% в неотапливаемом складе) становился слегка проводящим. Ни одно измерение сопротивления этого не выявило. Только функциональный стресс-тест — включение и запуск — выявил неисправность.
Вы должны разделять «Производственный тест» и «Сертификацию». Клиенты часто паникуют и спрашивают, покрывает ли функциональный тест соответствие FCC или UL. Нет. Соответствие — это юридическая проверка, проводимая один раз специализированной лабораторией. Производственный функциональный тест — это экзистенциальная проверка каждой единицы: загружается ли устройство? Может ли оно общаться? Стабильны ли шины питания? Для серии из 2,000 единиц знание того, что ваше устройство загружается и общается по USB, стоит бесконечно больше, чем знание того, что R204 точно в пределах 1% допуска.
Стратегия: прошивка бесплатна, алюминий дорог
Умная стратегия для малосерийного производства — совместное проектирование. Вы заменяете дорогое алюминиевое приспособление бесплатной прошивкой. Это нельзя добавить после завершения дизайна; это должно быть в схеме.
Вам нужно разработать «Фабричный режим» в вашем устройстве. Это специальное состояние прошивки, активируемое физическим действием — подтягиванием GPIO к земле, удержанием кнопки при загрузке или получением определённой команды по UART. Когда плата просыпается в этом режиме, она не должна ждать пользователя; она должна сразу запускать самотестирование. Она проверяет свои внутренние шины, опрашивает акселерометр, пытается записать и прочитать EEPROM, а затем сообщает результат.
Физически это просто. Вам не нужна стойка $50k. Вам нужен USB-кабель, простой зажим с пого-пинами для отладочного разъёма (Tag-Connect здесь спасение) и ноутбук с Python-скриптом. Если хотите, используйте Raspberry Pi. Оператор подключает устройство, скрипт слушает сообщение «Я жив» от прошивки и записывает серийный номер в Google Таблицу. Общая стоимость оборудования: $200. Общие NRE: неделя работы вашего инженера по прошивке.

Но вы должны быть жесткими в отношении «Физичности» этого процесса. Если вы спрячете USB-порт за кронштейном или если отладочный разъем будет скрыт под батареей, вы нарушите процесс. Я не собираюсь учить вас писать код на Python — это стандартное домашнее задание — но скажу, что если вы не выведете эти тестовые точки на край платы, вы выбираете потратить деньги на рентген позже.
Человек в цепочке
Существует устойчивый миф среди оптимистичных основателей технологий о «Производстве без людей» — фабрике, где роботы делают всё. На самом деле, при выпуске 3000 единиц оператор-человек всегда дешевле, чем роботизированная рука. Ваша тестовая стратегия должна быть рассчитана на человека, который устал, скучает и уже шесть часов подключает кабели.
Если ваш тест требует, чтобы оператор вручную подключал двенадцать разных разъемов, вы гарантируете сбой. Я видел линии, где операторы, уставшие от повторений, начинали вставлять разъемы DB9 под углом, повреждая разъемы на плате. К плате #50 «тест» фактически разрушал продукт.
Проектируйте для человеческой руки. Используйте ключевые разъемы, которые нельзя вставить неправильно. Используйте сканер штрих-кодов, чтобы не приходилось вводить серийные номера вручную. И самое главное — минимизируйте физические действия, необходимые для запуска теста. В идеале они подключают один кабель, и тест запускается автоматически. Если им нужно нажать «Старт» на экране, они в конце концов забудут нажать или нажмут дважды.
Вердикт «Стоимость ухода»
Это холодный расчет риска. Мы называем это «Стоимостью ухода». Если вы потратите $50 000 на полное ICT-приспособление, вы можете обнаружить 99.9% дефектов. Если вы потратите $2 000 на умную установку функционального теста, вы можете обнаружить 99.0%.
Стоит ли эта разница в 0.9% $48 000? Если вы производите кардиостимуляторы — да. Если вы производите потребительские IoT-устройства, где отказ в поле означает просто отправку заменяющего устройства за $50, то абсолютно нет. Не позволяйте погоне за теоретическим совершенством разорить ваш производственный цикл. Встраивайте тест в код, уважайте оператора и отправляйте оборудование.
