Mehrere PCBs in einem Projekt: So erstellen Sie Ihre Designs

Ari Mahpour
|  Erstellt: May 9, 2021  |  Aktualisiert am: August 20, 2021
Mehrere PCBs im gleichen Projekt: Designerstellung

Die meisten unserer PCB-Designs befinden sich als eine einzelne PCBs unter unseren Altium Designer-Projekten (z. B. .PrjPcb-Datei). Von Zeit zu Zeit verwenden wir für unser Design Varianten mit verschiedenen Bestückungsoptionen. Es kommt nur selten vor, dass wir ein einzelnes Projekt haben, das mehrere PCBs mit verschiedenen Bestückungsoptionen erfordert, aber wenn es geschieht, dann bleiben viele von uns hängen. Allzu oft habe ich erlebt, wie Designer Teile eines Projekts kopieren und einfügen und dann kleinere Variationen am Schaltplan und/oder den PCBs anbringen. Im Allgemeinen ist diese Vorgehensweise akzeptabel, so lange Sie das PCB-Design nicht später aktualisieren müssen. Wie bewältigen Sie die exakte Änderung über beide Projekte hinweg? Wie garantieren Sie, dass diese Änderungen identisch sein werden? Wie oft wird dies vorkommen (z. B. Rev A, B, C usw.)? Dieser Artikel behandelt einen Ansatz für die Verwaltung mehrerer PCB-Designs innerhalb eines einzigen Projekts, der eine zentrale Informationsquelle sicherstellt. Wir werden auch das Beispiel der PCBs aus meinem letzten Artikel Pandemic Prototyping: Building Electronics from your Living Room durchgehen.

Mehrere PCBs: Einrichten der Projektdatei

Unser Ziel ist es, eine zentrale Informationsquelle innerhalb der Schaltpläne zu verwalten und dennoch Varianten der Leiterplatte selbst routen zu können. In diesem Beispiel habe ich einen einzigen Schaltplan, jedoch mit zwei PCBs, erstellt:

Projektdatei mit zwei PcbDocs
Abbildung 1: Projektdateien mit mehreren PcbDocs

Die Varianten sind oben zu sehen. Ich habe zwei Varianten für meinen Kiln Controller erstellt: eine für den Raspberry Pi (Standardgröße) und die andere für den Raspberry Pi Zero. Ich begann das Routing mit dem Raspberry Pi Zero HAT-Design, da die Standardgröße im Wesentlichen eine größere Version von Zero ist. Nach Abschluss des Routing kopierte ich das ganze PCB-Design und fügte es in die PCB der Standardgröße ein (PiHat – Full.PcbDoc). Es waren einige geringfügige Anpassungen erforderlich (z. B. Ausschnitte, Polygonflächen, Leiterplattenumrisslinien usw.), aber die Bauteile und Leiterbahnen blieben gleich.

In meinem Schaltplan habe ich alle Bauteile, die in beiden Designs vorhanden sind, mit einbezogen (gleich, ob sie bestückt waren oder nicht):

Mehrere PCBs: Schaltplan ohne Varianten
Abbildung 2: Schaltplan ohne Variante

Mir wurde klar, dass ich eine Menge zusätzlichen Platz in meinem Raspberry PiHat der Standardgröße hatte. Deshalb beschloss ich, den AC-DC-Wandler in die Leiterplatte einzubauen. Das Problem ist natürlich, dass durch das Hinzufügen des Wandlers zum Schaltplan er in das PCB für die kleinere PiHat-Leiterplatte importiert wird. Dies möchten wir nicht tun und deshalb habe ich ihn absichtlich von meinem PCB Doc ausgeschlossen:

Mehrere PCBs in einem Projekt: Nicht bestückte Teile werden explizit nicht importiert
Abbildung 3: Nicht bestückte Teile werden explizit nicht importiert

Da die Bauteile nicht im Design enthalten sind, werden sie keine „unrouted“ DRC-Fehler erzeugen. Wir möchten auch DNI (do not install)-Optionen zu unseren Varianten hinzufügen, und zwar wie folgt:

Mehrere PCBs: DNI für PCB in Standardgröße
Abbildung 4: DNI für PCB in Standardgröße
Mehrere PCBs: DNI für PCB in Pi-Zero-Version
 Abbildung 5: DNI für PCB in Pi-Zero-Version

Um Verwirrung zu vermeiden, habe ich den DC-Steckverbinder für die Standardgröße vollständig entfernt (da wir einen AC-Eingang verwenden) und umgekehrt auch für die Pi-Zero-Version.

Output Job-Dateien

Jetzt, da wir unseren Schaltplan entwickelt, die PCBs geroutet und die Bestückungsoptionen konfiguriert haben, müssen wir die Output Job-Dateien einrichten. Diese Output Job-Dateien generieren die erforderlichen Fertigungs- und Baugruppenpakete für den Bau aller PCBs mit ihren entsprechenden Bestückungsoptionen. Dies ist ein entscheidender Schritt, der oft übersehen wird, was bei der späteren Erstellung eines Pakets für den Anbieter enorme Probleme verursachen kann.

In diesem Beispiel haben wir für jede Leiterplatte eine separate Output Job-Datei. Der Einfachheit halber gibt es eine einzige Output Job-Datei für die Fertigung als auch für die Montage (was normalerweise in zwei getrennte .output-Dateien in den Beispielprojekten von Altium Designer aufgeteilt wird). Wie Sie in den Abbildungen 6 und 7 sehen können, sind die .outjob-Dateien identisch mit Ausnahme der Variantenauswahl und der PcbDoc-Auswahl. Für mehrere Bestückungsoptionen verwenden wir die im oberen Teil des Fensters angegebenen Variantenoptionen. Wir generieren ein Paket allein für die Leiterplatte, an der wir für die Bestückung der angegebenen PCBs interessiert sind. Beispiel: Für die „Pi“-Variante (für die Bestückung einer Raspberry PiHat der Standardgröße) wollen wir die PCB-Datei „PiHat – Full“ (d. h. in normaler Größe) auswählen. Wir sind nicht daran interessiert, Fertigungs- und Montagepakete für die Raspberry Pi Zero HAT zu generieren. Das Gleiche gilt für die kleinere Raspberry Pi (Zero) HAT. Wir erstellen die Dateien, die für die Fertigung und die Montage nur für die Leiterplatte, an der wir interessiert sind, erforderlich sind.

Mehrere PCBs: Outjob-Datei mit Projektvariante in Originalgröße und ausgewähltem PCB
Abbildung 7: Outjob-Datei mit Projektvariante der Pi-Zero-Größe und ausgewähltem PCB
Abbildung 7: Outjob-Datei mit Projektvariante der Pi-Zero-Größe und ausgewähltem PCB

Um eine Wiederverwendung zu ermöglichen, setzen wir schließlich spezielle Strings in Folder Structure Settings ein und zwar wie folgt:

Mehrere PCBs im gleichen Projekt: Verwendung von programmierbaren speziellen Strings zur Benennung von Output-Ordnern
Abbildung 8: Verwendung von programmierbaren speziellen Strings zur Benennung von Output-Ordnern

Dies ermöglicht uns, Unterordner automatisch basierend auf dem Namen der Variante zu erstellen. Wenn sich der Name der Variante ändert, so ändern sich auch die Namen der Ordner.

Es gibt noch weitere Möglichkeiten, diese Output-Job-Dateien mithilfe von Skripts und auf andere Weise zu verkürzen. Dies liegt jedoch außerhalb des Umfangs dieses Artikels. Der Zweck dieses Artikels ist es, zu verdeutlichen, wie dies möglich ist und den Lesern eine der vielen Möglichkeiten zu zeigen, wie sie dies einrichten können.

Zusammenfassung

Dieser Artikel beschreibt die Herausforderungen, mit denen Designer bei der Verwaltung mehrerer PCBs auf der Basis einer zentralen Informationsquelle, konfrontiert sind. Anstatt mehrere Kopien eines Projekts zu erstellen und zu bewältigen, verwalten wir ein einziges PCB-Projekt und führen das Design unter Verwendung von Output-Job-Konfigurationen für mehrere PCBs durch. Mithilfe dieser Konfigurationen können wir mehrere PcbDoc-Dateien innerhalb des Projekts behalten, jedoch Pakete speziell für diese Leiterplatten generieren. Diese Methode ermöglicht es Entwicklern, bei der Aktualisierung eines einzelnen Projekts, das mehrere PCBs beliefert, Zeit und Geld zu sparen.

Würden Sie gerne mehr darüber erfahren, wie Altium Sie bei Ihrem nächsten PCB-Design unterstützen kann? Sprechen Sie mit einem Experten von Altium und erfahren Sie mehr darüber, wie Sie Designentscheidungen einfach und sicher treffen können.

Über den Autor / über die Autorin

Über den Autor / über die Autorin

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.

neueste Artikel

Zur Startseite