Hallo,
ich habe in den letzten Tagen mit den letzten Tagen das „Isolierlasern“
von Platinen ausprobiert.
Das Ziel war mit möglichst geringem Aufwand, d.h. ohne eigens gebauter
Maschine, ohne speziellen Controller und ohne neu geschriebener Software
zum Ziel zu gelangen.
Setup:
Ich habe auf meine CNC-Fräse (MGN12 Kugelumlaufschlitten + SFU1204
Kugelumlaufspindeln) eine 405nm / 50mW Laserdiode (SLD3232VF) mit
Glaslinse gebaut. Der Abstand Platinenoberfläche – Linse beträgt 5cm.
Die Diode hängt über 500Ohm an 24V und wird durch einen BS170
geschaltet.
Das Layout wurde aus KICAD als GERBER exportiert und mit FlatCAM in
GCode umgewandelt. Parameter: Tool dia 0,14mm, Pass overlapp 0,07mm,
Passes 30, Combine Passes.
Dieser GCode wurde dann im Texteditor durch Suchen Ersetzen Alle so
modifiziert, dass eine Bewegung der Z-Achse nach oben durch M5 (Laser
ausschalten) und nach unten durch M3 (Laser einschalten) ausgetauscht
wurde.
Als CNC-Controller verwende ich LinuxCNC, das über den P-Port direkt die
Schrittmotortreiber und die Laserdiode ansteuert.
Belichtet wurde Bungard-Material, entwickelt mit 1,5% NaOH und geätzt
mit 32%HCl/30%H2O2/H2O, beides in einer geschwenkten Schale.
Ergebnis:
50mW sind mehr als ausreichend. Mit 1000mm/min und einer Punktbreite von
0,7mm wird der Fotolack 100%ig belichtet, ev. geht sogar noch mehr, habe
nicht weiter getestet.
Selbst mit einer billigen Linse lässt sich der Laser auf ca. 0,05mm
fokussieren – das ist zu fein. Man muss im leicht de-fokussierten
Bereich arbeiten um einen Durchmesser von 0,1 – 0,2mm zu bekommen, erst
damit kann man vernünftig arbeiten.
Die Platine mit den Footprints hat 28 Minuten gebraucht zum Belichten.
Aber das ist der absolute worst-case. Kaum lange Geraden, die Mechanik
hat ihre Vmax fast nie erreicht, da so gut wie alle Strecken im
sub-mm-Bereich liegen. Sehr wenig Kupfer auf der Platine. Eine Menge
Text. Eine Platine mit geraden Leiterbahnen und ein paar GND-Flächen ist
in einem Bruchteil dieser Zeit zu belichten.
Ab 0,15mm sind die Leiterbahnen vollständig, in der Praxis würde ich
mich ab 0,25mm trauen.
Mit der eingesetzten Software bleiben immer noch kleine Kupferreste
übrig, die mich aber nicht weiter stören.
Fazit:
Ich habe mein letztes Layout auf Folie ausgedruckt. Für meine
Bedürfnisse ist die Qualität absolut ausreichend. Einen großen Vorteil
sehe ich auch darin, dass sowohl das Belichten als auch das Bohren von
der gleichen Maschine erledigt werden, die beiden Arbeitsschritte also
perfekt aufeinander passen sollten.
Noch nicht ganz befriedigend ist die Software zum Erstellen des GCodes.
Mir schwebt ein Programm vor, das, wie ein Slicer beim 3D-Drucken, ein
bis zwei Umrisse macht und dann den Rest definiert ausfüllt. (Ich habe
schon versucht daraus ein STL zu machen, ist mir nur nicht gelungen …
KICAD → dxf-Export → Freecad → Absturz … wenn da jemand eine Idee hätte,
bitte melden)
Da für diese Methode des Platinenbelichtens jeder nicht ganz wackelige
3D-Drucker geeignet sein sollte, sehe ich da viel Potential.
Aloha,
FlorenzW
Hi Florian,
ich mache gerade ähnliches mit dem nicht-ganz-wackligen Ultimaker 2 :-)
Beitrag "Re: UV-Laserdrucker II"
Erstes Platinenergebnis von gestern war schon mal nicht soo daneben:
Beitrag "Re: UV-Laserdrucker II"
Ich teste im Augenblick noch das pixelweise belichten, demnächst auch
mal das Isolierlasern.
Ich versuche mich gerade mit einer Auflösung von 1000 dpi, die maximale,
die der UM2 kann, wenn ich die technischen Daten richtig interpretiere.
Kann sein, dass die Unschärfe vom ersten Versuch von Überbelichtung
kommt oder von zu hoher Auflösung vs. Laserpunktgröße, das finde ich
gerade mit einem Lauf mit 30% weniger Belichtungsleistung heraus.
Wenn das immer noch unscharf ist, dann ist es zu hohe Auflösung vs.
Laserpunkt.
Den Fokus habe ich heute nochmal geprüft, besser geht es nicht.
Teste das mit einer Fahrt von links oben nach rechts unten auf
Thermopapier. An der Stelle wo der Fokus ist habe ich einen Streifen von
ca. 1 cm Länge, draus kann ich das Z des besten Fokus errechnen.
Bzgl. Isolierlasern habe ich schon mit dem PCB-GCode-Plugin von Eagle
gespielt, das sieht sehr gut aus. Nur die Bohrungen macht es nicht, weil
es für die Fräse nicht nötig ist - man würde sie ja auch einfach bohren
lassen.
Das noch gefixt, dann kann ich auch das mal testen.
Man kann bei dem PCB-GCode recht gut in den GCode eingreifen und eigenen
Code als Prefix/Postfix hinterlegen und den verwendeten GCode
konfigurieren als Profil.
Grüße,
Conny
Florian W. schrieb:> Die Diode hängt über 500Ohm an 24V und wird durch einen BS170> geschaltet.
Soll das heißen, du benutzt für die Laserdiode keine KSQ ??!
Sehr sehr wagemutig . Sicher hast du einen ganzen Vorrat an Dioden....
Servus Conny,
wir arbeiten an der selben Sache! :-) Und die Ergebnisse sind auch
vergleichbar.
Ich hänge ab jetzt auch meine GCode-Files ran, vielleicht helfen die für
Vergleiche. Solange keine Subroutinen drin sind, müssten die eigentlich
auf einem 3D-Drucker auch laufen.
Fokussieren:
Zur Grobeinstellung lege ich ein einseitig beschichtetes Stück FR4 mit
der Kupferseite nach unten unter den Laser. Je näher man am Fokus ist,
desto dunkler wird der Lichtpunkt, bis er im Fokus fast im Laminat der
Platine verschwindet.
Zur Feineinstellung nehme ich ein kleines Stück einer fotobeschichteten
Platine und belichte das Testpattern im Anhang. Das Sind 5x2mm große
Rechtecke, die mit Linien im 0,1mm-Abstand ausgefüllt sind. Im Fokus
wird der Lack aufgeschmolzen, das sieht man ohne, dass die Platine
entwickelt ist.
Per Definition lege ich den Z=0-Punkt auf die Mitte des Bereichs, in dem
man die Spuren sieht, in diesem Fall +0,3mm.
Im nächsten Schritt will ich mir die Breite einer belichteten Spur in
Abhängig zur Höhendifferenz zu Z=0mm genauer anschauen.
@nur mal so:
Was kann eine KSQ besser als mein Widerstand, der an einer stabilen
Versorgungsspannung hängt?
Aloha, Flo
Florian W. schrieb:> Was kann eine KSQ besser als mein Widerstand, der an einer stabilen> Versorgungsspannung hängt?
Der Laserdiode ein längeres stressfreies Leben bescheren ?
Informiert euch dazu selbst, oder kauft halt öfters mal Ersatz...
Hi Florian:
Fokus:
Ich verwende für die Findung des Fokuspunkts Thermopapier und fahre
einmal komplett X durch und Z von zB 70 nach 200.
Dann kann man an der Stelle des Fokus auf dem Thermopapier einen Strich
von 1cm sehen, das kann ich dann beim X abmessen und das Z ausrechnen.
Das Thermopapier ist übrigens einfach eine Faxrolle.
Könntest Du mir das Footprint-Layout als PNG mit 500 und 1000dpi
schicken?
Ich bin mir noch nicht ganz im Klaren, ob meine zu dicken Löcher in den
Pads von Überbelichtung oder einen zu großen Laserpunkt kommen.
Ich glaube fast letzteres, denn Reduktion der Belichtung hat es bis
jetzt noch nicht spürbar verbessert, aber Reduktion der Auflösung hat.
Vg,
Conny
Da ist das Layout. Ich hab's aus KiCAD als SVG exportiert und dann mit
InkScape in ein Bitmap konvertiert.
Die Idee mit dem Thermopapier zu Testzwecken ist genial. Was ich bei der
Methode mit der Platine sehr schätze ist, dass die Höhe dann auch genau
so passt. Es sieht so aus, dass für ein perfektes Ergebnis der Fokus auf
mindestens +-0,2mm genau passen muss.
Genaueres folgt.
Ich habe mir deine Platinen angeschaut - sehr schön. Es gibt noch eine
mögliche Erklärung für die zu großen Löcher. Die Breite von Leiterbahnen
und der Durchmesser von Löchern ist stark davon abhängig, wie die
Platine geätzt wurde. Wenn die Maße passen sollen, muss die Platine auf
dem Punkt aus der Ätzlösung raus, sonst werden durch Überätzung Bahnen
schmaler und Löcher dicker.
Aloha, Flo
Florian W. schrieb:> Da ist das Layout. Ich hab's aus KiCAD als SVG exportiert und dann mit> InkScape in ein Bitmap konvertiert.
Danke!
> so passt. Es sieht so aus, dass für ein perfektes Ergebnis der Fokus auf> mindestens +-0,2mm genau passen muss.
Das hängt von der Brennweite der Linse ab. Ich habe sie bei mir so
eingestellt, dass der Fokuspunkt einen Abstand von 10cm hat, dann ist
der Fokusbereich vertikal relativ groß.
Wie gesagt gibt es bei einer Diagonalfahrt von 20cm Breite und 13cm Höhe
einen Streifen von 1cm auf dem Thermopapier, d.h. der Bereich des Fokus
ist >5mm.
Dann kommt es nicht mehr auf den Zehntelmillimeter an, nur noch auf
1-2mm.
Bei Dir sind es 0.6mm wo der Laser genügend Leistung "auf den Punkt"
bringt, d.h. der Brennpunkt ist sehr nah am Laser, nur 2-3cm?
> Platine geätzt wurde. Wenn die Maße passen sollen, muss die Platine auf> dem Punkt aus der Ätzlösung raus, sonst werden durch Überätzung Bahnen> schmaler und Löcher dicker.
Das mit dem Überätzen kenne ich, das macht eigentlich nicht soo viel
aus, wenn es man es nicht gerade um 10min übertreibt (alles schon
gemacht natürlich :-).
Das sieht eher danach aus, dass das Problem schon bei der Belichtung
entsteht, sieht man auch nach dem Entwickeln des Fotoresist schon, dass
die Restringe sehr dünn sind.
Kalibrierung:
Ich habe ein Layout erstellt mit horizontalen und vertikalen
Leiterbahnen zwischen 0,1mm und 0,5mm.
Dieses Layout habe ich in FlatCAM mit einem angenommenen Toolradius von
0,20mm und einer Überlappung von 0,3 (Das ist der Faktor im Verhältnis
zum Werkzeugdurchmesser, also 30% und nicht absolut 0,3mm, wie ich bis
jetzt immer angenommen habe) in GCode umgewandelt.
Dieses GCode-File wurde dann 5x nebeneinander auf eine Platine mit einer
jeweiligen Abweichung vom perfekten Fokus von
-0,8mm/-1,2mm/-1,6mm/-2,0mm/-2,4mm belichtet.
Die Idee dahinter ist, dass bei der Bedingung, die mit einem Durchmesser
des Laserpunkts von 0,2mm korrespondiert, die Breite der Leiterbahnen
stimmt.
Und das tut sie recht gut, siehe Vermessung.pdf. Ich werde ab jetzt
1,8mm unterhalb der optimalen Fokussierung belichten.
Das zweite wichtige Ergebnis dieses Experiments: Es gehen 0,1mm-Bahnen!
4mill! (...ok... sie sind einen Hauch dicker...)
Ich habe die Bahnen unter dem Auflichtmikroskop angeschaut und mit dem
Multimeter durchgemessen – einwandfrei. (Mir fällt jetzt zwar spontan
nichts ein, für was ich die gebrauchen könnte, freuen tut's mich
trotzdem :-)
Falls es jemand interessiert, habe ich das GCode-File rangehängt. Das
wird aber nur unter LinuxCNC laufen, da es mit Subroutinen arbeitet. Wer
es mit einem 3D-Drucker oder GRBL laufen lassen will, muss manuell die
Subroutine in den Absprung kopieren.
@Conny: Mit welchen Programm wandelst du deine Bitmaps in GCode um?
Aloha, Flo
Erfolgreich reproduziert:
Ich habe das Testlayout mit den Footprints mit den optimierten
Parametern nochmal belichtet, entwickelt und geätzt. Die Belichtungszeit
ist auf 22 Minuten gesunken. Die 0,1mm-Bahn ist ganz (sagt das
Multimeter).
Ein paar Krümel Kupfer sind auf der Platine noch übriggeblieben, die
aber die Funktion nicht beeinträchtigen sollten. Mit optimierter
Software müsste man auch dieses kleine Problem noch loswerden.
Fazit:
Das Ergebnis ist viel besser als Alles, was ich bis jetzt mit Folie
hinbekommen habe. Ich betrachte die Methode für mich als ausoptimiert.
Aloha, Flo
Hi Florian,
hier mein Ergebnis von heute Nachmittag!
Bin auch äußerst zufrieden.
Die 4mil Leiterbahn sieht eigentlich ganz gut aus, hat aber eine kaputte
Stelle, wo auch immer die herkommt, denn der Rest sieht eigentlich nicht
so aus als wäre es Zufall.
Auf dem Mikroskop-Bild (mein USB-Mikroskop taugt leider nicht so) kann
man aber Unterätzung erahnen, vielleicht ist einfach das der Grund.
Jedenfalls kratzt die Qualität an den 4mil, das ist schon mal gut.
Auch bei mir ist das besser als alles was ich je mit Folie geschafft
habe.
Belichtet mit 2.500 mm/min, 45mA, 500dpi.
Vg,
Conny
Extrem lässig! Die sieht ja besser aus als meine Platine!
Dass da keine Kupferkrümel drauf sind, wie bei mir, gefällt mir sehr
gut.
Beide Ansätze funktionieren. Jetzt muss ich auch mal rastern.
Mit welchem Programm machst du deinen GCode aus dem Bitmap?
Aloha, Flo
Bin der Perfektion einen großen Schritt näher gekommen:
Schwer inspiriert von Connys Skript habe ich beschlossen, die
Datenaufbereitung ebenfalls in die eigene Hand zu nehmen.
Meine Idee ist den Vorteil des „Isolierlaserns“, die perfekten Ränder,
mit dem Vorteil des Rasterns, die perfekt belichtete Fläche, zu
vereinen. Deshalb habe ich ein Programm geschrieben, das zuerst den um
den Laserradius korrigierten Umriss der Elemente belichtet und
anschließend die Fläche dazwischen.
Als Datenquelle habe ich den dxf-Export von KiCAD gewählt, da er im
wesentlichen nur aus LINE-Elementen besteht. Gerber wäre logischer
gewesen, dieses Format ist aber deutlich schwerer zu durchschauen,
deshalb hat dxf gewonnen.
Das Skript dxf2laser.py rekonstruiert erst einmal die Polygone und
säubert sie von übereinander liegenden Punkten, sehr kurzen und gerade
einander stehenden Strecken.
Anschließend wird der Umriss eines jeden Polygons mit dem Abstand des
Laserradius berechnet.
Dann wird die Fläche außerhalb der berechneten Umrisse mit Linien
gefüllt.
Berechnete Umrisse + Füllmuster werden direkt als G-Code, optimiert für
LinuxCNC, exportiert.
Dieses Programm ist ein PROOF OF CONCEPT im alpha-Stadium und nur für
den Import von dxf-Daten aus KiCAD 4.0.2 und nur für den Export nach
LinuxCNC gedacht. Alles anderen möglichen Datenquellen und -ziele werden
voraussichtlich ohne Anpassung des Programms nicht funktionieren. Da
mein limitierender Faktor der Mangel an Zeit ist, werde ich nicht
weiterbauen. Jeder der möchte kann sich den Code anpassen wie er will.
Die Test Footprints-Platine ist jetzt so gut wie perfekt,
Belichtungszeit 42 Minuten (mit 5mm Rand), Laserdurchmesser 0,2mm (1,8mm
unterhalb des Fokus bei 50mm Brennweite), 1000mm/Minute. Die 4mill-Bahn
ist ganz.
Neben der schwer optimierten Datenaufbereitung war noch eine Kleinigkeit
von Bedeutung: Bei genauerer Betrachtung meiner vorhergehenden
Testplatinen ist mir aufgefallen, dass LinuxCNC bei 90°-Ecken
eigenmächtig Kreisbögen rein gebaut hat! Der Befehl G64 P0.001 erledigt
dieses Problem, die maximale Abweichung vom vorgegeben Pfad wird auf
0,001mm beschränkt.
Eine kleine Einschränkung gibt es (logischerweise):
Zwei Ränder dürfen sich nicht näher kommen als der Durchmesser das
Lasers ist. Bei den Zahlen 1, 6, 9 und dem i ist diese Bedingung leider
nicht erfüllt.
Etwas störend ist, auch wenn es sich nicht auf die Qualität auswirkt,
dass LinuxCNC beim Ein- und Ausschalten des Lasers durch M3 und M5, auch
wenn sich die dadurch getrennten Streckenabschnitte auf einer Linie
liegen, bremst und beschleunigt. Hat jemand eine Idee, wie man das
verbessern könnte?
Aloha, Flo
Hi Florian,
das ist ja jetzt wirklich super. Die Kleinigkeiten bei den Zahlen kann
man wirklich vernachlässigen. Das Script hört sich nach ordentlich
Arbeit an, sehr gut gelungen!
Ich bin soweit noch beim Rastern geblieben. Einerseits habe ich bereits
einen Standard erreicht, der voll ausreichend ist (wäre) und arbeite
gerade an Perfektionierungen (z.B. in beide Richtungen belichten und die
4mil sicher zu schaffen). Andererseits gefallen mir einige Eigenheiten
des Isolierlaserns nicht, im Prinzip genau die Dinge, die Du jetzt
gelöst hast. Müsste ich auch nochmal lösen, weil Eagle plus ULP Script
eine andere Plattform ist.
Bei der 4mil Bahn frage ich mich immer, was man da eigentlich bekommt
auf der Platine. Mir scheint das geätzte Ergebnis viel dünner zu sein
als 4mil und ist vermutlich deshalb immer kaputt.
4mil sind 0,2mm, das müsste mit der Lupe gesehen dicker sein als ein
mm-Strich eines Lineals. Aber die Leiterbahn ist eher deutlich dünner
als dieser Teilstrich, der m.E. 0,1mm dick ist.
Vermute, dass die Dicke des Laserpunkts schnell aus den 4 mil "Soll" ein
1-2 mil "Ist" macht und das vom Ätzvorgang her kaum mehr zu schaffen
ist.
Deshalb versuche ich gerade einen Anlauf mit 1000dpi zu belichten, aber
nur dafür um "halbe" Pixel (aus Sicht der 500dpi, die ich erreichen
will) zu haben, die ich noch als Abstand zu den Strukturen einfügen
kann.
D.h. ich gebe den Leiterbahnen etc. noch einen Pixel Contour dazu, der
dabei hilft "netto 4mil" zu behalten.
Das kann ich bei 500dpi zwar auch, dann wird die Zugabe aber zuviel.
Hatte nämlich mit meiner Testplatine der ersten Versuche immer das
Problem, dass die kleinen Vias/Pads nur noch wenig Restring hatten, weil
der Laser sowohl außen als auch innen zuviel wegnahm.
So geht's mir weniger um die 4mil - das ist Spielerei - vielmehr um
vernünftige Pads. Und das ohne die Eagle-Standardwerte zu justieren, das
könnte man ja auch.
Lg,
Conny
Das hat mich jetzt genauer interessiert und so kopierte ich mal die
0,5mm-Bahn auf die 0,1mm-Bahn.
Was ist denn der vertikale Abstand der 0,1mm-Bahnen, ist das 2x 0,1 inch
Raster, also 0,508mm?
Wenn die 0,5 wirklich 0,5mm sind, dann schrumpfen die 0,1mm schonmal um
10-20% und es sind nur noch 0,085mm / 3,3mil.
Ich glaube allerdings, dass auch den 0,5mm hier bereits knapp 0,05mm
fehlen, damit wären es netto 0,45mm.
Das durch fünf geteilt und minus 15% (die 0,1 sind auf dem Foto etwas
kleiner als ein Fünftel der 0,5) ergibt 0,075 oder 3mil statt 4mil.
Das Belichten "frisst" also vermutlich 1mil am Rand.
Wenn ich also jetzt überall 1 Pixel bei 1000dpi = 0,0254mm = 1mil zugebe
komme ich raus bei 4mil (Soll) + 2mil (Zugabe) - 1mil ("Randunschärfe")
= 5mil (Ist).
Sind zwar keine 4mil, aber zumindest eine Leiterbahn ohne
Unterbrechungen und Restringe, die genug Substanz haben.
Und nur 2mil Abstand zwischen Objekten bei 1mil "Unschärfe" ist eh nicht
sinnvoll zu haben, also dürfte 1mil Zugabe keine Probleme bereiten.
Conny G. schrieb:> 4mil sind 0,2mm
Hallo Conny G,
nö - das sind etwas mehr als 0,1 mm - genau 0,1016 mm (1 mil = 0,0254
mm).
4 mil sind schon spannend - wenn Du mal richtig Spaß haben willst
versuche mal eine entsprechende Spirale zu belichten :-)
http://www.delorie.com/pcb/spirals/
Mit der "Zugabe" habe ich auch schon gespielt - leider mit
unbefriedigendem Ergebnis. Daher arbeite ich aktuell an Möglichkeiten
den Fokus des Lasers zu vermessen und zu optimieren.
Gruß
Dieter
Dieter F. schrieb:> Conny G. schrieb:>> 4mil sind 0,2mm> nö - das sind etwas mehr als 0,1 mm - genau 0,1016 mm (1 mil = 0,0254> mm).
Stimmt, sorry. Wobei dann aber trotzdem meine Rechnung passt, dass etwa
1mil beim Belichten Hops geht.
> 4 mil sind schon spannend - wenn Du mal richtig Spaß haben willst> versuche mal eine entsprechende Spirale zu belichten :-)>> http://www.delorie.com/pcb/spirals/
Ah, da gibt's die, das habe ich schon gesucht. Ja, wenn ich mein Setup
ganz im Griff habe, dann probiere ich das mal.
> Mit der "Zugabe" habe ich auch schon gespielt - leider mit> unbefriedigendem Ergebnis. Daher arbeite ich aktuell an Möglichkeiten> den Fokus des Lasers zu vermessen und zu optimieren.
Ich habe schon eine Weile dazu recherchiert. Der Laser hat 2
verschiedene Öffnungswinkel x und y. Man macht das mit Zylinderlinsen
verschiedener Brennweite um 90 Grad verdreht die Fokuspunkte der zwei
Ebenen zusammenzuführen. Alternativ mit Prismen. Dann wird der Fokus
rund statt oval.
Typische Werte sind anscheinend irgendwas 10 vs. 20 Grad in die zwei
Richtungen.
Die Linsen sind nicht so einfach zu bekommen und echt teuer, zumindest
alles, was ich bis jetzt gefunden habe.
Wenn man den Fokus dann rund gemacht hat statt elliptisch hat man
jedenfalls schon mal den kleinstmöglichen Punkt, der halb so gross ist
vs. ohne Ausgleich der Ellipse.
Den muss man dann noch so fokussieren können, dass der auch nur 0,05
oder 0,025 groß ist... dann gehen echte 500/1000dpi und damit 1-2mil an
Auflösung.
Was ich auch noch nicht weiß ist die Step-Auflösung meines Ultimaker. Da
muss ich bei Zeiten mal die Parameter der Firmware genauer untersuchen,
daraus müsste sich das rekonstruieren lassen, wie er von
G-Gode-Koordinaten in Motorsteps umrechnet.
Denn wenn ich auf 500 oder 1000 dpi setze und das nicht in den Steps
liegt, die der Drucker nativ hat, dann gibt es Abweichungen. Und wenn
ich 1000dpi versuche und er kann sie gar nicht, dann ebenfalls.
Da brauche ich nicht nicht mit der Größe des Fokuspunkts anfangen...
hp-freund schrieb:
> Hast Du schon mit den Einstellungen "Maximum Accelleration" für die> einzelnen Achsen experimentiert?
Das habe ich noch mal abgeklopft - leider ohne Erfolg. Die Lösung habe
ich M62 P-x / M63 P-x gefunden. Die ermöglichen zur Bewegung
synchronisierte Schaltvorgänge in LinuxCNC - aber nur zwischen G1-Moves.
Sobald ein G0 dazwischen ist, wird trotzdem gebremst. Sieht zwar auf dem
Bildschirm seltsam aus, da nur noch weiße Linien, aber funktioniert.
Jetzt rastert's flüssig.
@Conny:
Die Methode mit der Punktzugabe sollte durchaus funktionieren. Ein
Bitmap als Datenquelle zu benutzen ist zwar der universellste Weg - das
Ziel (fürchte ich) muss aber Gerber sein.
Irgendwie setzt sich bei mir schön langsam die Ansicht durch, dass man
das Programm so jetzt nicht mehr stehen lassen kann. Dafür
funktioniert's zu gut.
Im wesentlichen sehe ich drei Punkte, die noch abgearbeitet werden
müßten:
- den Dateiimport auf Gerber umbauen:
Mein Fehler war, mir die offizielle Spezifikation dieses Formats
anzuschauen - brrrrr - das sollte man nicht machen.
Nach dem ich jetzt meinen ersten Schrecken überwunden habe, werde ich
mich mal der klassischen Dateianalyse zuwenden :-)
- beim Dateiexport optimierte Profile für GBRL, Marlin... erstellen:
Kein großes Problem.
- GUI ranbauen.
Hab zwar so was in Python noch nie gemacht, aber irgendwie geht das
schon.
Wir sollten zusammenarbeiten!
Zu den Leiterbahnbreiten:
Je dünner die Bahnen werden, desto stärker spielt auch das Ätzen eine
Rolle. Ich habe beschlossen, da jetzt keine Energie mehr reinzustecken.
Ich sehe die 4mil-Bahn ausschließlich als Qualitätsparameter, aber nicht
als etwas, das ich ernsthaft vorhabe zu ätzen.
Der Abstand zwischen den Bahnen beträgt 25mil = 0,635mm
Zum unrund fokussierten Laser:
Das Problem wird durch die Belichtung außerhalb des Fokus beseitigt. Bei
einem Durchmesser von 0,2mm scheint er ziemlich rund zu sein.
Noch eines ist mir aufgefallen: Beim Vergleich meiner ersten mit meiner
letzten Platine fällt auf, dass beim ersten Versuch die Ränder viel
rauer sind als beim letzten. Der Unterschied in den Bedingungen ist,
dass die erste Platine im Fokus belichtet wurde (also der Lack
aufgeschmolzen wurde), die letzte Platine mit d = 0,2mm (da ist keine
Schmelzspur mehr im Lack zu sehen).
Fazit: Irgendwie scheint sich der thermisch misshandelte Fotolack zu
seinem Nachteil zu verändern und die Qualität der Ränder leidet.
Florian W. schrieb:> - GUI ranbauen.> Hab zwar so was in Python noch nie gemacht, aber irgendwie geht das> schon.
Ich habe mir das gerade am Wochenende angesehen, wie ich meine Scripts
etwas komfortabler bekäme und fand als eine der interessantere der
Optionen (weil scheinbar sehr einfach):
http://www.wspiegel.de/tkinter/tkinter01.htm> Wir sollten zusammenarbeiten!
Gerne. Ich muss jetzt aber erstmal das rastern in den Griff kriegen, da
bin ich ganz nah dran das perfekt zu haben.
> Ich sehe die 4mil-Bahn ausschließlich als Qualitätsparameter, aber nicht> als etwas, das ich ernsthaft vorhabe zu ätzen.
Dito. Ich will auch nur wissen wo die Grenze ist und die dort haben wo
es mir sagt, dass alles andere immer einwandfrei klappen wird.
Florian W. schrieb:> Mein Fehler war, mir die offizielle Spezifikation dieses Formats> anzuschauen - brrrrr - das sollte man nicht machen.> Nach dem ich jetzt meinen ersten Schrecken überwunden habe, werde ich> mich mal der klassischen Dateianalyse zuwenden :-)
Die Abneigung gegen Gerber hat mich die ganze Zeit gewundert. Eigentlich
gibts da nur ganz wenige Sachen: Fahre mit geschlossener Blende an eine
Koordinate, fahre mit offener Blende an eine Koordinate und mach an der
aktuellen Position kurz das Licht an.
Zusätzlich kann man noch Form und Größe des Lichtpunktes aus einer
Tabelle wählen. Die original Gerber-Plotter hatten auch nur sehr wenige
Plätze auf der Blendenscheibe. Gut abgehangene Layoutprogramme können
Gerberfiles auch für sehr einfache Blendentabellen erzeugen, auf Wunsch
auch mit optimiertem Fahrweg.
Ein Photoplotter war auch nicht viel anders als eine CNC. Statt
verschiedener Werkzeuge hatte er eine Lampe mit verschiedenen Blenden.
Heute läßt man sich eine "Pseudo-Blendentabelle" passend zum Layout
erzeugen, und den Fahrweg interessiert ein Rasterplotter nicht. Das muß
aber nicht so sein, viele Gerbergeneratoren können es auch anders.
MfG Klaus
Conny G. schrieb:> Was ich auch noch nicht weiß ist die Step-Auflösung meines Ultimaker. Da> muss ich bei Zeiten mal die Parameter der Firmware genauer untersuchen,> daraus müsste sich das rekonstruieren lassen, wie er von> G-Gode-Koordinaten in Motorsteps umrechnet.> Denn wenn ich auf 500 oder 1000 dpi setze und das nicht in den Steps> liegt, die der Drucker nativ hat, dann gibt es Abweichungen. Und wenn> ich 1000dpi versuche und er kann sie gar nicht, dann ebenfalls.> Da brauche ich nicht nicht mit der Größe des Fokuspunkts anfangen...
In der Konfiguration rechnet er mit 80 Steps/mm. Das wären 2032dpi.
Plausibilitätsprüfung:
Der Motor hat 1,8 Grad pro Step. Wird mit 16 Microsteps angesteuert.
Ergibt 0,1125 Grad pro Step. Bei 0.0125mm/Step ergibt das 40mm für 360
Grad oder 12.7mm Durchmesser für die Übersetzung von Motor nach Gurt.
Das kommt hin, das passt.
Das sieht ja extrem vielversprechend aus - und wirft einige Fragen auf.
-Woher bekommt ihr Leiterplatten mit Foto-Negativ-Lack?
-Wie schützt ihr eure Augen?
Viele Grüße
W.T.
Conny G. schrieb:> Walter T. schrieb:>> -Woher bekommt ihr Leiterplatten mit Foto-Negativ-Lack?>> Es ist Bungard Foto-Positiv-Material
OK, ich habe mir erst im Nachhinein die Bilder noch einmal ganz in Ruhe
angeschaut.... dann hätte sich die Frage nicht gestellt.
Conny G. schrieb:>> -Wie schützt ihr eure Augen?>> http://www.insaneware.de/epages/61714203.sf/de_DE/?ObjectPath=/Shops/61714203/Products/lsbep1
Oha. Wenn es in der Preiskategorie anfängt zu taugen, wird das Belichten
per Laser plötlich sehr interessant.
Gerber ist echt nicht schwer, zumindest die Grundfunktionen. Das einzige
kompliziertere sind die Makros.
Ich schreibe aktuell an einem Gerber zu Bitmap-converter in c#.
Mein aktueller Stand ist:
Alle Funktionen bis auf Makros (AM-Befehl) funktionieren.
Was noch fehlt/feinschliff benötigt:
- nur die Kontur der Platine erzeugen, aktuell habe ich nur eine feste
größe
- negative Koordinaten, aktuell nur positiv in x und y
- hübsche GUI
- Speicherdialog beim Exportieren
- Makro-Befehl, haupsächlich das dekodieren und berechnen mit variablen.
Sollte nicht all zu schwer sein, eigentlich nur im string etwas ersetzen
und ausrechnen.
Leider fehlt aktuell etwas die Zeit weiter zu machen. Aber falls ihr
Lust habt, mit zu machen, könnt ihr euch gerne per PM bei mir melden.
Im Anhang sind erzeugte Bitmaps, mit 1000DPI aus einer Gerber File
E: Beim rechten Bild fehlen die Achteckigen Pads, die werden als Makro
realisiert. Sonst siehts mMn. recht gut aus.
Die voll versenkten SMD-Pads sind im Gerber-file auch so, hab einfach
das erste genommen, das ich gefunden hab.
Parameter etwas weiter getuned, die Qualität wird immer besser:
1000dpi
7500mm/min
nur links-nach-rechts
70mA Strom
ohne Zugabe von Contour-Pixeln
Leider hat es eine der kurzen Seiten der 4mil Bahn doch wieder gekillt -
die 4mil sind (noch) nicht zuverlässig drin.
Sieht aber schon weniger kritisch aus wie vor ein paar Tagen, noch ein
bisschen weiter optimieren, dann müsste das klappen :-)
Der Versuch das ganze "two way", also links-nach-rechts und
rechts-nach-links, zu belichten hat leider noch nicht funktioniert - da
gibt es anscheinend Verschiebungen der Belichtung auf dem Rückweg von
ca. 0,05mm.
Man wächst mit der Herausforderung :-)
Der Gerber-Import steht, bisher ausschließlich mit KiCAD 4.0.2 getestet.
Importiert werden runde, ovale und rechteckige Pads und Linien
verschiedener Breite.
Laut Robin E. soll's noch Makros geben – das geht nicht (ist mir auch
noch nicht untergekommen).
@Klaus @Robin E.:
Jetzt weiß ich endlich, was ich gebaut habe: Einen Photoplotter!
Ihr habt vollkommen Recht, ist wirklich kein Hexenwerk. Ich habe mir
versehentlich die Spezifikation der Erweiterung aus den 90ern
durchgelesen...
Vielen Dank für's Angebot Robin. Ich bin Gelegenheitsprogrammierer und
froh, wenn ich's mit Python irgendwie hinbekomme, ein Umstieg auf C#
würde die Sache um Monate zurückwerfen.
http://gerbv.geda-project.org/: heißes Programm, zu dem Zeitpunkt hatte
ich schon halbwegs den Durchblick.
Das Hauptproblem beim Import war das Verschmelzen der Polygonen, da
meine Absicht ist, vektororientiert zu arbeiten. Nachdem ich einsehen
musste, dass es mit selbst zusammengeklopften Funktionen nicht
weitergeht, war der Ausweg die Library shapely, auf die ich im Code von
FlatCAM (thx hp-freund) gestoßen bin.
Mein erster Versuch, alle Geometrien als Flächen anzulegen, und die
übereinander liegenden dann zu verschmelzen scheiterte an Flächen mit
Loch (z.B. die 0). Das Loch war dann nämlich weg.
Die Lösung war nach längerem Probieren das Verschmelzen der Umrisse.
Die graphische Ausgabe habe ich zu Testzwecken auf pyplot umgestellt,
was sich zwar katastrophal auf die Performance auswirkt aber dafür eine
perfekte Kontrolle dessen, was das Programm so macht, ermöglicht.
Dieses Programm ist ein PROOF OF CONCEPT im alpha-Stadium und nur für
den Import von gerber-Daten aus KiCAD 4.0.2 und nur für den Export nach
LinuxCNC gedacht. Alles anderen möglichen Datenquellen und -ziele werden
voraussichtlich ohne Anpassung des Programms nicht funktionieren.
Zwingend erforderlich sind bei dieser Version dir Libraries
matplotlib.pyplot und shapely. Unter Ubuntu gar kein Problem, unter
Windows war für shapely die Lösung ein vor kompiliertes Binärfile, das
es hier gibt:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely
Das Ein- und Ausschalten des Lasers erfolgt jetzt über M62 P-0 / M63
P-0.
@Conny:
Das ist jetzt perfekt. Wie lange brauchst du für das Testlayout?
Sollte jemand ein Layout mit ein paar verschiedenen Footprints,
Leiterbahnen und ein bisschen Text in Eagle haben, würde ich mich über
einen Gerber-Export zu Testzwecken freuen.
Aloha, Flo
Florian W. schrieb:> Man wächst mit der Herausforderung :-)
Wow, da hast Dir jetzt aber massiv Arbeit gemacht, Respekt!!
> @Conny:> Das ist jetzt perfekt. Wie lange brauchst du für das Testlayout?
Bei 7.500mm/min braucht es bei "einseitiger" Belichtung (nur
left-to-right, hin 7.500, zurück 10.000) etwas weniger als 1h, bei
zweiseitiger (Hin- und Rückweg) etwas mehr als 30min.
Ich habe etwas Zeit gefunden um am gbr2laser-Skript weiter zu basteln.
In der Version 0.12 wird das Füllmuster nur noch zu 25% in einen Umriss
hineingezogen und nicht mehr bis an die Mittellinie wie in der
vorhergehenden Version. Das ist für eine vollständige Belichtung einer
Fläche immer noch vollkommen ausreichend und schafft Spielraum, sollte
beim schnellen Ausfüllen der Laser doch mal etwas über das Ziel hinaus
schießen.
Das Skript kann jetzt das Gerber-Drillfile von KiCad einlesen und in
GCode umwandeln.
Obacht: Im Exportdialog von KiCad die Einheiten von Zoll auf mm
umstellen!
Es werden alle Bohrungen unabhängig vom Durchmesser ausgegeben, hinter
jedem Loch steht als Kommentar im GCode-File die Toolnummer dabei. Mit
einem Blick in das originale Drillfile läßt sich dann feststellen,
welche Toolnummer welchem Durchmesser zugeordnet ist. Durch löschen der
nicht gewünschten Bohrungen im Editor kann man dann manuell für jeden
Durchmesserbereich ein File erstellen.
Diese Version wurde bis jetzt in zwei verschiedenen Projekten
erfolgreich angewendet. Insgesamt wurden bis jetzt 8 einseitige Platinen
gemacht – ohne irgend ein Problem.
Was noch fehlt:
- Polygone Masseflächen gehen nicht.
- Gefräste (nicht runde) Löcher in Pads (z.B. Hohlsteckerbuchse / barrel
jack) gehen auch nicht.
- Doppelseitige Platinen gehen nicht.
Da es so schön funktioniert hat habe ich immer schneller belichtet und
bin bei 800mm/min an die Grenze dessen gestoßen, was mit einer
50mW-Laserdiode möglich ist. Ab 1000mm/min blieb bei der aktuellen
Charge Platinen (Bungard) zwischen zwei Linien des Füllmusters beim
Entwickeln ein feiner Grat übrig (nur unter dem Mikroskop zu erkennen).
Bei 800mm/min dauert die Belichtung einer 160mm x 100mm großen Platine
knapp 3 Stunden. Mein CNC-Gestell fährt mit bis zu 1600mm/min, also
müsste man mit einer 200mW-Laserdiode eine solche Platine in unter 2
Stunden belichten können.
Fazit:
Für einseitige Platinen mit leichten Einschränkungen brauchbar.
Bohren ist ein Traum, da Belichten und Bohren auf der gleichen Maschine
stattfindet. Man muss nur einen einzigen Punkt in Übereinstimmung
bringen.
Aloha, Flo
Florian W. schrieb:> Da es so schön funktioniert hat habe ich immer schneller belichtet und> bin bei 800mm/min an die Grenze dessen gestoßen, was mit einer> 50mW-Laserdiode möglich ist.
Das verstehe ich nicht, stimmen die Einheiten? Ich belichte momentan
mit ca. 300 mm/s und bekomme mit der 100-mW-Diode Probleme wegen
Überbelichtung. Ok, ich verwende Tentingresist, der ist etwa um den
Faktor 4 bis 6 empfindlicher. Aber so ein Unterschied?
Ja, so ist es, da war der Wurm drin.
So recht konnte ich mir das auch nicht erklären, da es auch meinen
Erkenntnissen von ganz oben widerspricht:
> Mit 1000mm/min und einer Punktbreite von> 0,7mm wird der Fotolack 100%ig belichtet, evtl. geht sogar noch mehr,> habe nicht weiter getestet.
Was los ist, habe ich erst kapiert, nachdem ich verstanden habe, warum
mir der BS170 durchgebrannt ist und ich mir am neuen den Finger
verbrannt habe:
Als Quick&Dirty-Lösung hatte ich parallel zum Gate des BS170 eine
Low-Power-LED über 2kOhm geschaltet, um zu sehen, wann der Laser an ist.
Der P-Port meines alten PCs hatte mit diesen 2mA kein Problem. Dann habe
ich meinen Werkstatt-PC auf den neuesten Stand gebracht. Mit dem neuen
Board bricht die Ausgangsspannung des P-Ports auf ca. 3V ein, wenn man
ihn mit 2mA belastet, was dazu führt, dass der BS170 nicht mehr ganz
durchschaltet und die Laserdiode nur noch mit einem Teil ihrer Leistung
läuft. Im Nachhinein wundere ich mich, dass die Diode überhaupt noch
gelasert hat.
Ohne die Low-Power-LED parallel zum Gate vom BS170 schaltet dieser
wieder ganz durch und die Erkenntnisse von ganz oben sollten wieder
stimmen. Jetzt muss ich mir doch mal einen ordentlichen Treiber bauen,
mit Optokoppler :-)
Allgemein glaube ich, dass der Vergleich der
Belichtungsgeschwindigkeiten zweier verschiedener Methoden in mm/min
oder mm/sec keinen Sinn macht, da erst der Vergleich der belichteten
Fläche pro Zeiteinheit zu einer sinnvollen Aussage führt. Bei 800mm/s
sind es bei einer Belichtungsbreite von 0,2mm theoretisch 160mm²/min. In
der Praxis bleiben ca. 100mm²/min übrig, da die Flächen überlappend
belichtet und die Umrisse abgefahren werden.
Das größte Optimierungspotential sehe ich durch die polygone
Massefläche, da dadurch die zu belichtende Fläche erheblich abnimmt und
man durch eine Optimierung der Fahrwege die Belichtungszeit für die
ganze Platine erheblich reduzieren kann.
Eine andere Möglichkeit wäre, beim Ausfüllen die Belichtungsbreite zu
erhöhen, indem man mit dem Laser näher an die Platine fährt.
Es gibt noch viel zu tun :-)
Hi,
Ich hab auch eine CNC Fräse in Verwendung, komm aber mit dem normalen
Isolationsfräsen in Kombination mit einer Höhenkorrektur ganz gut
zurecht.
Mich würde aber interessieren ob man mit der Methode auch das Belichten
von Lötstopplack (SD 2368 UV Reihe von peters) hinbekommt. Hat das schon
mal jemand versucht?
lG,
Max
Servus Conny,
das Skript ist noch etwas entlaust worden und befindet sich seit vielen
Monaten im produktiven Einsatz. Bis jetzt habe ich ca. 30 Platinen damit
gemacht - eine schöner als die andere :-)
Die aktuelle Version des Skripts muss ich jetzt unbedingt reinstellen,
bin blos gerade im Urlaub. So im Laufe der nächsten zwei Wochen gibt's
ein Update.
Grüße, Florian
Hier ist mein aktuelles Testlayout, erstellt in KiCad.
Im ZIP-File ist auch ein Export als SVG (Vektor) enthalten. Damit kann
sich dann jeder über Gimp o.ä. ein Bitmap mit gewünschter Auflösung
erstellen.
Hier ist die aktuelle Version meines Skripts, mit der ich in den letzten
Monaten einige Platinen gemacht habe.
Was hat sich getan:
- Einige Bugs wurden eliminiert
- Das Skript gibt jetzt automatisch von jedem GBR- und DRL-File einen
nicht gespiegelten, einen an der x-Achse gespiegelten und einen an der
y-Achse gespiegelten G-Code aus.
Doppelseitige Platinen habe ich noch nicht getestet, sollten aber
funktionieren. Unbedingt aufpassen, dass die Ränder von Ober- und
Unterseite übereinstimmen oder die Option „Set xMin and yMin to zero“
ausschalten.
Weiter oben habe ich geschrieben:
> Fokussieren:> Zur Grobeinstellung lege ich ein einseitig beschichtetes Stück> FR4 mit der Kupferseite nach unten unter den Laser. Je näher> man am Fokus ist, desto dunkler wird der Lichtpunkt, bis er im> Fokus fast im Laminat der Platine verschwindet.
Das funktioniert nur, wenn man ein einseitig mit Kupfer beschichtetes
Stück Bungard Platinenmaterial nimmt, das beidseitig mit Fotolack
überzogen ist!!! Das ist mir erst neulich aufgefallen, als ich‘s mit
Platinenmaterial probiert habe, von dem ich den Fotolack mit Aceton
abgewischt hatte. Der Fotolack darf ruhig belichtet sein, er muss nur da
sein. Dieses Verfahren ist ausreichend genau. Die Feineinstellung, wie
oben beschrieben, ist eigentlich nicht erforderlich. Mann sollte nur
einmal kalibrieren, wie tief der Punkt der Fluoreszenzlöschung im
Laminat liegt (bei mir 0,3mm unter der Oberfläche).
FlorenzW
Florian W. schrieb:>> Da es so schön funktioniert hat habe ich immer schneller belichtet...
dann hier:
> Bei 800mm/min dauert die Belichtung einer 160mm x 100mm großen Platine> knapp 3 Stunden.
Steht dort 3(DREI) Stunden?
Ich kanns mir nicht vorstellen, das das drei Stunden dauern soll.
Das wäre mir echt zu lang!
Hätte ich auch nicht gedacht, wäre für mich ein "Abbruchkriterium"
Gruß Axel
Geil siehts ja schon aus, muss ich zugeben. Gefällt mir sehr gut - aber
3Stunden fürs Belichten - oha
Naja, wenn der Laser nur die Iso-Kanäle belichten würde, dann ginge es
auch schneller - aber der räumt ja auch die Freiflächen aus, und das
dauert...
Sieht mir aber trotzdem besser aus als Isolationsfräsen und geht
schneller als das Bestellen einer Belichtungsfolie.
Wer mit dem heimischen Drucker erstklassige Belichtungsvorlage
hinbekommt, fährt natürlich mit dem Folien-Belichtungs-Verfahren besser.
Axel R. schrieb:> Steht dort 3(DREI) Stunden?
Dieser Wert hat nur noch historische Bedeutung, da er noch mit einer
Version ermittelt wurde, die keine polygonen Flächen konnte (siehe Bild
der Platine). Inzwischen kann das Skript auch dieses Gerber-Feature.
Über den Daumen gepeilt kann man sagen, dass man pro cm² eine Minute
rechnen kann. Es werden aber nur zu belichtende Flächen abgefahren. Bei
einem ordentlichen Layout bleiben aber ca. 90% des Kupfers stehen,
bedeutet: Von 160cm² einer Euro-Platine werden 16cm² belichtet -> sind
16 Minuten, dann kommt noch der Rand dazu, dann sind's im schlimmsten
Fall 25 Minuten.
Und man muss ja nicht daneben sitzen und zuschauen.
(wobei ich das bei meinen ersten Platinen durchaus gemacht habe :-))
Ich habe das Script heute versucht zu testen.
Für Python 3 gibt es ein bisschen was zu tun.
Und ich komme mit Gerber aus Eagle leider gerade nicht recht weiter,
folgende Fehlermeldung:
Das Skript ist für Python 2 geschrieben und bis jetzt ausschließlich mit
KiCad getestet. Am besten erst mal schauen, ob's mit der Testplatine
durchläuft (alle abgefragten Punkte mit Return bestätigen).
Installationshinweise zu den verwendeten Bibliotheken siehe oben.
Und am wichtigsten: Nicht aufgeben!
Das Update des Script auf Python 3 war etwas Fleissarbeit, aber
unproblematisch.
Ja, mit der Testplatine läuft es durch.
Kannst Du sehen, was los ist, wenn ich Dir das Gerber anhänge?
Mmh, war nicht erfolgreich.
Ich würde jetzt mal den Ansatz nehmen die minimale Gerber-Datei zu
erzeugen, die möglich ist.
D.h. in Eagle nur 1 Leiterbahn und einen Umriss und fertig.
Könntest Du mir ebenso ein minimales Gerberfile aus Kicad erzeugen,
damit ich eine Referenz habe?
Oder anders gefragt: was braucht das Script als Minimum um zu
funktionieren?
Über der Liste der Werkzeuge fehlt die Zeile:
G04 APERTURE LIST*
In deiner ursprünglichen Test.gbr ist diese Zeile vorhanden, die
Werkzeuge wurden aus dieser Datei auch einwandfrei importiert.
Bitte poste mal die ursprüngliche Test.gbr exportiert in mm statt in
Zoll. Ich glaube, da fehlt es nicht weit.
Florian W. schrieb:> Über der Liste der Werkzeuge fehlt die Zeile:> G04 APERTURE LIST*> In deiner ursprünglichen Test.gbr ist diese Zeile vorhanden, die> Werkzeuge wurden aus dieser Datei auch einwandfrei importiert.
Ich hatte diese Zeilen manuell eingefügt.
Die Test.gbr anbei!
Florian W. schrieb:> Abmessungen der Platine:> xMin: 0 mm> yMin: 0 mm> xMax: 10.63448 mm> yMAx: 7.82016 mm> Area: 83 mm2>> Kann das sein oder ist das immer noch Zoll?
Da stimmt was nicht. Die Platine müsste ca. 60x80mm sein.
Ich bekomme das Gerber File daraus auch bei Online Viewern nicht
angezeigt.
Deine Testplatine aber schon....
Ein Problem habe ich in der Werkzeugdefinition lokalisiert.
Ovale Werkzeuge werden so angegeben:
%ADD26O,2.400000X1.600000*%
In der Test.gbr sieht das so aus:
%ADD25OC8,1.67640*%
Ich weiß nicht, was mir diese Zeile sagen will.
Schau mal, ob du in Eagle auf eine ältere Gerber-Version umschalten
kannst. Ich exportiere in KiCad mit 4.6 in mm.
Mit der Zeile %ADD25OC8,1.67640*% wird ein Makro aufgerufen mit dem
Inhalt:
5,1,8,0,0,1.08239X$1,22.5*
Die 5 Steht dann für Polygon und die 8 gibt ein Achteck an.
Und weil das ganze noch nicht kompliziert genug ist, wird der
Durchmesser des Achtecks noch variabel gehalten und in diesem Fall mit
1,6764 multipliziert.
Also 1,08239*1,6764 = 1,81451...
Edit:
Kann alles hier nachgelesen werden:
https://www.ucamco.com/files/downloads/file/81/the_gerber_file_format_specification.pdf
Aber da ist Kicad deutlich angenehmer, das verwendet glaube ich keine
makros.
Und das gerbertest von eagle liefert ganz komische werte. Da stimmt was
mit den Nachkomma stellen nicht.
4. Zeile FSLAX gibt das an, 2 stellen vor dem Komma und 5 danach.
Demnach wäre der Rahmen von 0,0045 bis 0,4998 als grob 0,45mm groß.
Und die Linie unten quest geht von 0,068 bis 0,43 also ca 0,362mm.
Wenn man FSLAX manuell auf %FSLAX43Y43*% ändert, dann passt das ganze
wieder.
Da scheint wohl der gerber Export bei eagle einen Fehler zu haben. Oder
er wurde falsch bedient... kann ich heute Abend oder morgen mal
gegentesten.
Das würde ich nicht ausschliessen, dass es ein Bedienfehler ist - ich
habe mich noch nicht mit Gerber beschäftigt :-)
Gerade mal nachgeschaut. In Eagle gibt es die eagle.def, die die
CAM-Definitionen enthält und da ist die Zeile mit dem FSLAX hartcodiert
drin.
Hier die Config von GERBER_RS274X:
1
@GERBERAUTO
2
Long = "Gerber RS-274-X photoplotter, coordinate format 2.5 inch"
3
Units = MM
4
Info = "Plotfile Info:\n"\
5
"\n"\
6
" Coordinate Format : 2.5\n"\
7
" Coordinate Units : Millimeter\n"\
8
" Data Mode : Absolute\n"\
9
" Zero Suppression : None\n"\
10
" End Of Block : *\n"\
11
"\n"
12
Init = "G75*\n" \ allow positive and negative coordinates
13
"%%MOMM*%%\n" \ MOde of units is INch (MM for mm)
14
"%%OFA0B0*%%\n" \ horizonal and vertical OFfset is 0
15
"%%FSLAX25Y25*%%\n"\ Format Statement is Absolute (I for incremental) 2.5
16
"%%IPPOS*%%\n" \ Image Polarity is POSitive (NEG for negative)
17
"%%LPD*%%\n" \ Layer Polarity Dark (C for clear on negative planes)
18
"%%AMOC8*\n5,1,8,0,0,1.08239X$1,22.5*\n"\ Octagons are emulated with a circle (using 8 vertices)
19
"%%\n" ; and therefore the diameter must be enlarged with '1 / cos(pi / 8)'
Vielen Dank @Robin für die Informationen.
Macros einzupflegen schaffe ich z.Zt. nicht.
... eigentlich bräuchte man nur einen Präprozessor, der diese Macros in
polygone Flächen umwandelt, und die kann das Skript ... grübel ...
Ich habe die Hoffnung noch nicht ganz aufgegeben, dass man durch
zurückschalten auf eine ältere Gerber-Version, die Macros los wird.
Oder gibt's eine Konverter, der Macros in polygone Flächen umwandelt?
Ich glaube das ist nicht das Hauptproblem mit dem Script, höchstens ein
kleines Stolpersteinchen bei den Tools.
Ich habe ja eine andere Platine, die geht auch nicht, auf der ist gar
kein Pad.
Das makro ist nicht das Problem, das gehört zum gerber format dazu und
funktioniert auch im gerber viewer. Das Problem ist, dass die ganzen
Koordinaten um Faktor 100 zu klein sind. Die Durchmesser der Werkzeuge
stimmen allerdings. Also bekommt man nur einen undefinierbaren punkt,
anstatt einer Platine, weil eine 10x10cm layout auf 1x1cm gequetscht
wird.
Welche Eagle Version und welches skript verwendest du Conny? Und wäre es
evtl möglich eine andere Version zu testen.
Ich debugge gerade die Maße, da habe ich noch nicht verstanden, warum
das Script immer 5.x mm gibt, obwohl ich den Skalierfaktor in Eagle
verstelle.
Jedenfalls braucht das Script die "geometry", die auf D03 Commands
basiert, Eagle gibt bei meiner Supersimpel-Platine mit einer kurzen
Leiterbahn aber kein D03 aus.
Was ist D03, wofür braucht man das?
Antwort: die Pads sind D03.
Gefällt dem Script aber trotzdem noch nicht.
Plotting geometry
Traceback (most recent call last):
File "gbr2laser.py", line 1364, in <module>
plot_geometry(geometry, 'black')
File "gbr2laser.py", line 1043, in plot_geometry
while i < len(geometry):
TypeError: object of type 'LineString' has no len()
Habe es übrigens modifiziert, dass es nicht mehr die G04 für die Tools
benötigt, geht jetzt auf %AD.
Das GRB:
G75*
%MOMM*%
%OFA0B0*%
%FSLAX46Y46*%
%IPPOS*%
%LPD*%
%AMOC8*
5,1,8,0,0,1.08239X$1,22.5*
%
%ADD10C,0.406400*%
%ADD11C,1.270000*%
%ADD12R,1.006400X1.006400*%
D10*
X000000Y000000D02*
X000000Y050800D01*
X049530Y050800D01*
X049530Y000000D01*
X000000Y000000D01*
D11*
X006350Y006350D02*
X043180Y006350D01*
D12*
X006350Y006350D03*
M02*
Das cascaded_union ändert von Multipolygon nach LineString, das kommt
mir komisch vor. Gerade, wenn später das Linestring kein "len" hat, also
kein Array mehr ist.
geometry = gbr_import(filename_input, delta)
print(geometry)
geometry = cascaded_union(geometry).boundary
print(geometry)
ergibt:
MULTIPOLYGON (((-0.2032 2.488482295867422e-17, -0.2032 0.0508, ....
LINESTRING (0.04318 0.64135, 0.1054208841092719 0.6382923014368449, ...
Habe das Minimalbeispiel mit folgenden Änderungen zum Laufen gebracht:
G04 APERTURE LIST*
G04 APERTURE END LIST*
vor und hinter der Werkzeugdefinition eingefügt und
Anzahl der Stellen der Koordinaten auf 9 mit Nullen aufgefüllt.
Es ist nicht hoffnungslos :-)
Das G04 habe ich ja behoben in dem ich das Parsing geändert habe.
Macht das mit den 9 Stellen das Problem mit dem LineString object?
Ich glaube das ist etwas anderes bei mir.
> Das G04 habe ich ja behoben in dem ich das Parsing geändert habe.
Erkennt das Skript auch das Ende der Werkzeugdefinition?
> Macht das mit den 9 Stellen das Problem mit dem LineString object?
Könnte durchaus sein, da das Skript den halben Laserdurchmesser von der
Geometrie abzieht und wenn die kleiner als der Laserdurchmesser ist,
bleibt nichts mehr übrig.
> Ich glaube das ist etwas anderes bei mir.
Ich würde das Originalskript unter Python 2.7 laufen lassen. Eine große
Fehlerquelle weniger.
Also was auch immer das jetzt ist, jetzt tut sich was. :-)
Ich habe bei Eagle die ResX/ResY Faktoren vergrössert und die
Float-Formatierung angepasst.
1
ResX = 2540000
2
ResY = 2540000
3
Move = "X%4.10dY%4.6dD02*\n" ; (x, y)
4
Draw = "X%4.10dY%4.6dD01*\n" ; (x, y)
5
Flash = "X%4.10dY%4.6dD03*\n" ; (x, y)
Ah, die Zahlen sind immer noch Faktor 10 falsch. Damit dominiert die
Laserdicke das Layout :-)
florenzw schrieb:>> Das G04 habe ich ja behoben in dem ich das Parsing geändert habe.> Erkennt das Skript auch das Ende der Werkzeugdefinition?
Ja:
1
# -----------Import Tools------------
2
while (i < file_length):
3
4
last_pos = file_input.tell() # remember the position before this line
5
6
line = file_input.readline()
7
8
if not line.startswith("%AD"):
9
break;
10
11
...
12
13
file_input.seek(last_pos) # restart with last read line
Bis zu der Zeile lesen, wo nicht mehr %AD am Anfang steht und dann
abbrechen und wieder zum Anfang der Zeile gehen.
Das geht eleganter, aber ich hacke ja das Script erstmal zur
Funktionsfähigkeit.
Jetzt wirds!
Dann fasse ich jetzt mal den aktuellen Stand zusammen:
Problem 1: Export in Zoll
- in Eagle lösbar
Problem 2: Erkennung von Anfang und Ende der Werkzeugdefinition
- gelöst, wird von mir eingepflegt
Problem 3: Macros
- nur mit größerem Aufwand lösbar, für's erste entbehrlich
Problem 4: Krummer Gerber-Export aus Eagle
- in Eagle lösbar
Florian W. schrieb:> Jetzt wirds!> Dann fasse ich jetzt mal den aktuellen Stand zusammen:> Problem 1: Export in Zoll> - in Eagle lösbar> Problem 2: Erkennung von Anfang und Ende der Werkzeugdefinition> - gelöst, wird von mir eingepflegt> Problem 3: Macros> - nur mit größerem Aufwand lösbar, für's erste entbehrlich> Problem 4: Krummer Gerber-Export aus Eagle> - in Eagle lösbar
Ja, das ist richtig so. Idealerweise würde ich Dir noch das eagle.def
schicken, dann hast Du eine funktionierende Eagle-Config im Paket.
Hoste das Script doch auf einem Git Repository, das ist genial!
Ich habe jetzt noch einen X-/Y-Offset eingefügt, denn mein
Anschlagrahmen für die Platine sitzt bei X=53, Y=59.
Könnte ich auch mit einem G-Code machen einen Offset einzurichten (ich
glaube das war G92), aber explizit im G-Code sind mir die Koordinaten
lieber :-)
Und ich habe den erzeugten G-Code noch etwas geändert, denn ich steuere
den Laser über einen Parameter am G01:
G01 X100 Y100 B1
Das "B1" schaltet für diesen Move den Laser ein.
Könnte jetzt auch die Firmware modifizieren das M62/M63 zu verstehen,
aber das war jetzt der einfachere Weg.
Jetzt bin ich bereit für einen ersten realen Belichtungsversuch :-)
Die Platine wird übrigens ein Test für eine Wärmeplatte. Kürzlich
gelesen und neugierig, ob das funktioniert.
Das auf Vor- und Rückseite einer Platine müsste bei 12V einen Widerstand
von 1,4 Ohm, einen Strom von 8,9A und eine Wärmeleistung von 106 Watt
ergeben.
Ich wollte das spasshalber mal schutzlackieren und in der Aufheizphase
in meine Ätzküvette hängen zur Beschleunigung der Erwärmung - der
mitgelieferte 150W Heizstab ist etwas schwach auf der Brust, dauert über
20min. Mit der "Heizplatine" müsste es in 10min gehen.
Und das führte mich übrigens auch dazu Dein "Isolationsfräsen"-Script zu
testen, denn das ist das ideale Szenario dafür:
Ich brauche ganz schnell einen Prototyp, meine 2.000dpi, die für eine
Europlatine pixelweise 5-6h brauchen sind völlig überdimensioniert.
Freilasern der Tracks ist hier die ideale Methode, die Schwingungen des
Druckkopfs beim Richtungswechsel sind hier egal und auch, ob der
Laserpunkt hier 0,2mm breit ist, Hauptsache genug Leistung damit die
Tracks frei werden.
Ach ja: Und das Script müsste für das Laserschneiden von SMD-Stencils
aus 150µ Folie perfekt sein :-)
Florian W. schrieb:> Selbst mit einer billigen Linse lässt sich der Laser auf ca. 0,05mm> fokussieren – das ist zu fein. Man muss im leicht de-fokussierten> Bereich arbeiten um einen Durchmesser von 0,1 – 0,2mm zu bekommen, erst> damit kann man vernünftig arbeiten.
Jetzt weiss ich auch, was Du damit meinst. Beim Pixel belichten möchte
man den Fokus so klein wie möglich haben für mehr Auflösung.
Beim Isolierlasern bekomme ich keinen vernünftigen Ätzvorgang, wenn die
Linien zu schmal sind... :-)
Musste meine "Heizplatine" gerade nochmal mit defokussiertem Laser
nachbelichten und hoffe, dass es dann passt.
mec schrieb im Beitrag #5005478:
> Und dann dieses Bild einer Fräse mit UV-Laser ohne irgendwo einen Schutz> vor der Strahlung zu sehen.
Wow, da passt ja einer auf. 405nm 50mW ist schon mächtig viel UV. Wobei,
Wikipedia sagt Wellenlängen kleiner als 380nm wäre UV, 405nm ist aber
größer. Aber auch Wikipedia kann ja irren. Und Streureflexion von 50mW
können natürlich viel stärker wirken als Sonnenlicht an einem schönen
Tag. Und das Bild einer nackten Fräse, hier könnten ja auch Kinder
schauen
Florian W. schrieb:> Super! Ich freue mich sehr darüber, dass du das Skript zum Laufen> gebracht hast :-)
Ja, genial. Du musst das auf Github o.ä. veröffentlichen :-)
Baue mir gerade einen 2. Laserkopf, jetzt erstmal mit 100mW ohne Blende
und später mit 350mW (Diode gerade im Anflug oder auf dem Schiff, wo
auch immer), um Folien damit zu schneiden und zu testen, ob man die als
SMD Stencil verwenden kann.
Dein Script müsste perfekt fürs Schneiden der Stencils sein :-)
Hab auch schon einen Stencil aus Messingfolie gemacht (Tonertransfer und
ätzen wie eine Platine) und hat gut geklappt, aber es ist etwas mühsam.
Volles Lob schrieb:> mec schrieb:>> Und dann dieses Bild einer Fräse mit UV-Laser ohne irgendwo einen Schutz>> vor der Strahlung zu sehen.>> Wow, da passt ja einer auf. 405nm 50mW ist schon mächtig viel UV. Wobei,> Wikipedia sagt Wellenlängen kleiner als 380nm wäre UV, 405nm ist aber> größer. Aber auch Wikipedia kann ja irren. Und Streureflexion von 50mW> können natürlich viel stärker wirken als Sonnenlicht an einem schönen> Tag. Und das Bild einer nackten Fräse, hier könnten ja auch Kinder> schauen
Kannst du die Fragen beantworten, welche ich gestellt habe? Wenn nicht,
hast du grundsätzlich ein Problem, glauben ist nicht wissen. Und ja ich
hab schon Leute kennengelernt, die sich mit Laser die Augen ruinierten,
und ich hab mir mal einen "lokalen Sonnenbrand" geholt, mit deutlich
hautfreundlicherer Wellenlänge.
Dieser Laser ist wahrscheinlich Klasse 3B, und im Arbeitsleben heist
das:
"Nach § 5 der im Juli 2010 erlassenen und im November 2016 novellierten
deutschen Verordnung zum Schutz der Beschäftigten vor Gefährdungen durch
künstliche optische Strahlung (Arbeitsschutzverordnung zu künstlicher
optischer Strahlung – OStrV) haben Arbeitgeber die Pflicht, falls sie
nicht selbst über die erforderlichen Fachkenntnisse verfügen, vor der
Aufnahme des Betriebs von Lasern der Klassen 3R, 3B und 4 einen
Laserschutzbeauftragten mit Fachkenntnissen schriftlich zu bestellen."
Privat greift das zwar nicht, aber es sollte einen doch zu denken geben,
das man wissen sollte, was man macht, diese Verordnung gibt es nicht
umsonst.
Und bei solchen Posts und Bildern gehe ich nicht davon aus, dass das
Wissen vorhanden ist.
Aber solange du das alleine in einem fensterlosen Raum machst, ist es
mir egal, dann lernt man wenigstens aus Fehlern, ohne andere zu
schädigen.
mec schrieb:> die sich mit Laser die Augen ruinierten
Was war los?
Conny G. schrieb:> auch schon einen Stencil aus Messingfolie gemacht
Wo hast du die Folie her?
Da will man Leute auf reale gefahren Aufmerksam machen, und dann wird es
gelöscht, Toll danke.
Macht halt die gleichen Fehler nochmal, wie schon hunderte vor euch,
welche aus Leichtsinn jetzt irreparable schäden haben.
@Conny:
Auf die Sache mit den Stencils bin ich schon sehr gespannt, da ich bis
jetzt die SMDs noch mit der Hand löte und auf Grund zunehmender
Komplexität meiner Konstruktionen das dringende Bedürfnis habe auf den
Ofen umzusteigen.
Bei der Heizplatte habe ich nur Umrisse gesehen. Funktioniert das
Ausfüllen der Flächen bei dir?
Florian W. schrieb:> @Conny:> Bei der Heizplatte habe ich nur Umrisse gesehen. Funktioniert das> Ausfüllen der Flächen bei dir?
Nicht ausprobiert, bisher.
Conny G. schrieb:> Hab auch schon einen Stencil aus Messingfolie gemacht> (Tonertransfer und ätzen wie eine Platine) und hat gut geklappt...
Ich meinte diese Messingfolie :)
Getestet.
Leider lassen sich bei ca. 70mW (so ist der Laser gerade eingestellt)
noch keine Folien von 0,2mm schneiden.
Da wird nur fleissig herumgeschmolzen, aber egal wie langsam man fährt -
es geht nicht durch.
Mal demnächst nochmal mit mehr Leistung (100mW) und einer Diode von
300mW versuchen, die irgendwann mal per Post kommen sollte.
Das sieht sehr gut aus. Ein bisschen mehr Leistung, dann sollte das
funktionieren.
Du hast den, ich nenne ihn mal, Stencil-Layer als Gerber exportiert und
dann durch das Skript gejagt?
Conny G. schrieb:> Da wird nur fleissig herumgeschmolzen, aber egal wie langsam man fährt -> es geht nicht durch.
Hat die Folie hinten aufgelegen?
MfG Klaus
Florian W. schrieb:> Das sieht sehr gut aus. Ein bisschen mehr Leistung, dann sollte das> funktionieren.> Du hast den, ich nenne ihn mal, Stencil-Layer als Gerber exportiert und> dann durch das Skript gejagt?
Genau, "tCream" und "bCream" (top/bottom) heissen die in Eagle.
Ich habe dafür auch die Geschwindigkeiten von Move, Perimeter und
Filling differenziert, da man hierfür beim Lasern 10-100mm/min fahren
möchte, aber die reinen Moves lieber 2500-10000 sein sollten - sonst
dauert das ewig zum nächsten Pad zu fahren :-)
Klaus schrieb:> Hat die Folie hinten aufgelegen?
Nein, wg. der Steifigkeit des Teils, das ich zum Testen verwendete ist
es tlw. 0,5-1mm in der Luft.
Habe alternativ auch so eine silberne Antistatiktasche versucht, die
wird auch nur aufgeschmolzen und nicht "durchgebrannt".
Weitere Versuche gemacht. Laserstrom auf 120mA erhöht, das müsste dem
Laser gute 100mW Leistung geben. Und gaaanz langsam gefahren, wenige
mm/min. Ich glaube sogar, dass der Drucker schon nicht mehr langsamer
kann, denn jede weitere Reduzierung erschien mir eigentlich gleich
"schnell".
Trotzdem liess sich die PP Folie von 0,2mm nicht "schneiden". Die wird
nur durchgeschmolzen, das ist weder zuverlässig noch akkurat.
Das habe ich dann aufgegeben, da müsste man ein Folienmaterial suchen,
das ein bisschen andere Eigenschaften hat und sich vielleicht mehr
"schneiden" als "schmelzen" lässt.
Ich habe aber einen Versuch mit trivialem Papier gemacht.
Mangels schwarzem Papier einen Notizzettel von 0,1mm Dicke mit Edding
schwarz gemacht.
Das lässt sich wunderbar schneiden, absolut scharfe Kanten. Muss man
auch langsam fahren, aber geht gut. Und riecht nach verkohltem Papier
nicht nach geschmolzenem Kunststoff, auch angenehmer ;-)
Das dann mit Plastiklack angesprüht um die Oberfläche glatt und weniger
saugfähig zu machen.
Und dann mal einen Stencil-Test mit alter, abgelaufener Lötpaste
gemacht. Funktioniert!
Das Papier nur 1x mit Lack angesprüht saugt allerdings noch zuviel und
nimmt die Lötpaste auf. Hatte eine 1cm Wurst drauf, die ist zu 50% im
Papier verschwunden.
Wäre das eine ganze Platine bräuchte man mehrere Gramm Paste...
Ich würde deshalb mal weitere Versuche mit lackiertem oder
kunststoffbeschichtetem Papier machen.
Aber Einweg-Papier-Stencil - das ist doch schon mal was!
Glaube sogar mit lackiertem Papier ist der auch ein paar Mal verwendbar.
Das Papier muss allerdings schwarz sein, sonst schneidet es sich sehr
viel mühsamer. Ein erster Versuch mit weißem Papier war nicht
überzeugend. Man braucht vermutlich 2 Runden, in der ersten wurde das
weiße Papier erstmal nur braun.
Grad noch mit einem 0,15mm vermutlich ca 150-200g Hochglanzpapier
versucht (ein Flyer). Auch mit Edding geschwärzt.
Das hat nicht funktioniert. Es hat nur den Edding weggebrannt, darunter
kam das weiße Papier zum Vorschein, das wurde nicht weiter "beschädigt".
Auch mit 2 Runden Lasern nicht. Hochglanzpapier ist deutlich dichter als
Normalpapier, das schneidet sich schwieriger.
Auf jeden Fall muss das Papier also schwarz durchgefärbt sein.
Hallo Conny,
deine Laserleistung von 100-150 mW reicht nur zum an schmelzen , um
saubere Kanten zu bekommen , bräuchtest Du mindestens 2000 mW mit kurzen
Impulsen um den Kunststoff zu verdampfen. Dann bildet sich auch kein
Grat.
Schau dir mal den Beitrag von " VDX "
http://laserfreak.net/forum/viewtopic.php?f=25&t=54351&start=140
lG Frank
roehre schrieb:> Hallo Conny,> deine Laserleistung von 100-150 mW reicht nur zum an schmelzen , um> saubere Kanten zu bekommen , bräuchtest Du mindestens 2000 mW mit kurzen> Impulsen um den Kunststoff zu verdampfen. Dann bildet sich auch kein> Grat.> Schau dir mal den Beitrag von " VDX "> http://laserfreak.net/forum/viewtopic.php?f=25&t=54351&start=140
Da ging's aber um Schneiden von 3-4mm Balsa/Pappelholz.
Manche schneiden 75µ Vinylfolie mit 200-300mW (maximal):
https://hardwarebreakout.com/2013/03/diy-laser-cutter-for-pcb-stencils/
Ich finde Papier gerade ganz spannend. Wenn man Glanzpapier von
0,7-0,1mm bei 100mW zum Schneiden bringen könnte, ist das eine der
einfachsten Methoden überhaupt.
roehre schrieb:> Ach so ,> ich mache meinen G-Code in Eagle mit FastGcode.ulp>> https://www.mikrocontroller.net/attachment/233520/FastGcode.jpg> Frank
Auch spannend, muss ich mir mal ansehen. mit dem PCB-GCode war ich nicht
so happy als ich mir das mal angesehen hatte.
Der Gag von Florian's Script ist, dass es Isolieren und Rastern
kombiniert, es kann per Rastern auch die Flächen abtragen. Das habe ich
so noch bei keinem Script gesehen.
ich habe auch schon Stencils aus Mylar Folie gelasert, 125 µm dick und
milchig weiss. Auf einer Maschine mit 30 W CO2 Laser, eingestellt auf 12
% Laserleistung und 20-30 mm/s Speed (Werte aus dem Kopf). Bei mehr
Leistung gibts ein Feuerwerk in der Maschine. Ob die Leistungsangabe
linear ist weiss ich nicht, aber ein paar 100 mW sind definitiv zu wenig
für so eine Folie.
Bei der Folie bleiben die Stege zwischen Pins bei TQFP noch stehen,
verbiegen sich aber beim Rakeln. Papier wird da noch eingeschränkter
sein.
Conny G. schrieb:> Auch spannend, muss ich mir mal ansehen. mit dem PCB-GCode war ich nicht> so happy als ich mir das mal angesehen hatte.>> Der Gag von Florian's Script ist, dass es Isolieren und Rastern> kombiniert, es kann per Rastern auch die Flächen abtragen. Das habe ich> so noch bei keinem Script gesehen.
Richtig interessant wird es ja, wenn man noch einen variablen Fokus und
variable Leistung einstellen kann. Mit einem ganz feinen Laser die
Kontur belichten, dann mehr Leistung und größerer Punkt für die Flächen.
Dürfte eigentlich nicht so schwer sein, könnte man über Z Achse und
Spindelgeschwindigkeit machen.
Robin E. schrieb:
> Richtig interessant wird es ja, wenn man noch einen variablen Fokus und> variable Leistung einstellen kann. Mit einem ganz feinen Laser die> Kontur belichten, dann mehr Leistung und größerer Punkt für die Flächen.>> Dürfte eigentlich nicht so schwer sein, könnte man über Z Achse und> Spindelgeschwindigkeit machen.
Das ist mir auch schon durch den Kopf gegangen. Absolut möglich. Ich
vermute, dass sich mit einer solchen Optimierung, die Belichtungszeit
nochmal halbieren ließe.
Habe es mit etwas Optimierung geschafft auch reguläres weißes Papier zu
schneiden. Das müsste man halt noch mit Lack/Haarspray etc. bearbeiten
damit es die Lötpaste nicht aufsaugt. (Letztes Foto).
Vinylfolie geht. Stinkt allerdings fürchterlich. Und die Ränder sind
nicht so hübsch, weil es auch teilweise schmilzt. Man merkt schon, dass
die 100mW wirklich die unterste Grenze für sowas sind.
Aber man kann die Lötpaste erfolgreich aufrakeln. Ist nicht ganz sauber
und die QFN Stege reissen tlw. weg, aber per Hand mit
Spritze/Zahnstocher bekomme ich es sicher nicht besser hin - insofern
tut es wohl seinen Zweck. Umsomehr wenn man Lötstopplack / Laminat drauf
hat.
Also habe ich jetzt zwei Lösungen für Stencils.
Nein sogar drei, Messingfolie ätzen geht ja auch noch. Inzwischen steht
die Küvette immer bereit wäre also auch moderat viel Aufwand. Würde ich
auch nochmal probieren, mit Sprühfotolack. Da hat man zwar ein Problem
mit gleichmässiger Schichtdicke des Lacks, aber den Laser etwas stärker
eingestellt könnte das trotzdem klappen. Oder mit Edding anmalen und
wegbrennen... :-)
Ich habe das Script hierfür noch etwas angepasst, dass es jeden
Perimeter wenn er fertig ist nochmal rückwärts abfährt. Bei den
Fokustests beobachtet: Der Knackpunkt ist das "Durchstechen" des Lasers,
v.a. bei weißem Papier, das dauert einen Moment. Sobald es dann "braun"
ist beim Fokus geht es wie Butter. Und dann es passiert es oft, dass
eine Seite eines Pad nicht geschnitten ist bis er durchsticht. Wenn er
nochmal rückwärts fährt gibt es das fast nicht mehr.
Wäre auch noch eine Möglichkeit in der Druckerfirmware das G4 Dwell zu
implementieren, dass er ein paar Millisekunden stehen bleibt bevor er
den nächsten Move macht. Würde mir fast noch besser gefallen, ist aber
mehr Aufwand :-)
Johannes S. schrieb:> Bei der Folie bleiben die Stege zwischen Pins bei TQFP noch stehen,> verbiegen sich aber beim Rakeln. Papier wird da noch eingeschränkter> sein.
Gerade das Gegenteil bewiesen, siehe Fotos!
Ich habe dem Papier 2 Schichten Haarspray gegeben. Ich meine da wäre
Klarlack besser, Haarspray macht keine recht viel glattere Oberfläche.
Aber die "Schärfe" der Lötpasten-Pads ist sehr viel besser als Vinyl und
die Stege haben mehrfaches nicht zimperliches darüberrakeln ausgehalten,
auch als die Lötpaste schon etwas zäher/trockener war nachdem das Papier
die Flüssigkeit rauszog.
Also Papier ist aktuell mein Favorit für "Einwegstencils" :-)
Das ist ja für Einzelplatinen total easy: Gerber exportieren, Script
drüber, Papier in den "3D Drucker Cutter", Lasern, Klarlack drauf,
rakeln.
Da kann man jetzt noch nach optimalerem Papier suchen. Ich habe hier
einfach einen Notizzettel verwenden, das müsste so ein 08/15 Standard
80g-Papier sein wie es sich anfühlt.
Das Papier funktioniert sogar besser als der Messing-Stencil den ich mal
gemacht hatte, der hatte wg. Unterätzung auch recht unregelmäßige
Kanten, wie das Vinyl.
Richard B. schrieb:> Könntest du das mit der Avery 3491 Folie versuchen?
Du meinst durchschmelzen/brennen?
Ich würde meinen, dass das so ausgeht wie meine ersten Folienversuche
mit PP und den Antistatic-Taschen - das schmilzt ein bisschen herum
(wenn überhaupt) und nichts weiter passiert.
Bei den Antistatic-Taschen konnte ich nachher nichtmal viel Beschädigung
sehen.
Bei dieser schwachen Leistung von 100mW braucht es einen "Katalysator"
für die Energie des Lasers, schwarze Farbe oder ein braun werden von
Papier. Dann wird die Energie absorbiert und in Wärme gewandelt und dann
passiert was.
Bei durchsichtiger Folie geht der Strahl einfach zu 90% durch die Folie,
also muss er 10x so stark sein, also 1+ Watt.
Habe jetzt mal das Dwell implementiert bzw. genau gesagt das M62/M63,
dann kann ich den Laser für einen Moment stehen lassen:
1
G1 X0 Y0 F250
2
G4 P0 -> Sync erzwingen
3
M62 -> Laser an
4
G4 P100 -> 100ms warten
5
M63 -> Laser aus
6
G1 X10 F1 B1 -> 10mm fahren mit Laser an (B1)
Das erste G4 P0 erzwingt das Sync mit den Moves, ansonsten rauscht er
einfach über das M62 drüber.
100ms scheint noch etwas knapp zu sein für das "Durchstechen". Sieht
besser aus als vorher, aber noch nicht perfekt.
Conny G. schrieb:> 100ms scheint noch etwas knapp zu sein für das "Durchstechen". Sieht> besser aus als vorher, aber noch nicht perfekt.
Jetzt mit 2 Sekunden wird es besser, aber ist immer noch nicht
zuverlässig. Kommt immer noch vor, dass der Durchstich erst nach ein
0,5-1 Millimetern erfolgt.
D.h. die "Rückfahrt" auf dem Perimeter sollte ich drin lassen, sonst ist
es nicht sicher durchgeschnitten.
Jetzt ist mir noch etwas eingefallen, wie ich 2 Dinge verbessern kann:
Mit dem Laserdrucker eine schwarze Fläche auf das Papier drucken :-)
Einerseits erhöht das die Energie, die vom Laser verwertet wird enorm,
der "Durchstich" erfolgt sofort (das Papier muss nicht geschwärzt werden
durch den Laser, es ist bereits schwarz) und die Geschwindigkeit mit der
ich fahren kann ist mindestens doppelt so hoch (aktuell teste ich mit
50mm/min bzw. knapp 1mm/s).
Andererseits versiegelt der Toner die Oberfläche des Papiers - Toner
besteht ja aus einem hohen Anteil Kunststoff - und das Rakeln sollte
besser gehen, die Paste weniger schnell trocken werden.
Versuchsreihe läuft.
So sieht das dann aus:
https://www.youtube.com/watch?v=UcV6X_HnsTk
Eine Schicht Plastik 70 drauf (einmal deckend eingesprüht), 10min
trocknen, geht! Die Oberfläche ist dann eigentlich so glatt wie eine
Folie es wäre. Die Kombi gutes/glattes Papier (wir haben immer gutes
80g-Papier im Drucker), Toner und am Ende Lack drauf ist perfekt.
Leider hab ich mir beim Bereinigen mit der Pinzette Stege beim QFN
abgerissen, ein paar Papierchen hingen noch ein bisschen an. Liessen
sich aber sehr einfach entfernen.
Aber man kann auch kräftig herumrakeln - der Rest hält!
Also ich finde das eine charmante, supersimple Lösung für einen schnell
selbstgemachten Einwegstencil!
Das Lasern hat ca. 5min gedauert.
>Mit dem Laserdrucker eine schwarze Fläche auf das Papier drucken :-)
Aber dann könnte man doch auch wieder gleich das Layout drucken? Und man
hat wieder mehr Materialverbrauch. Geht nicht einfach schwarzes Papier?
Gruß J
fpga schrieb:> Aber dann könnte man doch auch wieder gleich das Layout drucken?
Was würde mir das helfen?
> Und man hat wieder mehr Materialverbrauch.> Geht nicht einfach schwarzes Papier?
Schwarzes Papier müsste auch gehen, wenn es die "Dichte" von
Druckerpapier hat. (Prospektpapier etc. ist zu dicht, das schneidet sich
auch wieder schwerer. )
Dann ist aber möglicherweise die Oberfläche wieder rauer, schlecht für's
Rakeln, das "Frisst" die Paste.
Ich finde das Toner aufdrucken als Versiegelung und Schwärzen
gleichzeitig eine gute Lösung. Brauche ich auch kein Spezialpapier
kaufen, alles immer im Haus.
>Was würde mir das helfen?
Sorry ich war noch bei den pcbs - bei den Stencils macht das Sinn.
Hast du nicht ein XY-Tisch/Portal? Dann könnte sowas doch cool sein, die
Auger-Pumpe ist toll.
https://www.youtube.com/watch?v=PeYb3snGrU8
Gruß J
Das gefällt mir sehr gut. Jetzt muss ich mir auch eine stärkere
Laserdiode gönnen :-)
Ist die beschriebene Methode:
80g/m²-Papier, mit dem Laserdrucker schwärzen, Plastikspray, mit dem
Laser ausschneiden so noch aktuell?
Mit welcher Leistung und Wellenlänge schneidest du, Conny?
Florian W. schrieb:> Das gefällt mir sehr gut. Jetzt muss ich mir auch eine stärkere> Laserdiode gönnen :-)>> Ist die beschriebene Methode:> 80g/m²-Papier, mit dem Laserdrucker schwärzen, Plastikspray, mit dem> Laser ausschneiden so noch aktuell?> Mit welcher Leistung und Wellenlänge schneidest du, Conny?
Ja:
90g/m2 Papier
Mit dem Laserdrucker schwärzen
Mit 100mW UV-Laser ausschneiden
Plastikspray/Lackspray
Ist gerade etwas mühsamer, brauche 3-4 Passes, weil ich meinen
Lasertreiber auf kleinere Leistung eingestellt habe, die ich für die
Platinen brauche, Ich glaube ich bin gerade bei 25mA statt 100mA.
Heisst also für schwarzes 80-90g Papier reichen 100mW aus.
Allerdings brauchte ich wieder 2h um den Gerber-Export von Eagle zu
fixen, da hatte ich ja rausgefunden, dass man die ResX/ResY und die
Float-Formatierung richtig einstellen muss.
Und leider hab ich mir eine alte Eagle-Installation abgelöscht wo ich
das gemacht hatte, das eagle.def liegt nämlich default im
Programmverzeichnis. So ein Schmarrn eigentlich... ;-)
Falls jemand die Eagle-Settings braucht, so hab ich es zum Laufen
gebracht:
1
[GERBER_RS274X_46]
2
3
@GERBERAUTO
4
Long = "Gerber RS-274-X photoplotter, coordinate format 4.6 inch"
5
Units = MM
6
Info = "Plotfile Info:\n"\
7
"\n"\
8
" Coordinate Format : 4.10\n"\
9
" Coordinate Units : MM\n"\
10
" Data Mode : Absolute\n"\
11
" Zero Suppression : None\n"\
12
" End Of Block : *\n"\
13
"\n"
14
Init = "G75*\n" \ allow positive and negative coordinates
15
"%%MOMM*%%\n" \ MOde of units is INch (MM for mm)
16
"%%OFA0B0*%%\n" \ horizonal and vertical OFfset is 0
17
"%%FSLAX46Y46*%%\n"\ Format Statement is Absolute (I for incremental) 2.6
18
"%%IPPOS*%%\n" \ Image Polarity is POSitive (NEG for negative)
19
"%%LPD*%%\n" \ Layer Polarity Dark (C for clear on negative planes)
20
"%%AMOC8*\n5,1,8,0,0,1.08239X$1,22.5*\n"\ Octagons are emulated with a circle (using 8 vertices)
21
"%%\n" ; and therefore the diameter must be enlarged with '1 / cos(pi / 8)'
Hat auch mit nur 25mA geklappt, aber brauchte 4 Durchgänge und
Nacharbeit mit Pinzette. Die Schnippsel hingen noch an.
Der Lack trocknet gerade, eine Runde Plastik 70 je vorne und hinten. Das
dürfte auch zusätzlich gegen das Ausreissen der dünnen Stege wirken.
Obwohl das auch letztes Mal schon kein Problem war.
Hat perfekt geklappt mit dem Papierstencil. Ich glaube man könnte den
sogar noch ein zweites Mal verwenden.
Jetzt muss sie nur noch funktionieren, die Platine. :-)
Sie funktioniert.
Ist eine Funk-Vorlauf-Temperatur-Steuerung für die 23 Jahre alte
Heizung.
Die Home-Automation-Zentrale funkt stündlich die Vorlauftemperatur, die
nach der Außentemperatur der openweathermap.org-API berechnet wird.
Aktuell: 0 Grad, Vorlauftemperatur 68 Grad.
Vielen Dank für die Info!
Die habe ich auch schon gekauft, nur halt nur manuell verwendet.
Noch eine Frage:
Auf dem Foto mit dem Papierstencil und der Lötpaste drauf. Ist das der
komplette Inhalt einer Spritze? (10g / 2,5 ml)
Das wäre dann ja ziemlich teuer für nur eine Platine...
VG Dirk
Dirk R. schrieb:> Vielen Dank für die Info!>> Die habe ich auch schon gekauft, nur halt nur manuell verwendet.>> Noch eine Frage:> Auf dem Foto mit dem Papierstencil und der Lötpaste drauf. Ist das der> komplette Inhalt einer Spritze? (10g / 2,5 ml)>> Das wäre dann ja ziemlich teuer für nur eine Platine...
Hi Dirk,
nein, das dürfte maximal 1-2g sein.
An dem Papier bleibt schon vergleichsweise viel hängen, weil es trotz
Lackspray noch eine recht raue Oberfläche hat. Aber lass es 0,5-1g mehr
sein als sonst.
Die Platine ist irgendwas 7x7cm. Wenn da 0,1mm auf dem Papier bleiben,
dann ergibt das 7x7x0,01 = 0,5ml oder 2g.
Das sind aber m.E. weniger als 0,1mm. Auf den Pads bleiben 0,1mm, das
sieht schon anders aus.
Ich glaube der Gesamtverbrauch ist hier ca. 1g.
Vg,
Konrad
SMD Anfänger Frage: Ist es denn so schlimm wenn man die Lötpaste über
eine Spritze mit Hohlnadel aufbringt oder erlaubt das die Konsistenz
der Lötpaste nicht? Lässt sich die Lötpaste nachträglich noch einstellen
und wenn ja ,wo mit? Ein Stenzil für eine Platine halte ich schon für
übertrieben aufwändig.
Danke schon mal
herbert schrieb:> SMD Anfänger Frage: Ist es denn so schlimm wenn man die Lötpaste über> eine Spritze mit Hohlnadel aufbringt oder erlaubt das die Konsistenz> der Lötpaste nicht? Lässt sich die Lötpaste nachträglich noch einstellen> und wenn ja ,wo mit? Ein Stenzil für eine Platine halte ich schon für> übertrieben aufwändig.> Danke schon mal
Hi Herbert,
nein, das kann man problemlos machen. Wenn man die Spritze etwas
erwärmt, dann wird die Lötpaste flüssiger, manchmal sogar zu flüssig.
Das ist nur nervig auf Dauer. Nach ein paar Platinen macht das keinen
Spass mehr ein paar dutzend Pads zu betupfen, beim Dosieren muss man
sich halt ziemlich konzentrieren. Gerade größere Platinen über 20-30
Pads ist nimmer lustig.
Deshalb mache ich lieber mit meinem Laser einen Stencil aus Papier, wie
beschrieben, dafür muss ich dann nur noch ritsch-ratsch aufstreichen,
fertig.
Muss ich nicht aufpassen, nicht denken, nicht die Luft anhalten um nicht
zu zittern, gar nix.
Und der Stencil geht sogar mehr als einmal. Habe meinen letzten dann
gereinigt und nochmal mit Lack besprüht, passt. Und ab hier stimmt die
"Rendite" dann auf jeden Fall. :-)
Hi Konrad,
heute bin ich mal dazu gekommen die LD an meine CNC Fräse zu bauen.
Während der Aufbauphase konnte ich schon Schwarz bedrucktes Papier
ankokeln (manuell).
Nachdem die ganze Automatik jetzt läuft verändert sich an dem Papier
nichts mehr... Selbst bei Stillstand und Dauerbeschuss und 100mA
Diodenstrom... Da ist jetzt der Wurm drin...
Ich habe hier eine 405nm 100mW von
http://www.insaneware.de/epages/61714203.sf/de_DE/?ObjectPath=/Shops/61714203/Products/blurayld
mit einer Kunststofflinse.
Kann die LD kaputt gehen und trozdem noch leuchten?
Verrätst du mir dein Setup?
LD Type, Strom, Linse
VG Dirk
Dirk R. schrieb:> Während der Aufbauphase konnte ich schon Schwarz bedrucktes Papier> ankokeln (manuell).> Nachdem die ganze Automatik jetzt läuft verändert sich an dem Papier> nichts mehr... Selbst bei Stillstand und Dauerbeschuss und 100mA> Diodenstrom... Da ist jetzt der Wurm drin...>> Ich habe hier eine 405nm 100mW von> http://www.insaneware.de/epages/61714203.sf/de_DE/?ObjectPath=/Shops/61714203/Products/blurayld> mit einer Kunststofflinse.>> Kann die LD kaputt gehen und trozdem noch leuchten?>> Verrätst du mir dein Setup?> LD Type, Strom, Linse
Hi Dirk,
ich glaube die Diode, die ich verwende ist aktuell die:
http://www.insaneware.de/WebRoot/Store20/Shops/61714203/MediaGallery/Laserdioden/SLD3235VF_405nm_100mw.pdf
oder eine "Schwester" davon.
An Strom verwende ich bis zu 90mA, derzeit 25mA - das reicht zum
Platinen belichten.
Die Linse ist eine Glaslinse, die weniger absorbiert.
Das alles macht aber keinen großen Unterschied ich konnte ja sogar mit
25mW Papier durchbrennen.
Die Dioden gehen sehr leicht kaputt, sie leuchten dann noch, aber die
"Power" fehlt. Wenn sie vorher schwarzes Papier angekokelt hat und das
jetzt nicht mehr tut, der Strom noch derselbe ist und Du auf/ab nach dem
Fokus suchst und da aber auch nix passiert, dann ist
höchstwahrscheinlich die Diode kaputt.
Mit Themopapier / Faxpapier kann man da wunderbar prüfen, justieren,
experimentieren.
Verwende das den Fokus zu ermitteln. Ich fahre mit dem 3D Drucker einmal
diagonal durch Z über die mit Thermopapier beklebte Platine und kann mir
von Startpunkt zum Endpunkt und wo der Brandfleck/-strich ist dann per
Strahlensatz ausrechnen, wo in Z der Fokus ist. Das hinterlege ich dann
bei meinen Scripts als Konfiguration.
Ich habe inzwischen schon mindestens 5 Laserdioden durch. :-)
Habe mir da vor 2 Jahren 2x mal einen 5er Pack der Dioden aus China
bestellt, für 20 Euro.
Das ist ratsam, denn man macht immer mal einen Fehler bei der
Strom-Messung oder beim rumstecken und das war's dann.