Laserprojector: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
K (removed current source)
K (update)
Zeile 8: Zeile 8:
|author      = siro
|author      = siro
|username    = siro
|username    = siro
|version    = 0.2<br>
|version    = 0.3<br>
|update      = '''[[Benutzer:Siro|Siro]] 12. Mai. 2011 (CET)'''
|update      = '''[[Benutzer:Siro|Siro]] 20 Oct. 2011 (CET)'''


|platform    =  
|platform    = lpc2103
|license    =  
|license    =  
|download    =  
|download    =  
Zeile 37: Zeile 37:
<br>
<br>
<h1> Übersicht </h1>
<h1> Übersicht </h1>
<b>Auflösung</b>:256x256<br>
<b>Auflösung</b>:128x32 (max mit lpc2103)<br>
<b>Refreshrate</b>:30Hz<br>
<b>Refreshrate</b>:30Hz<br>
<b>Farben</b>:1 (blau)<br>
<b>Farben</b>:1 (blau)<br>
Zeile 43: Zeile 43:
<b>Interfaces</b>: RS232, ??<br>
<b>Interfaces</b>: RS232, ??<br>
<b>Ablenkung</b>:2x Spiegelräder, Asyncronmotor + Gleichstrommotor<br>
<b>Ablenkung</b>:2x Spiegelräder, Asyncronmotor + Gleichstrommotor<br>
<b>benutzte Kontroller</b>:ATmega169 + LPC2103<br>
<b>benutzte Controller</b>LPC2103<br>


<h1> Konzept </h1>
<h1> Konzept </h1>
Ein Atmega steuert den horizontal angebrachten schnellen Motor und einen vertical angebrachten, sich langsam drehenden Motor, Keyboard, GLCD, Power-Supply.<br>
Ein Mikrocontroller steuert den horizontal angebrachten schnellen Motor und einen vertikal angebrachten, sich langsam drehenden Motor,<s> Keyboard, GLCD, Power-Supply.</s><br>
An den Motoren sind Spiegelräder befestigt. Der Laserstrahl trifft auf den ersten Spiegel und wird von dort zur zweiten reflektiert. Der erste sorgt für die horizontale Ablenkung, der zweite für die vertikale. Durch Pulsung des Lasers kann ein Bild projektziert werden.<br />
An den Motoren sind Spiegelräder befestigt. Der Laserstrahl trifft auf den ersten Spiegel und wird von dort zur zweiten reflektiert. Der erste sorgt für die horizontale Ablenkung, der zweite für die vertikale. Durch digitale Ansteuerung des Lasers kann ein Bild projektiert werden.<br />
<gallery>
<gallery>
   Datei:Laserproj allboards.jpg| Alle Boards fertig verbunden
    
</gallery>
</gallery>
<br>
<br>
Zeile 60: Zeile 60:
</gallery>
</gallery>


<h1> Syncsensor </h1>
<h1> Syncsensor/Lichtschranke </h1>
Eine IR-LEDS leuchtet dauerhaft auf den rotierenden Spiegel gerichtet. Sobald der reflektierte Lichtstrahl auf die IR-Phototransistoren fällt, wird ein Interrupt am Mikrokontroller ausgelöst.
Ein 5mW roter Laser leuchtet dauerhaft auf den rotierenden Spiegel gerichtet. Sobald der reflektierte Lichtstrahl auf die Phototransistoren fällt, wird ein Interrupt am Mikrocontroller ausgelöst.
  <b>STATUS:</b><i> getestet/i>
  <b>STATUS:</b><i> getestet</i>
<br>
 
<h1> Kontrollboard </h1>
<b>Funktionen:</b><br>
* <h2>Sicherheitsboard</h2>
<h3>Aufgaben</h3>
Das Sicherheitsboard soll mit verschiedenen Sensoren feststellen, dass sich die Spiegel bewegen, so das die Lichtleistung pro Bildpunkt gering gehalten wird. Bei einem Stopp der Spiegel <b>muss</b> der Laser sofort abgeschaltet werden.
 
* <h2>Controller</h2>
 
An das Kontrollboard werden (GLCD, PS/2 - Tastertur), H-Motor Steuerung, V-Motor Steuerung, USART angeschlossen.
(Auf dem GLCD sind Messwerte zu sehen, mit der Tastertur lassen sich Variablen verändern.) Der H-Motor (Epson Laser-unit) benötigt ein TTL Signal zum regulieren der Motorgeschwindigkeit. Das ATX-Netzteil dient als Stromversorgung für alle Komponenten außer dem Kontrollboard. Dieses wird durch die Standby-Stromquelle des Netzteils betrieben. Wird der Taster an der Front des Gehäuses betätigt, schaltet der Atmega das ATX-Netzteil ein( o. aus). Das ATX-Netzteil versorgt GLCD, Tastertur, Motor, ... mit Spannung.
 
<h3>Aufgaben</h3>
(* GLCD ansteuern
* PS2 Tastertur)
* Laser Sicherungsschalter
* H-Motor Ansteuerung (Frequency)
* V-Motor Ansteuerung (PWM)
* USART
 
* Spannungsmessung an Laserstromversorgung ?
 
<h3>Bauteile</h3>
<table border=1 size='100%' Width='90%'>
<tr><th>Art<th>Name<th>Anzahl<th>Kosten in €<th>Datenblatt</tr>
<tr><td>µC<td>[http://www.reichelt.de/?;ARTICLE=50556 ATMEGA 169-16 TQ]<td>1<td>4,20<td></tr>
<tr><td>Resistor<td>[http://www.reichelt.de/?;ARTICLE=32898 SMD-0805 10,0K]<td>4<td>0,103<td></tr>
<tr><td>Resistor<td>[http://www.reichelt.de/?;ARTICLE=32880 SMD-0805 330]<td>2<td>0,103<td></tr>
<tr><td>Resistor<td>[http://www.reichelt.de/?;ARTICLE=32878 SMD-0805 220]<td>2<td>0,103<td></tr>
<tr><td>Resistor<td>[http://www.reichelt.de/?;ARTICLE=32874 SMD-0805 100]<td>5<td>0,103<td></tr>
<tr><td>Resistor<td>[http://www.reichelt.de/?;ARTICLE=32910 SMD-0805 100K]<td>2<td>0,103<td></tr>
<tr><td>Resistor<td>[http://www.reichelt.de/?;ARTICLE=32862 SMD-0805 10,0]<td>2<td>0,103<td></tr>
<tr><td>Resistor<td>[http://www.reichelt.de/?;ARTICLE=32882 SMD-0805 470]<td>1<td>0,103<td></tr>
<tr><td>Diode<td>[http://www.reichelt.de/?;ARTICLE=1739 1N 4936]<td>1<td>0,04<td></tr>
 
<tr><td>Linearregler<td>[http://www.reichelt.de/?;ARTICLE=23504 µA 79L05]<td>1<td>0,15<td></tr>
 
<tr><td>Kondensator<td>[http://www.reichelt.de/?;ARTICLE=31879 X7R-G0805 100N]<td>20<td>0,05<td></tr>
 
<tr><td>Trimmer<td>[http://de.farnell.com/bourns/3302x-3-103e/trimmer-10k-2mm/dp/1689837 TRIMMER, 10K, 2MM]<td>2<td>0,486<td></tr>
<tr><td>LED<td>[http://www.reichelt.de/?;ARTICLE=10228 LED 3MM RT]<td>2<td>0,06<td></tr>
<tr><td>LED<td>[http://www.reichelt.de/?;ARTICLE=60584 SFH 484]<td>2<td>0,37<td></tr>
<tr><td>Phototransistor<td>[http://www.reichelt.de/?;ARTICLE=60554 SFH 3100 F]<td>2<td>0,71<td></tr>
 
<tr><td>  ...<td><td><td><td></tr>
 
</table>
 
* <h2>Schaltplan</h2>
nicht aktuell !:<br>
<gallery>
  Datei:Laserprojector_sch.png|laserproj Kontrollboard Schaltplan
  Datei:Laserprojector_brd.png|laserproj Kontrollboard Layout
  Datei:Laserproj_control_platA.jpg|laserproj Belichtete Platine ohne Bauteile
  Datei:Laserproj_control_platB.jpg|laserproj Belichtete Platine ohne Bauteile
 
</gallery>
[https://www.das-labor.org/trac/browser/microcontroller/src-atmel/laserproj/lasercontrol Dateien im trac]
<b>STATUS:</b><i>Neuentwurf angefertig, muss gebaut werden,nicht getestet!</</i>
<br>
<br>


Zeile 150: Zeile 90:
<h1> Laserstromversorgung </h1>
<h1> Laserstromversorgung </h1>
* Version 1 [[laserprojector/lasercurrentsource]]
* Version 1 [[laserprojector/lasercurrentsource]]
* Version 2 [[Laserprojectorv2]]
* Version 2 [[laserprojector/lasercurrentsourcev2]]


<h1> Bildverarbeitung </h1>
<h1> Bildverarbeitung </h1>
Zeile 159: Zeile 99:
* Gammakorrektur g mit lookup-table
* Gammakorrektur g mit lookup-table
* PC-Kommunikation über UART0
* PC-Kommunikation über UART0
* µC Kommunikation über UART1
<s>* µC Kommunikation über UART1</s>
bei 10Mpixel<br>
* >20 MSps bei 150mA Amplitude


<h3>Bauteile</h3>
<h3>Bauteile</h3>
Zeile 190: Zeile 130:
  <b>STATUS:</b><i>lpc2103@72Mhz, läuft</i>
  <b>STATUS:</b><i>lpc2103@72Mhz, läuft</i>
<br>
<br>
<h1> Laserdiode </h1>
<h1> Laserdiode </h1>
[[Datei:ALI-Laserwarn445nm1000mw small.jpg]]
[[Datei:ALI-Laserwarn445nm1000mw small.jpg]]

Version vom 20. Oktober 2011, 11:31 Uhr

english version (outdated)

       
laserprojector

Release status: experimental [box doku]

Laser.jpg
Description Projektor der 2 sich drehende Spiegel zur Ablenkung eines modulierten Laserstrahls nutzt
Author(s)  siro
Last Version  0.3
Platform  lpc2103




Danksagungen

Vielen Dank an folgenden Personen

Besonderen Dank an das Labor eV für die Bereitstellung der Räume und des Werkzeuges.

DIY Laser Projector

Idee : Einen Projector (neuDeutsch: Beamer) welcher das Bild ähnlich einer braunschen Röhre zeilenweise abfährt und dabei den Lichtstrahl so moduliert, das ein Bild ensteht.


Project im Trac laserproj

Übersicht

Auflösung:128x32 (max mit lpc2103)
Refreshrate:30Hz
Farben:1 (blau)
Farbtiefe: 256 (8-bit)
Interfaces: RS232, ??
Ablenkung:2x Spiegelräder, Asyncronmotor + Gleichstrommotor
benutzte ControllerLPC2103

Konzept

Ein Mikrocontroller steuert den horizontal angebrachten schnellen Motor und einen vertikal angebrachten, sich langsam drehenden Motor, Keyboard, GLCD, Power-Supply.
An den Motoren sind Spiegelräder befestigt. Der Laserstrahl trifft auf den ersten Spiegel und wird von dort zur zweiten reflektiert. Der erste sorgt für die horizontale Ablenkung, der zweite für die vertikale. Durch digitale Ansteuerung des Lasers kann ein Bild projektiert werden.


Neue Idee zur Datenanbindung
VGA Eingang
Controller IC muss mit H-Motor und V-Motor syncronisieren

Übersicht

Syncsensor/Lichtschranke

Ein 5mW roter Laser leuchtet dauerhaft auf den rotierenden Spiegel gerichtet. Sobald der reflektierte Lichtstrahl auf die Phototransistoren fällt, wird ein Interrupt am Mikrocontroller ausgelöst.

STATUS: getestet


Horizontaler Motor

Beschreibung

Aus einem Drucker der Marke "Epson" 24000 U/min mit 7 Seitenflächen. 400*7 = 2800 Ablenkungen pro Sekunde.
Liegt die Ablenkeinheit wie auf den Fotos (unten) ist Pin 1 der unterste und Pin 5 der oberste.

Stecker

PinFunktion
5 +24V
4 GND
3 Eingang: 5V TTL 0Khz = 0 U/s, 1 Khz = 400U/s (nichtlineare Kennkurve)
2 Ausgang: 7*U/sek ??? sehr instabil, besser nicht nutzen!
1  ??


Laserstromversorgung

Bildverarbeitung

Aufgaben

  • Messung der Zeitspanne zwischen 2 Sync-pulsen -> Timer0 / 1
  • Mittelwert berechnung x,y mit der Real-Time-Clock
  • Phasenschiebung p mit (p <= x), o mit (o <= y)
  • Gammakorrektur g mit lookup-table
  • PC-Kommunikation über UART0

* µC Kommunikation über UART1

  • >20 MSps bei 150mA Amplitude

Bauteile

Experimentierboard MP2103: MP2103-Stick
lpc210x Datasheet
NXP LPC2103

Software

Das MP2103 Board kann einfach mit dem Programm Flash Magic (Windows/Linux mit WINE) oder lpc21isp (Linux) programmiert werden. Um den Source-code zu kompilieren braucht man Ride7 mit Compiler von Raisonance.com für Windows, ARM Gcc toolchain für Linux.
Den Quelltext gibts hier: source-code

Gammakorrektur

nächstes mal in Hardware...
uint8_t gamma_ar052={ 0, 2, 3, 4, 4, 5, 6, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 19, 20, 22, 24, 26, 28, 30, 32, 34, 37, 39, 42, 45, 48, 51, 54, 57, 61, 65, 68, 72, 77, 81, 86, 91, 96,101,107,112,118,125,131, 138,145,152,160,168,176,185,194,203,213, 223,234,244,256};
uint8_t gamma_ar075={ 0, 1, 2, 2, 2, 2, 3, 3, 3, 4 4, 5, 5, 6, 6, 7, 8, 8, 9, 10 11, 12, 13, 14, 15, 17, 18, 20, 21, 23 25, 27, 29, 31, 34, 36, 39, 42, 45, 49 53, 57, 61, 65, 70, 75, 81, 87, 93,100 107,114,123,131,140,150,161,172,183,196 209,224,239,255};

STATUS:lpc2103@72Mhz, läuft


Laserdiode

Datei:ALI-Laserwarn445nm1000mw small.jpg

Beschreibung

WARNUNG !
Dies ist ein Klasse 4 Laser ! Er verbrennt innerhalb von Sekunden Papier,Holz,Fleisch,... selbst in einigen Metern Entfernung !
Schutzbrille tragen
Nicht in den Strahl blicken !
Ich projektiere auf eine große Fläche > 1 qm, dadurch sind die Lichtpunkte an der Wand nicht so hell, dass man sich die Augen verbrennt !
Nie auf den Lichtpunkt blicken, wenn der Laser "steht". Verbrennungsgefahr !
Laserschutzbestimmungen einhalten !

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

Pinbelegung der Laserdiode

Die Laserdiode sollte immer kurzgeschlossen sein, wenn diese nicht benutzt wird, um ESA entgegen zu wirken. Ich habe einen 1 MegaOhm Widerstand direkt zwischen Anode und Kathode der Diode gelötet, dies sollte evt. auftretende Spannungen langsam reduzieren.

Anschlusskabel an meiner Diode: ROT -
Anschlusskabel an meiner Diode: SCHWARZ +

Bauteillieferanten

Optik

Beschreibung

Dieser Teil beschreib die optischen Aspekte.
Die gesamte Hardware und Optik wird auf die Grundplatte montiert. Diese besteht aus Plexiglas und wurde von http://www.formulor.de hergestellt. Die einzelnen Bauteile lassen sich zusammenstecken.
Auf dem H-Motor ist ein sich drehendes 16-Eck. Demnach sind 360° : 16 = 22,5°, von denen sich etwa 20° nutzen lassen.

Strahlbreite in Laufabstand vom H-Motor (Achse + SpiegelradRadius)
Abstand a
Breite b
b(a) := tan(20°) * a * 2 = a * 0,73

Vertikaler Spiegel

gibts hier zu kaufen
Maße:
Länge: 82mm
Radius-Außen: 80mm
Radius-Innen: 58mm
Spiegelfacetten:18,5 (eine halbe....)

Sehr schlechte Verarbeitung, keine Oberflächenspiegel !
Laufabstand H-Spiegel zu V-Spiegel:
ca. 5 cm

Breite des Spiegels am V-Spiegelrad:
ca. 3,63 cm


Horizontaler Spiegel

Kupferspiegelrad 400*16 = 6400 Ablenkungen pro Sekunde.
Achse des Motors ist zu kurz, nächstemal flacher, aus Aluminium und Speichen verwenden !

Durchmesser Loch 12mm Höhe Speichen 2mm

STATUS:neue Version, nicht getestet!

Plexiglas Platine

bei formulor.de bestellt:

Kosten

Bauteile Kontroller: 30€ + 15€
Bauteile Stromversorgung: 15€
Laser: 100€
Spiegel: 100€ + 13€
Motoren: 10€ (aus alten Laserdruckern)
Gehäuse: 40€

Status: TODO

Links