Как вы атакуете новую доску?


24

Вы получаете свою печатную плату обратно от производителя. Это новый дизайн, у вас, конечно, есть все основные детали, но вы знаете, что будут проблемы. Есть слишком много вещей, которые могут вызвать проблемы, например:

  • Ошибки в схеме
  • Ошибки в макете, не найденные ERC / DRC
  • Смещенные части во время пайки
  • Шорты и т.п. во время пайки
  • любая комбинация вышеперечисленного

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

Я попытался начать с минимального количества деталей и деталей, которые нельзя паять вручную (я использую пасту, трафарет и тостер). Обычно это MCU, разъем JTAG и несколько конденсаторов. Затем я постепенно заселяю другие области, проверяя их на наличие проблем.

Этот подход работает, но очень медленно. Я также должен закомментировать / комментировать в любом коде, который предполагает наличие определенного оборудования.

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

РЕДАКТИРОВАТЬ: Я в основном думаю о тех проблемах, которые делают вашу плату мертвой, таких как скрытые шорты для шины питания или что-то, что разрушает MCU.


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

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

2
Когда вы подаете входную мощность, начните с низкого предела тока.
звездный синий

1
Должно быть сообщество вики.
Брайан Карлтон

1
@ Мортен - Ах, имеет смысл. Вы правы, шапки вряд ли вызовут проблемы.
Кевин Вермеер

Ответы:


10

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

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

Просто построй вещь! Соберите всю доску и включите ее. Посмотрите на напряжение питания. Сколько мА это рисует? Какая часть горит горячим? Какая часть теплая? Затем попробуйте записать прошивку на тот микроконтроллер, который находится на плате. Тогда начните писать прошивку. Получите часы и переключите булавку. Получите последовательную (или любую другую) связь. Теперь напишите тестовые программы для каждого периферийного устройства. Затем соберите серийный тестовый прибор и начните писать «настоящую» прошивку.


Редактировать:

Нахождение застрявших рельсов

Если шина питания прилипла к земле (измеряет 0 Ом с помощью омметра), включите ее от источника питания. Установите нормальное напряжение и ограничение тока до нескольких сотен мА. Распечатайте дизайн печатной платы на бумаге и найдите цифровой мультиметр, который измеряет микровольт. Измерьте микровольт, начиная с клемм питания, и запишите падение напряжения на распечатке печатной платы. Наблюдая за различиями в микровольтах, вы можете точно проследить, куда идет ток, без депопуляции или прерывания печатной платы. Эта методика лучше, чем использование омметра, потому что вы можете прокачать большой ток через цепь, больше, чем любой обычный омметр.

Подобная техника работает для поиска коротких следов на заполненной в противном случае доске. Запустите плату и используйте область, чтобы найти «цифровые» трассы, которые находятся в промежуточном диапазоне напряжения.


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

1
Чтобы использовать подход «Просто построй вещь», я думаю, мне нужно заказать более одной платы.
умереть

Я видел, как зонды "писка" использовались для аналогичной цели - чтобы сосредоточиться на коротком замыкании. К сожалению, я не могу найти ссылку на продукт.
Toybuilder


20

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

У меня есть доски любой сложности, протестированные на голой доске. Это стоит дополнительно, но оно того стоит.


3
для того, чтобы сделать это намного быстрее, требуется всего одна серьезная ошибка
Kortuk

11

Я только макет очень маленькие схемы. Затем я припаиваю маленькие схемы к протоплатам. При работе с микросхемами SMD, это помогает получить переходники SMD-> Thru-hole.

Это в основном дает вам «строительные блоки». Затем я припаяю эти блоки схем на комплект разработчика или старую плату с MCU, которую пытаюсь использовать. Это выглядит ужасно, с четырьмя или пятью разными маленькими печатными платами, свисающими с большей, но это работает.

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


Кстати, вместо того, чтобы комментировать код, вы должны изучить использование директив препроцессора #define и #ifdef. Это значительно упрощает добавление и удаление функциональных блоков кода в MCU.


Похоже, как я это делаю, что я считаю очень хорошим способом развития дизайна. Это также позволяет повторно использовать детали позже.
Trygve Laugstøl

9

Для плат любой сложности почти так же важно разработать план тестирования, как и саму плату. Даже на начальном этапе проектирования платы полезно знать, что вы будете тестировать, даже если реализация еще не существует; «дизайн для теста», как говорится. Обязательно подайте ключевые сигналы на контрольные точки. Попробуйте разделить проект так, чтобы отдельные подсистемы можно было запускать независимо или как можно более независимо.


Хм, отличное предложение! По какой-то причине я раньше не задумывался о «дизайне для тестирования» в этом контексте.
умереть

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

8

Я предполагаю, что один ключевой вопрос: что такое контрольный список перед полетом, прежде чем вы выпустите доску в производство. Мой предполетный список:

  1. Схематическое проектирование
    1. Сетевые имена и нестандартные порты
    2. Контакты питания подключены
  2. Схема ДРК
  3. Скраб для ног
    1. Полный номер детали производителя
    2. Номер детали соответствует разметке на печатной плате и распиновке на схеме
    3. Пин-код посадочного места "правильной стороной вверх" и правильный
    4. Размеры следа дважды проверяются на предмет размеров отверстий, зазоров, проходов и т. Д.
    5. Соединительные разъемы ориентированы правильно; контакты 1-к-1, 2-к-2 и т. д.
  4. Размеры платы и отверстия
  5. PCB DRC
  6. Fab Drawings имеет все слои и вызовы.

Этот ответ сообщества вики.


5

То, что сказали другие парни, все верно, но я бы хотел добавить свои 2 цента.

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

За последние 20 лет, и, спроектировав десятки и десятки печатных плат (некоторые с 14 слоями и 2000 компонентов), у меня было только две печатные платы, которые были непригодны для первого раунда прототипов. Конечно, у меня были ошибки, но только две доски были «заложены кирпичом».

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

Ничего из этого не было бы возможным без значительных усилий по устранению ошибок.


Некоторые производители (например, 4pcb) даже предлагают бесплатные тесты DFM на ваших герберах. Эти бесплатные тесты - хорошее дополнение к DRC инструментов вашей печатной платы.
ajs410

4

На совершенно новом дизайне я обычно придерживаюсь принципа «разделяй и властвуй».

Я пытаюсь изолировать основные архитектурные блоки и включать каждую секцию независимо, используя переключатели / источники постоянного тока / потенциометры и т. Д., Чтобы смоделировать зависимости, необходимые для работы схемы.

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

Доски со вторым / третьим спинами (зачистками) обычно не нуждаются в таком усердии. Я могу только изолировать части схемы, которые были изменены, протестировать их независимо и сохранить тестирование остальной части схемы для полного включения питания.

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


1
+1 для защиты глаз / ушей! Однажды я услышал взрывной ЦАП со всей лаборатории - у парня, который работал над ним, было временное слепое пятно в его видении в течение 5 минут!
Toybuilder

3

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

Если есть какие-либо элементы дизайна, которые не были протестированы, вместо того, чтобы заниматься совершенно новым дизайном на одной плате, я стараюсь создавать испытательные платы с проверкой концепции и с проверкой производительности на дешевых прототипах печатных плат (таких как служба BareBonesPCB от Advanced Circuit - два слои, без маски припоя, около $ 80 за 24 часа).

Даже когда я делаю полную доску, на платах первого поколения мне нравится вставлять множество заголовков. В некоторых случаях вы можете заполнить две идентичные печатные платы, одну со «стабильной» частью, с выводами заголовка, выходящими вверх; и другой с "испытательной" частью, с нижними входными гнездами. Если все в порядке, вы можете закончить заполнение обеих плат. Или вы можете запустить новые версии схемы «тестирования», которые вы можете заменить на свои места.


заголовки хороши, особенно если вам нужно переделать или добавить функции позже, или вам нужны импровизированные результаты отладки. Мне также нравится идея создания BareBones для маленьких протос ... возможно, я просто сделаю это сам
ajs410
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.