Je commence à peine à concevoir des PCB et j'ai généralement du mal à apprendre à utiliser les interfaces graphiques avec les menus et les clics de souris. Certains ingénieurs utilisent-ils quelque chose de plus comme du code pour générer des PCB?
Je commence à peine à concevoir des PCB et j'ai généralement du mal à apprendre à utiliser les interfaces graphiques avec les menus et les clics de souris. Certains ingénieurs utilisent-ils quelque chose de plus comme du code pour générer des PCB?
Réponses:
Altium possède un langage de script, plusieurs langages différents, en fait. Dans certains cas, il peut être judicieux d'utiliser des algorithmes, par exemple pour créer des dispositions répétitives ou des pièces placées précisément dans certaines positions.
Par exemple, je l'ai vu utilisé pour placer des pièces (LED) dans un motif circulaire, bien qu'avec leur introduction de grilles d'accrochage aux coordonnées polaires, il soit beaucoup moins probable que cela en vaille la peine.
Nous avons utilisé des algorithmes pour créer des formes (pensez aux antennes et ce genre de choses) directement au format .dxf qui peuvent ensuite être importées dans une couche de cuivre.
En général, le code est mal adapté aux fins de mise en page PCB, en particulier pour la tâche de routage.
Dans EAGLE CAD, tout ce que vous pouvez faire avec une souris, vous pouvez le faire à partir de la ligne de commande. Il a également une langue utilisateur dans laquelle vous pouvez essentiellement programmer.
J'utilise du code pour générer la netlist de mes PCB. (Il est beaucoup, beaucoup plus rapide d'écrire une boucle for pour construire un multiplexeur N bits que de dessiner laborieusement tout cela dans un schéma.) Heureusement, les fichiers de netlist KiCAD ne sont que du texte, dans un format non documenté mais raisonnablement facile à inverser -ingénieur.
J'ai écrit une petite bibliothèque C # qui me permet de taper ce que je veux connecté à quoi (en termes de blocs de circuits paramétriques réutilisables), et il crache automatiquement une netlist. Maintenant, je peux simplement importer cela directement dans KiCAD et commencer à construire le PCB, sans avoir à perdre une heure ou plus à dessiner inutilement un schéma pour cela. (La bibliothèque effectue même des vérifications très basiques pour s'assurer que mes instructions ne sont pas complètement fausses, bien que je soupçonne que KiCAD lui-même ferait mieux ce travail.)
Les fichiers PCB KiCAD, d'autre part, sont également du texte, mais semblent être beaucoup trop complexes pour être générés par programme. Ce qui est dommage, car KiCAD par défaut vide tous les composants les uns sur les autres, ce qui m'oblige à passer plus de 20 minutes à les séparer à nouveau pour que je puisse voir ce que je fais. (KiCAD a la méchante habitude d'essayer de déplacer le texte plutôt que le composant auquel il est attaché , probablement pour rendre les PCB plus difficiles à concevoir?)
Peut-être qu'un jour je parviendrai à automatiser également la disposition initiale des composants; Je soupçonne, comme d'autres l'ont dit, que le bit "PCB design" impliquera toujours l'interface graphique.
Je ne le recommanderais pas, mais si vous le désirez vraiment, vous pouvez écrire des illustrations de PCB vous-même, sans aucun programme PCB. Le code ressemble à ceci:
G90 *
1 G70 *
2 G54D10 *
3 G01X0Y0D02 *
4 X450Y330D01 *
5 X455Y300D03 *
6 G54D11 *
7 Y250D03 *
8 Y200D03 *
9 Y150D03 *
10 X0Y0D02 *
11 M02 *
12Les numéros de ligne à l'extrême droite ne font pas partie du fichier. En examinant ce fichier sans aucune connaissance préalable de Gerber, on déduirait correctement que chaque ligne représente une commande de machine particulière et que l'astérisque (*) est le caractère de fin de commande. Il semble qu'il existe différents types de commandes: des instructions commençant par les données de coordonnées G, D, M et x, y.
Source: https://www.artwork.com/gerber/appl2.htm
Voici une spécification qui montre la différentes commandes
Si vous utilisez Kicad, regardez certaines des vidéos des conférences lors du premier KiCon (2019) sur Youtube. Quelques discussions ont été explicitement sur les outils d'écriture des présentateurs pour générer les pièces, une aussi sur les connexions. Au moins un python utilisé, qui est intégré dans un langage de script.