- Werbung -

Auf der Hobby & Elektronik in Stuttgart versuchen wir vom Computer Club AUGE auch immer präsent zu sein und als Verein vorzustellen, was wir unter dem Begriff Computeranwender verstehen. Natürlich, es ist ein sehr weitgefächerter Begriff, den man nicht in einer Minute erklären kann, sondern viele Begriffe, welche das alles behinhalten. Sei es Spielen, Desktop Publishing, Cluster Computing, Office User, Fotos machen, bearbeiten und verwalten, Handys, bzw. Operating Systems für Smartphones, Programmieren und natürlich auch der klassische Internet Surfer. Vor ein paar Jahren kamen wir dann auf die Idee, man könnte auch einen 3D-Drucker zeigen. Einer aus unserer Regionalgruppe hatte in den Niederlanden einen Bausatz vom Typ Orca 0.2 bestellt, diesen dann auf einem Treffen grob zusammen geschraubt und mit viel Liebe auch vermessen, im richtigen Winkel zusammen geschraubt und dann auch noch mit eigenen selbstgedruckten Teilen verbessert.

Natürlich haben wir dann auch den Auge 3D-Drucker vom Typ Mendel mit ausgestellt und um verschiedene Systeme zu haben, auch einen Wolfstrap. Das ist ein 3D-Drucker zusammengebaut aus Holz mit Führungsschienen, welche auch bei Schubladen benutzt werden, der erste Teile für einen RepRap (3D-Drucker) herstellen kann. Genaueres kann man in dem Artikel nachlesen.

Was aber all diese 3D-Drucker gemeinsam haben, ist die Ansteuerung. Sie werden über einen Microcontroller angesteuert, einen Ein-Platinen-Rechner, welcher die Befehle, die der Computer gibt, umsetzt und damit dann die X, Y, Z Achse ansteuert. Da kam uns die Idee, eine kleine Auswahl von Microcontrollern mit Datenblättern einfach auf ein Brett zu schrauben, um diese dann vorzustellen.

Was die Microcontroller gemeinsam haben: Sie haben alle RAM, ROM, und Hauptprozessor auf einem Chip / Board. Deshalb wird auch gerne der Überbegriff SoC (System on a Chip) verwendet.

Apple 2

Da es vor 40 Jahren schon ein solches System gab, haben wir als typisches Vorzeigeobjekt einen Apple 2 dazu gestellt. Damals wurde mit analogen und digitalen Werten umgegangen, siehe der Joystick des Apple 2. Dieser verwendete für die X- und Y-Richtung analoge Werte.

Technische Daten eines Apple 2:

Prozessor: 6502 - 1Mhz - 8 Bit
RAM: 48kByte RAM
Flash: Kein Flash vorhanden.
Eingänge:

4x Analog
3x Digital

Ausgänge:

4x Digital

Analog: 8 Bit A/D Wandler
Wert Minimal: 0
Wert Maximal: 255
Programmierung: Basic (Assembler/Pascal/....)

Und dann kam auch das Passende Basic-Programm dazu:

10 PRINT PDL(0)
20 IF PDL(0) > 100 THEN PRINT "ZU WARM"
30 GOTO 10

Am Paddle-Eingang des Apple 2 wurde ein Potentiometer angeschlossen, um die Werte von 0 bis 255 darzustellen und live verändern zu können. Von 0 bis 255 deshalb, weil der Apple 2 einen Analogwandler hatte, mit nur 8 Bit. 2⁸ = 256, also von 0 bis 255.

Arduino

Natürlich darf bei einer solchen Vorführung/Demonstation auch ein Arduino nicht fehlen. Dieses Board mit einem Atmel-Prozessor wird immer wieder gerne zu Bastelzwecken herbei gezogen. Natürlich hat auch die RepRap-Gemeinde die Vorzüge des Boards für sich entdeckt und entwickelte verschiedene Software- bzw. Hardware-Adaptionen um einen 3D Drucker zu steuern.

Hier mal die Daten von einem Arduino Uno:

Prozessor: ATMega328 - 16Mhz - 8 Bit

RAM: 2 kByte RAM
Flash: 32 kByte Flash
Eingänge:

6x Analog

Ein/Ausgänge:

14 x Digital

Analog:

10 Bit A/D Wandler

Wert Minimal: 0
Wert Maximal: 1023

Programmierung: Arduino-spezifisch (Java-Oberfläche die dann C-ähnlich programmiert)

Natürlich darf hier das Programm auch nicht fehlen:

int sensorPin = 0;
int ledPin = 13; // 13 = Ausgang mit LED auf Arduino
int sensorValue = 0;
void setup()
{
  pinMode(ledPin, Output);
}

void loop()
{
  sensorValue = analogRead(sensorPin);
  if (sensorValue > 600) {digitalWrite(ledPin,HIGH);
  if (sensorValue > 400) {digitalWrite(ledPin,LOW);
}

Wenn der analoge Wert am analogen PIN 0 grösser als 600 wird, dann fängt die eingebaute LED am PIN 13 zu leuchten. Man kann auch die C-Ähnlichkeit sehen. Genau genommen bekommt man eine Java-Oberfläche, die die Arduino-Befehle in einen C-Code umsetzt, der dann durch den mitgelieferten C-Compiler für den ATmel umsetzt. Dann wird mittels Avrdude das compilierte Programm in den Arduino Uno übertragen. Das Programm fängt dann anschließend sofort an zu starten.

Raspberry Pi

Auch der populäre Raspberry Pi durfte nicht fehlen, hier die Daten:

Prozessor: ARM1176JZF-S - 700Mhz - 32 Bit.
RAM: 256 MByte RAM
Ein/Ausgang: 16 GPIO (General Purpose Input Output, allgemeine Digitale Ein und Ausgänge)
Flash: SD-Karte (für das Betriebssystem)
Programmierung:

z.B. Risc Basic, C, Python
diverse Betriebsysteme, Linux, RiscOS, FreeBSD, NetBSD

Besonderheiten: Umfangreiche Schnittstellen, Ethernet, USB, HDMI, Composite
Grafik: FullHD-Auflösung (1900x1080)

Hier haben wir mangels eines analogen Einganges nur RiscOS vorgeführt. Und anhand der Daten merkt man, es war der erste Raspberry Pi B Modell.

STM32

Um noch einem SoC Prozessoren, einem STM32, den Vorzug zu geben, haben wir den auch noch vorgeführt.

Prozessor:  STM32F100RBT6B - 24Mhz - 32Bit (ARM Coretex M3)
RAM: 8kByte RAM
Flash: 128kByte Flash
Eingänge: 16x Analog
Ein/Ausgänge: 64x Digital
Analog: 12 Bit A/D Wandler
Wert Minimal: 0
Wert Maximal: 4095
Programmierung: C-Compiler, auch frei Verfügbare Entwicklungsumgebung

Das Beispielprogramm erspare ich mir an dieser Stelle, wer mehr wissen will, möge bei dem anderen Artikel nachlesen gehen.

Anbei noch ein Bild vom ersten Auftritt des Messe-Boards:

PS: Auf der linken Seite hatten wir einen normalen PC, mit diversen Entwicklungsumgebungen für Microcontroller.