Wieder einer dieser Mommente, in denen mir Dinge klar geworden sind, die mir mMn längt hätten klar sein sollen. Dabei geht es diesmal um das Layout von Platinen bzw. das Anlegen von Bauelementen eben für das Layout.
Seit meiner Studienarbeit bis jetzt, da ich in Lohn und Brot stehe, habe ich immer wieder Platinen gelayoutet. Heißt, ich habe nachdem der Schaltplan fertig war, in einem Programm virtuelle Bauelemente auf einer virtuellen Platine verteilt und dann Leitungen “gemalt”, die die Anschlüsse der Bauelemente gemäß dem Schaltplan miteinander verbunden haben. Am Ende des Prozesses steht eine Datei, mit deren Hilfe eine Platinenfertigung Platinen fertigen kann.
Im Programm sind für die Bauelemente unter anderem sogenannte Footprints hinterlegt. Dabei handelt es sich um die zum Bauelement passenden Kontaktstellen, die auf der Platine vorhanden sein müssen, um das Bauelement anzuschließen. Im Fall eines altmodischen Widerstands also zwei Löcher, die mit Kupfer kontaktiert sind, um die Beinchen des Widerstands durchzustecken und dann anzulöten. Das meiste wird heute allerdings ohne Löcher in SMD-Technik (Surface Mount Device) umgesetzt. Dabei gibt es nur noch Kontaktflächen (ohne Löcher) auf der Platine, sog. Pads, auf denen dann die Bauelemente aufgelötet werden.
Die Footprints für die Bauelemente sind in den Programmen in einer Bibliothek hinterlegt. Möchte man ein Bauelement verwenden, das nicht in der Bibliothek vorhanden ist, muss man es selbst anlegen. Zu den genauen Maßen gibt es Informationen in den Datenblättern der Bauelemente, anhand derer man die Footprints “malt”.
Soweit so gut. Beides, also Layout und das Erstellen neuer Bauelemente, habe ich hinter mir. Teils mit einer Anleitung vom Lehrstuhl, teils mit Anleitungen aus dem Netz. Irgendwie funktioniert hat es immer. Aber wie bei so vielem, sind es die kleinen Details, auf die man erst später kommt und dazu muss ich schon wieder etwas ausholen.
Alle Layoutprogramme arbeiten mit einem Gitter, dass die kleinste Schrittweite für die Mausposition und damit von allem, was man platzieren möchte bestimmt. Hier stellt sich die Frage, aus welchen Gründen, stelle ich mir mein Gitter wie ein?
Dazu muss man wissen, dass sich die Bauelemente, die man heute käuflich erwerben kann in zwei Lager teilen lassen. Es gibt Bauelemente, deren Pins in ein metrisches Raster (cm, mm) passen und es gibt Bauelemente, die in ein Imperiales (inch, mil) passen. In der Regel folgen die neueren SMD-Bauelmente dem metrischen Raster, die “alten” Bauelementen zum Durchstecken dem Imperialen.
Somit macht es Sinn, an einer Platine, die hauptsächlich mit SMD-Bauelementen bestückt wird mit metrischem Raster zu arbeiten und andersherum. Das hat dann den Vorteil, dass man das Raster relativ grob wählen kann und so ohne langes Zielen z.B. eine Leiterbahn genau in der Mitte zwischen zwei Pins eines Bauelements hindurch führen kann.
Das setzt allerdings Vorraus, dass die Footprints der Bauelemente sinnvoll angelegt wurden. Beim anlegen der Bauelemente ist nämlich ein Nullpunkt zu setzen. Damit das Raster entsprechend greift, macht es Sinn diesen Nullpunkt in die Mitte eines Pins zu legen. Dann klappt’s später auch mit dem Raster.
An der Uni gab es eine Anleitung, die besagte, dass es so gemacht wird. Der Grund wurde nicht erwähnt. Auf der Arbeit hieß es: “Entweder in die Mitte des Bauelements oder auf einen Pin.” Es mag sein, dass die Platzierung in der exakten Mitte auch funktioniert, 100%ig sicher ist aber wohl nur der Pin.
Zu verdanken habe ich diese Erkenntnis Dave Jones von EEV-Blog, dem ich in der vergangenen Woche in einem seiner älteren Videos beim Layouten über die Schulter geschaut habe.
Thank you Dave.
Mit diesem Wissen, setze ich mich jetzt an die Bauelemente, die ich in den letzten Monaten angelegt habe und platziere den Nullpunkt jeweils mittig auf Pin1, damit alles besser wird als vorher.
Update:
Nachdem ich dann meine Bibliothek aktualisiert hatte, ist mir aufgefallen, dass das für das aktuelle Projekt gar nicht sooo toll ist. Auf der Platine ist in Sachen Gitter ohnehin alles Kraut und Rüben, wodurch die Änderung der Nullpunkte lediglich den Effekt hat, dass sich die Bauelemente im Layout verschieben und neu platziert werden müssen.