Проектирование
Компоненты: импорт или рисование
Поиск и импорт УГО и посадочных мест KiCad, исправление того, что отклоняет производитель плат, и создание компонента по даташиту, если его нет в KiCad.
Каждый компонент на плате состоит из двух файлов: УГО для схемы и посадочного места для топологии платы, связанные номером вывода. Импортируйте их из KiCad, когда KiCad содержит компонент, и рисуйте по даташиту, когда не содержит.
Поиск
agentee search symbol lm358
agentee search footprint soic 3.9x4.9Каждое слово должно встречаться в Library:Name, поэтому добавляйте слова, чтобы сузить поиск: soic 3.9x4.9 находит корпуса SOIC-8 узкого типа и пропускает широкие.
Импорт
agentee import symbol Amplifier_Operational:LM358 --with-footprint
agentee import symbol Device:R --footprint Resistor_SMD:R_0402_1005Metric
agentee import footprint Package_TO_SOT_SMD:SOT-89-3--with-footprint добавляет посадочное место по умолчанию для УГО; --footprint выбирает другое и связывает его. УГО попадают в symbols/, посадочные места в footprints/. --force перезаписывает файл, который уже есть. Путь к .kicad_sym (с :Name) или .kicad_mod работает вместо Library:Name для библиотек поставщиков.
Сразу после этого запустите проверку. Типичное замечание касается шелкографии:
warning: ./footprints/R_0603_1608Metric.fp.toml: R_0603_1608Metric silk: silk lines under the fab minimum width 0.15mm: 2, thinnest 0.12mmKiCad рисует шелкографию толщиной 0,12 мм, а JLCPCB печатает 0,15 мм. Увеличьте width графических элементов шелкографии в посадочном месте. Другое частое замечание касается courtyard или зазора между площадками при грубом допуске завода; исправьте это в посадочном месте, где это и нужно, а не переопределяя правило.
Универсальные компоненты общие
Одно УГО R служит для всех резисторов, одно C для всех конденсаторов. Значение и посадочное место указываются на компоненте в схеме:
agentee edit sch NAME add R1 R 10k --footprint R_0402_1005Metric
agentee edit sch NAME add C1 C 100n --footprint C_0402_1005MetricЕсли в схеме указано УГО, которого нет в проекте, но дано посадочное место, которое уже использует какое-то УГО, add берет это УГО, так что агент, пишущий --footprint C_0402_1005Metric для конденсатора, получает правильный.
Рисование УГО
agentee new symbol STM32F103C8Для прямоугольного УГО перечислите выводы по сторонам и позвольте agentee разместить их на сетке и задать размер корпуса. Это пример из справочника, сокращенный:
name = "STM32F103C8"
reference = "U"
[[bodies]]
left = [
{ number = "7", name = "NRST", type = "input" },
{ gap = 1 },
{ number = "10", name = "PA0", type = "bidirectional" },
]
right = [ { number = "30", name = "PA9", type = "bidirectional" } ]
top = [ { number = "1", name = "VBAT", type = "power_in" } ]
bottom = [ { number = "8", name = "VSS", type = "power_in" } ]{ gap = N } оставляет N пустых слотов. Выводы можно размещать вручную через [[pins]] (number, name, type, at, side), и оба способа можно смешивать. Точки соединения держите на сетке 1,27 мм; выводы вне сетки помечаются. Для многоканальных УГО задайте unit для выводов и графики.
Типы выводов важны: проверка использует их для проверок цепей, а выходы open_collector и входы input участвуют в проверке уровней сигналов.
Логические уровни
Для логических и MCU-компонентов скопируйте пороги из даташита в таблицу [levels]. Тогда проверка вычисляет напряжение, которое видит каждый вход через его шины питания, резисторы и переключатели, и сообщает о входе, который может находиться между VIL и VIH, плавать или выходить за пределы.
[levels]
supply = "VDD"
vih = "70%"
vil = "30%"
min = "-0.3V"
max = "100%+0.3V"
leakage = "1uA"Собственная таблица levels вывода переопределяет таблицу УГО, например, для вывода сброса с внутренней подтяжкой. Руководство по схемам показывает другую половину, таблицу rails.
Рисование посадочного места
agentee new footprint SOIC-8_3.9x4.9mm_P1.27mmЗаписывайте контактные площадки строками, а не по одному элементу. SOIC-8 из справочника:
[[pads]]
number = "1"
kind = "smd"
shape = "roundrect"
at = [-2.475, -1.905]
size = [1.95, 0.6]
count = 4
pitch = [0, 1.27]
[[pads]]
number = "5"
kind = "smd"
shape = "roundrect"
at = [2.475, 1.905]
size = [1.95, 0.6]
count = 4
pitch = [0, -1.27]Вторая строка считает с 5 по 8 обратно по другой стороне. Строки считают по последним цифрам, поэтому шарики BGA работают так же (A1, A2, ...), а number_step = 2 считает через два.
Рисуйте courtyard на F.CrtYd, а контур корпуса на F.Fab: проверка требует courtyard, охватывающий площадки, размещатель держит courtyard в раздельности, а правила края и сборки измеряются от корпуса. Задайте height, чтобы 3D-просмотр и правило для высоких компонентов имели высоту без модели.
Полезные ключи посадочного места:
edge = trueдля площадки, медь которой должна доходить до края платы (разъемы edge-launch, кастированные отверстия).overhang = trueдля разъема, который должен нависать над краем.mask_web = false, когда завод открывает паяльную маску над всеми площадками компонента с мелким шагом как одно окно.zone_connect = "solid"или"relief"на площадке, переопределяя собственную настройку полигона.model, указывающий файл STEP или VRML, путь KiCad или URLhttps://, зафиксированный на коммите.
Каждому выводу нужна площадка
Цепи площадок берутся из схемы по номеру: вывод 3 УГО соответствует площадке 3 посадочного места. Проверка сообщает о любом выводе без площадки. Вывод УГО с именем EP или номером 17 для открытой площадки требует этого номера площадки и в посадочном месте.
Номера компонентов
Дайте каждому компоненту в схеме поля mfr и mpn, а для сборки JLCPCB поле lcsc:
agentee edit sch NAME set U1 --field mfr=Qorvo
agentee edit sch NAME set U1 --field mpn=SPF5189ZКаждый set добавляет в таблицу fields компонента и сохраняет то, что уже есть. В файле это читается как fields = { mfr = "Qorvo", mpn = "SPF5189Z" }.
BOM группирует по ним, а agentee parts ищет наличие, цену и более дешевые эквиваленты по mpn. См. Пакет для завода, BOM и цены.