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.
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.pretty
to cała nazwa katalogu. Końcówka .pretty
nie 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.
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):
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):
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:
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
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.
Linki