Проверка проекта (DRC)
Время: ~40 мин
Цели урока
- запускать проверку правил (DRC) и настраивать, какие правила проверяются
- читать отчёт DRC и переходить от нарушения к месту на плате
- понимать нарушения Clearance и Minimum Solder Mask Sliver и выбирать правильный способ исправления
- создавать правило с областью действия (запросом) только для нужных объектов
Что нужно знать заранее
Плата разведена — но правильно ли? DRC (Design Rule Check) проверяет всю плату на соответствие правилам: зазоры, ширины, отверстия, маску, неразведённые связи. Ни одну плату нельзя отправлять на производство без чистого DRC.
Шаг 1. Запуск проверки
Заголовок раздела «Шаг 1. Запуск проверки»- . Откроется диалог Design Rule Checker. В нём же настраивается и онлайн-проверка (во время рисования), и пакетная (по кнопке).
- Страница Report Options: включи Create Report File.
- Страница Rules to Check: правый клик в таблице → Batch DRC - Used On. Будут проверяться только правила, которые реально используются.
- Раскрой раздел Testpoint и сними галочки Batch у его четырёх правил: тестовых точек на учебной плате нет.
- Нажми кнопку запуска проверки внизу диалога.
public/screenshots/m07-multivibrator/l07-drc-dialog.pngШаг 2. Читаем результат
Заголовок раздела «Шаг 2. Читаем результат»После проверки откроется вкладка Design Rule Verification Report, а нарушения появятся в панели Messages.
- Вверху отчёта — список проверенных правил и число нарушений по каждому. Щелчок по правилу ведёт к его нарушениям.
- Ниже — каждое нарушение с объектами. Щелчок переводит к объекту на плате.
- В Messages то же самое: двойной щелчок по строке — переход к месту.
- На плате нарушающие объекты отмечены маркером (по умолчанию зелёные кружки с крестом). В подробностях указано фактическое значение и предел, например «0.017mm < 0.254mm».
По руководству ожидаются нарушения двух видов, не меньше чем по четыре штуки: Minimum Solder Mask Sliver и Clearance Constraint. Оба — из-за транзисторов в корпусе TO-92.
Нарушение 1. Зазор между выводами транзистора
Заголовок раздела «Нарушение 1. Зазор между выводами транзистора»Выводы TO-92 стоят плотно: зазор по меди между соседними площадками около 0,22 мм, а правило требует 0,25 мм.
Варианты исправления:
- уменьшить площадки транзистора — портит посадочное место и пайку;
- ослабить правило для всех — снижает требования ко всей плате;
- ослабить правило точечно — только для того, что реально мешает.
Руководство выбирает ослабить зазор именно для пары «площадка выводного компонента — площадка выводного компонента», потому что 0,22 мм всё ещё легко делается на производстве:
- Перейди на вкладку платы, .
- Вид Clearances, щёлкни ячейку All Nets / All Nets.
- В таблице внизу задай TH Pad – to – TH Pad =
0.22и нажми Enter. - .
Почему так. Правило с разными зазорами для разных типов объектов — нормальная практика: между выводами компонента производитель обычно справляется с меньшим зазором, чем мы заложили для дорожек. Если бы рядом были другие тесные выводные площадки, лучше было бы сделать отдельное правило только для транзисторов — так советует и руководство. Решение «0,22 мм — это нормально» опирается на нормы производителя (урок 5.5), а не на желание избавиться от красного маркера.
Нарушение 2. Узкая полоска маски
Заголовок раздела «Нарушение 2. Узкая полоска маски»Окна в паяльной маске по умолчанию больше площадок на 0,1016 мм (4 mil) с каждой стороны — запас на неточность совмещения маски. Между соседними выводами TO-92 от маски остаётся полоска около 0,017 мм (рис. 7.4), а правило Minimum Solder Mask Sliver требует 0,254 мм. Такую полоску завод не напечатает: она либо отвалится, либо её уберут, и это нужно учесть в правилах.
Руководство делает два изменения сразу.
Уменьшить минимальную полоску:
- В Constraint Manager вид All Rules.
- В дереве Manufacturing → Solder Mask Sliver → правило MinimumSolderMaskSliver.
- Minimum Solder Mask Sliver =
0.22.
Убрать расширение маски только у транзисторов:
- В дереве Mask → Solder Mask Expansion. Существующее правило SolderMaskExpansion (0,1016 мм) не трогаем.
- Правый клик в свободной области таблицы → Add Custom Rule. Появится SolderMaskExpansion_1, переименуй его двойным щелчком в
SolderMaskExpansion_Transistor. - Рядом с Object Match нажми кнопку области действия → Open Query Builder.
- В Building Query from Board выбери Condition Type / Operator = Associated with Footprint, Condition Value = ONSC-TO-92-3-29-11 → OK. Запрос станет
HasFootprint('ONSC-TO-92-3-29-11'). - Expansion top и Expansion bottom =
0. - , закрой вкладку ограничений (правый клик → Close Multivibrator.PcbDoc [Constraints]) и сохрани плату.
public/screenshots/m07-multivibrator/l07-query-builder.pngПочему так. Без расширения окна маски совпадают с площадками, и между выводами транзистора остаётся полоска шириной во весь медный зазор — 0,22 мм, что уже проходит по новому правилу. Расширение убрано только у транзисторов: остальным площадкам запас маски нужен. Менять расширение для всей платы руководство отказывается — для недорогой двухслойной платы это рискованно.
Шаг 3. Повторная проверка и подготовка к выпуску
Заголовок раздела «Шаг 3. Повторная проверка и подготовка к выпуску»- Снова , Create Report File включён, запуск.
- Отчёт должен быть без нарушений. Если что-то осталось — исправь и проверь снова.
- Удали отчёт из проекта: в Projects, раздел Generated\Documents, правый клик по отчёту → Remove from Project → удалить файл.
- Правый клик по любой вкладке → Close All Documents.
- Save to Server рядом с проектом, комментарий, например
PCB design complete, → OK.
🧯 Типичные ошибки
Нарушения «исправили», отключив правило в DRC
Почему Проверка просто перестала смотреть на проблему, а сама проблема никуда не делась.
Как исправить Отключать можно только неприменимые правила (как Testpoint здесь). Остальное — исправлять или осознанно менять значение по нормам завода.
После Reset Error Markers плата «чистая», а DRC снова находит ошибки
Почему Reset Error Markers убирает только подсветку.
Как исправить Нарушения исправляются изменением платы или правил, затем повторный DRC.
Новое правило не действует
Почему Ошибка в запросе Object Match или у правила ниже приоритет, чем у общего.
Как исправить Проверь запрос (какие объекты подсвечиваются) и приоритет правила. Более узкое правило должно стоять выше.
Слишком узкую перемычку маски завод не сможет надёжно сделать.
0,22 − 2·0,1016 ≈ 0,017 мм — ровно то значение, что видно в отчёте.
Точечное правило решает проблему, не снижая требования ко всей плате.
Условие Associated with Footprint превращается в запрос HasFootprint(...).
Практическое задание~40 мин
- Запусти DRC, найди все нарушения и исправь их по уроку. Добейся пустого отчёта.
- Найди в технологических нормах любого производителя минимальную ширину перемычки маски (solder mask dam/bridge) и минимальный зазор между площадками. Достаточно ли наших значений 0,22 мм?
- Ради эксперимента сдвинь одну дорожку вплотную к чужой площадке, запусти DRC и посмотри, как выглядит нарушение Clearance. Верни как было.