Laserprojector: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 33: Zeile 33:


<h3>Syncronisationseinheit:</h3>
<h3>Syncronisationseinheit:</h3>
Detektiert die Position des Laserstrahls. Das Licht wird reflektiert und fällt auf eine Photodiode. An dieser fällt die Spannung proportional zum Lichtstrom ab. Der OpAmp differenziert die Spannung und verstärkt die Änderung. Am Ausgang liegt ein TTL-Signal an. Am OpAmp ist ein Tiefpassfilter, der Spitzen filtert.<br>
Detektiert die Position des Laserstrahls. Das Licht wird von IR-Dioden ausgesendet am Spiegel reflektiert und fällt auf eine IR-Phototransistor. An diesem fällt die Spannung proportional zum Lichtstrom ab. Der OpAmp differenziert die Spannung und verstärkt die Änderung. Am Ausgang liegt ein TTL-Signal an. Am OpAmp ist ein Tiefpassfilter, der Spitzen filtert.<br>
[[http://www.das-labor.org/trac/export/4063/microcontroller/src-atmel/laserproj/daily-build/eagle/ eagle Dateien im labor-svn]]<br>
[[http://www.das-labor.org/trac/export/4063/microcontroller/src-atmel/laserproj/daily-build/eagle/ eagle Dateien im labor-svn]]<br>
<i>Besser ein Transimpedanzwandler, anstelle eines Spannungsteilers verwenden</i><br>
<i>Besser ein Transimpedanzwandler, anstelle eines Spannungsteilers verwenden</i><br>

Version vom 29. August 2010, 18:22 Uhr

Kran
Diese Seite befindet sich noch im Aufbau bzw. wird gerade heftig überarbeitet. Vorsicht: Herumliegende Gedankenfetzen!
Dieser Banner ist hier dokumentiert.
     
laserprojector

Release status: experimental [box doku]

Laser.jpg
Description projector using laser and 2 mirrors for deflection
Author(s)  siro
Last Version  0.2




DIY Laser Projector

Idee : Mit möglichsten einfachen Mitteln ein LaserProjector bauen.

Konzept

Atmega steuert 2 schnelle Motoren, Keyboard, GLCD, Power-Supply.
An den Motoren sind Spiegel befestigt. Der Laserstrahl trifft auf den ersten Spiegel und wird von dort zur zweiten reflektiert. Der erste sorgt für die vertikale Ablenkung, der zweite für die horizontale. Durch Pulsung des Lasers kann ein Bild projektiert werden.

Bauteile:

Übersicht

Syncronisationseinheit:

Detektiert die Position des Laserstrahls. Das Licht wird von IR-Dioden ausgesendet am Spiegel reflektiert und fällt auf eine IR-Phototransistor. An diesem fällt die Spannung proportional zum Lichtstrom ab. Der OpAmp differenziert die Spannung und verstärkt die Änderung. Am Ausgang liegt ein TTL-Signal an. Am OpAmp ist ein Tiefpassfilter, der Spitzen filtert.
[eagle Dateien im labor-svn]
Besser ein Transimpedanzwandler, anstelle eines Spannungsteilers verwenden

Beschreibung Die LEDs leuchten auf den Spiegel, wodurch das reflektierte Licht auf die Photodioden fällt (nicht kritisch welche), wird differenziert, rauschgefiltert und verstärkt. Am Ausgang des OpAmp schneidet eine Diode die negative Spannung ab. Ist diese groß genug, schaltet der FET (BSS123) durch und zieht die Output Leitung auf Masse. Am anderen Ende der Leitung muss ein Pullup-Widerstand sein, der den Strom auf unter 100mA begrenzt. Versorgungsspannung: 3,7 bis 15 Volt (empfohlen 5 bis 12 Volt).

Syncsensor

Zwei kleine Laserdioden leuchten dauerhaft auf den rotierenden Spiegel gerichtet. Sobald der reflektierte Strahl auf die Photodiode fällt, wird ein Interrupt am Mikrokontroller ausgelöst.

Kontrollboard

An das Kontrollboard werden GLCD, Tastertur, H-Motor, Spannungssteuerung, i2C

Horizontaler Motor/Spiegel

Aus einem Drucker der Marke "Epson" 24000 U/min mit 7 Seitenflächen. 24000*7/60 = 2800 Ablenkungen pro Sekunde.

Laserstromversorgung

Diese Schaltung kann den Strom durch die Laserdiode bis 1 Mhz regulieren. Eingangsignal ist 3,3V TTL. Ausgabe ist rechtecktförmig. Einstellbar sind Offset und Maximalstrom. Es fehlt ein OPamp zur Strommessung.

Bildverarbeitung

ARM7 mit ~60 Mhz

START
 goto INIT
INIT:
starte timer0, höchste Geschwindigkeit 
starte capture mode (save timer0 in REG on ext. INT)
setze SPI Geschwindigkeit auf CCLK/n (n >= 8)
TIMER0_OVF_INT:
timer0 vorteiler erhöhen
timer0 counter register mit richtigem Wert laden
CAPTURE_INT:
berechne wie lange es bis zum Interrupt gedauert hat (timer0 reg - capture reg)
lade Differenz in timer0 counter register
warte durchschnittliche Differenz
speicher Differenz im Array
bilde neue durchschnittliche Differenz
incrementiere rps counter
warte $POST_SYNC
sende Daten über SPI
warte $PRE_SYNC // exit :)
CALL_ONCE_A_SEC_INT:
starte timer0, höchste Geschwindigkeit
rps counter auf 0 setzen
rps counter ausgeben
durchschnittliche Differenz ausgeben
CALL_20TIMES_A_SEC_INT:
get keyboard data over i2c
send LCD data over i2c



Laserdiode

1000mW (1W) Laserdiode 445nm Blau 5,6mm

TODO:

  • Redoing the whole concept
  • Design SMD boards
  • Buy new motors, mirrors, laser,...

Links:

Laser Projektoren

Laser-Projektor selbstgebaut

http://elm-chan.org/works/vlp/report_e.html

Horizontal Laser Deflector

AVR Laser Projector

AVR laser projector

the laserbeamer

Laser video projector

Mechanically scanned laser display

RGB Laser Projector