Sonntag, 29. Juli 2018

Fischertechnik 3D Scanner für Android Smartphones und iPhones



3D Scan für Kids



Vorwort:


Seit meinem 7. Lebensjahr verwende ich Fischertechnik. Das sieht man an den grauen Bausteinen. Welches „Spielzeug“ kann heute noch nachweisen, 48 Jahre in Gebrauch zu sein und die Beschaffenheit, wie am ersten Tag zu haben.

Fischertechnik hat gegenüber Lego einen großen Vorteil, man kann seine Konstruktionen sehr stabil bauen. Auch in der Antriebstechnik gibt es Vorteile, die Kette kann flexibel angepasst werden und ermöglicht eine Vielzahl von Anwendungen.

Für jedes Alter kann eine passende Steuerung gewählt werden, manuell über Batterie und Schalter, die Ansteuerung über die Fischertechnik Controller oder über einen Arduino (Maker Szene).

Die folgende „Bauanleitung“ ist kein Tutorial sondern gibt eine Idee, wie man sich selber eine 3D Scan Vorrichtung bauen kann. Grob formulierter Haftungsausschluss: In diesem Bauvorschlag sind Links zu Dritte, hierfür übernehme ich keine Haftung.Wer diese Scan Vorrichtung nachbaut, macht dies auf eigene Gefahr. Der Haftungsausschluss ist auf diesem Blog generell geregelt.

Ob ihr Fischertechnik, Lego Technik oder Holz verwendet, das könnt ihr davon abhängig machen, was ihr am meisten da habt. Es werden Tipps und Quellen genannt, die helfen, eine Maschine zu bauen, zu installieren und in Betrieb zu nehmen. Das Nachbauen ist nicht schwer, da aber jeder verschiedene Bauteile von Fischertechnik, Lego und Co. hat, wird er/sie mit Fantasie noch eine bessere Lösung finden.

Ziel ist es, sich selber mit wenig Aufwand einen 3D Scanner zu bauen. Wer zum Beispiel schon eine Fischertechnik Kugelbahn besitzt, der hat eigentlich schon alles was er braucht. Motor, lange Stege, Steine und natürlich eine lange Kette. Somit wartet die Kugelbahn auf eine neue Anwendung.

Der Fischertechnik 3D Scanner hat einen großen „Bruder“ mit dem selben Konstruktionsprinzip. Beim Fischertechnik Modell wird eine Kunststoff Kette verwendet, die für Smartphones völlig ausreicht. Die große 3D Scan- Vorrichtung wird durch einen T5 Zahnriemen (16mm breit) in die verschiedenen Höhen angetrieben. Infos zur großen Scan- Vorrichtung.

                  3D Scan- Vorrichtung für
                  Digitale Spiegelreflex Kameras             3D Scan- Vorrichtung für
                                                                                  Smartphone / IOS

Scan Ergebnis








Bauvorschlag / Bauanleitung:



Der Ketten Antrieb:

Konstruktionsprinzip:

Ein Rechteck, Mittig gelagert, wird von der Kette wie eine Wippe hoch und runter geschwenkt. Auf der einen Seite das Smartphone und auf der anderen Seite ein Behälter mit dem Gegengewicht. So hält sich das System in der Waage. Wenn ein Smartphone schwerer oder leichter ist, dann verändert sich die Anzahl der Batterien / Akkus auf der Gegenseite. Somit reicht das Drehmoment vom Motor völlig aus. Die Kettenführung sieht aus wie ein großes W. Ihr kennt es wahrscheinlich noch aus dem Physikunterricht. Hier ist ein „Flaschenzug“ am Werk, der die Kraft am Motor entlastet. Die Vier Umlenkrollen nehmen Kraft auf und der „Hebel“ ist günstig.  


So kann man auch mit einem schwachen Drehmoment Lasten tragen. Das schöne an der Fischertechnik Kette ist, dass sie über die Glieder auf die richtige Länge gekürzt oder verlängert werden kann und man genügen Kraft übertragen kann.

Funktion Kettenantrieb:



Dieser Bauvorschlag unterteilt sich in vier verschiedene Fachrichtungen:

a) Mechanik / Kinematik
b) Elektrik
c) Elektronik / Informatik
d) Fotografie und Fotogrammetrie

Keine Panik…. Ihr findet schnell den Einstieg und auch Profis werden noch Ideen und Verbesserungen finden.

Der Rahmen:

Den Rahmen habe ich aus all den Bausteinen zusammengesetzt, die ich noch so hatte (es laufen zur Zeit Projekte parallel) Auch hier sind Bauteile aus den 1970ziger Jahren. Bei der Drehachse wurden zwei lange 4mm Stangen zusammengesteckt. Du kannst aber auch eine M4 Gewindestange (aus dem Baumarkt) nutzen, die du auf 350mm kürzt. Mit dem Gerippe für das Fotozelt versteifst du die Konstruktion. Der Korb für die Gegengewichte ist bereits befestigt.


Der Drehteller (Achse X)

Der Nema 17 Schrittmotor ist auf einer „Bühne“ aufgebaut. Mit den roten Befestigungsplatten kann man mit wenig Steinen Höhe gewinnen. Der Runde Korkteller (IKEA) bietet eine rutschfeste Unterlage. Mit Stecknadeln lässt sich das Objekt auch fixieren oder vorne der Nullpunkt markieren.

Dies ist bei der Programmierung später ein Vorteil. Der Schrittmotor wird einfach mit den Fischertechnik Bausteinen fixiert. Das Eigengewicht vom Nema 17 reicht vollkommen aus (Kraft und Gegenkraft).

Wichtig ist, dass ihr eine gute Verbindung zwischen Motorwelle und Kork Teller hinbekommt. Ich habe dafür eine große Riemenscheibe von Fischertechnik genommen. Die Rad Flügel Schrauben wieder auf 5mm aufgebohrt und dann mit einer Heiß Klebe Pistole zentrisch verklebt. Hält bombenfest.

Die Höhe vom Drehteller sollte so gewählt werden, dass euer Objekt im Smartphone 100% zu sehen ist.

Das große W – die Y Achse:

Die Auf- und Ab Bewegung der Kamera erfolgt durch eine Art „Wippe“. Jedes Kind kennt vom Spielplatz den Effekt, wenn zwei unterschiedlich schwere Kinder auf der Wippe sitzen, dann sitzt das eine Kind in der Höhe und das andere Kind unten. Durch Gewichtsverlagerung kann man die Auf und Ab Bewegung steuern. Dieses Prinzip machen wir uns mit einem Ausgleichsgewicht zu nutze. Das Rechteck (der Rahmen) wird im Gleichgewicht gehalten und über den Schrittmotor erfolgt die Gewichtsverlagerung. So fährt die Kamera (Smartphone) Auf und Ab.



Die Elektrik und Elektronik:

Wenn ihr über Fischertechnik Computing / Robotics Bausätze verfügt, dann könnt Ihr natürlich die Fischertechnik Controller verwenden und die 3D Scan- Vorrichtung über die grafische Programmieroberfläche von Fischertechnik programmieren.


                  Robo TX                            Fischertechnik Computing Starter
                  ca. 218 ,- €                         ca, 199,- €



ca. 25,- €




Die wesentlich kostengünstigere Alternative ist, deine Fischertechnik Modelle mit einem Arduino Controller zu steuern. Damit kannst du Stepper Motoren gut ansteuern. Mit wenig Programmzeilen erreichst tolle Ergebnisse. Es gibt auch Programm Oberflächen „Scratch“ ...“Pocket Code“ uvm. die für Kids einfach zu erlernen sind und ein Verständnis für die Programmierung bekommen. Für den Arduino gibt es einige grafische Programm Oberflächen. Doch wenn du deine „Maschine“ direkt anprechen willst, dann ist die Programmoberfläche IDE von Arduino klasse und es gibt so viele Tutorials, die dir zeigen, wie es geht. Die „Maker“ und Open Source Gemeinschaft ist groß. Die „Macher“ veröffentlichen im Internet ihre Konstruktionen, Software und Tutorials und stellen sie kostenlos zur Verfügung. Du kannst dir die Unterlagen herunterladen und alles nachbauen. Dann verbesserst du die Anwendung und optimierst sie. Du nennst den Ideengeber und veröffentlichst deinen Entwurf. Dann bist du selber ein Maker.


Die Verdrahtung ist recht simpel, aber da ich ja nicht wissen kann welchen Schrittmotor (Stepper) du einsetzen wirst, müssen wir herausfinden welche Motorspule wo angeschlossen wird. Wenn du das schon einmal gemacht hast überfliege dieses Kapitel. Das Steckbrett (Breadboard) und die Schalter brauchst du nicht unbedingt für den 3D Scanner. Aber wenn du noch nicht geübt bist, dann kannst du mit den Schalter die Drehrichtung austesten und Später auch deinen Code (Programm) testen.


Schaltplan: von Fritzing.org


Aderpaare bei Bipolare Schrittmotoren herausfinden

Dieses Tutorial hilft dir, die richtigen Aderpaare mit einem Multimeter herauszufinden.



Wenn du keinen Multimeter besitzt, dann kannst du auch zwei Adern aneinander halten und an der Motorwelle drehen. Dreht sich die Motorwelle schwer, dann hast du das richtige Aderpaar gefunden. Wiederhole den Vorgang solange, bist du alle Aderpaare gefunden hast. Auf der Hersteller Seite TT Motor findest du wertvolle Informationen über die verschiedenen Arten von Motoren DC / Stepper (bipolar / unipolar…) und wie du sie anschließen kannst.


Bei meinem Modell habe ich für den Drehteller einen Unipolar Stepper verwendet, den ich aus einem alten Flachbrett Scanner ausgebaut habe. Ich habe dort nur 4 Adern an das Adafruit Motor Shield angeschlossen. Also AC und BC habe ich nicht angeschlossen.


Wenn du mehr über Schrittmotoren erfahren möchtest, schaue bei Wikipedia nach.

Der Motortreiber:

YouTube bietet eine Menge „Lernportale / Kanäle“ um euch in das Thema „Schrittmotoren“ einzuarbeiten. MaxTechTV ist einer der wenigen die auf „deutsch“ senden. Nutz diese Videos, schneller kann man sich nicht in ein neues Thema einarbeiten.

 Über das Adafruit Motor Shield lassen sich DC „Gleichstrom Motoren“, Schrittmotoren (Stepper) und Servo Motoren ansteuern. Das Lernportal vom Hersteller Adafruit ist sehr gut und wird auch bei „China“ Ware zu Grunde gelegt.  

r unsere Verdrahtung sind folgende Parameter wichtig:


Vergleiche bitte diese Daten mit dem Motor Shield deines Lieferanten, den in der Stromversorgung können andere Werte aufgezeigt sein. Ich habe bei meiner Maschine ein Netzteil mit Ausgangs Spannung 6V und 300 mA gewählt. Ein 1 A Netzteil war zu stark. Nachdem ihr nun die Grundlagen zur Hardware „studiert“ habt können wir den Fischertechnik 3D Scanner anschließen und in Betrieb nehmen.

Bei dieser Maschine verwende ich einen Arduino Mega 2560 R3, weil ich damit mehr Analoge und Digitale Anschlüsse habe, die nicht von dem Motor Shield verdeckt werden. Es kann ja sein, dass ich die Maschine (über Bluetooth oder über Wlan) mit meinem Smartphone steuern möchte. Beispiele gibt es im Internet genug.

Inbetriebnahme:


Wer noch nie einen Arduino eingerichtet hat, der schaut sich am besten folgendes Tutorial an.


von
MaxTechTV

auf Youtube

Nun steckt ihr das Motor Shield auf den Arduino Mega oder auf einen Arduino Uno. Wie auf den Arduino gesteckt wird, könnt ihr ebenfalls einem Tutorial von MaxTechTV entnehmen.

Bevor ihr euren 3D Scanner in Betrieb nehmt, testet die Motoren, ob sie in die richtige Richtung drehen. Am besten ihr besucht das Lernportal von der Firma Adafruit:

Für das V1 Shield, was ich benutze

Für das neue V2 Shield (siehe MaxTechTV)



Wenn ihr die Bibliotheken auf den Arduino geladen habt, findet ihr Standardmäßig unter dem Verzeichnis Dokumente das Unterverzeichnis Arduino. Dort findet ihr unter dem Verzeichnis „libraries“ Ein Programm zum testen der Schrittmotoren (siehe „examples“)



Du entscheidest dich für den „StepperTest“.

Wie du aus den Tutorials gelernt hast, kannst du dieses Programm nun auf den Arduino hochladen.
Sollten Fehlermeldungen erscheinen, überprüfe den eingestellten PORT und ob du das Richtige Board eingestellt hast.



// Adafruit Motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!

#include <AFMotor.h>

// Connect a stepper motor with 48 steps per revolution (7.5 degree)
// to motor port #2 (M3 and M4)
AF_Stepper motor(48, 2);

void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println("Stepper test!");

motor.setSpeed(10); // 10 rpm
}

void loop() {
Serial.println("Single coil steps");
motor.step(100, FORWARD, SINGLE);
motor.step(100, BACKWARD, SINGLE);

Serial.println("Double coil steps");
motor.step(100, FORWARD, DOUBLE);
motor.step(100, BACKWARD, DOUBLE);

Serial.println("Interleave coil steps");
motor.step(100, FORWARD, INTERLEAVE);
motor.step(100, BACKWARD, INTERLEAVE);

Serial.println("Micrsostep steps");
motor.step(100, FORWARD, MICROSTEP);
motor.step(100, BACKWARD, MICROSTEP);
}


Du kannst den Code (Programm) in einem Text Editor (Notepad++) kopieren oder direkt in der Arduino IDE Programmoberfläche ändern. Bitte Umbenennen (Speichern unter) nicht vergessen.

Wenn du genug ausprobiert hast, kannst du dein eigenes Programm schreiben.



Programmierung / Inbetriebnahme:

// Einfacher Code für den Fischertechnik 3D Scanner, wegen der Übersicht sind nicht alle Zeilen dargestellt.


#include <AFMotor.h>

AF_Stepper Stepper1(250, 1); // X Achse
AF_Stepper Stepper2(200, 2); // Y Achse

void setup() {
Stepper1.setSpeed(15);
Stepper2.setSpeed(25);
}

void loop() {
Stepper1.step(10,FORWARD, DOUBLE);
delay(3000);
Stepper1.step(10,FORWARD, DOUBLE);
delay(3000);
Stepper1.step(10,FORWARD, DOUBLE);
delay(3000);
Stepper1.step(10,FORWARD, DOUBLE);
delay(3000);
Stepper1.step(10,FORWARD, DOUBLE);
delay(3000);

// Erst drehe ich 20 mal den Drehteller – Stepper 1 – und warte 3 Sekunden für die Aufnahme
// danach fährt die Kamera hoch um dann wieder den Drehteller 20 mal zu drehen

Stepper2.step(150,BACKWARD, DOUBLE);
delay(3000);
Stepper1.step(10,FORWARD, DOUBLE);
delay(3000);
Stepper1.step(10,FORWARD, DOUBLE);
delay(3000);
Stepper1.step(10,FORWARD, DOUBLE);
delay(3000);
Stepper1.step(10,FORWARD, DOUBLE);
delay(3000);

// wenn du mehrere Ebenen hoch fahren willst, dann füge noch ein Block hinzu
// am Ende fährt die Kamera wieder in die Waagerechte Position – Endlage

Stepper2.step(150,FORWARD, DOUBLE);
delay(3000);

//while(1){};
}

Kleine Erläuterung:

die einfache Kalibrierung deiner Motoren:

Du kannst in einem Testprogramm mal versuchen, die einzelnen Parameter für den Schrittmotor auszuprobieren und herausfinden, was das Beste für deine Maschine ist.


void loop() {
Serial.println("Single coil steps");
motor.step(100, FORWARD, SINGLE);
motor.step(100, BACKWARD, SINGLE);

Serial.println("Double coil steps");
motor.step(100, FORWARD, DOUBLE);
motor.step(100, BACKWARD, DOUBLE);

Serial.println("Interleave coil steps");
motor.step(100, FORWARD, INTERLEAVE);
motor.step(100, BACKWARD, INTERLEAVE);

Serial.println("Micrsostep steps");
motor.step(100, FORWARD, MICROSTEP);
motor.step(100, BACKWARD, MICROSTEP);
}


Nähere Informationen zu Stepper:



Nun ist der Fischertechnik 3D Scanner Einsatzbereit:


Es ist angerichtet, das Objekt ausgewählt und das Smartphone richtig Positioniert. Der Vorteil an der Konstruktion ist, dass über die roten Montageplatten der Abstand zu dem Objekt eingestellt werden kann. Da ein Smartphone kein richtiges Objektiv hat, müssen wir nicht unnötig zoomen. Der Scan wird dadurch besser. Jetzt noch den richtigen Hintergrund wählen und mit der korrekten Beleuchtung klappt der Scan.

Fotogrammetrie / 3D Scan

Wer sich näher mit der Fotogrammetrie beschäftigen möchte, der kann sich gerne bei Wikipedia einlesen. Die „Maker“ unter euch können sehr viele praktische Tipps in der Facebook Gruppe „Low Budget 3D Scan“ bekommen.




Scheut euch nicht dort eine Mitgliedschaft zu beantragen. Nutzt aber bitte die Suchfunktion, bevor ihr Fragen stellt, denn vieles ist schon behandelt worden. Aber generell gilt auch dort, Fragen kostet nichts.

Ich selber bin dort auch Mitglied und habe in kurzer Zeit, so viel dazugelernt. Die Ergebnisse von diesem Fischertechnik 3D Scanner habe ich selbstverständlich auch gepostet.

2014 habe ich meine ersten 3D Scans gemacht. Damals wurden die Bilder über die Software 123 D Catch in 3D berechnet. Dieses Programm nennt sich nun „ReCap Photo“ und ist kostenpflichtig. Für Schüler und Studenten gibt es aber kostenlose Lizenzen.

Wir konzentrieren uns jedoch auf kostenlose Programme (Open Source)

Bevor wir ins Detail gehen, sollte jeder einmal versucht haben, ohne Maschine ein Objekt zu scannen. Vielleicht registriert ihr euch bei einer der Namhaften Software Pakete und sichert euch eine Testversion.




Manueller 3D Scan:

Das Prinzip vom manuellen Scan ist recht einfach.

Suche dir einen Hocker, stelle dein Objekt drauf und gehe mit deinem Smartphone min. 20 mal (Kamera zur Frontseite gerichtet) um das Objekt herum. Danach nochmals min. 20 mal von oben, Kamera leicht geneigt, um das Objekt herum, so das alle Konturen erfasst werden. Danach hast du min. 40 Bilder. Je mehr Bilder du aus verschiedenen Höhen hast, desto besser. Am Anfang reichen aber 40 – 60 Bilder. Wie es geht kannst du dir auch im Tutorial anschauen.


Der obige Scan wurde 2014 erstellt, damals musste man noch eine Zeitung drunter legen, damit die Software schneller rechnen konnte. Dies ist heute nicht mehr nötig.

Tutorial über einen manuellen Scan.




Scan mit dem Fischertechnik 3D Scanner



Das Objekt ist gut ausgeleuchtet, nicht zu grell und auch nicht zu dunkel und du kannst dein Arduino Scan Programm starten. Auf dem Motor Shield habe ich den Jumper gesteckt, dies bedeutet, dass ich zwei Stromkreise habe. Der Arduino Mega wird über die USB Schnittstelle versorgt und über ein eigenes Netzteil versorge ich die Schrittmotoren mit 6Volt und max. 600mA.
Ich verwende eine Bluetooth Fernsteuerung von „CamKix“, um die Fotos aus der Ferne manuell auszulösen. Natürlich kann man die Fotos direkt an der Smartphone Kamera auslösen, dies ist aber sehr umständlich. Die Profis unter euch verwenden am Arduino ein Bluetooth Shield und steuern das Smartphone im Scan Programm.


Das 3D Scan Ergebnis:

Mit dem Fischertechnik 3D Scanner habe ich mit nur 40 Bilder ,in zwei Höhen (Ebenen), ein tolles Ergebnis erzielt. Dabei wurden 20 Bilder frontal zum Objekt und 20 Bilder leicht schräg von oben mit dem Scanner erstellt. Die Bilder habe ich dann auf meinen PC in ein eigenes Verzeichnis kopiert und in ReCap Photo zu einem 3D Modell berechnen lassen.

1. Gescannte Fotos in ReCap Photo eingelesen und verarbeitet (Testversion / kostenpflichtig)




Für Schüler und Studenten gibt es eine Kostenlose Version zu der ich raten kann. Die kostenpflichtige Version ist in meinen Augen zu teuer und lohnt sich nur für Professionelle Anwender.


Ich werde nicht näher auf das Programm eingehen, das es genügend Tutorials gibt, die den Funktionsumfang und die Bedienung viel besser darstellen, als man dies mit diesem Dokument darstellen könnte.


Schon mit der Vorgängerversion 123DCatch konnte man auch mit nicht so optimalen Fotos ein 3D Modellerstellen. Mit ReCap Photo ist der Funktionsumfang erhöht worden. Die Testversion schränkt die Anzahl der Fotos ein und somit ist das Programm „begrenzt“.

Gerade als Anfänger der Fotogrammetrie ist es gut ein Profi Programm zu nutzen, denn gerade was die Fotos angeht, muss man eine Menge lernen. Blende, Belichtung….und sein Smartphone muss man ebenfalls beherrschen. Ziel ist es, eine optimale „Tiefenschärfe“ zu erzielen.


ReCap Photo beinhaltet Werkzeuge, um das Modell für einen 3D Druck vorzubereiten. Wenn man mit Open Source (freie Programme) arbeitet, kann es sein das man mit einer Vielzahl von Programmen arbeiten muss. VisualSFM, MeshLab, Blender…


2. Open Source Programm VisualSFM

VisualSFM ist ein kostenloses Programm, womit du aus deiner Fotoserie eine „Punktewolke“ Mesh erstellen kannst. Es gibt meist englische Tutorials, die das Programm erklären. Um den Einstieg in die Fotogrammetrie zu erleichtern rate ich dir zu dem deutschen Tutorial von der Facebook Gruppe „Low Budget 3D Scan


Die Aufnahmen wurden mit einem iPhone 5S erstellt. Es sind die gleichen Fotos die ich bei dem Programm ReCap Photo verwendet habe. Also mit der Remote Fernsteuerung und Autofokus war an.. Beim nächsten Scan würde ich eine dritte Ebene, in der Höhe, hinzufügen mit insgesamt 80 Bildern.

Software Quelle:

Download VisualSFM: http://ccwu.me/vsfm/

CMVS Erweiterung: https://storage.googleapis.com/google... (Im unterordner software/cmvs/bin)


Im Video Tutorial wird sehr gut erklärt, welche Schritte man einleiten muss, um eine Punktewolke zu erstellen. Mit nur wenige Klicks erhält man ein sehr gutes Ergebnis.





Nun sieht man die einzelnen Kamera Positionen und die „leichte Punktewolke“ 



In dem Ordner, wo du die Fotos für VisualSFM gespeichert hast, legt das Programm die „Punktewolke“ und das Projekt ab.


Öffne zum Beispiel das Programm „Meshlab“ und öffne das Projekt und importiere die Punktewolke *.PLY Datei


 Aus einer Punktewolke eine 3D Druckdatei (*.stl) erstellen.


Ich selber kenne nur einen Bruchteil der Funktionen, die Meshlab bietet. Ich nutze die einfache Möglichkeit, alle Elemente zu löschen, die nicht zu meinem Modell gehören.

 Meshlab bietet einige Funktionen, um die Punktewolke zu bearbeiten. Auch hierzu gibt es viele Tutorials. 


Am wichtigsten ist mir jedoch die Export Funktion, um aus der Punktewolke eine *.stl 3D Druckdatei zu gewinnen.

Der letzte Schliff...

Da ich mich mit „Meshlab“ nicht so gut auskenne, nutze ich das Win10 Programm „3D Builder“ was einfach zu bedienen ist und gute Ergebnisse liefert. Da die Kids meist mit TinkerCad arbeiten müssen wir die Anzahl der Flächen reduzieren. 



 Danach glätten wir die Kontur…




 und fertig ist unsere 3D Objekt und wartet darauf gedruckt zu werden….


Viel Spaß beim nachbauen….


Michael Tillmann (Technik Trainer)




Keine Kommentare:

Kommentar veröffentlichen