Lasern in der Werke

Gestern war es so weit: Nach der etwa einstündigen Einweisung am 23.8. hatte ich den Laser in der Werke das erste mal für mich gebucht. Die Zeit vorher habe ich genutzt, um ein komplettes Board (60*30cm) mit Teilen vollzuplanen und durch die Baumärkte zu ziehen und festzustellen, dass der Kauf von Plexiglas in einer vorgegebenen Stärke gar nicht mal so einfach ist.

Die Werke 1Rechts im Bild der Lasercutter – die grau-blaue Kiste mit der Aufschrift „zing“. Im Vordergrund und auf dem folgenden Bild der zugehörige Arbeitsplatz und ein paar meiner Bauteile.

Die Werke 4Bei den ausgeschnittenen Teilenhandelt es sich zum Großteil um Lego-kompatible Platten zur Befestigung von Servos oder Abstandssensoren.

Die Werke 3Nächste Abbildung: Eine Lego Technic kompatible Grundplatte mit „Bohrungen“ für einen Arduino Mega und einen 6*AA Batteriehalter. Die Kratzer sind übrigens auf der Schutzfolie, die auf der Unterseite noch aufgeklebt ist.

Arduino Mega Grundplatte Lego technicUnd so sieht ein fertig zusammengebauter Servohalter aus:

Servo Halter für Lego Technic

Laserschnitt selbst gemacht

Während ich so auf die Formulor-Lieferung wartete, habe ich meine Alternativen überprüft, um künftig schneller an custom-made Bauteile heranzukommen. Und was soll ich sagen: eine Quelle liegt mehr oder weniger „um die Ecke“. Hannover hat seit ein paar Monaten eine offene Werkstatt, „Die Werke“ und dort steht neben einer ganzen Reihe von großen und kleinen Maschinen und Werkzeugen ein Lasercutter zur „freien Benutzung“.

Die WerkeDie Werke kann man entweder zum Tagestarif von aktuell EUR 12 oder auf monatlicher Basis (EUR 18) besuchen. Dann ist man drin. Der Lasercutter steht für EUR 20 pro Stunde (Richtwert, mehr oder weniger zahlen ist möglich) zur Verfügung. Nur eine Einweisung sollte man vorher absolviert haben, dann kann man sich den Arbeitsplatz im Buchungssystem reservieren und loslegen.

Die Einweisung habe ich mir am 23.8. abgeholt und am 28.8. gehe ich das erste mal „alleine“ los, um mir Bauteile aus Plexiglas für meine Lego Technic Basteleien auszuschneiden. Teils sind es Kopien der Formulor Teile, teils verbesserte, teils Teile für andere Projekte.

Erste Order bei Formulor

Nach dem ich im Urlaub für zwei Wochen mehr oder weniger offline war, habe ich in der Zeit mein Skizzenbuch mit einigen Entwürfen gefüllt: Mainboardhalter, Servo-Fassungen, Trägerplatte für einen Ball Caster und weitere Teile sollen aus 4mm starkem Kunststoff mittels Laser ausgeschnitten werden.

Formulor EntwürfeNach der Rückkehr am vergangenen Freitag habe ich am Samstag und Sonntag die Entwürfe in Illustrator übertragen. Einen passenden Dienstleister hatte ich auf der Maker Faire kennengelert, die Firma Formulor. Formulor schneidet aus einer ganzen Reihe von Materialien in unterschiedlichen Stärken nach Kundenvorlage aus. Zur Vereinfachung des Auftragsworkflows werden Vorlagen bereitgestellt.

In der Illustrator Vorlage habe ich dann meine 181*181mm große Trägerplatte „bestückt“. Formulor berechnet nach dem Upload direkt den Endpreis bestehend aus Material und Aufwand – und – oh, Schock: mein Werkstück sollte über 50 EUR kosten.

Da ich rund um die Ausschnitte später noch 0,75mm tiefe Absätze brauche, habe ich als Anhaltspunkt für den Flachsenker pro Loch eine Rastergravur eingezeichnet. Die treibt (nachvollziehbar) die Arbeitszeit des Lasers in die Höhe. Eine Rastergravur aus der Vorlage gelöscht, erneut hochgeladen und siehe da: fast 20ct eingespart. Insgesamt habe ich durch weitere Optimierungen noch auf rund 27 EUR gedrückt.

Sonntagabend um acht war der Entwurf dann fertig, hochgeladen, bezahlt und nun bin ich sehr gespannt auf das Produktionsergebnis. Heute Mittag war bereits Statuswechsel, da scheint sich etwas zu tun :)

[Update vom 22.8., 10:00]
Der Statuswechsel am Montag war bisher die einzige wahrnehmbare Aktivität. Seit dem hat sich nichts getan – keine Produktion, keine Lieferung :-(
[/Update]

Roboterarm 2.0

Weiter geht es mit den Arbeiten am Roboterarm. Zwischenzeitlich sind die beiden Potis abgeklemmt und der Abstandssensor ist am Arm angebracht und in Betrieb. Idee dahinter ist, dass der Roboterarm aus einer Ausgangslage den Rückzug antritt, sobald man dem Abstandssensor näher als 10cm kommt. So sieht das aus:

 

Da die errechneten Bewegungen das System leicht in Schwingungen versetzen, habe ich ein paar Haushaltsgummis als Dämpfer hinzugefügt. Das geht bis zu einem gewissen Punkt ganz gut. Allerdings ist, wenn der Arm nach vorne ausgestreckt ist, der Hebel so lang, dass der Arm ein wenig nachfedert. Diese Bewegung gibt er an das untere Servo weiter, das darauf hin beschließt, dass es sich nicht mehr in der richtigen Lage befindet. Dann stellt es mit einem kleinen Ruck nach und der Arm schwingt wieder. Und verstellt das Servo. Das dann nachstellt. Und den Arm schwingen lässt. Das sieht man am Ende des Videos ganz gut.

Außerdem speziell bei diesem Aufbau: Aufgrund der ungelösten Schnittstellenprobleme kommt ein Arduino Nano Clone als „Sensor Koprozesseor“ zum Einsatz. Er kümmert sich um den DYP-ME007TX Abstandssensor und gibt ein „unmissverständliches“ HIGH/LOW Signal über einen Digital-Pin an den Arduino Uno weiter.

#include <SoftwareSerial.h>

SoftwareSerial mySerial(5, 3); // RX, TX

byte myByte=0;
int  myBaud=9600;
int  LowByte=0;
int  HighByte=0;
long millimeter=0;

//Signalisierung auf Pin 4
int lowDistance=4;

void setup()
{
  mySerial.begin(myBaud);
  pinMode(lowDistance, OUTPUT);
}

void loop()
{
  if (mySerial.available()>3)
  {
    myByte=mySerial.read();
    if (myByte==0xFF) //Start-Byte erkennen
    {
      HighByte= mySerial.read();
      LowByte = mySerial.read();
      mySerial.flush();
    }
  }

  millimeter = HighByte<<8 | LowByte;

  if (millimeter<100)
  {
    digitalWrite(lowDistance, HIGH);
  }
  else
  {
    digitalWrite(lowDistance, LOW);
  }
}

Einmal Lego für vierfünfzig bitte

Nach den ersten Experimenten mit LEGO technic stellte sich schnell heraus, das man nur sehr schwer auf den Punkt genau einkaufen kann. Vieles muss erst anprobiert werden, passt dann nur so mittel und wird schließlich völlig anders konstruiert, als ursprünglich geplant. Also war ich heute noch einmal beim LEGO Dealer meines Vertrauens und habe fast eine halbe Stunde in der Technic-Kiste gewühlt. Primäres Ziel waren Zahnräder und Achsen. Ein Paar „Liftarme“, Achsen und andere Kleinteile gabe es auch noch dazu. Alles in allem 4,50 EUR.

Gebrauchte LEGO Technic TeileDem aufmerksamen Betrachter fällt das Servokabel auf, das sich oben rechts durchs Bild schlängelt. Das hängt an einer „Hand“, die ich bereits aus ebenfalls in den 4,50 enthaltenen Teilen zusammengesteckt habe :)

Mein erster Roboterarm

Mit den auf LEGO Technic Verbinder umgebauten Servos und dem Arduino Uno kann es nun losgehen mit der Bastelei. Zwischenzeitlich habe ich meinem Sohn seine LEGO Bauteile zurückgegeben und mir eine erste Auswahl gebrauchter Steine, Arme und Verbinder aus der Grabbelkiste gekauft. Für EUR 1,10. Da kann kein Aluprofil und auch kein 3D Drucker mithalten.

 

Mit den Servos und den Steinen habe ich einen Arm mit zwei Gelenken zusammen gesteckt. Die Servos laufen jeweils von 0° bis 180° und werden im ersten Schritt über zwei Potis angesteuert. Beide Potis zwischen 5V und Masse, Schleifer auf Analog0 bzw. 1. Die eingelesenen Werte von 0…1023 werden ganz simpel auf den Drehwinkel 0…180° umgerechnet und dann direkt auf die Servos geschrieben. Fertig :) Ach so: Das LCD von neulich ist zur Anzeige der Servo-Winkel auch wieder an Bord.

Foto

#include <LiquidCrystal.h>
#include <Servo.h>

Servo servo0;
Servo servo1;             

int analogPin0 = 0;
int analogPin1 = 1;

float val0 = 0;
float val1 = 0;
int val0i = 0;
int val1i = 0;

LiquidCrystal lcd(12, 13, 8, 7, 4, 2);

void setup() {
  //LCD einrichten
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("Pin0");
  lcd.setCursor(0, 1);
  lcd.print("Pin1");
  //Servos initialisieren
  servo0.attach(9);
  servo1.attach(10);
}

void loop() {
  lcd.setCursor(5, 0);
  val0 = analogRead(analogPin0);
  //könnte man auch mit map() machen
  val0i = int((val0/1023)*180);
  lcd.print(val0i);
  lcd.print("   ");
  servo0.write(val0i);

  lcd.setCursor(5, 1);
  val1 = analogRead(analogPin1);
  //könnte man auch mit map() machen
  val1i = int((val1/1023)*180);
  lcd.print(val1i);
  lcd.print("   ");
  servo1.write(val1i);
}

Version 1.1 kommt dann mit nur noch einem Poti aus, der obere Arm wird in Abhängigkeit des unteren Arms so verstellt, dass er immer etwa waagerecht ist.

Zeit, dass sich etwas bewegt!

Die ersten Lieferungen meiner „bescheidenen“ eBay Bestellorgie trudeln ein. Diesmal im Umschlag: 3 Micro Servos mit je drei unterschiedlichen „Armen“. Die erste Ansteuerübung war dank Servo.h Library schnell gemacht.

Aber wie nun die Bewegung nutzen? Da ich noch nicht genau weiß, wo die Reise mit den Basteleien hin gehen soll, gibt es erstmal keine auf Maß gelaserten oder gedruckten Bauteile. Alles soll möglichst vielseitig verwendbar und leicht änderbar sein. Was erfüllt diese Anforderungen perfekt, ist im Haushalt verfügbar und lässt sich auch mit leichtem Werkzeug bearbeiten? LEGO!

Schritt 1: Lego Technik Verbinder mit dem Servo verbinden
Servo mit Lego Technic VerbinderSchritt 2: Für mehr Stabilität in Verlängerung der Achse einen zweiten Befestigungspunkt „unter“ dem Servo anbringen. (Im Bild außerdem Vorbereitungen für Schritt 3: Fixpunkte zur Befestigung am Servo anbringen)Servo mit LegoIm dritten Schritt habe ich dann das Servo noch mit Lego Technic Verbindern versehen, um es befestigen zu können. Dabei ist es hilfreich, wenn man das LEGO-Rastermaß im Auge behält. Es ist zwar „nur“ Plastik, aber es funktioniert deshalb so gut, weil es sehr maßhaltig gefertigt wird. Die Befestigungen sollten nicht zu weit überstehen, um die Bewegung auf der Achse nicht zu behindern.

Für alle, die kein oder nicht ausreichend LEGO zuhause haben: Das lässt sich wunderbar einkaufen. Gebrauchte Teile aus der „Grabbelkiste“ zum selbst aussuchen – 100g für 3€. Und nach meinem ersten Einkauf kann ich sagen: LEGO Technic wiegt „fast nix“ – wegen der vielen Löcher ;-)

Der Legographer auf Weltreise

Durch einen Artikel auf PetaPixel bin ich auf die Seite von Andrew Whyte gestoßen. Neben sehr sehenswerten Langzeitbelichtungen aller Art findet sich dort eine Serie eines kleinen Fotografen den er (der ihn?) auf seinen Touren begleitet.

Andrew Whyte - long exposure photography: Legography &emdash; An eye for London Andrew Whyte - long exposure photography: Legography &emdash; Party time
Andrew Whyte - long exposure photography: Legography &emdash; Caught in the moment

Alle Fotos in diesem Beitrag / All photos in this posting © 2013 Andrew Whyte – all rights reserved