Layout-Projekt
(EN google-translate)
(PL google-translate)
Hintergründe
Die Basiskonzepte objektorientierter Programmiersprachen lassen sich am besten anhand konkreter Beispiele erklären und motivieren. Deshalb sollen sie im Verlauf der weiteren Vorlesungen im Rahmen eines konkreten Software-Entwicklungs-Projekts dargestellt werden.
Layout-Programme für elektronische Schaltungen
Layout-Programme für elektronische Schaltungen sollen den Entwurf elektronischer Schaltungen erleichtern. Bauteilbibliotheken helfen, die richtigen Maße und Rasterungen für Bauelemente zu verwenden und zu vermeiden, dass sich Bauelemente überlappen. Autorouting hilft, optimale Verbindungen der Bauteile unterinander zu realisieren. Export-Werkzeuge helfen, den Entwurf direkt in Anweisungen z.B. für einen Fräsbohrplotter umzusetzen. Beispiele für solche Layout-Programme sind KiCad, Eagle oder Sprint-Layout.
Bild 0-1: Mit KiCad erstelltes Layout einer kleinen Mikrocontroller-Schaltung.
Raster-Layout
Im Rahmen dieser Vorlesung soll ein spezielles Layout-Programm entwickelt werden, das eine Teilmenge an möglichen Layout-Aufgaben in besonderem Maße unterstützt, nämlich das Layout für vorgefertigte Lochrasterplatinen mit Kupferkaschierung in vorgegebenen Dreierketten.
Bild 0-2: Bestückungsseite einer Platine mit Lochraster und Dreierketten, bestückt mit einer 40-Pin-IC-Fassung für einen ATmega32, einem Widerstand und einer Drahtbrücke.
Bild 0-3: Kupferseite der gleichen Platine.
Anforderungsliste "Must"
An das zu entwickelnde Programm werden folgende Anforderungen gestellt
|
Anforderungsliste "Nice to have"
|
Die Anzahl der notwendigen Drahtbrücken und deren Länge sollte möglichst gering gehalten werden. Ein entsprechender Optimierer soll Variationen für die Bestückung durchspielen, um nach einer optimalen Lösung zu suchen.
Der "Stromlaufplan" muss allerdings nicht als grafischer Verbindungsplan vorliegen, sondern es reicht in einer Liste anzugeben, welches Bauteil mit welchem anderen wie verbunden ist.
Verzicht
Auf einige für solche Programme typische Eigenschaften soll im Rahmen dieses Entwicklungsprozesses verzichtet werden, um das Programm schlank und übersichtlich zu halten:
|
Agile Softwareentwicklung
|
Übung P1 (Erste Übung zum Layout-Projekt)
|
Die Rasterung der Löcher beträgt in der Realität 2,54mm. Eine "Bounding-Box" um die Bauteile herum muß also nicht viel feiner ausfallen. Welches wäre eine sinnvolle kleinste Längeneinheit, um ein Bauteilschema oder auch eine "Bounding-Box" um die Bauteile herum zu beschreiben? Wie kann man die Syntax für die textuelle Beschreibung so einfach halten, dass möglichst selten Bauteilbeschreibungen durch falsche Benutzereingaben unbrauchbar werden?
Hinweise
|