Рад всех снова приветствовать 🤝 Думаю достаточно многие либо контактировали и работали с компанией NextPCB, либо слышали или читали про них. Так вот, коллеги из NextPCB написали, что у них появился отличный инструмент под названием DFM Tool, который к тому же еще и бесплатный. И, вроде как, бесплатных аналогов с таким функционалом нет. Я пока ознакомился только в общих чертах, выглядит многообещающе и довольно удобно, так что, собственно, сегодня займемся тем, что установим, посмотрим поближе и протестируем на каком-нибудь проекте.
Установка.
Процесс установки элементарный, переходим по ссылке - DFM Tool и нажимаем на соответствующую кнопку:
По итогу получаем архив с дистрибутивом, который и запускаем, далее следуем классическим установочным инструкциям. Да, кстати, вроде как на данный момент софт доступен только под Windows, предполагаю, что в будущем добавится поддержка и других платформ, но это исключительно мои предположения, хотя вероятность, я думаю, велика.
Итак, установили, запускаем.
Запуск.
После запуска первым делом нас приветствует окно авторизации, которая необходима для использования утилиты. То есть если у вас нет аккаунта, то нужно будет зарегистрироваться:
Скорее всего так сделано для того, чтобы по умолчанию имелась возможность непосредственно из DFM Tool разместить заказ на изготовление, что удобно пользователю и выгодно непосредственно производству. Так что все, в целом, логично. Окей, у меня уже есть аккаунт, поскольку я часто заказываю прототипы именно у NextPCB (нужно будет собрать волю в кулак и оформить отдельный пост о нюансах и деталях серийного и мелкосерийного производства…), так что авторизуемся и двигаемся дальше. Окно общих настроек:
Тут комментировать нечего, выставляем на свой вкус и по своим предпочтениям. Собственно, на данном этапе уже можно приступать к практической деятельности, загрузив необходимые файлы, возможные форматы которых указаны тут же:
Загрузка файлов.
Возьму какой-нибудь проект для тестирования... Плата для упомянутого проекта выглядит так:
В DFM Tool я вообще не стал заморачиваться, просто перетащил все файлы из Altium'овской папки "Project Outputs for…", утилита подхватила все, что ей нужно, автоматически. В результате получили, в режиме CAM View:
Real View:
Из самого базового – настройки цвета платы, шелкографии и т. д.:
Тут же список слоев:
DFM Analysis.
В целом на данном этапе можно сказать, что интерфейс предельно логичен и лаконичен, сложностей не вызывает, все намекает на то, что пора переходить к зеленой кнопке "DFM Analysis", то есть к самому интересному:
Процесс пошел:
В общем-то процесс завершается максимально быстро, буквально пару секунд:
Забегая вперед, могу похвалить разработчиков – реально все интуитивно понятно, что, куда и зачем. На странице загрузки (ссылка в начале статьи) есть несколько видео-мануалов по утилите, по паре минут каждое, но даже их смотреть не обязательно. Смотрите сами, проанализировали плату, получили справа данные об ошибках, зеленые – OK, желтые – Warning, оно же предупреждение, красные – Error, ошибки, понятнее некуда:
Нажимаем на кнопки справа, получаем исчерпывающую информацию, пройдемся по зеленому, пусть будет "Smallest Trace Spacing":
Я сразу выбрал "Show All" слева, далее все кликабельно, слои, дорожки:
При клике фокус основного окна утилиты (там, где отображается плата) перемещается на соответствующее место платы. Посмотрим, что не так с "SMD Pad Spacing":
Ожидаемо видим, что расстояние между контактными площадками разъема USB Type-C помечено желтым, из чего следует, что оно слишком мало, меньше некого порога. В этом же окне видим поясняющий текст, сообщающий нам, что рекомендуется выдерживать минимальный зазор в 8 mil, что эквивалентно 0,2032 мм. На практике же зазоры оказались меньше, поэтому дальше уже принимаем то или иное решение, задача утилиты исключительно в диагностике потенциально проблемных мест, что помимо поиска потенциальных ошибок также позволяет путем тех или иных доработок уменьшить итоговую стоимость производства.
Пороговые величины можно настроить в меню "Settings -> ConfigSet":
Есть ощущение, что было бы удобнее, если бы окно конфигурации того или иного правила открывалось по клику по этому самому правилу в том списке, где отображаются результаты диагностики, ну да ладно. Находим все необходимое, да, единицы измерения можно задать тут:
Так, продолжим с тем же самым, а именно с "SMD Pad Spacing", находим в списке (SubItem – "Pad Spacing"):
Здесь указаны три порога, разные значения для разных уровней ошибки. То есть в данном случае получаем:
- Меньше 0.15 мм – ошибка
- От 0.15 мм до 0.2 мм – предупреждение
- Более 0.2 мм - для данного параметра диагностируется, что все в порядке
Загадку третьего числа я пока не решил ) Такое ощущение, что оно ни на что уже не влияет, пишите в комментарии, если есть идеи и наблюдения на этот счет.
Для теста ужесточим требования:
И сохраним, чтобы изменения вступили в силу:
И теперь для тех же самых величин мы получаем уже ошибку:
Все в соответствии с обновленными правилами, то есть данный функционал работает 👍 В целом, идея такая же, как и в аналогичных коммерческих продуктах – задаем необходимые правила, зависящие от возможностей производства, от ограничений, условий и т. д. и т. п. и далее проверяем, удовлетворяет ли плата необходимым требованиям. Я, честно говоря, рынок не изучал, но ребята из NextPCB упоминали, что бесплатных аналогов с аналогичными возможностями не найти. И по минимальному опыту использования можно резюмировать, что инструмент достоин внимания.
Аналогичным образом можно развернуть детали для остальных пунктов, участвующих в диагностике:
Разбирать подробно не будем, суть такая же, только параметр/характеристика иные. Можно отметить правую нижнюю область экрана, где автоматически рассчитывается стоимость изготовления:
И как бы разумно предположить, что где-то очевидно должна быть реализована возможность задания необходимого количества плат, но нигде поблизости данная настройка не наблюдается. По итогу найти можно в "Process Parameters":
Ну и, разумеется, при изменении параметров происходит перерасчет, иначе зачем бы это тогда вообще было нужно. При нажатии кнопки "Order Now" перебрасывает на страницу заказа, где интерфейс уже в точности такой же, как и при заказе на сайте, только все параметры и файлы уже импортированы из DFM Tool автоматически. Ну что же, тоже удобно, не поспоришь.
Помимо того, что мы протыкали сегодня, есть еще набор дополнительных утилит:
Углубляться уже не будем, явно есть Panelization Tool, использующаяся, тоже довольно очевидно из названия, для панелизации плат при заказе, калькулятор импеданса и т. д:
В целом, такой вот получился обзор, по моим субъективным ощущениям все довольно хорошо продумано, функционирует исправно, и еще раз повторюсь, интерфейс абсолютно понятный на интуитивном уровне, споткнуться негде. Ну и главная фишка, что софт бесплатный, что тоже немаловажно. Так что на это позитивной ноте на сегодня можно и закончить, до скорого!