Spis treści
KiCad
Instalacja aplikacji
sudo dnf copr enable @kicad/kicad-stable sudo dnf install kicad kicad-packages3d kicad-doc
Struktura katalogów projektów
Dla wygody i utrzymania porządku warto korzystać z następującej struktury katalogów:
katalogi_projektów/nazwa_projektu_I/dokumentacja/
produkcja/
rewizje/v1.0/
v1.1/
v2.0/
/nazwa_projektu_II/dokumentacja/
produkcja/
rewizje/v1.0/
v1.1/
v2.0/
Struktura wersji
vMAJOR.MINOR.PATCH
- MAJOR (np. v1, v2, v3): Duże zmiany, które mogą być niekompatybilne z wcześniejszymi wersjami.
- MINOR (np. .1, .2, .3): Dodanie nowych funkcji lub usprawnień, które nie wpływają na istniejącą funkcjonalność.
- PATCH (opcjonalne, np. .0.1): Drobne poprawki lub korekty błędów bez wprowadzania nowych funkcji.
Przykład zastosowania w projekcie PCB:
Wersja v0.1: Pierwszy prototyp, podstawowe funkcje działają, ale nie wszystkie testy zostały przeprowadzone.
Wersja v0.2: Naprawiono błędy z poprzedniej wersji, wprowadzono modyfikacje w rozmieszczeniu komponentów.
Wersja v0.3: Dodano kilka zaplanowanych funkcji, zoptymalizowano układ PCB.
Dopiero po stabilizacji projektu i wdrożeniu wszystkich kluczowych funkcji oznaczenie zmienia się na v1.0.
Wersja v1.0: Pierwszy działający prototyp. Wszystkie podstawowe funkcje są gotowe.
Wersja v1.1: Dodano nową diodę sygnalizującą pracę urządzenia. Zmieniono rozmieszczenie złącz dla wygody użytkowania.
Wersja v1.1.1: Poprawiono literówkę w nazwie wyprowadzeń na warstwie F.Silkscreen. Korekta szerokości ścieżki zasilania.
Wersja v2.0: Przejście z mikrokontrolera ESP32 na STM32. Kompletnie nowy projekt schematu i PCB.
Edytor schematów
- Dodanie portów zasilania np +3.3V i GND.
- +3.3V szukamy przez wpisanie tej wartości.
- GND analogicznie gnd.
- Dodanie flag zasilania PWR_FLAG przez umieść symbol tak samo jak klasyczne elementy klikając na A lub gdy chcemy symbol wyłącznie z grupy zasilania to możemy wybrać klawisz P.
- Łączymy elementy przez dodaj połączenie lub klawisz W.
- Elementy możemy obracać klawiszem R.
- Przemieszczanie elementu na schemacie po zaznaczeniu klawisz M.
- Dodajemy pozostałe elementy układu.
- Łączymy pozostałe elementy układu.
- Zamiana wartości elementów.
- Numerowanie obiektów za pomocą opcji numeruj schemat.
- Przydziel footprinty za pomocą przydziel footprint.
- Dla porządku swoje symbole możemy umieszczać w pliku
~/.local/share/kicad/8.0/symbols/MojaBibliotekaSymboli.kicad_sym. Oczywiście 8.0 to wersja naszego programu KiCad i może się różnić. W odróżnieniu od footprintów każdy element w tej naszej bibliotece jest zawarty w tym pliku biblioteki.
Edytor footprint
- Obszar footprint czyli obszar który zajmuje element na płytce PCB musi być określony warstwą F.Courtyard w innym przypadku sprawdzenie reguł projektowych DRC wywali nam błąd.
- Dla porządku swoje footprinty możemy umieszczać w pliku
~/.local/share/kicad/8.0/footprints/MojaBiblioteka.pretty/. Uwaga!MojaBiblioteka.prettyto cała nazwa katalogu. Końcówka.prettynie jest rozszerzeniem pliku. W odróżnieniu od symboli każdy footprint ma osobny plik w tym katalogu. - F.Fab - Na tej warstwie możemy umieścić rzeczywisty kontur, zarys naszego elementu. Na tej warstwie umieszczamy również
{REFERENCE}:gdzie pod tą wartością będziemy mieć odniesienie do oznaczenia U1, C1, R1, U3 itd. na schemacie. - F.Silkscreen - to jest w zasadzie to samo co powyżej ale pojawia się na nadruku płytki w toku produkcji. Oznaczenia elementu U1, C1, R1, U3 itd. umieszczamy pod
REF* *. - F.Courtyard - Zaznaczamy obszar zajmowany przez element z niezbędnymi odstępami w stosunku do innych elementów umożliwiający prawidłowy montaż. Przeważnie większy niż wcześniejsze F.Fab i F.Silkscreen.
Edytor płytek PCB
Ustawienia
- Po utworzeniu nowego projektu przechodzimy do Plik → Ustawienia płytki.
- Następnie Reguły projektowe → Klasy sieci.
- Pierwszą klasę jaką mamy po otwarciu okna to klasa Default.
- Do prostych domowych projektów Szerokość ścieżki z domyślnej 0,2 mm ustaw na 0,8 mm.
- Aby zachować proporcję Rozmiar przelotki z 0,6 mm na 0,8 mm.
- Od tego momentu wszystkie tworzone ścieżki będą miały takie domyślne parametry.
- Warto dodać sobie klasy VCC i GND, które występują praktycznie w każdym projekcie i raczej są szersze niż sygnałowe.
- Jeżeli mamy utworzony projekt a dopiero teraz tworzymy klasy to po ich konfiguracji używamy Edycja → Właściwości ścieżek i przelotek. W tym oknie nie musimy stosować żadnego filtrowania a jedynie zaznaczamy ostatnią opcję Ustaw do wartości z klas sieci/własnej reguły.
- Te ustawienia należy ustawić przy tworzeniu każdego nowego projektu. Oczywiście można zastosować Import ustawienia z innej płytki z innego dostępnego projektu. Wybieramy plik i zaznaczamy Klasy sieci.
Używanie
- Przeniesienie elementu na drugą stronę płytki PCB klawiszem F od Flip. Punkty lutownicze otrzymują kolor warstwy B.Cu
- Obracanie elementem R od Rotate
- Tworzenie ścieżki X
- Usuwanie ścieżki, uaktywnić i Delete
Proces
- Ustaw siatkę, która dobrze spisuje się dla SMD to 0,635mm.
- Uaktualnij PCB na podstawie schematu.
- Rozłożenie elementów.
- Połączenie elementów przez trasowanie ścieżek lub klawisz X.
- Ustawienie B.Cu umożliwia trasowanie ścieżek od dołu płytki.
- Ustawienie F.Cu umożliwia trasowanie ścieżek od strony elementów.
- Można sprawdzić przez Widok → Przeglądarka 3D lub kombinację klawiszy Alt+3.
- W czasie trasowania ścieżki możemy wstawić przelotkę na drugą warstwę za pomocą klawisza V.
- Obrys płytki trasujemy na warstwie Edge.Cuts.
- Na tej samej warstwie dodajemy otwory montażowe z footprint klawiszem A wyszukując mountinghole.
- Wykonujemy wypełnienie stref masą poprzez uprzednie zaznaczenie pokaż wypełnione obszary w strefach. Następnie zaznaczamy warstwę na której chcemy wypełnić strefę i będzie to przykładowo górna F.Cu. Następnie dodajemy wypełnioną strefę zaznaczają dookoła obszar płytki. Następnie wypełnij strefę.
- To samo wykonujemy na warstwie spodniej płytki czyli B.Cu.
Najważniejsze warstwy
- Warstwy miedzi (Copper Layers):
- F.Cu (Front Copper) – ścieżki na przedniej stronie płytki (dla montażu SMD i nie tylko).
- B.Cu (Back Copper) – ścieżki na tylnej stronie płytki (w przypadku PCB dwustronnych).
- Dla PCB wielowarstwowych: In1.Cu, In2.Cu, … – warstwy wewnętrzne miedzi.
- Edge.Cuts (Kontur płytki):
- Określa kształt i rozmiar płytki.
- Warstwa ta jest absolutnie niezbędna dla wycięcia płytki.
- Warstwy maski lutowniczej (Solder Mask):
- F.Mask (Front Solder Mask) – określa miejsca, gdzie na przedniej stronie nie ma maski lutowniczej (np. pady).
- B.Mask (Back Solder Mask) – analogiczna dla tylnej strony.
- Warstwy pasty lutowniczej (Paste Layers):
- F.Paste (Front Paste) – dla elementów SMD, określa obszary nakładania pasty na przedniej stronie.
- B.Paste (Back Paste) – analogiczna dla tylnej strony (opcjonalna, gdy używamy SMD z obu stron).
- Otwory (Drill File):
- Informacje o wierceniach są zapisywane w osobnym pliku generowanym w formacie NC Drill.
- Niezbędne dla otworów przelotowych (THT) i vias.
- Warstwa opisowa (Silkscreen):
- F.Silkscreen (Front Silkscreen) – oznaczenia elementów, ich numery referencyjne, symbole (np. R1, C1).
- B.Silkscreen (Back Silkscreen) – opcjonalnie, dla oznaczeń na tylnej stronie.
- F.Courtyard/B.Courtyard:
- Określa obszar montażu elementów, co jest szczególnie przydatne w przypadku dużych lub złożonych projektów.
Opcjonalnie dodaje się warstwy opisowe F.Silkscreen/B.Silkscreen, ale są one wysoce zalecane dla czytelności projektu i montażu.
Bez tych warstw fabryka PCB nie będzie mogła poprawnie wyprodukować płytki, ponieważ będą brakować kluczowych informacji o strukturze i funkcjonalności PCB.
Zmienne z tabelki do warstwy F lub B.Silkscreen
- {REVISION} - Rewizja projektu (pole Rewizja).
- {TITLE} - Tytuł projektu (pole Tytuł w tabelce projektu).
- {DATE} - Data wygenerowania (automatycznie aktualizowana przy eksporcie/edytowaniu).
- {COMPANY} - Nazwa firmy (pole Firma).
- {COMMENT1}, {COMMENT2}, {COMMENT3} itd. - Pola komentarzy (pole Komentarz 1, Komentarz 2, Komentarz 3…).
- {FILE_NAME} - Nazwa pliku PCB (np. project.kicad_pcb).
- {PROJECT_NAME} - Nazwa projektu (bez rozszerzenia, np. project).
- {KICAD_VERSION} - Wersja KiCad, w której otwarto projekt.
Pole masowe
Wymiary typowych elementów
- 1206 - większy element SMD
- 0805 - mniejszy jeszcze dość wygodny do klasycznego lutowania
Najczęściej używane symbole
- PWR FLAG - Niezbędne w każdym schemacie dla zasilania.
- VCC - Zasilanie.
- +5V - Zasilanie +5V.
- +3.3V - Zasilanie +3.3V.
- GND - Masa.
- conn - Różne wyjścia, piny.
- solderjumper 2 open - Zwora w postaci ścieżek PCB. Domyślnie rozwarta.
- c small - Kondensator.
- c polarized small - Kondensator polaryzacyjny.
- r small - Rezystor.
Kopia bibliotek symboli i footprintów
Do utworzenia kopii można użyć poniższy skrypt wygenerowany przez ChatGPT. Utworzony plik najlepiej umieścić w katalogu ~/bin.
- KiCadCompress.sh
#!/bin/bash # Skrypt do archiwizowania konfiguracji i bibliotek KiCad # Przeznaczenie: KiCad 8.0 # Autor: ChatGPT # Lokalizacje do archiwizacji (względem $HOME) CONFIG_REL=".config/kicad/8.0" SHARE_REL=".local/share/kicad/8.0" # Plik wynikowy ARCHIVE_NAME="KiCadBackup_$(date +%Y%m%d).tar.gz" echo "Rozpoczynam archiwizację plików KiCad..." # Sprawdzanie, czy katalogi istnieją if [[ ! -d "$HOME/$CONFIG_REL" || ! -d "$HOME/$SHARE_REL" ]]; then echo "Nie znaleziono wymaganych katalogów KiCad. Upewnij się, że KiCad jest zainstalowany i skonfigurowany." exit 1 fi # Przejście do katalogu domowego, aby archiwizować względne ścieżki cd "$HOME" || exit 1 # Tworzenie archiwum tar -czvf "$ARCHIVE_NAME" \ "$CONFIG_REL/sym-lib-table" \ "$CONFIG_REL/fp-lib-table" \ "$SHARE_REL/footprints" \ "$SHARE_REL/symbols" if [[ $? -eq 0 ]]; then echo "Archiwizacja zakończona sukcesem. Utworzono plik: $ARCHIVE_NAME" echo "Aby przywrócić dane, użyj polecenia:" echo "tar -xzvf $ARCHIVE_NAME -C \$HOME" else echo "Wystąpił błąd podczas tworzenia archiwum." exit 1 fi
Instrukcje przywracania:
Rozpakuj archiwum do katalogu domowego:
tar -xzvf KiCadBackup_YYYYMMDD.tar.gz -C $HOME
Sprawdź, czy dane znajdują się w odpowiednich lokalizacjach:
$HOME/.config/kicad/8.0 $HOME/.local/share/kicad/8.0
Dane będą przywracane poprawnie niezależnie od różnic w ścieżkach $HOME na różnych komputerach.
