PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LaserExposer - Laserbelichter für PCB



Cysign
05.01.2016, 16:45
Hallo zusammen,

da ich schon länger plane, einen Laserbelichter zu bauen, habe ich in den letzten Tagen vermehrt nach bereits fertigen Projekten gesucht.
Neben etlichen herkömmlichen 2-Achs-CNC-Maschinen bin ich auf https://www.das-labor.org/wiki/LaserExposer gestoßen.
Dieses Projekt beherbergt meiner Meinung zwei große Vorteile:
1. es ist laufruhiger als eine 2-Achsmaschine oder ein umgebauter Stiftplotter
2. Da lediglich eine Achse einmal verfahren wird, gibt es bei einer sauberen Umsetzung keine Probleme mit der Wiederholgenauigkeit (ich habe das-labor mal angemailt und auch dort wurde vor diesem Projekt eine umgebauter Stiftplotter verwendet, der Probleme mit der Wiederholgenauigkeit aufwies).

Da ich noch einen leicht defekten Laserdrucker hier rumstehen hatte, habe ich mich also dran gemacht, die Lasereinheit zu entfernen.
Diese beinhaltet einen Poligonspiegel mit 8 Flächen, einen Helligkeitssensor zur Synchronisation des Laserstrahlt und eine Plankonvexlinse.
Außerdem habe ich bereits eine 100mW und eine 1000mW Laserdiode und Schutzbrille seit geraumer Zeit in meiner Bastelkiste liegen.
Soweit so gut.

Als Antrieb für meine X-Achse habe ich einen Linearaktuator, welchen ich mit einem A4988 antreiben werde.
Auch habe ich - da ich eigentlich endlich mal einen 3D-Drucker bauen wollte - noch einige Linearführungen hier, welche ich nun hierfür nutzen kann.

Allergings habe ich leider noch keine Ahnung, wie ich das Projekt softwareseitig angehen kann.

Ich würde die Daten gerne entweder von SD-Karte plotten oder vom PC per USB aus.
Hierfür kann ich z.B. einen Arduino seriell mit Daten füttern.
Allerdings weiß ich nicht, wie ich die Daten z.B. aus einer Bilddatei oder einem PDF nun zeilenweise zerstückeln und an den Arduino übertragen kann.
Da ich selbst noch keine Windows/Linux-Anwendungen geschrieben habe, sehe ich hier eine steile Lernkurve auf mich zukommen, falls es hierfür kein fertiges Programm gibt.

Bei dem LaserExposer von Das Labor wurden zwei µCs verwendet. Einer für den Antrieb und die Übermittlung der Zeilendaten an den zweiten µC.
Dieser zweite µC wertet einerseits anhand des Lichtsensors(?) die Position des Laserstrahls aus, um diesen zu synchronisieren, andererseits steuert er die Aktivität des Lasers.
Ich denke, dass die Aufsplittung in zwei µCs für meine Anwendung auch Sinn macht, da ich so Timingprobleme verhindern kann - oder sehe ich das falsch?

Bildbearbeitung/-auswertung ist für mich ein völlig neues Thema (abgesehen von der Anwendung einiger Adobe-Produkte :D ).

Ich freue mich auf eueren Input!

Peter(TOO)
06.01.2016, 04:24
Hallo,

Ich würde die Daten gerne entweder von SD-Karte plotten oder vom PC per USB aus.
Hierfür kann ich z.B. einen Arduino seriell mit Daten füttern.
Allerdings weiß ich nicht, wie ich die Daten z.B. aus einer Bilddatei oder einem PDF nun zeilenweise zerstückeln und an den Arduino übertragen kann.
Da ich selbst noch keine Windows/Linux-Anwendungen geschrieben habe, sehe ich hier eine steile Lernkurve auf mich zukommen, falls es hierfür kein fertiges Programm gibt.
Du musst das Bild nur in eine Bit-Map-Graphik (Z.B. BMP) umwandeln und dabei das Ganze dann noch auf S/W (1 Bit pro Pixel) reduzieren. Dazu gibt es Programme und API-Routinen. Das BMP-Format ist gut dokumentiert.
Dann hast du eine Matrix mit jedem einzelnen Bildpunkt.

MfG Peter(TOO)

Cysign
06.01.2016, 11:31
Die Theorie ist hierbei wirklich nicht schwer. Aber wo fang ich in der Praxis am besten an?
Windows oder Linux? Welche Sprache?
Ich muss auch berücksichtigen, dass die Sprache möglichst einfach seriell zum Arduino übertragen kann.

Peter(TOO)
06.01.2016, 14:16
Hallo,

Die Theorie ist hierbei wirklich nicht schwer. Aber wo fang ich in der Praxis am besten an?
Windows oder Linux? Welche Sprache?
Ich muss auch berücksichtigen, dass die Sprache möglichst einfach seriell zum Arduino übertragen kann.

Welches BS kennst du besser?
Grundsätzlich ist es egal, welches BS du verwendest.
Die Frage ist natürlich auch noch mit welchen Tools unter welchem BS du die Layout erstellst. Es mach keinen Spass dann immer ein anderes BS booten zu müssen.

Welche Sprachen kannst du denn?

Unter Windows habe ich meistens mit VisualBasic und C/C++ gearbeitet. VB vor allem für die Benutzeroberfläche, das war damit am einfachsten zu machen. Rechenintensive Teile dann in C/C++.

Auf den Controllern habe ich ausschliesslich in C gearbeitet.

Die Übertragung unterstützt auf dem PC das BS.
Physikalisch erfolgt die Übertragung über USB, aber der Treiber simuliert dann eine serielle Schnittstelle.

MfG Peter(TOO)

Cysign
06.01.2016, 16:03
Prinzipiell ist mir egal, ob ich Windows oder Linux nutze. Mein Layout möchte ich mit KiCad erstellen.
Grundkenntnisse habe ich in C, PHP, JS.
Ich denke aber, wenn ich das Projekt fertig habe, gibt es mehr potantielle Nachahmer unter Windows, weslahb die Entwicklung einer Windows-Anwendung vermutlich mehr Sinn macht.

Ich hab mich eben mit einem Freund dafüber unterhalten, und er meint, ich soll mal in C# reinschnuppern und mit VisualStudio Community und Wnidows Forms arbeiten, da das dann dank Mono auch linuxkompatibel wäre.
Wenn beide BS bedient werden würden, wäre das natürlich optimal ;)