Erstellen Sie in KiCad ein Rahmenantennenmuster in Python

1. Zuallererst

Es wurde notwendig, ein spiralförmig gewickeltes Leitermuster auf der Leiterplatte zu erzeugen. KiCad [^ 1] auf der Leiterplatte CAD hat eine solche Funktion nicht. Es ist viel Arbeit, von Hand zu erstellen, und es ist schwierig, regelmäßige Muster zu erstellen. Es wird als Footprint mit einem unabhängigen Tool realisiert. test3.png

2. Suchen Sie nach Softwaretools

Suchen Sie das veröffentlichte Tool. Eine Websuche gibt Ihnen diese Bilder und Hinweise. Spiki [^ 3] wurde auf der Seite [^ 2] vorgestellt, auf der das Plug-In vorgestellt wird, aber ich habe aufgegeben, weil es schwierig war, die Betriebsumgebung zu warten, weil Python2 und PyQt4 erforderlich waren. Ich konnte GitHub durchsuchen und den neuesten Kicad-Coil-Generator verwenden [^ 4].

3. Installieren Sie Python

Laden Sie das Installationsprogramm [^ 5] herunter und führen Sie es aus. Die Standardeinstellung scheint die 32-Bit-Version zu sein. Diesmal habe ich mich für die 64bit Version entschieden. Aktivieren Sie die Option zum Hinzufügen von PATH während der Installation und führen Sie auch das Entfernen der Zeichenbeschränkung von PATH durch. Ich habe auch eine virtuelle Umgebung mit venv erstellt.

C:\Users\user_name>python -m venv venv_kicad
C:\Users\user_name>call venv_kicad/scripts/activate.bat
(venv_kicad) C:\Users\user_name>

Süchtig sein

--Confused venv (Standard bei Python3) und virtualenv (von Dritten bereitgestellt).

4. Einstellungen für Kicad-Coil-Generator

Klonen Sie den Kicad-Coil-Generator von Github und folgen Sie README.md, um die Python-Bibliothek zu installieren. Ich war wütend, dass ich kein Rad hatte, aber KiCadModTree wurde installiert.

(venv_kicad) C:\Users\user_name\kicad_coil_generator>pip install wheel
(venv_kicad) C:\Users\user_name\kicad_coil_generator>pip install -r requirements.txt
(venv_kicad) C:\Users\user_name\kicad_coil_generator>

5. Bestätigung des Betriebs des Kicad-Coil-Generators

Hilfe anzeigen.

(venv_kicad) C:\Users\user_name\kicad_coil_generator>python coil_generator.py --help
usage: coil_generator.py [-h](-r R_INNER | -d D_INNER) (-R R_OUTER | -D D_OUTER) -n N_TURNS -w LINE_WIDTH [--direction {counter_clockwise,clockwise}]
                         [-p {SMT,THT,CONNECT}] [-x DRILL_RATIO] [-a RING_WIDTH] [--points_per_turn POINTS_PER_TURN]
                         file_name {spiral,square}

Generates KiCad footprints of spiral/square coils.

positional arguments:
  file_name             path to the file in which to save the footprint; will overwrite previous file (this program cannot addmultiple footprints to the same file, so
                        files have to be concatenated manually)
  {spiral,square}       type of the coil created

optional arguments:
  -h, --help            show this help message and exit
  -r R_INNER, --r_inner R_INNER
                        inner radius of the coil [mm]
  -d D_INNER, --d_inner D_INNER
                        inner diameter of the coil [mm]
  -R R_OUTER, --r_outer R_OUTER
                        outer radius of the coil [mm]
  -D D_OUTER, --d_outer D_OUTER
                        outer diameter of the coil [mm]
  -n N_TURNS, --n_turns N_TURNS
                        number of turns of the coil
  -w LINE_WIDTH, --line_width LINE_WIDTH
                        width of the copper path used [mm]
  --direction {counter_clockwise,clockwise}, --dir {counter_clockwise,clockwise}
                        direction in which the coil turns (starting from outer part)
  -p {SMT,THT,CONNECT}, --pad_type {SMT,THT,CONNECT}
                        type of the pads drawn at the ends of coil's path
  -x DRILL_RATIO, --drill_ratio DRILL_RATIO
                        ratio of the drill in pad to line width (only for SMT/THT pads)
  -a RING_WIDTH, --ring_width RING_WIDTH
                        Width of the ring around the drill
  --points_per_turn POINTS_PER_TURN
                        (spiral only) number of arcs used for each full turn of the coil

(venv_kicad) C:\Users\user_name\kicad_coil_generator>

Süchtig sein

Es kann nicht mit py anstelle des Python-Befehls ausgeführt werden.

(venv_kicad) C:\Users\user_name\kicad_coil_generator>py coil_generator.py --help
Traceback (most recent call last):
  File "coil_generator.py", line 12, in <module>
    import KicadModTree as kmt
ModuleNotFoundError: No module named 'KicadModTree'

6. Mustererstellung mit Kicad-Coil-Generator

Mit einem Innenradius von 35 mm, einem Außenradius von 45 mm, 20 Umdrehungen und einer Musterbreite von 0,25 mm habe ich zwei Typen erstellt: Spirale) und Quadrat. Die Dateien "test1.kicad_mod" und "test2.kicad_mod" im Kicad-Footprint-Format wurden generiert.

(venv_kicad) C:\Users\user_name\kicad_coil_generator>python coil_generator.py test1 spiral -r 35 -R 45 -n 20 -w 0.25
Line spacing = 0.250 mm

(venv_kicad) C:\Users\user_name\kicad_coil_generator>python coil_generator.py test2 square -r 35 -R 45 -n 20 -w 0.25
Line spacing = 0.276 mm

(venv_kicad) C:\Users\user_name\kicad_coil_generator>dir
Laufwerk C hat keine Datenträgerbezeichnung.
Die Seriennummer des Volumes lautet 6A6D-1120

 C:\Users\user_name\kicad_coil_Generatorverzeichnis

2020/07/18  13:55    <DIR>          .
2020/07/18  13:55    <DIR>          ..
2020/07/18  12:59             6,999 coil_generator.py
2020/07/18  12:59               808 README.md
2020/07/18  12:59                58 requirements.txt
2020/07/18  12:59    <DIR>          screens
2020/07/18  12:59             4,978 spiral.py
2020/07/18  12:59             2,086 square.py
2020/07/18  13:54             8,128 test1.kicad_mod
2020/07/18  13:54             7,743 test2.kicad_mod
2020/07/18  13:23    <DIR>          __pycache__
7 Dateien 30,800 Bytes
4 Verzeichnisse 194,298,355,712 Bytes freier Speicherplatz

(venv_kicad) C:\Users\user_name\kicad_coil_generator>

Importieren Sie die generierte Footprint-Datei zur Anzeige in den Footprint-Editor von KiCad. "test1.kicad_mod" test1.png "test2.kicad_mod" test2.png Ich denke, es ist ein schönes Muster.

7. Erstellen eines Footprints

Basierend auf dem generierten Muster habe ich einen Footprint mit Strudeln erstellt, die auf beiden Seiten und über Durchkontaktierungen in der Mitte platziert sind. test4.png

Süchtig sein

Die Spitze der Spule ist ein "Stecker". Wenn sie jedoch unverändert bleibt, kann nach dem Einlegen in den Leiterplatteneditor keine Kabelverbindung hergestellt werden. Ich denke, das liegt daran, dass es einen verbotenen Bereich um das Spulenmuster gibt. Die Form der Verbinder an beiden Enden wurde in "benutzerdefinierte Form (kreisförmiger Anker)" geändert und so geändert, dass sie aus dem Spulenmuster herausgezogen werden.

8. Fazit

KiCad hat die Funktion, dass die Daten im Textformat vorliegen und von einem externen Programm geändert oder vervollständigt werden können. Viele Menschen haben nützliche externe Programme erstellt und veröffentlicht. Ich möchte diesen Menschen danken und ihr Vermögen effektiv nutzen. Ich hoffe, dass ich in Zukunft einige nützliche Tools bereitstellen kann.

Recommended Posts

Erstellen Sie in KiCad ein Rahmenantennenmuster in Python
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Erstellen Sie einen DI-Container mit Python
Erstellen Sie eine Binärdatei in Python
Erstellen Sie eine zufällige Zeichenfolge in Python
Erstellen Sie eine einfache GUI-App in Python
[GPS] Erstellen Sie eine kml-Datei mit Python
Erstellen Sie ein Python-Modul
Besuchermuster in Python
Ich möchte mit Python ein Fenster erstellen
Erstellen Sie in Python ein Diagramm der Standardnormalverteilung
So erstellen Sie eine JSON-Datei in Python
Umschreiben von Elementen in einer Listenschleife (Python)
Erstellen Sie in Python ein einfaches Momentum-Investmentmodell
Erstellen Sie eine neue Seite im Zusammenfluss mit Python
Erstellen Sie ein Datum / Uhrzeit-Objekt aus einer Zeichenfolge in Python (Python 3.3).
Erstellen Sie in Python ein Paket mit globalen Befehlen
Erstellen Sie eine Python-Umgebung
[Docker] Erstellen Sie in 3 Minuten eine jupyterLab (Python) -Umgebung!
Erstellen Sie mit Selenium einen Datenerfassungsbot in Python
[LINE Messaging API] Erstellen Sie mit Python ein umfangreiches Menü
Erstellen Sie ein Plug-In, um Python Doctest mit Vim (1) auszuführen.
Erstellen Sie in Python einen Dekorator, der Argumente dynamisch akzeptiert. Erstellen Sie einen Dekorator
Erstellen Sie mit Quarry einen gefälschten Minecraft-Server in Python
Machen Sie einen Screenshot in Python
Erstellen Sie ein Wox-Plugin (Python)
Erstellen Sie ein Lesezeichen in Python
Erstellen Sie ein Python-Numpy-Array
Zeichne ein Herz in Python
Erstellen Sie ein Verzeichnis mit Python
Erstellen Sie einen lokalen Bereich in Python, ohne den Namespace zu verschmutzen
Durchlaufen Sie einen Generator, der einen Datumsiterator in Python zurückgibt
Erstellen Sie ein untergeordnetes Konto für die Verbindung mit Stripe in Python
Erstellen wir ein Skript, das sich bei Ideone.com in Python registriert.
Erstellen Sie den Code, der in Python "A und vorgeben B" ausgibt
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Schreiben Sie eine Dichotomie in Python
[Python] Verwalten Sie Funktionen in einer Liste
Drücken Sie einen Befehl in Python (Windows)
Erstellen Sie mit Flask einen CSV-Reader
Erstellen Sie mit tkinter eine Python-GUI
Erstellen Sie eine Python-Umgebung auf dem Mac (2017/4)
Zeichnen Sie eine Streudiagrammmatrix mit Python
ABC166 in Python A ~ C Problem
Erstellen Sie eine virtuelle Umgebung mit Python!
Schreiben Sie A * (A-Stern) -Algorithmen in Python
Implementieren Sie das Singleton-Muster in Python
Erstellen Sie Google Mail in Python ohne Verwendung der API
Schreiben Sie ein Kreisdiagramm in Python
Erstellen Sie eine Python-Projektdokumentation in Sphinx
Erstellen Sie ein universelles Dekorationsframework für Python
5 Möglichkeiten zum Erstellen eines Python-Chatbots
Löse ABC037 A ~ C mit Python
Führen Sie einen einfachen Algorithmus in Python aus
Zeichnen Sie ein CNN-Diagramm in Python