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

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

  1. Dodanie portów zasilania np +3.3V i GND.
  2. +3.3V szukamy przez wpisanie tej wartości.
  3. GND analogicznie gnd.
  4. 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.
  5. Łączymy elementy przez dodaj połączenie lub klawisz W.
  6. Elementy możemy obracać klawiszem R.
  7. Przemieszczanie elementu na schemacie po zaznaczeniu klawisz M.
  8. Dodajemy pozostałe elementy układu.
  9. Łączymy pozostałe elementy układu.
  10. Zamiana wartości elementów.
  11. Numerowanie obiektów za pomocą opcji numeruj schemat.
  12. Przydziel footprinty za pomocą przydziel footprint.
  13. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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* *.
  5. 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

  1. Po utworzeniu nowego projektu przechodzimy do Plik → Ustawienia płytki.
  2. Następnie Reguły projektowe → Klasy sieci.
  3. Pierwszą klasę jaką mamy po otwarciu okna to klasa Default.
  4. Do prostych domowych projektów Szerokość ścieżki z domyślnej 0,2 mm ustaw na 0,8 mm.
  5. Aby zachować proporcję Rozmiar przelotki z 0,6 mm na 0,8 mm.
  6. Od tego momentu wszystkie tworzone ścieżki będą miały takie domyślne parametry.
  7. Warto dodać sobie klasy VCC i GND, które występują praktycznie w każdym projekcie i raczej są szersze niż sygnałowe.
  8. 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.
  9. 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

  1. Ustaw siatkę, która dobrze spisuje się dla SMD to 0,635mm.
  2. Uaktualnij PCB na podstawie schematu.
  3. Rozłożenie elementów.
  4. Połączenie elementów przez trasowanie ścieżek lub klawisz X.
  5. Ustawienie B.Cu umożliwia trasowanie ścieżek od dołu płytki.
  6. Ustawienie F.Cu umożliwia trasowanie ścieżek od strony elementów.
  7. Można sprawdzić przez Widok → Przeglądarka 3D lub kombinację klawiszy Alt+3.
  8. W czasie trasowania ścieżki możemy wstawić przelotkę na drugą warstwę za pomocą klawisza V.
  9. Obrys płytki trasujemy na warstwie Edge.Cuts.
  10. Na tej samej warstwie dodajemy otwory montażowe z footprint klawiszem A wyszukując mountinghole.
  11. 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ę.
  12. To samo wykonujemy na warstwie spodniej płytki czyli B.Cu.

Najważniejsze warstwy

  1. 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.
  2. Edge.Cuts (Kontur płytki):
    • Określa kształt i rozmiar płytki.
    • Warstwa ta jest absolutnie niezbędna dla wycięcia płytki.
  3. 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.
  4. 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).
  5. 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.
  6. 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.
  7. 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

Pole masowe

Wymiary typowych elementów

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.

Linki