На Западе очень любят различные процедуры и красивые сокращения. Но на самом деле, эти три сокращения обозначают обычную разработку с учетом возможностей производства и сборки.
- DFM - Design For Manufacturing. То есть, конструирование для производства.
- DFMA - Design For Manufacturing and Assembly. То есть, конструирование для производства и сборки.
- DFA - Design For Assembly. То есть, конструирование для сборки. Часто это просто более короткое сокращение для DFMA.
Мы не будем погружаться в тонкости этих процедур и процессов, так как это уведет нас слишком далеко в сторону. Поскольку канал, по большей части, посвящен связанным с электроникой темам, будем рассматривать только разработку и изготовление электронных устройств. Причем большей частью не абстрактно, а на примере силового модуля электронной нагрузки, ссылку на схему которого я давал в конце статьи
Более того, ограничимся лишь некоторыми вопросами, связанными с печатной платой.
Помогут нам в этом KiCad и NextPCB. Сначала кратко рассмотрим общие вопросы, а потом перейдем к практике.
Почему именно KiCad и NextPCB
Все очень просто, здесь нет никаких тайн:
- KiCad один из основных моих рабочих инструментов и является одним из самых популярных бесплатных EDA с открытым кодом. При этом он активно развивается и позволяет реализовать практический полный цикл разработки/конструирования: создание принципиальных схем, математическое моделирование, проектирование многослойных печатных плат, создание файлов для производства печатных плат, просмотр файлов для производства печатных плат, создание файлов размещения компонентов для сборки печатных плат. Не хватает лишь возможности конструирования корпусов, но здесь может выручить, например, FreeCAD. На канале опубликован и цикл статей о KiCad, с достаточно подробным описанием работы с ним.
- NextPCB, прежде всего, предоставляет те инструменты, которые мы сегодня и будем рассматривать. Причем эти инструменты бесплатны. Кроме того, после ухода весной 2023 года из России JLCPCB, который был весьма популярен у любителей и небольших компаний, и некоторых других производителей печатных плат, у многих возникли проблемы. Одним из популярных вопросов на форумах стал "Где теперь заказывать печатные платы?". А NextPCB работает с Россией. К сожалению, сайт NextPCB поддерживает только два языка — английский и японский, русского языка нет.
Кратко о терминологии
- "Design" это "Конструирование" или "Проектирование". Это можно считать частично пересекающимся с термином "Разработка" - "Development". Мы же чаще всего будем использовать единый термин "Разработка".
- "Manufacturing" это "Производство". Но мы сегодня будем считать производством лишь процесс изготовления печатной платы, без установки на нее компонентов.
- "Assembly" это "Сборка". Мы будем понимать под сборкой установку компонентов на готовую печатную плату.
Разработка и конструирование, влияние вопросов производства
С одной стороны, разрабатываемое устройство должно обеспечить выполнение заданных функциональных требований и соответствовать заданным параметрам. С другой стороны, всегда есть ограничения в виде доступности различных компонентов и материалов, а так же, технологических возможностей производства. Мы должны все это учитывать, если конечно действительно хотим получить готовое электронное устройство, причем даже в единственном экземпляре. Денежные вопросы и сроки разработки и изготовления тоже нельзя игнорировать.
Оставим пока в стороне функциональные требования. Оставшиеся ограничения напрямую связаны с вопросами производства.
Схемотехника, выбор компонентов и материалов
Нет смысла использовать электронные компоненты, которые невозможно приобрести в достаточном количестве. Менее очевидно, что могут существовать дополнительные ограничения. Например, могут потребовать использовать совершенно конкретные компоненты, которые уже используются в других устройствах и закупаются в больших количествах. Даже если их параметры явно излишни для вашего устройства.
На выбор могут повлиять и требования к надежности, и сроки поставки. Часто приходится учитывать условия работы устройства. Так для работы в условиях вибрации используемые компоненты должны предусматривать возможность дополнительного механического крепления.
SMD компоненты позволяют уменьшить размер печатной платы и всего устройства, но их сложнее устанавливать, что требует более высокой квалификации монтажников. Выбранный вариант корпуса компонента может оказаться неудобным при сборке. И это уже производственные факторы. То есть, схемотехник должен выбирать используемые компоненты не только исходя из расчетных параметров, но и с учетом множества дополнительных факторов.
Используемые материалы тоже могут влиять на работу схемотехника. Так материал печатной платы влияет на параметры ВЧ и СВЧ устройств. Для отвода тепла в герметичных корпусах может потребоваться использовать печатные платы с металлическим основанием. А это влияет на расчет теплового режима и выбор электронных компонентов.
Но мы сегодня будем считать, что этап схемотехнического проектирования завершен.
Проектирование печатной платы
После окончания разработки принципиальной схемы устройства, но чаще параллельно, начинается разработка печатной платы. При этом, в первую очередь, учитывается множество правил и требований, которые к производству непосредственного отношения не имеют. Это правила взаимного размещения компонентов, обеспечение электромагнитной магнитной совместимости, выбор толщины меди и ширины дорожек в зависимости от протекающего тока, взаимное расположение и длина дорожек, и многое другое.
Но нужно учитывать и технологические ограничения производства. Причем не только для печатной платы, но и для всего устройства. Например, существуют ограничения на минимальную ширину дорожек печатной платы и расстояние между ними. Размеры контактных площадок должны выбираться с учетом типа монтажа и пайки. Для ручной пайки нужны размеры побольше, а для автоматической установки SMD компонентов и пайки оплавлением поменьше.
Учитываются и условия работы устройства, которые могут потребовать дополнительных механических креплений компонентов или заливки собранной платы компаундом. И определяемые корпусом устройства размеры печатной платы и расположение крепежных отверстий, расположение элементов индикации и регулировки.
В общем случае, печатные платы делятся на несколько классов сложности. В KiCad можно найти вот такую таблицу
Чем выше класс сложности, тем более высокие требования предъявляются к точности ее изготовления, что сказывается и на стоимости, и на самой возможности изготовления. Сложные печатные платы часто многослойные, что может вызвать дополнительные ограничения со стороны производителя. Например, могут не поддерживаться микро-переходные отверстия или глухие переходные отверстия. Я повторю иллюстрацию из своей статьи
Если вы самостоятельно изготавливаете печатные платы, то конечно знаете свои технологические возможности. Если печатные платы где-то заказываются, то всегда нужно знать возможности выбранного производителя. Например, для NextPCB они будут такими "PCB Capabilities". Это нам сегодня понадобится.
Важно понимать, технологические возможности это лишь предел, а не руководство к действию.
Мы сегодня будем считать, что топология печатной платы уже разработана. Печатная плата двухсторонняя.
Почему DRC недостаточно
Редактор печатных плат KiCad поддерживает "Правила проектирования" - "Design Rules". В общем и целом, можно упрощенно рассматривать правила проектирования как способ задать предел технологических возможностей для конкретной печатной платы, хотя это не совсем так. Но даже если просто сравнить список правил проектирования KiCad с указанными на сайте NextPCB ограничениями, то будет видно, на уровне KiCad далеко не все можно указать и проверить. Мы скоро к этому вернемся.
Соблюдение правил проектирования при разработке печатной платы частично выполняется автоматически. Но ведь мы всегда можем изменить правила уже в процессе работы. При этом уже готовая часть платы автоматически не будет перестроена. Поэтому предусмотрена и возможность выполнить отдельную проверку правил проектирования, "Design Rules Check "(DRC), которая обычно выполняется после завершения разработки.
Важно понимать, что проверка правил проектирования относится лишь к печатной плате во внутреннем формате KiCad. Эта проверка никак не касается создания файлов для производства печатной платы. Если файлы для производства будут сформированы с ошибкой, или производитель их интерпретируется с ошибкой, то печатная плата получится бракованной. Об одном таком случае я писал в статье
Таким образом, выполнение DRC не может полностью гарантировать, что ваша печатная плата не вызовет проблем при производстве. Кроме того, производитель не может заглянуть в голову разработчиков и узнать, хотя бы, назначение печатной платы. У него есть только предоставленные нами файлы. И нет, да и не может быть, схемы нашего устройства.
Поэтому производитель всегда выполняет проверку предоставленных нами файлов. И это будет уже не проверка правил проектирования, а проверка соблюдения технологических возможностей. Как минимум. Проверку того самого DFM. Если будут обнаружены ошибки, то или о них будет сообщено вам, как заказчику, для исправления ошибок, или ошибки исправит производитель, что может повлиять на цену, или плата будет изготовлена "как получится", если вы отказались исправлять ошибки.
Кроме того, производитель может не просто проверить соответствие вашей платы своим технологическим возможностям, но и учесть сложность платы в стоимости выполнения заказа.
Поэтому всегда интересно и полезно, знать, как нашу плату видит производитель. Это позволит заранее обнаружить и исправить ошибки, даже если вы их таковыми не считаете. И позволит сократить время выполнения заказа, ведь не будет лишней переписки. Но может и сэкономить ваши деньги.
А это уже прямо подводит нас к теме статьи и тем инструментам, которые предлагает NextPCB. Причем предлагает в явном виде, буквально настаивает на этом, и бесплатно. Ну а мы сейчас посмотрим, как эти инструменты работают и насколько могут быть полезны.
Инструменты проверки DFM и DFMA, предлагаемые NextPCB
Еще раз отмечу, что нас сегодня интересуют только инструменты, которые мы, как заказчик, можем использовать для проверки печатной платы перед размещением заказа. И не удивительно, что у всех производителей, которые такие инструменты предоставляют, они ориентированы на их собственные возможности. Более того, обычно предполагается, что после проверки вы разместите заказ именно у них. Будем просто держать это в уме.
NextPCB предлагает два инструмента, которые обладают разными возможностями. Оба инструмента можно найти на странице "HQDFM Free Online Gerber Viewer and DFM Analysis Tool".
- Online Gerber Viewer. Исходя из его названия можно предположить, что это довольно простой инструмент, который позволяет увидеть наши платы (файлы) глазами производителя. Кроме отображения платы он позволяет и выполнить ее проверку.
- DFM Analysis Tool, который уже требует установки на ваш компьютер. Судя по названию, это более серьезный инструмент, который позволяет проанализировать печатную плату, а не только увидеть, как она выглядит. Кроме проверки DFM эта программа позволяется выполнить и проверку DFMA, то есть, проверку возможности и корректности сборки печатной платы (установки компонентов) производителем. Но об этом поговорим отдельно, в следующей статье.
Что бы увидеть отличие от обычного интерфейса заказа печатных плат, мы кратко (очень кратко) взглянем и на него. Для сравнения. Но сначала посмотрим нашу плату глазами KiCad
Наша печатная плата
Ссылку на статью со схемой силового модуля электронной нагрузки я уже давал в начале статьи. Давайте посмотрим, как выглядит печатная плата для этого модуля в редакторе печатных плат KiCad версии 7.0.10
Эта плата была разработана для самостоятельного изготовления и ручной пайки, но позже заказывалась и на JLCPCB, причем никаких проблем с ней обнаружено не было. Нужно отметить, что для платы установлена точка начала координат - верхний левый угол платы. Там же находится и начало координат для размещения компонентов и сверления.
В трехмерном виде плата выглядит так
Вот это и будет нашей точкой отсчета. Для платы сформированы gerber файлы со слоями F.Cu, B.Cu, F.Mask, B.Mask, F.Silkscreen, B.Silkscreen. Edge.Cuts. Так же сформированы файлы сверловки NPTH.drl и PTH.drl. Давайте загрузим эти файлы в KiCad Gerber Viewer. Выглядеть наш набор файлов будет примерно так
Такой нашу плату и должен увидеть производитель. Ну а что получится, мы сейчас и посмотрим.
Вид в интерфейсе заказа печатной платы
Что бы увидеть, чем инструменты проверки DFM NextPCB отличаются от типичного интерфейса заказа печатных плат и оценить целесообразность их использования, давайте начнем с самого просто, чем чаще всего и пользуется обычный заказчик, тем более, любитель. Но раз уж я упоминал, что плата заказывалась (без ошибок) на JLCPCB, давайте сначала посмотрим, как этот производитель ее увидел. Загрузим наши файлы (в виде ZIP архива) в окне заказа JLCPCB
Хорошо видно, что проблем не обнаружено (хотя потом производитель выполнит дополнительную проверку), внешний вид верный, размеры определены верно. Так что с платой действительно все в порядке. Теперь загрузим те же самые файлы на странице "Get Online PCB Quote" NextPCB. Но нас ждет немного неожиданный результат
На мгновение появляются изображения двух сторон нашей платы, на которых видно, что производитель все увидел верно, но затем этим изображения исчезают и вместо них появляется уведомление с просьбой проверить автоматически полученные из gerber файлов параметры платы. При этом все определилось верно, ошибок нет, можно просто выбрать количество плат и заказ будет сформирован. Что бы было более наглядно, я записал небольшое видео
При этом чуть ниже окна, в котором должно быть изображение печатной платы, есть ссылка на "Online Gerber Viewer Pro". И это совершенно прозрачно намекает, что нам настоятельно рекомендуют воспользоваться одним из инструментов проверки DFM NextPCB. Или мы можем просто разместить заказ, если успели разглядеть плату и уверены, что ошибок нет. Правда здесь появилась добавка Pro, но это именно тот же самый инструмент.
Мы можем просто кликнуть по ссылке, при этом мы увидим окно Online Gerber Viewer с уже загруженными нами файлами, или перейти на страницу "HQDFM Free Online Gerber Viewer and DFM Analysis Tool" через меню сайта и загрузить наш архив с файлами. Результат будет абсолютно идентичный. Вот так это выглядит в браузере
В середине экрана мы видим нашу плату, хоть она и выглядит не совсем так, как в KiCad. Слева расположилось окно выбора слоев, но часть слоев выключена. Поведение окна выбора слоев не совсем привычное. Мы можем только погасить слой или включить его, это делается одиночным кликом. Двойной клик выключает все слои и включает указанный. Давайте включим все слои нажав кнопку "Open All" над списком слоев. Теперь наша плата стала выглядеть почти похоже на KiCad Gerver Viewer
Но не видны отверстия под выводы. Давайте это исправим, кликнем два раза, с небольшой паузой между кликами, что бы это не было воспринято как двойной клик, по слою Drl. Теперь стало совсем похоже
Но действительно ли производитель не обнаружил никаких ошибок? Увы, обнаружил. Справа от окна с изображением платы располагается окно с различной информацией, включая обнаруженные ошибки. Вот она, найденная ошибка
Помечена восклицательный знаком в красном кружке и выделена красной рамкой "Board Edge Clearance". То есть, медь (полигон, дорожка, контактная площадка) располагается слишком близко к краю платы. Увы, никаких дополнительных подсказок нет и найти проблемное место возможности нет. Но если навести мышку на восклицательный знак, то появится маленькое окно с подсказкой - "скачайте файл отчета о проверке DFM". Над окном с информацией есть кнопка "Download Report", нажав на нее мы скачаем файл с названием "report.pdf" (название не изменяется). Открыв его мы наконец увидим не только информацию о нашей плате, но и ее изображение
То самое, которое появлялось на короткое время в интерфейсе заказа плат. Видно, что плата выглядит верно, но производитель нашел 1 ошибку (Risk Item) и 3 места, которые могут вызвать проблемы, но которые не являются ошибками (Warn Item). Уже стало интереснее. Давайте посмотрим, что за ошибка, для этого пролистаем файл далее. И мы увидим в таблице вот такую интересную информацию (привожу небольшой фрагмент)
Давайте возьмем строку с проверкой "Board Edge Clearance", ведь именно такая ошибка была обнаружена. Мы видим, что вызвали проблемы целых 19 элементов. И это, как минимум, странно. Ведь ошибка всего одна, но есть еще 3 предупреждения. Еще интереснее, что всего в этой таблице 5 строк с ошибками, а не 4. Но давайте все таки найдем ошибку, которую обнаружил NextPCB Online Gerber Viewer, пролистаем файл отчета дальше. И увидим искомое
Последний столбец совершенно однозначно указывает, что это ошибка (риск). Третий столбец (8, 15, 20) содержит перечень нарушенных правил, что нам никак не помогает, так как найти это правила (причем пронумерованные) не удалось. Есть и столбец с объяснением, почему это считается ошибкой и как ее можно исправить. Есть и координаты проблемного места (79.96,0.00), но мы не можем их использовать, так как NextPCB Online Gerber Viewer не показывает координаты курсора.
Но самое интересное не это, здесь указано, что таких проблемных мест 11, а не 19, как мы видели в предыдущей таблице. При этом координаты приведены лишь для одной точки, а не 11. Загадка… И непонятно, как искать остальные точки. Но мы все таки попробуем.
Давайте вернемся к KiCad Gerber Viewer. Мы для платы задали начало координат в левом верхнем углу. Логично предположить, что и в таблице в файле отчета координаты отсчитываются от этой точки. Выберем достаточно мелкую сетку, например, 0.1 мм и поищем точку с координатами (79.96,0.00). В данном случае все довольно просто, это правый верхний угол платы, но в общем случае положение проблемной точки будет не столь очевидным. Но в этой точке нет меди, в чем же засада? Неужели gerber файлы были сформированы неверно?
Нет, все сформировано верно, это наша ошибка, пресловутый "человеческий фактор". Вот где она спряталась
Я обвел причину ошибки красной рамкой. При формировании gerber файлов было включено черчение слоя Edge.Cuts на всех слоях. Я использовал старые gerber файлы, которые были сформированы еще для самостоятельного изготовления платы, что бы края платы были выделены как медная дорожка. Вот эта дорожка и воспринималась NextPCB как ошибка. Давайте исправим ошибку и проверим еще раз
Ура, ошибка исчезла. Теперь верно определилось и расстояние от меди до края платы, равное 0.3 мм. Но давайте проверим файл отчета, все ли там хорошо?
Да, ошибки больше нет. Но вот предупреждения остались. Причем и 3 проблемных места с Board Edge Clearance есть, только теперь в виде предупреждений. Но координаты опять только для одной точки указаны
Предупреждения можно игнорировать, но давайте попробуем разобраться. В описании проблемы и способа ее устранения указано, что рекомендуется увеличить зазор между медью и краем платы до 0.4 мм. У нас же всего 0.3, что задано через правила проектирования Kicad. И DRC эту проблему не обнаруживал, что совершенно естественно. На самом деле, 0.4 мм явно следуют из технологических возможностей NextPCB (PCB Capabilities). Я ведь предупреждал, что нам они сегодня еще понадобится. Это описано в двух пунктах:
- V-CUT residue thickness. Это ширина частичного прорезания по границам печатной платы, для "отламывания" платы от панели, которая может быть от 0.25 мм до 0.4 мм.
- Trace to V-cut line. Расстояние от дорожки до линии реза, которое должно быть не менее 0.4 мм
Но координаты проблемной точки выглядят странно, откуда взялся минус? В KiCad Gerber Viewer все координаты для нашей платы положительные. Причина довольно проста, направления координатных осей в KiCad и у NextPCB не совсем совпадают. Ось X в обоих случаях направлена слева направо, а вот ось Y в KiCad направлена сверху вниз, а у NextPCB снизу вверх, как в декартовой системе координат в школе. Поэтому и знаки координаты Y разные.
Теперь в KiCad Gerber Viewer легко найти проблемную точку, но думаю вы уже догадались, что это полигон (Gnd) на слое B.Cu. Если мы увеличим зазор между медью и краем платы в правилах проектирования KiCad до 0.4 мм и перезальем полигоны, то предупреждение исчезнет. Во всяком случае, это предупреждение.
Следующее предупреждение рассмотрим очень кратко. Оно касается крепежных отверстий, где расстояние от края отверстия до того же самого полигона оказалось равно 0.25 мм
Просто окружности в KiCad аппроксимируются отрезками прямых (это можно увидеть при большом увеличении), поэтому и расстояние оказалось всего 0.25 мм, а не 0.3 мм (что при DRC, естественно, не обнаружилось). Правила проектирования здесь уже не помогут, придется использовать использовать зоны запрета расположения меди/дорожек (keepout).
Разбор оставшихся двух строк с результатом Fail (Open/Shorts (IPC) и Fiducials) давайте пока отложим. Во первых, по ним нет никакой дополнительной информации, даже координат. Во вторых, статья и так уже получилась слишком большой. Поэтому с ними будем разбираться уже в программе для ПК, которая более функциональна, хоть и тоже не без минусов.
На сегодня точно достаточно! Рассматривать программу "NextPCB DFM Analysis Tool", которая более интересна и функциональна, мы будем в следующей статье.
Заключение
Итак, нам удалось, пусть и не без труда, обнаружить и исправить ошибку и проблемные места. Причем самостоятельно, без переписки с производителем, что экономит время (иногда и деньги). Правда пришлось использовать не только NextPCB Online Gerber Viewer, но и KiCad Gerber Viewer.
Поэтому можно признать, что предлагаемый NextPCB инструмент Online Gerber Viewer полезный, но далеко не самый удобный. И он позволяет не только посмотреть, как печатная плата выглядит с точки зрения производителя, но может помочь с поиском ошибок. Гораздо удобнее было бы, если бы проблемные места как то отмечались прямо в окне просмотра печатной платы. Пусть даже подробное пояснение и будет в файле отчета. Да и сам файл отчета не только содержит противоречивую информацию, но и полезная информация далеко не полная. Координаты проблемных точек, как минимум.
Исправят ли эти недочеты и ошибки? Время покажет. Отсутствие русского языка я не считаю проблемой, но знаю, что для многих это проблема. Вот чего действительно не хватает, так это списка правил, на которые ссылаются в отчете, и руководства пользователя. Профессионал, безусловно, разберется, но будет пользоваться скорее программой, а не онлайн инструментом. А вот для новичка или любителя это запросто может стать непреодолимой преградой.
Online Gerber Viewer полезный, но очень противоречивый. При этом нас буквально подталкивают к его использованию, если мы заказываем изготовление печатных плат у NextPCB. Но все таки пользоваться им не обязательно. Впрочем, за себя каждый решает сам. Я лишь показал, что это такое. А программа... Это уже в следующей статье.