Inhaltsverzeichnis:
- Schritt 1:
- Schritt 2: Theorie
- Schritt 3: Komponenten beziehen
- Schritt 4: Stepper montieren
- Schritt 5: Laser Blanking + Spiegelkalibrierung
- Schritt 6: Endmontage
- Schritt 7: Lasersteuerungs-App
- Schritt 8: Video
Video: Arduino Laserprojektor + Steuerungs-App - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
- XY - 2-dimensionales Laserscannen
- 2x 35mm 0,9° Schrittmotoren - 400 Schritte/U
- Automatische Spiegelkalibrierung
- Serielle Fernsteuerung (über Bluetooth)
- Automatikmodus
- Fernbedienungs-App mit GUI
- Open Source
Herunterladen:
github.com/stanleyondrus
stanleyprojects.com
Schritt 1:
Schritt 2: Theorie
Laserprojektoren können in zwei Hauptkategorien unterteilt werden. Entweder verwenden sie ein Beugungsglas/eine Beugungsfolie, um ein Muster zu projizieren, oder sie haben ein System, das den Laserstrahl in XY-Achsenrichtungen bewegt. Die zweite Option sieht normalerweise viel besser aus, da das zu projizierende Muster programmiert werden kann. Während im ersten Fall der Laserstrahl gebeugt wird und ein statisches Bild projiziert, besteht der Laser im zweiten Fall noch aus einem einzigen Strahl, der sich sehr schnell bewegt. Wenn diese Bewegung schnell genug ist, nehmen wir sie aufgrund der Persistenz des Sehens (POV) als Muster wahr. Dies wird normalerweise durch zwei senkrechte Spiegel erreicht, von denen jeder den Laserstrahl in einer Achse bewegen kann. Durch deren Kombination ist es möglich, den Laserstrahl exakt an den Ort zu bringen.
Für professionelle Anwendungen werden in der Regel Galvanometer-Scanner verwendet. Einige dieser Scanner sind in der Lage, 60 kpps (Kilopunkte pro Sekunde) zu verarbeiten. Das heißt, sie können den Laserstrahl innerhalb von 1 Sekunde an 60000 verschiedenen Stellen positionieren. Dies erzeugt eine wirklich glatte Projektion ohne den Stroboskop-Effekt. Sie können jedoch sehr teuer sein. Ich habe die Schrittmotoren verwendet, was die billige, nicht so schnelle Alternative ist.
Der Laser zeichnet das Muster, indem er die Linien mit sehr hoher Geschwindigkeit immer wieder umkreist. Manchmal gibt es mehrere Teile des Musters, die nicht miteinander verbunden sind. In diesem Beispiel wird jeder Buchstabe getrennt. Wenn sich der Laser jedoch von einem Buchstaben zum anderen bewegt, erzeugt er eine unerwünschte Linie. Dies wird durch eine Technologie namens Blanking gelöst. Die ganze Idee dahinter ist, dass der Laser beim Wechsel von einem zum anderen Muster ausgeschaltet wird. Dies geschieht durch eine schnelle Steuereinheit, die mit dem Scansystem synchronisiert werden muss.
Schritt 3: Komponenten beziehen
In der folgenden Liste finden Sie die von mir verwendeten Komponenten und die Links, wo ich sie gekauft habe.
- 1x Arduino Uno
- 1x Adafruit Motorschild V2
- 1x Lasermodul
- 2x 35mm 0,9° Schrittmotoren - 400 Schritte/U - 5V - eBay
- 3x LED - AliExpress
- 1x HC-06 Bluetooth Serielles Modul - AliExpress
- 1x Fotodiode - AliExpress
- 1x NPN Transistor BC547B - AliExpress
- 2x 2K Trimmer - AliExpress
- 1x DC-Buchse Panel Mount - eBay
- 1x Kippschalter - AliExpress
Und dann noch ein paar Materialien und Werkzeuge, die Sie zu Hause finden können. Hoffentlich;)
- Spiegel (am besten ist ein metallischer Spiegel wie HDD Platter)
- Aluminiumtafel
- Schnipsel
- Heißkleber (oder Pattex Repair Express)
- Drähte
- Zange
- Bohrer (oder Schere in meinem Fall:D)
- Box (z. B. Junction Box)
Schritt 4: Stepper montieren
Aluminiumblech musste geschnitten und in die richtige Form gebogen werden. Dann wurden Löcher gebohrt und Stepper angebracht.
Schritt 5: Laser Blanking + Spiegelkalibrierung
Motor Shield hat einen kleinen Prototyping-Bereich, der für zwei kleine Schaltkreise verwendet wurde.
Laser-Blanking
Wir wollen unseren Laser mit einem Arduino steuern. Wir müssen jedoch den in den Laser fließenden Strom begrenzen und ihn auch direkt von einem digitalen Ausgangspin ansteuern, ist keine gute Idee. Mein Lasermodul hatte bereits einen Stromschutz. So habe ich nur eine einfache Schaltung gebaut, bei der der Transistor den Laser ein- und ausschaltet. Der Basisstrom lässt sich per Trimmer regulieren und steuert die Helligkeit des Lasers.
Spiegelkalibrierung
Die Photodiode wurde in das Loch in der Mittelachse direkt über dem X-Achsen-Stepper platziert. Eine Pull-Down-Widerstandsschaltung war notwendig, um genaue Messungen zu erhalten. Beim Kalibrieren lesen wir Werte von der Fotodiode und wenn der Wert einen bestimmten Wert überschreitet (Laser strahlt direkt hinein), stoppen die Stepper und kehren in die Ausgangsposition zurück.
Pseudocode für die Kalibrierung
// 1step = 0,9° / 400steps = 360° = volle Rotation laserOn (); for (int a=0; a<=400; a++) { for (int b=0; b= photodiodeThreshold) { laserOff(); nach Hause zurückkehren(); } SchrittY(1, 1); } SchrittX(1, 1); } LaserAus (); erfolglos ();
Schritt 6: Endmontage
Die gesamte Schaltung wurde in die Kunststoff-Anschlussdose gesteckt und mit Schrauben festgezogen. Der ganze Projektor ist wirklich tragbar, einfach das Netzteil anschließen, den Kippschalter umschalten und schon haben wir eine Lasershow.
Schritt 7: Lasersteuerungs-App
Die steuernde App wurde in C# erstellt und ermöglicht es, zwischen Mustern zu wechseln, die Geschwindigkeit anzupassen und aktuelle Aktionen anzuzeigen. Es kann kostenlos zusammen mit dem Arduino-Code heruntergeladen werden (siehe Intro).