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
Hi Florian, mit einem Python-Script, anbei! Vg, Conny
@ Florian Auf einem Bild des Eingangsbeitrages ist ein Schraubstock mit Zentimeterskala zu sehen. Wo hast du den gekauft?
Servus Bernd, den gibt's bei www.cnc-plus.de Genau den, den ich habe, gibt's scheinbar nicht mehr. Von den Abmessungen her ist ungefähr der: http://cnc-plus.de/de/Spanntechnik/Schraubstoecke/Mini-Zentrierschraubstock--Maschinen-Schraubstock-2214.html 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
Hast Du schon mit den Einstellungen "Maximum Accelleration" für die einzelnen Achsen experimentiert?
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
:
Bearbeitet durch User
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.
:
Bearbeitet durch User
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.
Walter T. schrieb: > -Woher bekommt ihr Leiterplatten mit Foto-Negativ-Lack? Es ist Bungard Foto-Positiv-Material > -Wie schützt ihr eure Augen? http://www.insaneware.de/epages/61714203.sf/de_DE/?ObjectPath=/Shops/61714203/Products/lsbep1
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.
:
Bearbeitet durch User
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.
Robin E. schrieb: > Ich schreibe aktuell an einem Gerber zu Bitmap-converter in c#. Möglicherweise könnte man hier etwas Honig saugen http://gerbv.geda-project.org/ MfG Klaus
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
Walter T. schrieb: > -Wie schützt ihr eure Augen? EP-1 Protection Goggles for190-540nm 800-2000nm http://www.ebay.de/itm/201060076630?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
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 :-)
Erratum: Bei 800mm/min sind es bei einer Belichtungsbreite von 0,2mm theoretisch 160mm²/min.
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
:
Bearbeitet durch User
Spannungsspitzen. Sollen für Laserdioden tödlich sein. Gruß Roland
Hi Florian, hast Du mit diesem Script noch weitergemacht? Vg, Conny
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
Könnt ihr mir das Layout mal hochauflösend (5000 x 4000 oder besser ) zum testen senden?
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
Habe noch was vergessen: - polygone Flächen gehen ab jetzt auch :-)
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: > Hätte ich auch nicht gedacht, wäre für mich ein "Abbruchkriterium" > Gruß Axel Ja, akzeptiert :-) - mach mal nach Deiner Art :-)
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:
1 | Plotting geometry |
2 | 0 |
3 | 1 |
4 | 2 |
5 | 3 |
6 | |
7 | Traceback (most recent call last): |
8 | File "gbr2laser.py", line 1355, in <module> |
9 | perimeter = optimizing_outline_travel_V2(perimeter) |
10 | File "gbr2laser.py", line 455, in optimizing_outline_travel_V2 |
11 | while i < len(perimeter): |
12 | TypeError: object of type 'LineString' has no len() |
Das Array "perimeter" scheint leer zu sein?
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?
Stell mal den Export im Eagle von Zoll auf mm um.
:
Bearbeitet durch User
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?
Anbei: "GerberTest" als .brd, Bild und .grb Ein Board, 50x50 mit 1 Leiterbahn. Das ist ja ziemlich simpel, was dabei herauskommt:
1 | G75* |
2 | %MOMM*% |
3 | %OFA0B0*% |
4 | %FSLAX25Y25*% |
5 | %IPPOS*% |
6 | %LPD*% |
7 | %AMOC8* |
8 | 5,1,8,0,0,1.08239X$1,22.5* |
9 | % |
10 | %ADD10C,0.40640*% |
11 | %ADD11C,1.27000*% |
12 | D10* |
13 | X0000457Y0000457D02* |
14 | X0049987Y0000457D01* |
15 | X0049987Y0051257D01* |
16 | X0000457Y0051257D01* |
17 | X0000457Y0000457D01* |
18 | D11* |
19 | X0006807Y0006807D02* |
20 | X0043637Y0006807D01* |
21 | M02* |
Der erste Fehler: "No tools found".
1 | $ python gbr2laser.py |
2 | What do you want to calculate: |
3 | 1: Perimeter + filling |
4 | 2: Only filling |
5 | 3: Only perimeter |
6 | (default 1) |
7 | Gerber-File as input(default GerberTest.gbr) |
8 | ngc-File as output (default output.ngc) |
9 | Drillfile as input(default Testlayout.drl) |
10 | ngc-File as drilloutput (default output_drill.ngc) |
11 | Assumed laserdiameter in mm (default 0.1) |
12 | Set xMin and yMin to zero Y/N (default Y) |
13 | Border around your layout in mm (default 2.0) |
14 | Distance between filling lines im mm (default 0.15) |
15 | Perimeterspeed in mm/min (default 250) |
16 | Fillingspeed in mm/min (default 250) |
17 | G-Code to switch laser on (default M62 P-0) |
18 | G-Code to switch laser on (default M63 P-0) |
19 | Optimize fillingpattern Y/N (default N) |
20 | Filling bidirectional Y/N (default N) |
21 | |
22 | Import tools |
23 | GerberTest.gbr |
24 | No tools found! |
25 | IllegalArgumentException: Operation not supported by GeometryCollection |
26 | |
27 | Traceback (most recent call last): |
28 | File "gbr2laser.py", line 1286, in <module> |
29 | geometry = cascaded_union(geometry).boundary |
30 | File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/shapely/geometry/base.py", line 442, in boundary |
31 | return geom_factory(self.impl['boundary'](self)) |
32 | File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/shapely/geometry/base.py", line 65, in geom_factory |
33 | raise ValueError("No Shapely geometry can be created from null value") |
34 | ValueError: No Shapely geometry can be created from null value |
Ü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!
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?
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.
:
Bearbeitet durch User
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.
:
Bearbeitet durch User
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)' |
20 | Reset = "M02*\n" |
21 | ResX = 25400 |
22 | ResY = 25400 |
23 | Move = "X%0.7dY%0.7dD02*\n" ; (x, y) |
24 | Draw = "X%0.7dY%0.7dD01*\n" ; (x, y) |
25 | Flash = "X%0.7dY%0.7dD03*\n" ; (x, y) |
26 | Circle = "%%AD%sC,%7.5f*%%\n" ; (code, diameter) |
27 | Rectangle = "%%AD%sR,%7.5fX%7.5f*%%\n" ; (code, dx, dy) |
28 | Oval = "%%AD%sO,%7.5fX%7.5f*%%\n" ; (code, dx, dy) |
29 | ; According to the RS-274-X specs there is an aperture macro |
30 | ; primitive that allows us to specify an octagon (i.e. a polygon with |
31 | ; 8 vertices). As some Gerber viewers seem to have problems with that, |
32 | ; we would have to use a round shape for that. |
33 | ; If your Gerber processor cannot handle the polygon primitive you may |
34 | ; uncomment the following line and comment out the line after it: |
35 | ;Octagon = "%%AD%sC,%7.5f*%%\n" ; (code, diameter) (looks like there is no octagon, so we take a circle) |
36 | Octagon = "%%AD%sOC8,%7.5f*%%\n" ; (code, diameter) |
37 | AreaBegin = "G36*\n" |
38 | AreaEnd = "G37*\n" |
:
Bearbeitet durch User
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?
Es scheint nur für die 8-eckigen Pads wird ein Makro benutzt? http://www.eaglecentral.ca/index.php?t=msg&goto=120995&f239c0b816b15624e4fb2c9a379ef8c8/
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*
:
Bearbeitet durch User
geometry sollte ein Array sein, ist es aber nicht? Ergebnis von print(geometry). Plotting geometry LINESTRING (2.67183 3.27, 2.734070884109272 3.266942301436845, 2.795712354480242 3.257798653056051, 2.856160770056584 3.242657113189952, 2.914833979551833 3.221663503144667, 2.971166927884509 3.195020002861205, 3.024617097967448 3.162983203812116, 3.058033379984215 3.1382, 3.1382 3.1382, 3.17503 3.1382, 3.17503 3.021203379984216, 3.199813203812116 2.987787097967447, 3.231850002861206 2.934336927884508, 3.258493503144667 2.878003979551832, 3.279487113189953 2.819330770056583, 3.294628653056051 2.758882354480241, 3.303772301436845 2.697240884109271, 3.30683 2.635, 3.303772301436845 2.572759115890729, 3.294628653056051 2.511117645519759, 3.279487113189953 2.450669229943417, 3.258493503144667 2.391996020448168, 3.231850002861206 2.335663072115492, 3.199813203812116 2.282212902032553, 3.17503 2.248796620015785, 3.17503 2.1318, 3.1382 2.1318, 3.058033379984215 2.1318, 3.024617097967448 2.107016796187884, 2.971166927884509 2.074979997138795, 2.914833979551832 2.048336496855333, 2.856160770056583 2.027342886810047, 2.795712354480241 2.012201346943948, 2.734070884109271 2.003057698563155, 2.67183 2, 2.635 2, 2.572759115890728 2.003057698563155, 2.511117645519758 2.012201346943949, 2.450669229943415 2.027342886810048, 2.391996020448167 2.048336496855333, 2.335663072115491 2.074979997138795, 2.282212902032552 2.107016796187884, 2.248796620015785 2.1318, 2.16863 2.1318, 2.1318 2.1318, 2.1318 2.248796620015785, 2.107016796187883 2.282212902032553, 2.074979997138794 2.335663072115492, 2.048336496855333 2.391996020448168, 2.027342886810047 2.450669229943416, 2.012201346943948 2.511117645519759, 2.003057698563155 2.572759115890729, 2 2.635, 2.003057698563155 2.697240884109271, 2.012201346943948 2.758882354480241, 2.027342886810047 2.819330770056584, 2.048336496855333 2.878003979551832, 2.074979997138794 2.934336927884508, 2.107016796187883 2.987787097967447, 2.1318 3.021203379984216, 2.1318 3.1382, 2.16863 3.1382, 2.248796620015785 3.1382, 2.282212902032551 3.162983203812115, 2.33566307211549 3.195020002861205, 2.391996020448166 3.221663503144666, 2.450669229943414 3.242657113189952, 2.511117645519756 3.257798653056051, 2.572759115890726 3.266942301436845, 2.634999999999997 3.27, 2.67183 3.27) Traceback (most recent call last): File "gbr2laser.py", line 1365, in <module> plot_geometry(geometry, 'black') File "gbr2laser.py", line 1044, in plot_geometry while i < len(geometry): TypeError: object of type 'LineString' has no len()
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 :-)
:
Bearbeitet durch User
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.
Super! Ich freue mich sehr darüber, dass du das Skript zum Laufen gebracht hast :-)
Beitrag #5005478 wurde von einem Moderator gelöscht.
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?
Richard B. schrieb: > Conny G. schrieb: >> auch schon einen Stencil aus Messingfolie gemacht > > Wo hast du die Folie her? Ich hätte mir sowas vorgestellt: https://www.amazon.de/Ibico-Einbanddeckel-0-3mm-PP-Folie-schwarz/dp/B0050CHKD8/ Nur noch dünner, 150-200µ. Schwarz, damit der Laser aus eine Chance zum Schneiden hat, bei Klarsicht (die hätte ich schon da) bewegte sich da bei einem Versuch früher nicht viel :-)
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 :)
Richard B. schrieb: > 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 :) Sowas hier: http://www.steingraeber-modelle.de/Messingblech-200-x-300-x-02-mm_RBM05502 Ich hab's zuletzt mit Tonertransfer gemacht, habe auch einen Positiv-Sprühlack da, den ich mal probieren wollte.
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".
:
Bearbeitet durch User
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
Ach so , ich mache meinen G-Code in Eagle mit FastGcode.ulp https://www.mikrocontroller.net/attachment/233520/FastGcode.jpg 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.
roehre schrieb: > Dann bildet sich auch kein Grat. Ja, so ist das nämlich unbrauchbar. Ansonsten->Toll :)
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.
Könntest du das mit der Avery 3491 Folie versuchen?
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: > Du meinst durchschmelzen/brennen? Ja, das meinte ich. Ich dachte, die ist nicht so empfindlich...
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
:
Bearbeitet durch User
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
fpga schrieb: > Hast du nicht ein XY-Tisch/Portal? Dann könnte sowas doch cool sein, die > Auger-Pumpe ist toll. Ja, die ist cool. :-)
Lasere gerade mal wieder einen Papier-Stencil mithilfe des gbr2laser Scripts :-)
Guido B. schrieb: > Interessante Spannmethode! ;-) Hat sich zuviel gewellt, also die nächstbesten Gegenstände gegriffen. :-)
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)' |
22 | Reset = "M02*\n" |
23 | ResX = 25400000 |
24 | ResY = 25400000 |
25 | Move = "X%4.10dY%4.10dD02*\n" ; (x, y) |
26 | Draw = "X%4.10dY%4.10dD01*\n" ; (x, y) |
27 | Flash = "X%4.10dY%4.10dD03*\n" ; (x, y) |
28 | Circle = "%%AD%sC,%8.6f*%%\n" ; (code, diameter) |
29 | Rectangle = "%%AD%sR,%8.6fX%8.6f*%%\n" ; (code, dx, dy) |
30 | Oval = "%%AD%sO,%8.6fX%8.6f*%%\n" ; (code, dx, dy) |
31 | ; According to the RS-274-X specs there is an aperture macro |
32 | ; primitive that allows us to specify an octagon (i.e. a polygon with |
33 | ; 8 vertices). As some Gerber viewers seem to have problems with that, |
34 | ; we would have to use a round shape for that. |
35 | ; If your Gerber processor cannot handle the polygon primitive you may |
36 | ; uncomment the following line and comment out the line after it: |
37 | Octagon = "%%AD%sC,%8.6f*%%\n" ; (code, diameter) (looks like there is no octagon, so we take a circle) |
38 | ;Octagon = "%%AD%sOC8,%8.6f*%%\n" ; (code, diameter) |
39 | AreaBegin = "G36*\n" |
40 | AreaEnd = "G37*\n" |
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.
Tolle Idee Pastenschablonen aus Papier! Will ich auch mal probieren. Wo kaufst du die Lötpaste? bzw. Welches Produkt verwendest du? VG Dirk
Dirk R. schrieb: > Wo kaufst du die Lötpaste? bzw. Welches Produkt verwendest du? Die hier: https://www.reichelt.de/Flussmittel-Loetpasten/CR-44/3/index.html?ACTION=3&LA=2&ARTICLE=6833&GROUPID=4132&artnr=CR+44&trstct=pol_7
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
:
Bearbeitet durch User
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. :-)
:
Bearbeitet durch User
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.