Rapid-Prototyping

Bastian Nordmeyer | Lukas Dehling,

Modular zum Prototypen

Um aus innovativen Ideen Prototypen zu entwickeln mangelt es vielen Unternehmen an Zeit, Geld und letztlich auch Know how. Abhilfe kann ein Baukasten-System schaffen: per modularem Rapid-Prototyping lassen sich Ideen schnell und günstig evaluieren.

© Tinkerforge

Viele Entwickler kennen die Situa­tion: Man hat eine spannende Idee, aber diese weiterzuverfolgen, wäre sehr aufwendig: Es fehlt an geeigneter Hardware – von Beginn an ist absehbar, dass mehrere Prototypen zu entwickeln wären. Eine Möglichkeit zum schnellen Ausprobieren steht nicht zur Verfügung. Und auch die Software-Entwicklung für die Hardware würde viel Zeit in Anspruch nehmen. Mit den richtigen Mitteln lassen sich diese Hürden jedoch beseitigen und innovative Produkte realisieren, deren Entwicklung bisher als zu aufwendig oder zu risikoreich erachtet wurden.

Aufbau einer temperaturab­hängigen Motor­steuerung: Schrittmotor (links), Stepper Brick (Schrittmotorsteuerung, Mitte) mit Temperature Bricklet (Temperatursensor, rechts) angesteuert per USB.

© Tinkerforge

Ein Lösungsansatz ist ein Rapid-Prototyping-Baukastensystem: Ein modulares System, das es dem Anwender ermöglicht, die benötigte Hardware– ähnlich wie LEGO-Bausteine – ­auszuwählen und zusammenzustecken. Um Ideen auszuprobieren ist somit keine eigene Hardware-Entwicklung mehr not­wendig. Der Prototyp lässt sich jederzeit flexibel verändern. Dieser Ansatz reduziert den Kosten- und Zeitaufwand für einen ­ersten Prototypen erheblich.

Nachdem die Hardware des Prototypens entwickelt und aufgebaut wurde, steht die Programmierung an. Entwickler implementieren hierfür oftmals sehr viel Code, der mit der eigentlichen Aufgabe nur indirekt zu tun hat.

Ein Beispiel: eine per Smartphone konfigurierbare temperaturabhängige Motorsteuerung. Das Ansteuern einer H-Brücke zur Motorsteuerung, die Implementierung der I2C-Kommunikation mit einem Temperatursensor oder die Einbindung und Kommunikation mit einem WLAN-Modul sind dabei Aufgaben, die der Entwickler zu lösen hat – die jedoch mit der eigentlichen Idee wenig zu tun haben.

Anzeige

Programmieraufwand ­mindern

Eine typische Standalone-Anwendung mittels Rapid-Prototyping: Ein RED-Brick-Modul mit HDMI-Touchdisplay und Batterie.

© Tinkerforge

Um vollen Nutzen aus der modularen Hardware schlagen zu können, muss die Nutzerschnittstelle des Systems einen hohen Abstraktionsgrad besitzen. Beispiel: Der Messwert eines Temperatursensors muss direkt mittels eines getTemperature()-Funktionsaufrufs in °C abrufbar und die Geschwindigkeit eines Motors per setVelocity(speed)-Funktion steuerbar sein.

Eine Nutzerschnittstelle mit dieser Abstraktionsebene führt zu einem deutlich verminderten Programmieraufwand. Der Nutzer muss sich so nicht mit der Im­plementierung von Basisfunktionalitäten beschäftigen, sondern kann direkt an der Problemstellung arbeiten. Damit auch Anwendungs- und Web-Entwickler solche Systeme programmieren können, sollten möglichst viele Programmiersprachen unterstützt werden.

Die Module lassen sich über Software-Bibliotheken (APIs) in die eigene Software einbinden. Die Hardware wird damit zu einer – mit der realen Welt interagierenden – Funktion der Software. Dieser Ansatz bietet darüber hinaus den Vorteil, dass dem Nutzer die gesamte Bandbreite an Bibliotheken aus der Anwendungsentwicklung zur Verfügung steht.

Dazu gehören etwa Bibliotheken aus den Bereichen Machine-to-Machine-Kommunikation (M2M), Datenbankanbindung, grafische Benutzerschnittstellen (GUI), Web-Applications oder Verschlüsselung. Insbesondere für Anwendungen in den Bereichen Internet der Dinge oder Industrie 4.0 ein riesiger Vorteil gegenüber der typischen eingebetteten Entwicklung, die in ihrem Funktionsumfang und ihrer Kompatibilität zu anderer Software und Geräten beschränkt ist.

 

Ideen umsetzen

Für das zuvor genannte Szenario einer „per Smartphone konfigurierbaren temperaturabhängigen Motorsteuerung“ bedeutet dies, dass der Nutzer einen Temperatursensor, eine Motorsteuerung für Gleichstrommotoren und ein WLAN-Modul wählt. Anstatt die notwendige Hardware zu entwickeln, steckt er nur Module zusammen und schließt den zu steuernden Motor und eine Stromversorgung an. Die eigent­liche temperaturabhängige Motor­regelung kann er mit ­einer nahezu ­beliebigen Programmiersprache implementieren. Anstatt sich um die Ansteuerung einer H-Brücke oder das Auslesen eines Temperatursensors kümmern zu müssen, erledigt dies das Baukastensystem für ihn. Der Nutzer muss sich also nur um die eigentliche Aufgabe kümmern und arbeitet auf einer hohen Abstraktionsebene. Die Konfiguration per WLAN ist dann ebenfalls schnell erledigt, da die Implementierung der Kommunikation mit dem WLAN-Modul beziehungsweise die Verschlüsselung ebenfalls vom System übernommen wird.

Im Vergleich zur traditionellen Produktentwicklung erhält der Anwender mit dem Rapid-Prototyping-System schnell und kostengünstig Resultate. Nach einem Proof-of-Concept und der Evaluation der Idee, kann die Produktentwicklung entweder direkt mittels den Bausteinen des Baukastensystems erfolgen oder es kann mit einer eigene Hardware-Entwicklung begonnen werden. Egal welche der Möglichkeiten verfolgt wird, wesentliche Elemente der Idee konnten zuvor bereits evaluiert werden. Die weitere Entwicklung kann somit unter deutlich geringeren Risiken und mit höherer Planungssicherheit erfolgen. Damit stellt das Baukastensystem eine gute Möglichkeit dar, um schnell Ideen auszuprobieren und gegebenenfalls bis zur Entwicklung eines fertigen Produkts weiterzuverfolgen. Typische Anwendungsbereiche des Systems sind die Produktentwicklung, Projekte im Bereich Internet der Dinge oder Industrie 4.0, die Automatisierung von Versuchsaufbauten, die Verwendung in Lehre und Ausbildung oder direkt als Steuerung in Kleinserien ab einem Stück.

Autor: Bastian Nordmeyer ist Geschäftsführer bei Tinkerforge.

 

Das Tinkerforge-Baukastensystem

Das Tinkerforge-Baukastensystem ist ein modular aufgebautes Rapid-Prototyping-System mit aktuell über 70 verschiedenen Sensor-/Aktormodulen und Software-Bibliotheken für viele Programmiersprachen. Die Module mit Preisen zwischen 4,19 Euro und 100 Euro können per USB, WLAN oder Ethernet von einem externen Server, (Embedded-)PC, Raspberry Pi, Tablet oder Smartphone gesteuert werden. Das System folgt der Devise: „Für jede Aufgabe ein Modul. Es gibt Module zum Steuern von Gleichstrom-, Schritt- und Servomotoren, zur Messung von Umweltparametern, wie Temperatur, Luftdruck und -feuchtigkeit, elektrischem Strom und Spannung, zur Nutzer-Interaktion mittels Touch, Tastern, Displays und NFC/RFID sowie zur Anbindung externer Geräte mittels industrieller Schnittstellen wie beispielsweise RS232 oder per galvanisch getrennter I/Os.

Das Baukastensystem besteht aus drei verschiedene Modulgruppen: Bricks, Master Extensions und Bricklets.

■ Bricks sind 4 cm × 4 cm kleine Module mit USB und bis zu vier Anschlüssen für Bricklets. Sie werden entweder einzeln oder als Stapel von einem externen Gerät per USB gesteuert oder können autark arbeiten. Jeder Brick besitzt eine Aufgabe: Es gibt Bricks zum Steuern von Motoren, zur Kommunikation oder im Fall des IMU-Bricks, um die Lage im Raum zu berechnen. Der RED-Brick kann Nutzer-Programme ausführen, somit die Steuerung der Hardware übernehmen und ermöglicht den Anschluss von anderen Geräten und Displays (USB, HDMI).
■ Master Extensions sind ebenfalls 4 cm × 4 cm kleine Module, mit denen die USB Schnittstelle der Bricks durch eine andere Schnittstelle ersetzt werden kann. Sie werden einfach auf Bricks gesteckt. Mittels Extensions können Stapel von Bricks anstatt per USB über das Netzwerk per Ethernet oder WLAN gesteuert werden. Die RS485-Extension ermöglicht eine Vernetzung der Bricks untereinander.
■ Bricklets sind Module in beliebiger Größe und werden per Kabel an einen Brick angeschlossen. Sie erweitern die Fähigkeiten des Bricks. Es gibt Bricklets zum Messen physikalischer Größen – wie elektrische Spannung, Lichtstärke oder Temperatur –, aber auch Bricklets für digitale Ein-/Ausgabe oder zum Schalten von 230-V-Verbrauchern.

Alle Module werden über Software-Bibliotheken gesteuert. Bibliotheken sind für die Programmiersprachen C/C++, C#, Delphi/Lazarus, Java, JavaScript, Labview, Mathematica, Matlab/Octave, Perl, PHP, Python, Ruby, Shell und Visual Basic.Net verfügbar. Zusätzlich zu den Programmiersprachen können die Module direkt per MQTT oder TCP/IP-Paketen gesteuert werden.

Je nach Aufgabe wählt der Nutzer geeignete Module, steckt diese mit wenigen Hand­griffen zusammen und schreibt mittels der angebotenen Biblio­theken schnell sein eigenes Programm oder integriert die Module in eine bereits existierende Software. Das Nutzerprogramm wird auf dem per USB, WLAN oder Ethernet verbundenen externen Gerät (zum Beispiel PC, Smartphone oder Tablet) ausgeführt.

Für Anwendungen ohne externe Steuerung ist mit dem RED-Brick auch ein Modul verfügbar, das die direkte ­Aus­führung des eigenen Programms über­nehmen kann. Ein externes steuerndes Gerät ist somit nicht mehr notwendig. Der Nutzer entwickelt und testet seine Software einfach an seinem PC und überträgt diese, sobald die Entwicklung abgeschlossen ist, auf den RED-Brick.

Dieser übernimmt dann die Ausführung. Über vorhandene USB-Hosts und HDMI-Anschlüsse lässt sich mit dem RED-Brick auch Software mit grafischer Nutzer­schnittstelle ausführen.

  • Xing Icon
  • LinkedIn Icon
Anzeige
Anzeige

Das könnte Sie auch interessieren

Anzeige
Anzeige
Anzeige
Anzeige

Grossenbacher Systeme

Embedded KI als Servicetechniker

Teure Ausfallzeiten und Servicetickets gehören zu den zentralen Herausforderungen eines effizienten Fertigungsbetriebs. Embedded KI kann dazu beitragen, Kosten zu senken und die "Overall Operating Effectiveness (OEE)" zu verbessern, indem sie im...

mehr...
Anzeige
Anzeige
Anzeige
Jetzt Newsletter abonnieren