Laserprojector en: Unterschied zwischen den Versionen
Siro (Diskussion | Beiträge) (english version of "Laserprojector") |
Siro (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
Zeile 30: | Zeile 30: | ||
<h3>Overview</h3> | <h3>Overview</h3> | ||
<gallery> | <gallery> | ||
Datei:Overview.jpg| | Datei:Overview.jpg|Overview Laserprojector ICs & IOs | ||
Datei:Laserproj line time.jpg|timeshift | Datei:Laserproj line time.jpg|timeshift | ||
</gallery> | </gallery> | ||
Zeile 37: | Zeile 37: | ||
Detects position of the laserbeam | Detects position of the laserbeam | ||
[[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> | <i>Better use a impedanceconveter, instead of voltage divieder.</i><br> | ||
<gallery> | <gallery> | ||
Datei:Laserproj syncschem.png| | Datei:Laserproj syncschem.png|schematics of syncronisationunit | ||
Datei:Laserproj syncboard.png|SMD-Board | Datei:Laserproj syncboard.png|SMD-Board of syncronisationunit | ||
</gallery> | </gallery> | ||
Version vom 1. September 2010, 17:46 Uhr
laserprojector Release status: experimental [box doku] | |
---|---|
Description | projector using laser and 2 mirrors for deflection |
Author(s) | siro |
Last Version | 0.2 |
DIY Laser Projector
Concept : Build a laserprojector as easy as possible
Basic Idea
An Atmega controlls 2 fast motors, checks keyboard input,controls GLCD and Power-Supply.
On each motor is a mirror-disk spinning to delect the laserlight.The first mirror deflects the light only in the horizontal layer, the second one deflects light on the vertical layer. I'm going to modulate the laser diode to draw images.
Parts used:
-todo
Overview
Syncronisationunit:
Detects position of the laserbeam
[eagle Dateien im labor-svn]
Better use a impedanceconveter, instead of voltage divieder.
Description
TODO 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
Two small IR-LEDs are emitting light onto the spinning mirrors. The deflected light changes the current at the "fototransistor".
Saftyunit
The Saftyunit has to detect, that both mirrors are spinning fast enough, to prevent damage to anything in the laserbeam. The saftyunit cuts the laser power as soon as anything shows abnormal behavior.This is a class 3 laser, able to burn wood/paper/flesh even in a few meters distance !
Controlunit
Connected to the controlunit are GLCD, Keyboard, Horizontal-Motor, powersupply, i2C
Horizontal mirror
I received a "Laserunit" out of an Epson printer doing 24000 rpm with 7 mirroring sites. 24000*7/60 = 2800 deflections per second.
Lasersupplyunit
This circuit is able to regulate the current going trough the laserdiode. Its able to modulate the beam up to 1Mhz with a 0/3,3V input signal. The output is a rectangle modulated current with an adjustable offset and max. current. An OpAmp is missing in this circuit.
Imageconversionunit
ARM7 running at ~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
WARNING !
This is a class 3 laser, able to burn wood/paper/flesh even in a few meters distance !
Wear security goggles !
I'm using this laser to project an image at a very big surfaces ! This prevents serious eye damage when looking at the projected point!
Do not look into the beam!
1000mW (1W) Laserdiode 445nm blue 5,6mm
TODO:
- Redoing the whole concept
- Design SMD boards
- Buy new motors, mirrors, laser,...
Links:
http://elm-chan.org/works/vlp/report_e.html