agentee

Zacznij tutaj

Twoja pierwsza płytka

Od pustego katalogu do sprawdzonej, ztrasyowanej dwuwarstwowej płytki i pakietu produkcyjnego: specyfikacja płytki, elementy z KiCada, schemat, rozmieszczanie, trasy i Gerbery.

Ten przewodnik buduje małą płytkę ręcznie, jedno polecenie za razem: dwu-pinowe złącze zasilania, rezystor, zielony LED i kondensator odsprzęgający na dwuwarstwowej płytce JLCPCB. To ta sama kolejność, którą podąża agent, więc zrobienie tego raz samemu znacznie ułatwia czytanie, co robi twój agent później.

Potrzebujesz agentee na PATH i zainstalowanych bibliotek KiCad. Patrz Instalacja, jeśli nie masz żadnego z nich.

Rozpocznij projekt

Projekt to katalog. Wszystko pod nim z znanym rozszerzeniem jest ładowane.

mkdir blinky && cd blinky
agentee new board blinky
agentee check

new board zapisuje blinky.board.toml: obrys 50 na 30 mm, dwuwarstwowy stackup 1,6 mm JLCPCB, jeden typ przelotki i cztery klasy sieci. Sprawdzenie ładuje go i nie raportuje niczego:

0 sims, 0 layouts, 0 schematics, 1 boards, 0 symbols, 0 footprints: 0 errors, 0 warnings

check kończy się 0, gdy projekt jest czysty, 1, gdy są błędy, i 2, gdy plik się nie ładuje. Ten kod wyjścia pozwala agentowi, lub CI, kręcić w pętli.

Zrób płytkę odpowiedniej wielkości

Cztery elementy nie potrzebują 50 na 30 mm. Zmniejsz obrys:

agentee edit board blinky outline --size 30,18 --corner-radius 1mm

agentee edit przepisuje TOML za ciebie, zachowuje w nim komentarze i uruchamia sprawdzenie na pliku, który dotknął. Nie zmniejszaj zbyt mocno na płytce tak prostej: każda płytka niesie wersję agentee vX.Y.Z-HASH w swoim sitodruku, a sprawdzenie potrzebuje czystego paska około 23 na 1,2 mm, by ją tam umieścić. Na płytce 20 mm raportuje błąd watermark i pakiet produkcyjny jest odrzucony.

Importuj elementy

agentee czyta biblioteki KiCad zamiast dostarczać własne. Wyszukaj w nich elementy, a następnie zaimportuj symbol wraz z footprintem, którego powinien używać:

agentee search symbol conn_01x02
agentee import symbol Connector_Generic:Conn_01x02 --footprint Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical
agentee import symbol Device:R --footprint Resistor_SMD:R_0603_1608Metric
agentee import symbol Device:LED --footprint LED_SMD:LED_0603_1608Metric
agentee import symbol Device:C --footprint Capacitor_SMD:C_0603_1608Metric
agentee check

Każde słowo wyszukiwania musi pasować do Library:Name. Importy trafiają do symbols/ i footprints/ jako TOML. Sprawdzanie ma teraz coś do powiedzenia:

warning: ./footprints/R_0603_1608Metric.fp.toml: R_0603_1608Metric silk: silk lines under the fab minimum width 0.15mm: 2, thinnest 0.12mm

KiCad rysuje opisy (sitodruk) o grubości 0,12 mm, a JLCPCB wymaga 0,15 mm. Otwórz każdy footprint i zmień width = 0.12 na 0.15 w grafikach opisów (sitodruku), albo poproś o to swojego agenta. To normalny kształt pracy z agentee: diagnostyka wskazuje plik, element i wartość, a poprawka to jedna edycja.

Napisz schemat

agentee new schematic blinky

Starter to tylko nazwa. Dodaj pod nią board = "blinky", aby schemat wiedział, jakie klasy sieci istnieją. Następnie dodaj elementy i sieci jedną partią poleceń, po jednym na wiersz:

agentee edit sch - <<'EOF'
add J1 Conn_01x02 PWR --footprint PinHeader_1x02_P2.54mm_Vertical
add R1 R 1k --footprint R_0603_1608Metric
add D1 LED green --footprint LED_0603_1608Metric
add C1 C 100n --footprint C_0603_1608Metric
net VIN J1.1 R1.1 C1.1 --class Power
net LED_A R1.2 D1.A --class Signal
net GND J1.2 D1.K C1.2 --class Ground --style power
EOF

Partia to jedno załadowanie i jedno sprawdzanie na końcu, więc niedokończone stany po drodze nigdy nie są oznaczane. Piny to REF.PIN, po numerze lub po unikalnej nazwie pinu: D1.A to anoda, a wynik potwierdza, do jakiego numeru została rozwiązana.

added J1 (Conn_01x02)
added R1 (R)
added D1 (LED)
added C1 (C)
VIN now joins J1.1, R1.1, C1.1
LED_A now joins R1.2, D1.2
GND now joins J1.2, D1.1, C1.2
warning: /home/you/blinky/blinky.sch.toml: blinky part R1: body overlaps D1 (parts[2])
0 errors, 1 warnings in the files this touched

add umieszcza każdy element po prawej stronie ostatniego, a dioda LED wylądowała na rezystorze. Przesuń ją, a przy okazji kondensator, potem zobacz:

agentee edit sch blinky move D1 25.4,0 --rotation 90
agentee edit sch blinky move C1 12.7,10.16
agentee render sch:blinky -o sch.png

Schemat blinky tak, jak renderuje go agentee

Nie rysowałeś przewodu. Schemat wymienia sieci jako piny, a agentee prowadzi przewody na siatce 1,27 mm, gdy je rysuje. Każda sieć ma class; sieć pozostawiona w Default to ostrzeżenie, ponieważ klasa decyduje o szerokości ścieżki, odstępach i przelotkach na płytce.

Umieść elementy

agentee new layout blinky

Dodaj board = "blinky" i schematic = "blinky" do startera. Sprawdzanie teraz zawiedzie, co jest poprawne:

error: ./blinky.pcb.toml: blinky footprints: C1 is not placed

Umieść wszystko naraz:

agentee place blinky

place umieszcza złącza na krawędziach, utrzymuje elementy biernych blisko tego, do czego są podłączone, dopracowuje wynik i przesuwa etykiety referencyjne, które teraz się nakładają. Wyświetla raport JSON i zapisuje at oraz rotation w wpisie [[footprints]] dla każdego elementu. To szybki start: na prawdziwej płytce patrzysz na wynik, ręcznie przesuwasz to, co ważne, oznaczasz to jako locked = true i umieszczasz resztę ponownie.

Prowadź ścieżki

Sprawdzanie teraz wypisuje każde połączenie, którego brakuje:

error: ./blinky.pcb.toml: blinky net VIN: [unrouted] 2 unrouted: J1.1 | R1.1 | C1.1 are not joined

Umieść wylewkę masy na obu warstwach, połącz pady masy z nią i poprowadź pozostałe dwie sieci:

agentee edit pcb blinky zone GND --layers F.Cu,B.Cu
agentee tie blinky
agentee route blinky --nets 'VIN,LED_A'
agentee check

tie umieszcza krótki odcinek i przelotkę obok każdego padu SMD sieci, która ma wylewkę, co jest sposobem, w jaki pady masy i zasilania powinny łączyć się z płaszczyzną. route prowadzi nazwane sieci na siatce, zachowując szerokość i odstępy każdej klasy, i dodaje zwykłe [[tracks]] i [[vias]] do projektu PCB (layout). Możesz je później edytować.

0 sims, 1 layouts, 1 schematics, 1 boards, 4 symbols, 4 footprints: 0 errors, 0 warnings
agentee render pcb:blinky -o pcb.png

Prowadzony projekt PCB (layout) blinky

Napisz pakiet produkcyjny

agentee fab pcb:blinky -o fab/

fab odmawia, gdy projekt PCB (layout) ma błędy. Gdy ich nie ma, zapisuje Gerbery dla każdej warstwy, plik wiercenia, BOM i plik montażu w kolumnach JLCPCB, listę sieci IPC-D-356, rysunki montażu, notatki produkcyjne oraz blinky-gerbers.zip do przesłania.

Co zrobiłeś

Każdy krok to była ta sama pętla: jedna edycja, check, podgląd. Nic nie przechowywało stanu poza plikami, więc możesz przerwać w dowolnym momencie, otworzyć katalog w gicie lub przekazać go agentowi z skillem i poprosić o dodanie diody odwrotnej.

Następnie:

Popraw ten przewodnik · Markdown dla agentów