Conception de plusieurs circuits imprimés dans un même projet

Ari Mahpour
|  Créé: May 9, 2021  |  Mise à jour: September 2, 2021
Conception de plusieurs circuits imprimés dans un même projet

La majorité de nos conceptions de PCB se présentent sous la forme d'un seul PCB dans nos projets Altium Designer (c'est-à-dire un fichier .PrjPcb). De temps en temps, nous réalisons un design en utilisant des variantes avec différentes options de remplissage. Il arrive rarement qu'un seul projet nécessite plusieurs PCB avec différentes options de remplissage, mais lorsque cela se produit, beaucoup d'entre nous ont tendance à rester bloqués. Trop souvent, j'ai vu des concepteurs copier et coller un projet, puis ajouter de légères variations au schéma et/ou au PCB. En général, cette pratique est acceptable, sauf lorsque vous devez revenir en arrière et mettre à jour la conception. Comment faites-vous en sorte de gérer les modifications sur deux projets ? Comment garantissez-vous que ces changements soient identiques ? Combien de fois cette situation se produira-t-elle (par exemple, Rev A, B, C, etc.) ? Cet article passe en revue une approche permettant de gérer plusieurs conceptions de PCB au sein d'un seul projet, garantissant ainsi une seule source de vérité.

Configuration du fichier de projet pour plusieurs PCBs

Notre objectif ici est de maintenir une seule source de vérité dans les schémas tout en étant capable d'acheminer des variantes du PCB lui-même. Dans cet exemple, j'ai créé un seul schéma mais avec deux PCB :

Fichiers de projet comprenant plusieurs PcbDocs
Figure 1 : Fichiers de projet comprenant plusieurs PcbDocs

Vous remarquerez également les variantes en haut de la page. J'ai créé deux variantes pour mon contrôleur de four : une pour le Raspberry Pi (taille standard) et l'autre pour le Raspberry Pi Zero. J'ai commencé par le routage du design de la hat du Raspberry Pi Zero puisque la taille standard est essentiellement une version plus grande du zéro. Après avoir terminé le routage, j'ai copié et collé le design complet du PCB dans mon PCB de taille standard (PiHat - Full.PcbDoc). Quelques modifications mineures ont été nécessaires (par exemple, découpes, polygones, contours de la carte, etc.), mais les composants et les routes sont restés les mêmes. Dans mon schéma, j'ai inclus tous les composants qui existent dans les deux conceptions (qu'ils soient remplis ou non) :

Schéma de PCBs sans les variantes.
Figure 2 : Schéma sans variantes

J'ai réalisé que j'avais beaucoup de place supplémentaire dans ma hat Raspberry Pi de taille standard, alors j'ai décidé d'incorporer mon convertisseur CA/CC dans la carte. Le problème, bien sûr, est que l'ajouter au schéma signifie qu'il sera importé dans mon PCB pour ma carte Pi hat plus petite. Ceci, en taille réelle, est quelque chose que nous ne voulons pas faire, donc j'ai intentionnellement exclu qu'il soit importé dans mon PcbDoc :

Ne pas importer les parties non remplies
Figure 3 : Ne pas importer les parties non remplies

Puisque les composants ne sont pas dans la conception, ils ne génèreront pas d'erreurs DRC "unrouted". Nous voulons également ajouter des options DNI (do not install) dans nos variantes, comme suit :

Figure 4 : DNI pour la carte grand format
Figure 4 : DNI pour la carte en taille réelle
DNI pour la carte Pi Zero
Figure 5 : DNI pour la carte Pi Zero

Pour éviter toute confusion, j'ai complètement retiré le connecteur d'alimentation DC pour la version pleine grandeur (puisque nous utilisons une entrée AC) et vice versa avec la version Pi Zero.

Fichiers Output Job

Maintenant que nous avons conçu notre schéma, fait le routage de nos cartes et configuré les options de remplissage, nous devons configurer nos fichiers Output Job. Ces fichiers Output Job généreront les paquets de fabrication et d'assemblage nécessaires pour construire chaque carte avec leurs options de remplissage respectives. Il s'agit d'une étape cruciale qui peut souvent être négligée et causer d'énormes difficultés lors de la génération d'un paquet pour le fournisseur.

Dans cet exemple, nous avons un fichier Output Job distinct pour chaque PCB. Pour simplifier, il existe un seul fichier Output Job pour la fabrication et l'assemblage (qui est généralement divisé en deux fichiers .outjob séparés dans les projets d'exemple d'Altium Designer). Comme vous pouvez le voir dans les Figures 6 et 7, les fichiers .outjob sont identiques à l'exception de la sélection de la variante et de la sélection du PcbDoc. Pour les options de remplissages multiples, nous utilisons les options de variante situées en haut de la fenêtre. Nous générons un paquet pour le seul PCB qui nous intéresse et pour uniquement le remplissage des PCB spécifiés. Par exemple, pour la variante "Pi" (qui consiste à remplir un hat Raspberry Pi de taille standard), nous voulons sélectionner le fichier PCB "PiHat - Full" (c'est-à-dire de taille normale). Nous ne sommes pas intéressés par la génération de paquets de fabrication et d'assemblage pour le hat Raspberry Pi Zero. Il en va de même pour le petit hat Raspberry Pi (Zero). Nous générons les fichiers nécessaires pour fabriquer et assembler uniquement la carte qui nous intéresse.

Figure 6 : fichier de tâche de sortie avec variante de projet grand format et PCB sélectionnés
Figure 6 : Fichier Outjob avec variante de projet à taille réelle et PCB sélectionné
Fichier Outjob avec la variante de projet de taille Pi Zero et le PCB sélectionné
Figure 7 : Fichier Outjob avec la variante de projet de taille Pi Zero et le PCB sélectionné

Enfin, pour permettre une certaine réutilisation, nous utilisons des chaînes spéciales dans les paramètres de la structure du dossier comme suit :

Utilisation de chaînes spéciales pour nommer les dossiers de sortie de manière programmatique lors de la conception de 2 PCBs dans le même projet
Figure 8 : Utilisation de chaînes spéciales pour nommer les dossiers de sortie de manière programmatique

Cela nous permet d'avoir des sous-dossiers créés automatiquement sur la base du nom de la variante. Si le nom de la variante change, les dossiers changent aussi.

Il existe d'autres façons de condenser encore plus ces fichiers Output Job, par exemple par le biais de scripts ou d'autres moyens, mais cela n'entre pas dans le cadre de cet article. Le but de cet article est de démontrer comment il est possible de concevoir plusieurs PCB dans un projet et de fournir au lecteur un exemple de l'une des nombreuses façons d’y parvenir.

Conclusion

Cet article abordait les défis auxquels les concepteurs sont confrontés lorsqu'ils gèrent plusieurs PCB à partir d'une seule source de vérité. Plutôt que de créer et de gérer plusieurs copies d'un projet, nous maintenons un seul projet PCB tout en concevant pour plusieurs PCB grâce aux configurations de Output Job. Ces configurations nous permettent de conserver plusieurs fichiers PcbDoc au sein du projet mais de générer des packages pour ces cartes spécifiquement. En utilisant cette technique, les concepteurs peuvent gagner du temps et de l'argent en mettant à jour un seul projet qui se déploie sur plusieurs PCB.

Vous souhaitez en savoir plus sur la manière dont Altium peut vous aider dans votre prochaine conception de PCB ? Parlez à un expert d'Altium et apprenez-en davantage sur la façon de prendre des décisions de conception avec facilité et confiance.

A propos de l'auteur

A propos de l'auteur

Ari is an engineer with broad experience in designing, manufacturing, testing, and integrating electrical, mechanical, and software systems. He is passionate about bringing design, verification, and test engineers together to work as a cohesive unit.

Articles les Plus Récents

Retournez à la Page d'Accueil