ueberblick.industries | Rapid Prototyping
21103
post-template-default,single,single-post,postid-21103,single-format-standard,qode-social-login-1.0,ajax_updown_fade,page_not_loaded,,select-theme-ver-4.4.1,wpb-js-composer js-comp-ver-5.4.7,vc_responsive
 

Rapid Prototyping

Zeit ist Geld

Rapid Prototyping

Embedded Hardware Projekte werden normalerweise im sogenannten V-Modell abgewickelt. Dieses bewährte aber ﹣zugegebenermaßen ﹣starre Konzept stammt aus den späten 70er Jahren des letzten Jahrtausends und gliedert ein Projekt in mehrere Phasen:

  • Anforderungen definieren
  • Spezifikationen schreiben
  • Implementierung aller spezifizierten Eigenschaften
  • Verifikation ob die Spezifikation eingehalten wurde
  • und zum Schluss wird validiert, ob das Produkt die Anforderungen erfüllt

Namensgebend für dieses Vorgehensmodell ist die Tatsache, dass jedem Entwicklungschritt nach erfolgter Implementierung ein Testschritt gegenübersteht.

Die bereits erwähnte Starrheit ist in der heutigen Zeit mit ihren immer schnelleren Designzyklen und komplexeren Produkten auch die größte Schwäche des V-Modells. Werden in der Spezifikationsphase Fehler gemacht, fallen diese unter Umständen erst in der Validierungsphase auf. In der Zwischenzeit wurden Prototypen hergestellt und es ist viel Zeit und Geld für eine schlimmstenfalls unbrauchbare Iteration aufgewendet. Insbesondere in der Live-Entertainment Branche sind Deadlines jedoch keine Milestones, die man beliebig verschieben kann.

Wenn um 19:00 Doors und um 20:00 Showtime ist, dann kann man eine Deadline nicht verschieben.

Im Bereich des Software-Engineerings arbeitet man schon lange in kleinen, iterativen Schritten. Agile Softwareentwicklung kann sich schnell an Veränderungen anpassen. Oft liegt einem agilen Projekt zu Beginn noch keine komplette Spezifikation vor. Das Projekt entwickelt sich gemeinsam mit dem Kunden. Dies funktioniert deshalb, weil Zwischenergebnisse in einem Softwareprojekt nahezu keine zusätzlichen Kosten verursachen. Ein Druck auf den Build Button und nach einiger Zeit fällt ein fertiger Prototyp aus dem Computer. Gemeinsam mit dem Kunden wird geprüft, ob die Software den Anforderungen entspricht oder ob an diesen vorbei entwickelt wurde.

Der größte Vorteil liegt in der Geschwindigkeit, bis der Kunde einen ersten Prototypen sehen kann. Ab diesem Zeitpunkt fließen kontinuierlich Verbesserungen in die Entwicklung ein.

Im Bereich der Hardwareentwicklung sind die Kosten für einen Prototypen hingegen reell vorhanden. Für einen ersten Entwurf einer Baugruppe muss ein Schaltplan und darauf basierend ein Leiterplattenlayout erstellt werden. Mit diesen Daten wird dann eine Leiterplatte gefertigt, diese wird bestückt und in Betrieb genommen. Diese Schritte nehmen je nach Komplexität des Projektes mehrere Wochen in Anspruch. Die Kosten für Einzelstücke können schon bei kleinen Baugruppen in die Tausende gehen. Es erklärt sich von selbst, dass im Entwicklungszyklus nur wenige Prototypen hergestellt werden können und diese somit bereits früh einen hohen Detailgrad haben müssen. Dies zwingt bisher zur geschilderten starren Vorgehensweise.

Rapid Prototyping kombiniert die qualitätssichernden Prinzipien klassischer Vorgehensmodelle mit den agilen Methoden moderner Softwareentwicklung.
Es erweitert das V-Modell um eine dynamische Komponente. Vor der zeitaufwendigen Design- und Implementierungsphase werden mit “Wegwerfprototypen” die Anforderungen validiert.

Die MAKER-Szene hat es der Industrie vorgemacht. Allen voran Arduino und  Raspberry Pi.

Die klassischen Arduinos basieren auf 8 bit Mikrocontrollern und vorgefertigten Libraries für die angebotenen Shields. Die Zielgruppe sind Hobbyentwickler und Künstler. Die Shields und Libraries stammen oft aus fragwürdiger Quelle, die Verfügbarkeit der Komponenten für ein Serienprodukt ist nicht garantiert.

Wir arbeiten häufig mit modernen 32 bit ARM Mikrocontrollern von STMicroelectronics. Für diese Platform existiert ein sehr ähnliches Hardwarekonzept. Der große Unterschied ist der Grad der Professionalisierung.

Eine Mikrocontrollerplatform, die mit speziellen Platinen erweiterbar ist, bietet uns für viele Projekte die Flexibilität von “Wegwerfprototypen” ohne hohe Kosten zu verursachen. Diese Platinen implementieren wiederverwendbare Funktionsblöcke in Hardware, die klassisch auf eine Prototypenplatine designed worden wären.
Uns stehen eine Reihe kommerziell erhältliche aber auch selbst entworfene Funktionsblöcke zur Verfügung. Mit dieser Hardware und ebenso modularer Software können wir schnell eine Kundenidee ausprobieren und meist innerhalb weniger Tage ein erstes Funktionsmuster vorführen.

Der Schritt vom Funktionsprototypen zum ersten wirklichen Prototypen ist dann kurz. Dank der entwicklungsbegleitenden Abstimmung mit dem Kunden steht schon vor dem Design der Leiterplatte  fest, dass die Anforderungen vollumfänglich in das Produkt eingeflossen sind. Die Softwareentwicklung konnte bereits beginnen und alle Showstopper, wie z.B. die Ansteuerung eines NFC Reader ICs sind bereits gelöst. Während die Hardware designed wird, kann die Softwareentwicklung weiter am Funktionsprototypen fortgeführt werden. So wird wertvolle Zeit gespart und die Markteinführung beschleunigt.

Das Prinzip von aufgesteckten Tochterplatinen (in der Arduinowelt als Shields bezeichnet) und offengelegter Konstruktionsdetails ist keine neue Erfindung. Schon 1977 brachte Apple den Apple II auf den Markt. Dessen wesentliche Merkmale die offene Architektur und Erweiterbarkeit war.
(Von diesen Eigenschaften abgesehen, ist Steve Wozniacs Apple II bereits im zarten Grundschulalter mein erster Berührungspunkt mit Computern gewesen.) ﹣Philip Siefke