
Ich mag es nicht, Leiterplatten zu ätzen. Nun, ich mag es nicht, mit Eisenchlorid zu arbeiten. Drucken Sie dort, bügeln Sie hier, legen Sie den Fotolack frei - jedes Mal die ganze Geschichte. Und dann überlegen Sie, wo Sie Eisenchlorid ablassen können. Ich behaupte nicht, dies ist eine erschwingliche und einfache Methode, aber ich persönlich versuche sie zu vermeiden. Und dann geschah mein Glück: Ich habe den CNC-Fräser fertiggestellt. Sofort kam der Gedanke: aber nicht, ob man versuchen sollte, Leiterplatten zu fräsen. Kaum gesagt als getan. Ich ziehe einen einfachen Adapter aus einem überfüllten esp-wroom-02 und beginne meinen Ausflug zum Fräsen von Leiterplatten. Schienen speziell klein gemacht - 0,5 mm. Denn wenn diese nicht funktionieren, was ist dann mit dieser Technologie?
Hier brauchen Sie einen kleinen Exkurs. Es gibt verschiedene Möglichkeiten, einen Satz von Gcodes zum Fräsen einer Leiterplatte von CAD zu erhalten. Meiner Meinung nach unterscheiden sie sich je nachdem, welches CAD-System Sie verwenden. Wenn Sie ein Fan von Eagle sind, gibt es spezielle und gut integrierte Lösungen dafür: PCB-GCode , die Möglichkeit, BRD-Dateien direkt in chilipeppr zu öffnen. Leider hat Autodesk vor nicht allzu langer Zeit die Lizenzierungsrichtlinie des Adlers geändert, und jetzt gefällt es der Community nicht mehr so gut (Sie können die Meinung eines prominenten Vertreters der Community sehen ).
Da ich an wichtigen Feiertagen alle fünf Jahre Leiterplatten persönlich herstelle, reicht mir KiCAD zum Entwerfen. Ich habe keine speziellen praktischen Lösungen dafür gefunden, aber es gibt einen universelleren Weg - die Verwendung von Gerber-Dateien. In diesem Fall ist alles relativ einfach: Nehmen Sie die Platine, exportieren Sie die gewünschte Ebene in Gerber (keine Spiegelung und andere Magie!), Führen Sie pcb2gcode aus - und erhalten Sie eine fertige NC -Datei, die dem Fräser übergeben werden kann. Wie immer ist die Realität eine böse Infektion und alles wird etwas komplizierter.
Gcode aus Gerber-Dateien abrufen
Ich habe also nicht vor zu beschreiben, wie man eine Gerber-Datei erhält. Ich denke, jeder weiß, wie. Als nächstes müssen Sie pcb2gcode ausführen. Es stellt sich heraus, dass ungefähr eine Million Befehlszeilenoptionen erforderlich sind, um etwas Akzeptables zu erzeugen. Im Prinzip ist seine Dokumentation nicht schlecht, ich habe sie gemeistert und herausgefunden, wie man auch so einen Gcode bekommt, aber ich wollte trotzdem Lässigkeit. Weil pcb2gcode GUI gefunden wurde. Dies ist, wie der Name schon sagt, eine grafische Benutzeroberfläche zum Festlegen grundlegender pcb2gcode-Parameter mit Häkchen und sogar mit einer Vorschau.

In diesem Stadium wird tatsächlich eine Art Code empfangen, und Sie können versuchen, zu fräsen. Aber während ich in die Häkchen stocherte, stellte sich heraus, dass der Standardwert der Tiefe, die diese Software bietet, 0,05 mm beträgt. Dementsprechend muss die Karte mindestens mit einer höheren Genauigkeit im Router installiert werden. Ich weiß nicht, wie es jemand hat, aber ich habe einen Desktop mit einer Mühle, die merklich gebogener ist. Die einfachste Lösung, die mir in den Sinn kam, bestand darin, Opfersperrholz auf den Tisch zu legen und eine Tasche auf die Größe der Bretter zu fräsen - und dies idealerweise in der Ebene des Fräsers.
Für diejenigen, die den Router bereits gut beherrschen, ist dieser Teil uninteressant. Nach einigen Experimenten stellte ich fest, dass es notwendig ist, eine Tasche in eine Richtung zu fräsen (z. B. indem sie einem Zahn zugeführt wird) und eine Überlappung von mindestens dreißig Prozent aufweist. Fusion 360 bot mir zunächst zu wenig Überwältigung und fuhr hin und her. In meinem Fall war das Ergebnis unbefriedigend.
Berücksichtigung der Krümmung der Leiterplatte
Ich richtete die Stelle aus, klebte ein doppelseitiges Klebeband darauf, legte den Textolithen ein und begann zu fräsen. Hier ist das Ergebnis:

Wie Sie sehen können, berührt der Fräser an einer Kante der Platine praktisch kein Kupfer, an der anderen - er ging zu tief in die Platine hinein, während beim Fräsen von Leiterplattenkrümeln. Nachdem ich mir das Board selbst genau angesehen hatte, bemerkte ich, dass es anfangs uneben ist: leicht gebogen, und egal wie Sie darunter leiden, es wird einige Höhenabweichungen geben. Dann habe ich übrigens nachgesehen und herausgefunden, dass für Leiterplatten mit einer Dicke von mehr als 0,8 mm eine Toleranz von ± 8% als normal angesehen wird.
Die erste Option, die mir in den Sinn kommt, ist die automatische Kalibrierung. Nach der Logik der Dinge - was noch einfacher ist, die Platine ist verkupfert, der Fräser ist aus Stahl, eine Verkabelung an Kupfer, die andere am Fräser - haben Sie hier eine fertige Sonde. Nimm und baue die Oberfläche.
Meine Maschine wird von grbl auf einem billigen chinesischen Schild gesteuert. Grbl hat Sondenunterstützung an Pin A5, aber aus irgendeinem Grund gibt es keinen speziellen Anschluss auf meiner Platine. Nach sorgfältiger Prüfung stellte ich dennoch fest, dass Pin A5 an den SPI-Port-Anschluss (signiert als SCL) ausgegeben wird. In der Nähe befindet sich auch Land. Bei diesem „Sensor“ gibt es einen Trick: Die Drähte müssen miteinander verdrillt werden. Im Fräser ist das Aufnehmen extrem einfach, und ohne dies gibt der Sensor ständig falsch positive Ergebnisse aus. Auch nach dem Weben geht es weiter, aber sehr, sehr selten.

Also, der Sensor wird zusammengebaut, vom Tester getestet, dann ist die wichtige Frage, wie man grbl überprüft, ob alles in Ordnung ist und ich werde keinen einzigen Graveur zerbrechen. Ein wenig googeln zeigte, dass er das Team G38.2 Z-10 F5 schicken musste.
Das Team sagt: Beginnen Sie mit dem Abstieg auf –10 in Z (absolute oder relative Höhe - dies hängt vom Modus ab, in dem sich die Firmware jetzt befindet). Es wird sehr langsam absteigen - mit einer Geschwindigkeit von 5 mm / min. Dies liegt daran, dass die Entwickler selbst nicht garantieren, dass der Abstieg genau in dem Moment stoppt, in dem der Sensor ausgelöst wird, und nicht wenig später. Daher ist es besser, langsam nach unten zu fahren, damit alles pünktlich stoppt und keine Zeit hat, an Bord zu gehen. Spielen Sie also nicht herum. Führen Sie den ersten Test am besten durch, indem Sie Ihren Kopf auf eine Höhe von weit über 10 mm anheben und das Koordinatensystem fallen lassen. In diesem Fall verstopft der Fräser nicht, selbst wenn nicht alles funktioniert und Sie keine Zeit haben, die Not-Aus-Taste zu erreichen. Sie können zwei Tests durchführen: den ersten - um nichts zu tun (und bei Erreichen von –10 grbl wird „Alarm: Sondenfehler“ ausgegeben), den zweiten - schließen Sie den Stromkreis mit etwas und stellen Sie sicher, dass alles stoppt.
Als nächstes müssen Sie eine Methode finden, wie Sie die Matrix tatsächlich messen und den Gcode nach Bedarf verzerren können. Auf den ersten Blick bietet pcb2gcode eine Art Autoleveling-Unterstützung, aber es gibt keine Grbl-Unterstützung. Es besteht die Möglichkeit, das Team zu bitten, den Test mit Ihren Händen durchzuführen, aber Sie müssen sich damit befassen, und um ehrlich zu sein, war ich zu faul. Ein fragender Verstand könnte bemerken, dass bei LinuxCNC der Befehl sample run mit dem Befehl grbl übereinstimmt. Aber dann kommt der irreparable Unterschied: Alle "erwachsenen" Gcode-Interpreter speichern das Testergebnis in einer Maschinenvariablen, und grbl gibt den Wert einfach an den Port aus.
Ein leichtes Googeln deutete darauf hin, dass es noch einige verschiedene Optionen gab, aber das Chillpeppr- Projekt fiel mir auf:
Dies ist ein Zweikomponentensystem, das entwickelt wurde, um mit Eisen aus der Bahn zu spielen. Die erste Komponente - Serial JSON Server, geschrieben in go, läuft auf einem Computer, der direkt mit der Hardware verbunden ist, und kann die Steuerung der seriellen Schnittstelle über Web-Sockets ermöglichen. Der zweite funktioniert in Ihrem Browser. Sie haben ein ganzes Framework zum Erstellen von Widgets mit einigen Funktionen, die dann auf die Seite verschoben werden können. Insbesondere verfügen sie bereits über einen vorgefertigten Arbeitsbereich (eine Reihe von Widgets) für grbl und tinyg.
Und Chillpeppr unterstützt Autoleveling. Darüber hinaus ist es optisch viel praktischer als UniversalGcodeSender, den ich zuvor verwendet habe. Ich setze den Server ein, starte den Browser-Teil, verbringe eine halbe Stunde damit, die Benutzeroberfläche herauszufinden, lade dort den Gcode meines Boards und sehe etwas Müll:

Nachdem ich mir den gcode selbst angesehen habe, den pcb2gcode generiert, sehe ich, dass er die Notation verwendet, wenn der Befehl (G1) nicht in nachfolgenden Zeilen wiederholt wird, sondern nur neue Koordinaten angegeben werden:
G00 X1.84843 Y34.97110 ( rapid move to begin. ) F100.00000 G01 Z-0.12000 G04 P0 ( dwell for no time -- G64 should not smooth over this point ) F200.00000 X1.84843 Y34.97110 X2.64622 Y34.17332 X2.69481 Y34.11185 X2.73962 Y34.00364 X2.74876 Y31.85178 X3.01828 Y31.84988 X3.06946 Y31.82249 X3.09684 Y31.77131
Gemessen an der Tatsache, dass Chilipeppr nur vertikale Bewegungen zeigt, sieht er hier die Linie G01 Z-0.12, versteht aber nicht alles, was nach F200 kommt. Die explizite Notation muss wiederholt werden. Natürlich können Sie mit Ihren Händen arbeiten oder ein Nachbearbeitungsskript ablegen. Bisher hat jedoch noch niemand den G-Code-Ripper abgebrochen, der unter anderem komplexe Gcode-Befehle (z. B. dieselben Bögen) in einfachere umwandeln kann. Übrigens weiß er auch, wie man Gcode in der Autoprobe-Matrix biegt, aber auch hier gibt es keine eingebaute Unterstützung für grbl. Aber Sie können die gleiche Aufteilung vornehmen. Die Standardeinstellungen passten gut zu mir (es sei denn, ich musste in der Konfiguration die Einheiten vorher auf mm ändern). Die resultierende Datei wurde normalerweise in chilipeppr angezeigt:

Führen Sie als Nächstes die automatische Sonde aus, ohne zu vergessen, wie weit die Probe abgesenkt werden soll und wie tief sie ist. In meinem Fall habe ich angegeben, dass es von 1 auf –2 mm abgesenkt werden sollte. Die Untergrenze ist nicht so wichtig, sie kann auf mindestens –10 eingestellt werden, aber ich würde nicht raten: Einige Male habe ich erfolglos den Startpunkt festgelegt, von dem aus der Test gestartet werden soll, und die Extrempunkte lagen außerhalb des Boards. Wenn die Tiefe größer ist, kann der Graveur gebrochen werden. Und so nur ein Fehler. Die Höhe der oberen Grenze hängt direkt davon ab, wie lange die Oberfläche gemessen wird. In meinem Fall ging die Platine in der Realität fast nie über 0,25 mm nach oben oder unten, aber 1 mm ist irgendwie zuverlässiger. Klicken Sie auf den gewünschten Lauf und laufen Sie zum Router, um zu meditieren:

Und in der Chilipeppr-Oberfläche erscheint eine leicht gemessene Oberfläche:

Hierbei ist darauf zu achten, dass alle Werte in Z mit 50 multipliziert werden, um die resultierende Oberfläche besser sichtbar zu machen. Dies ist ein benutzerdefinierter Parameter, aber 10 und 50 funktionieren meiner Meinung nach gut. Sehr oft stoße ich auf die Tatsache, dass ein einzelner Punkt viel höher ist, als Sie vielleicht erwarten. Persönlich schreibe ich dies der Tatsache zu, dass der Sensor die Spitze erfasst und ein falsches Positiv ausgibt. Der Vorteil von chilipeppr ermöglicht es Ihnen, die Höhenkarte in Form von json zu entladen, sie anschließend mit den Händen zu reparieren und anschließend mit den Händen zu laden. Klicken Sie anschließend auf die Schaltfläche "Automatisch abgestuften GCode an Arbeitsbereich senden" - und der korrigierte Code ist bereits in Pfeffer geladen:
N40 G1 X 2.6948 Y 34.1118 Z0.1047 (al new z) N41 G1 X 2.7396 Y 34.0036 Z0.1057 (al new z) N42 G1 X 2.7488 Y 31.8518 Z0.1077 (al new z) N43 G1 X 3.0183 Y 31.8499 Z0.1127 (al new z) N44 G1 X 3.0695 Y 31.8225 Z0.1137 (al new z) N45 G1 X 3.0968 Y 31.7713 Z0.1142 (al new z)
Dem Code wurden Z-Code-Bewegungen hinzugefügt, die die Oberflächenrauheit ausgleichen sollen.
Auswahl der Fräsparameter
Ich fange an zu fräsen, ich bekomme dieses Ergebnis:

Hier sehen Sie drei Punkte gleichzeitig:
- Das Problem mit der Rauheit der Oberfläche ist weg: Alles wird bis fast zur gleichen Tiefe durchgeschnitten (genauer gesagt zerkratzt), es gibt nirgendwo Lücken und nirgendwo ist es zu viel vergraben.
- Tiefe unzureichend: 0,05 mm reichen für diese Folie eindeutig nicht aus. Die Bretter sind übrigens ein unbekanntes Tier mit AliExpress, die Kupferdicke wurde dort nicht angegeben. Die Kupferschicht ist unterschiedlich, die häufigste - von 18 bis 140 Mikrometer (0,018 bis 0,14 mm).
- Das Schlagen des Graveurs ist deutlich sichtbar.
Über die Vertiefung. Es ist leicht zu erkennen, wie tief der Graveur abgesenkt werden muss. Aber es gibt eine Besonderheit. Der konische Graveur hat in der Projektion eine Dreiecksform. Einerseits bestimmt der Informationswinkel zum Arbeitspunkt, wie schwer es ist, das Werkzeug zu brechen und wie lange es lebt. Andererseits ist der Schnitt in einer bestimmten Tiefe umso breiter, je größer der Winkel ist.

Die Formel zur Berechnung der Schnittbreite für eine bestimmte Tiefe sieht folgendermaßen aus (unbescheiden von reprap.org übernommen und behoben):
2 * penetration depth * tangens (tool tip angle) + tip width
Wir betrachten es: Für einen Graveur mit einem Winkel von 10 Grad und einem Kontaktpunkt von 0,1 mm mit einer Tiefe von 0,1 mm erhalten wir eine Schnittbreite von fast 0,15 mm. Auf dieser Grundlage können wir übrigens abschätzen, durch welchen Mindestabstand zwischen den Spuren der ausgewählte Graveur auf der Folie der ausgewählten Dicke entsteht. Selbst wenn Sie keine sehr kleinen Abstände zwischen den Spuren benötigen, lohnt es sich nicht, den Fräser zu tief abzusenken, da Glasfaser selbst aus harten Legierungen sehr stumpf schneidet.
Nun, es gibt immer noch einen lustigen Moment. Angenommen, wir haben zwei Spuren im Abstand von 0,5 mm. Wenn wir pcb2gcode ausführen, wird der Wert des Werkzeugweg-Versatzparameters (wie stark beim Fräsen von der Spur abgewichen werden soll) überprüft und tatsächlich zwei Durchgänge zwischen den Spuren durchgeführt, die durch (0,5 - 2 * toolpath_offset) mm voneinander getrennt sind (aber eher) brechen Sie einfach) ein Stück Kupfer, und es wird hässlich sein. Wenn toolpath_offset größer als der Abstand zwischen den Spuren ist, gibt pcb2gcode eine Warnung aus, generiert jedoch nur eine Zeile zwischen den Spuren. Im Allgemeinen ist dieses Verhalten für meine Anwendungen vorzuziehen, da die Spuren breiter sind und der Cutter weniger schneidet - Schönheit. Zwar liegt möglicherweise ein Problem mit smd-Komponenten vor, dies ist jedoch unwahrscheinlich.
Es gibt einen ausgeprägten Fall für dieses Verhalten: Wenn Sie einen sehr großen toolpath_offset festlegen, erhalten wir eine Leiterplatte im Hinblick auf das Voronoi-Diagramm. Zumindest - es ist wunderschön;) Sie können den Effekt auf dem ersten Screenshot von pcb2gcode sehen, den ich gegeben habe. Es zeigt, wie es aussehen wird.
Nun zum Schlagen des Graveurs. Das nenne ich vergebens. Die Spindel ist überhaupt nicht schlecht und trifft natürlich nicht so hart. Hier biegt und springt die Spitze des Graveurs beim Bewegen zwischen Punkten und gibt hier das seltsame Bild mit Punkten. Die erste und wichtigste Idee ist, dass die Mühle keine Zeit zum Durchschneiden hat und daher springt. Leichtes Googeln zeigte, dass Menschen Leiterplatten mit einer Spindel bei 50k Umdrehungen bei einer Geschwindigkeit von etwa 1000 mm / min fräsen. Meine Spindel liefert 10k ohne Last, und wir können davon ausgehen, dass mit einer Geschwindigkeit von 200 mm / min geschnitten werden muss.
Ergebnisse und Schlussfolgerung
Unter Berücksichtigung all dessen messe ich ein neues Stück Leiterplatte, beginne mit dem Fräsen und erhalte das folgende Ergebnis:

Der obere ist genau der gleiche wie der Fräser, der untere - nachdem er einige Male mit einem gewöhnlichen Schleifstein gehalten wurde. Wie Sie sehen können, haben sich die Spuren an drei Stellen nicht durchgeschnitten. Im Allgemeinen schwebt die Breite der Spuren über das gesamte Board. Dies muss noch behandelt werden, aber ich gehe davon aus, was der Grund ist. Zuerst habe ich das Board auf einem doppelseitigen Klebeband befestigt, und es ist oft abgereist. Dann packte ich an einigen Stellen die Kanten der Schraubenköpfe. Es scheint besser zu bleiben, spielt aber immer noch ein wenig. Ich vermute, dass es zum Zeitpunkt des Fräsens auf die Baustelle gedrückt wird und aus diesem Grund tatsächlich nicht geschnitten wird.

Im Allgemeinen hat dies alles Perspektiven. Wenn der Vorgang abgeschlossen ist, dauert der Aufbau des DEM etwa fünf bis sieben Minuten, und das Fräsen selbst dauert einige Minuten. Es scheint, dass Sie weiter experimentieren können. Aber dann können Sie auf derselben Maschine bohren. Kaufen Sie immer noch Nieten, und es wird Glück geben! Wenn das Thema interessant ist, kann ich einen weiteren Artikel über Bohrungen, bilaterale Bretter usw. schreiben.