Workshop - FHS St.Gallen

Werbung
Institut für Innovation, Design und Engineering IDEE‐FHS
Rapid Automation – Workshop
zur schnellen Prozess‐
automatisierung
10. Ostschweizer Innovationstagung
3. Mai 2017, St. Gallen
Rapid Prototyping & Process Automation
Quelle: https://lochieferrier.wordpress.com/tag/lego/
Quelle: https://www.youtube.com/watch?v=WBEtUJmp05w#t=80
Workshop: «Rapid Automation»
14:00
Begrüssung und Einführung ins Thema
14:05
Einführung in den Workshop
14:15
littleBits
14:25
Lego Mindstorms EV3
14:35
Arduino (Makeblock/MeArm)
14:45
Pause (Gruppeneinteilung)
15:00
Start des Workshops
16:30
Präsentation und Diskussion der Workshopergebnisse
17:00
Ende des Workshops
IDEE‐Workshopteam
littleBits
Thomas Achermann
Arduino
Andreas Peter
Gallus Glanzmann
Lego Mindstorms EV3
Support
Dave Spoerle
Thomas Utz
Jörg Bachmann
Ueli Hagger
Lukas Schmid
Urs Sonderegger
Projekt Altglas ‐ Aufgabenstellung für den Workshop
Altglastransporter
Umladestation
Sortieranlage
Komponenten: littleBits
Aufgabe: bauen
Komplexität: einfach
Komponenten: Arduino/MeArm
Aufgabe: programmieren
Komplexität: schwierig
Komponenten: Arduino/Mindstorms
Aufgabe: programmieren
Komplexität: schwierig
Gabelstapler
Portalkran
Containerschiff
Komponenten: Mindstorms
Aufgabe: bauen und programmieren
Komplexität: mittel
Komponenten: Mindstorms
Aufgabe: programmieren
Komplexität: schwierig
Komponenten: Mindstorms
Aufgabe: bauen und programmieren
Komplexität: einfach
Rapid Automation mit littleBits
Littlebits sind kleine Elektronikbausteine, die mit Hilfe von Magneten
zusammengehalten werden. Mit den farblich nach Funktion gestalteten
Modulen (sogenannten «Bits») können Schaltungen und Stromkreisläufe
erstellt werden - ohne Programmieren, Löten, Verkabeln oder Steckbrett.
Von den «Bits» gibt es vier Grundtypen:
•
pinke Input-Bits (z.B. Taster, Schalter und Sensoren), die auf die Umgebung
reagieren
•
grüne Output-Bits (z.B. Lichter und Motoren), die Signale, Töne oder
Bewegungen ausgeben
•
blaue Output-Bits (Stromversorger), die jedem Projekt den notwendigen
Strom liefern
•
orange Wire-Bits (Kabel-Module), die Verbindungen herstellen
Vorteile und Nachteile von littleBits
+
-
-
sehr einfache Handhabung
-
-
Fehlerhaftes Aufbauen
unmöglich
Einschränkung in den
Bauelementen
-
nicht programmierbar
-
Sehr schnell aufgebaut
-
magnetische Verbindungen
Module
Sensoren (rosa)
Aktoren (grün)
•
Taster
•
Servomotor
•
Schieberegler
•
Gleichstrommotor
•
Licht
•
Leuchtdiode
•
Temperatur
•
Anzeige (Zähler)
•
Druck
•
Summer
•
Schwellwert
•
Ventilator
•
usw.
•
usw.
Module (Aufbau)
Beispiel einer Temperaturmessung
Stromversorgung
Temp. Sensor
Anzeige
usw.
Film
Quelle: https://www.youtube.com/watch?v=YUUsJSDa7PE
Rapid Automation mit Lego Mindstorms EV3
Lego Mindstorms EV3 ist eine Produktserie des dänischen Spielwarenherstellers
Lego. Kernstück der Produktserie ist ein programmierbarer Legostein (NXT/EV3)
sowie Elektromotoren, Sensoren und Lego-Technik-Teile (Zahnräder, Achsen,
Lochbalken, Pneumatik-Teile usw.), um Roboter und andere autonome und
interaktive Systeme zu konstruieren und programmieren.
World Record Rubik's Cube Solver
DIY‐Roboter für Alltagsaufgaben
Hardware / Roboterbausatz
Programmierung und Software Um den EV3-Stein zu programmieren gibt es verschiedene
Programmierumgebungen und Sprachen:
•
Die von LEGO mitgelieferte Software wird schlicht als «EV3- Software»
bezeichnet. Sie bietet eine grafische Oberfläche und fertige Blöcke für
Programmabläufe.
•
NEPO – die im «Open Roberta Lab» verwendet wird – ist ebenfalls eine
grafische Programmiersprache, mit der ein unkomplizierter Einstieg in die
Programmierung von EV3-Robotern möglich ist.
•
ROBOTC ist eine von der Carnegie Mellon Universität entwickelte
Programmiersprache. Mit RobotC können Lego Mindstorms Roboter in C
programmiert werden.
•
Mit leJOS (LEGO Java Operating System) kann der EV3 auch in Java
programmiert werden. leJOS ist ein Framework welche auch die benötigte
Firmware für die Programmierung in Java enthält.
EV3‐Software (LabVIEW)
Programm‐Blöcke
Parametereinstellungen der Programm‐Blöcke
Vom programmieren einfacher Sequenzen …
… bis zu «intelligenten» Steuerungen, …
Beispiel: Jedes Mal, wenn der Berührungssensor gedrückt wird, startet dieses Programm den
Motor, mit 50% Leistung. Wenn der Berührungssensor losgelassen wird, stoppt der Motor. Die
Schleife sorgt dafür, dass der Sensortest im Schalter-Block ständig wiederholt wird.
… mit Datenerfassung und Datenübertragung, …
Beispiel: Der Ultraschallsensor regelt die Geschwindigkeit des Motors. Je näher der Sensor an
einem «Hindernis» ist, desto langsamer dreht sich der Motor.
… unter Verwendung von Variablen und Logik, …
Beispiel: Der Motor dreht sich mit 50% Leistung und stoppt erst, wenn der Tastsensor gedrückt wird
und gleichzeitig der Farbsensor die Farbe rot erkennt .
… oder mit Messwerterfassung und Kommunikation.
Beispiel: Dieses Programm stellt eine Verbindung zu einem EV3-Stein namens Kim her. Das
Programm sendet die Nachricht „Hello“ (Hallo), wenn sich der Zustand des Berührungssensors
ändert.
Beispiel aus dem Workshop ‐ Sortieranlage
Beispiel aus dem Workshop ‐ Sortieranlage
Vorteile und Nachteile von Lego Mindstorms EV3
+
-
•
Kompatibel mit Lego Technik
•
Hohe Anschaffungskosten
•
Skalierbares Medium
•
Ungenaue Messergebnisse
•
Verschiedene Sprachen
•
Leistungsabfall
•
WLAN und Bluetooth fähig
•
Vorgegebene Bauelemente
•
Hard- und Software stimmig
•
Image (Lego spielen)
•
Sensoren von Fremdanbietern
•
Grosser Leistungsumfang
•
Kompatibel mit Arduino
•
Viele Bücher und Beispiele
Rapid Automation mit Arduino ‐ Mikrocontroller
Mikrocontroller
Kernkomponente Lego Mindstorms EV3
Sehr kleine Bauformen mit tiefem
Stromverbrauch möglich
Riesige Palette an Möglichkeiten
Programmierung in Hochsprache
Einsatz von Elektronik Komponenten
(Bauteile, Leitungen für Signale und
Stromversorgung)
Rapid Automation mit Arduino
Arduino
Den Einstieg in die Mikrocontroller-Welt der
unbegrenzten Möglichkeiten etwas leichter
gemacht.
Vereinfachte Handhabung – Hardware und
Programmierumgebung
Grosse Community mit einer riesigen Vielfalt an
Projekten
Rapid Automation mit Arduino ‐ Mikrocontroller
Rapid Automation mit Arduino ‐ Einordnung der Systeme
Systeme ohne Betriebssystem
Prozedurale Programmierung (Arduino
Uno, etc.)
Systeme mit Betriebssystem
Erweiterte Möglichkeiten in der
Programmierung und Kommunikation
(Lego Mindstorms EV3, Raspberry Pi,
MKR1000, Mobile Phones, etc.)
Rapid Automation mit Arduino Bestandteile
Arduino ist eine Open-Source-Elektronik-PrototypingPlattform für flexible, einfach zu bedienende
Hardware und Software.
Die Hardware besteht aus einem einfachen Board mit
dem Mikrocontroller und elektrischen Anschlüssen für
Speisung und Signale
Die Entwicklungsumgebung ist einfach aufgebaut und
soll auch technisch weniger Versierten den Zugang zur
Programmierung und zu Mikrocontrollern erleichtern.
Die Programmierung kann in C bzw. C++ erfolgen.
Rapid Automation mit Arduino Entwicklungsumgebung
Rapid Automation mit Arduino mit Breadboard
Rapid Automation mit Arduino Bausätze
Mit dem Mikrokontroller können auch
diverse Mechanik- und Robotikbausätze
angesteuert werden.
XY Plotter
(Makeblock)
MeArm
(Mime Industries)
Mindstorms
(Lego)
Rapid Automation mit Arduino Bausätze
Rapid Automation mit Arduino Projekte
Beispiel aus dem Workshop MeArm
Beispiel aus dem Workshop MeArm
Beispiel aus dem Workshop Sortieranlage
Sortieranlage mit Arduino und EV Shield
Um die Lego Sensoren, z.B. Schalter, Farbsensor
und Lego Aktoren, z.B. Motoren verwenden zu
können, verwenden wir ein EV Shield.
Ausgereifte Peripherie direkt einsteckbar.
Diese Baugruppe wird zusammen mir einem
Arduinoboard verwendet.
void loop()
{
int val, grad;
int farbe;
static bool gestartet = false;
if (gestartet || evshield.getButtonState(BTN_GO))
{
evshield.bank_a.motorStop(SH_Motor_1,SH_Next_Action_BrakeHold);
gestartet = true;
// lesen des Sensorwertes
farbe = c1.getVal();
switch (farbe)
{
case 2: // blau
if (!(position == ABSOLUT_BLAU))
{ // neue Position
blau_anfahren();
} // nicht blau
abladen();
break; // ende blau
// usw.
default: // keine Element mehr -> mache nichts
evshield.bank_a.motorStop(SH_Motor_1,SH_Next_Action_BrakeHold);
} // switch Farbauswahl
} // Zum Starten GO Taste drücken -> danach Endlos
} // loop()
Vorteile und Nachteile von Arduino
+
-
-
Individuelle Lösungen möglich
-
Komplexität Programmierung
-
Frei programmierbar
-
-
Schritt zu reiner
Mikrocontrollerlösung
vergleichsweise klein
Handhabung, Verdrahtung und
Einsatz von Elektronikkomponenten
-
viele unterschiedliche Sensoren
und Aktoren einsetzbar
Keine Computerarchitektur wie
zum Beispiel Raspberry Pi 3
-
Begrenzte Kommunikation von
Arduino Uno (Kein LAN, WLAN,
USB Host)
-
Prozedural ablaufende
Programme
-
Open-Source, viele Quellen mit
Beispielen, Hilfestellungen
-
Low Power, Low Cost
Projekt Altglas ‐ Aufgabenstellung für den Workshop
Altglastransporter
Umladestation
Sortieranlage
Komponenten: littleBits
Aufgabe: bauen
Komplexität: einfach
Komponenten: Arduino/MeArm
Aufgabe: programmieren
Komplexität: schwierig
Komponenten: Arduino/Mindstorms
Aufgabe: programmieren
Komplexität: schwierig
Gabelstapler
Portalkran
Containerschiff
Komponenten: Mindstorms
Aufgabe: bauen und programmieren
Komplexität: mittel
Komponenten: Mindstorms
Aufgabe: programmieren
Komplexität: schwierig
Komponenten: Mindstorms
Aufgabe: bauen und programmieren
Komplexität: einfach
Projekt Altglas ‐ Workshopstationen
Projekt Altglas ‐ Präsentation
Altglastransporter
Umladestation
Sortieranlage
Komponenten: littleBits
Aufgabe: bauen
Komplexität: einfach
Komponenten: Arduino/MeArm
Aufgabe: programmieren
Komplexität: schwierig
Komponenten: Arduino/Mindstorms
Aufgabe: programmieren
Komplexität: schwierig
Gabelstapler
Portalkran
Containerschiff
Komponenten: Mindstorms
Aufgabe: bauen und programmieren
Komplexität: mittel
Komponenten: Mindstorms
Aufgabe: programmieren
Komplexität: schwierig
Komponenten: Mindstorms
Aufgabe: bauen und programmieren
Komplexität: einfach
Wir sind auf dem Weg
Anwendungsorientierung steht an erster Stelle
Vereinfachung und Leistungssteigerung schreitet voran
Möglichkeiten und Hürden im kombinierten Einsatz verschiedener Systeme
Vernetzung – Internet of Things (IoT)
Kombination mit industriellen Systemen (SPS-Systeme, Antriebssysteme)
Referate der Abendveranstaltung
Rapid Innovation
•
Challenges in Design ‐ schnelle Markteinführung als kritischer Erfolgsfaktor
Ramon Hofer Kraner (Optrel AG)
•
BIG DATA für Innovation – Live Demo IBM Watson IoT
Romeo Kienzler (IBM Watson)
•
Intelligente Roboter mit Gefühls‐Sensorik – für eine sichere Zusammenarbeit
Michael Schüpbach (FANUC Switzerland AG)
Herunterladen