PCBs Fräsen

Aus RF1000 Wiki
Zur Navigation springen Zur Suche springen

Hinweis: Diese Anleitung ist noch "Work in Progress"! Es wurden zwar schon gute Ergebnisse erzielt, bisher ist aber noch nicht klar, ob diese auch zuverlässig reproduziert werden können.


Voraussetzungen

Der Workflow wurde mit einem RF1000, der Firmware-Version RF.01.37 und einem Dremel 4000 getestet.

Folgende Bugs müssen umgangen werden:

  • Nach dem Setzen des Z-Origin (und auch des XY-Origin?) darf die Position über die Cursortasten nicht mehr verändert werden, da jede Änderung ab jetzt den Z-Origin verschiebt!
  • "Single Step"-Bewegungen per Menü sind keine Einzelschritte sondern vordefinierte Schritte (das ist also kein Bug :-)). Ich empfehle dringend, diese auf echte einzelne Mikroschritte zu konfigurieren, um die notwendige Genauigkeit erreichen zu können. Das geht entweder über die Firmware-Parameter DEFAULT_MANUAL_STEPS_X, _Y und _Z, oder über den Befehl M3100.
Fehler beim Erstellen des Vorschaubildes: Datei fehlt

Verwendete Fräswerkzeuge:

  • RF1000 mit Dremel 4000
  • Gravierstichel (V-förmige Fräser) mit 20 Grad Winkel (No-Name aus dem Internet)
  • 0.8mm Schaft-Bohrer (No-Name aus dem Internet)
  • 2.3mm Fräser (von Proxxon aus dem Baumarkt)

Der Workflow im Überblick

  • G-Code erstellen für: Unterseite, Bohrungen, Oberseite, Board-Begrenzungen
  • Material aufspannen, Zielbereich auswählen
  • 2. Führungswagen abschrauben und Workpart-Scan durchführen
  • 2. Führungswagen wieder anschrauben!
  • Referenzlöcher bohren und an den XY-Origin fahren
  • Stichel einspannen, Z-Origin am XY-Origin suchen (mit Durchgangsprüfer-Methode)
  • Unterseite fräsen
  • Auf Bohrer wechseln, "Find Z Origin", dann Löcher bohren
  • Material entgraten und umdrehen, Ausrichtung über die Referenzlöcher vornehmen
  • 2. Führungswagen abschrauben und Workpart-Scan durchführen
  • 2. Führungswagen wieder anschrauben!
  • XY-Origin über Referenzloch wiederfinden
  • Stichel einspannen, Z-Origin am XY-Origin suchen (mit Durchgangsprüfer-Methode)
  • Oberseite fräsen
  • Auf Schaftfräser wechseln, "Find Z Origin", dann Board-Begrenzungen fräsen
  • Gut reinigen und auf Kurzschlüsse untersuchen!

Vorbemerkungen

  • Ein wesentlicher Trick ist, die Eintauchtiefe ("Z milling down") so klein wie möglich einzustellen, so dass gerade eben nur das Kupfer weggefräst wird. Tieferes Eintauchen führt nur dazu, dass die Spitze des Stichels abgenutzt wird, wodurch beim nächsten Fräsvorgang (z.B. andere Seite) zu breite Isolationskanäle entstehen (es fehlt die vorderste Spitze, also wird weiter "hinten" gefräst!). Da die Stichel ziemlich spitz sind, liegt das durch "Find Z Origin" gefundene Z=0 tatsächlich schon etwas unter der Oberfläche. Da wir lediglich 35µm Kupferauflage (bei üblichem Leiterplatten-Material) wegfräsen wollen, liegt unser Z=0 gut und gerne bereits tiefer im Material, als das Kupfer überhaupt dick ist. Daher ist die Funktion "Find Z Origin" für uns hier nicht brauchbar. Stattdessen empfehle ich, einen Durchgangsprüfer mit Signalfunktion (findet man z.B. in jedem Digital-Multimeter) mit Klemmkabeln an Leiterplatte und Stichel anzuschließen. Dann fährt man mit dem Stichel knapp über die Oberfläche und schließlich in Einzelschritten weiter, bis der Durchgangsprüfer piept. Dann kann mit "Set Z Origin" der Nullpunkt festgelegt werden. Anschließend muss man per G-Code z.B. nach Z=1 fahren und die Kabel wieder abnehmen. Wichtig ist, dass nach dem Setzen des Z-Origins nicht mehr per Menü oder Tasten gefahren werden darf (in Z-Richtung), da sonst der Z-Origin verschoben wird! Für alle anderen Werkzeuge (Bohrer, 2.3mm Fräser) genügt die normale "Find Z Origin" Funktion.
  • Während des "Workpart Scans" sollte nur ein Führungswagen am X-Schlitten angeschraubt sein. Dies erhöht erheblich die Genauigkeit, da eine sehr viel geringere Kraft für die Oberflächenerkennung nötig ist. Zum Fräsen sollten unbedingt beide Führungswagen angeschraubt sein, da sonst (aus bisher nicht verstandenen Gründen) die Genauigkeit in Y erheblich verringert ist.
  • Ich habe noch spitzere Stichel (10 Grad Winkel), mit denen klappt es aber nicht zuverlässig. Zum einen brechen diese Stichel gerne mal während des Fräsens einfach ab. Zum anderen spielen kleinere Ungenauigkeiten eine sehr viel größere Rolle. So kann es z.B. vorkommen, dass der Isolationskanal einer Leiterbahn nicht ganz geschlossen wird, wodurch Kurzschlüsse möglich sind. Zu guter Letzt scheinen mir solche extrem engen Isolationskanäle nachteilig beim Löten, da selbst mit Flussmittel gerne mal Lötbrücken entstehen. Vielleicht ist mit viel Erfahrung und exaktes Arbeiten aber noch eine Steigerung der Genauigkeit möglich, so dass spitzere Stichel für feinere Strukturen verwendet werden können.
  • Ein sehr wichtiger (und von mir lange unterschätzter) Aspekt ist das saubere Einspannen des Stichels. Wahrscheinlich ist insbesondere darauf zu achten, dass der Schaftdurchmesser der Einsätze mit dem nominellen Durchmesser der Spannzange übereinstimmt. Ich verwende aktuell Einsätze mit 3.0mm Schaftdurchmesser aber Spannzangen für 3.2mm Durchmesser. Dies funktioniert sehr schlecht. Nur mit viel Glück bzw. vielen Versuchen bekomme ich den Stichel/Bohrer so eingespannt, dass er wirklich rund läuft. Leider führt jede kleine Unrundheit sofort zu störenden Ungenauigkeiten (breite Isolationskanäle, unpassende Vorder- und Rückseite etc.).

G-Code generieren

KiCad + FlatCAM

Getestet mit KiCad Pcbnew 5.1.4 und FlatCAM 8.5 Development (git master vom 14.4.2020)

  • In Pcbnew, den Grid Origin und Drill/Place Offset (siehe Menü Place) in die linke untere Ecke des Boards plazieren
  • Die Layer "F.Cu" und "B.Cu" (und ggf. weitere) über File / Plot in Gerber-Dateien ausgeben, dabei "Use auxiliary axis as origin" auswählen.
  • Im Plot-Fenster erzeugt der Knopf "Plot" die Gerber Dateien. Im gleichen Fenster mittels "Generate Drill Files..." Gerber-Excellon-Dateien erstellen für die Bohrungen. Als "Drill Origin" muss ebenfalls "Auxiliary axis" gewählt sein.
  • In FlatCAM die Gerber Dateien importieren.
  • Die Erzeugung des G-Codes erfolgt in 2-3 Schritten und ist weitgehend selbsterklärend.
  • Tipp: Als Tool-Durchmesser muss i.d.R. ein Durchmesser gewählt werden, der kleiner (nicht gleich) der kleinsten Strukturbreite ist. Wenn also 0.2 mm breite Isolationskanäle in Kicad gewählt wurden, sollte z.B. ein "Tool dia" von 0.19 bei "Isolation Routing" gewählt werden.

Alternative: Eagle free

Verwendet wird Eagle 8.0.1 free oder neuer. Beim Anlegen des Layouts darauf achten, dass nicht zu kleine Strukturen generiert werden. Zumindest für den Anfang machen große Pads und breite Leiterbahnen vieles einfacher. Andernfalls führen kleinere Ungenauigkeiten sofort zu unbrauchbaren Platinen.

  • Öffne im Menü Tools / Mill Outlines
  • Einstellungen setzen:
  • General:
  • Device: CNC
  • Layer wählen: Top aus, Bottom an, Mirror an
  • Generate drills an, Use Rack aus, Only Drills aus
  • Tool#1 isolate: 0.2mm (Spitzen-Durchmesser Gravierstichel)
  • Overlap isolate/blow-up: 0
  • Tool#2 blow-up: 0
  • Overlap rub out: 0
  • Rub out aus
  • Mill board/dim an und auf 2.3mm (Durchmesser für Board-Fräser)
  • Pad-Drill, Via-Drill, Hole-Drill: 0.8mm (Durchmesser des Bohrers)
  • Z Axis:
  • Z milling down: 5µm mehr als die Dicke der Kupferauflage, also -0.040 bei 35µm Kupfer.
  • Z drill deep und Z Board Dim.: -2.0mm (etwas mehr als gesamte Platinendicke, nicht zu knapp!)
  • Rest scheint leider von Eagle ignoriert zu werden
  • Wenn Einstellungen so gesetzt sind, Generate drills und Mill Board/dim ausschalten, dann Einstellungen speichern
  • 4 G-Code-Dateien generieren:
  • Bottom (wie gespeichert)
  • Top (Nur Top-Layer einschalten, Bottom-Layer aus)
  • Drills (Only Drills einschalten)
  • Board (mil. only Dim. einschalten)
  • Dateien für Bottom und Top mit gcode-nachbearbeitung.sh nachbearbeiten, bei Drills und Board nur von Hand beim ersten Befehl die Feedrate anfügen und als aller erste Zeile "G90" einfügen

Reihenfolge der Fräs-Vorgänge

  1. Unterseite Isolation
  2. Unterseite Löcher
  3. Oberseite Isolation
  4. Board

Achtung: Unbedingt auf ausreichend Sicherheitsabstand um den Zielbereich herum zu Halteklammern und Materialrändern achten!


RF1000 vorbereiten

  • Umbau auf Fräs-Betrieb
  • Im Menü Fräs-Modus wählen, Z-Schalter-Typ auf Circuit stellen
  • Im Menü alle Werte für Acceleration auf den niedrichst-möglichen Wert stellen (nicht 0). Dadurch sind die geringen Feedrates möglich, die wir zum Fräsen benötigen.

Platine und Fräse vorbereiten

  • Platine auf Opfer-Sperrholz aufspannen. Das Sperrholz muss nicht überall unterliegen, wichtig ist, dass es größtenteils im "Zielbereich" unterliegt und (noch wichtiger) unter den Aufspann-Punkten. Ich verwende 3 Klammern. Das Opfer-Holz sollte unbedingt unter der Platine etwas hervorschauen, wo die Klammern aufsitzen, damit auf keinen Fall die Platine am Rand runtergrdückt und damit verspannt wird! Die Klammern auf keinen Fall zu stark anziehen, das führt nur unnötig zu Verspannungen!
  • Drucker Homen (Z-Achse muss nicht bis unten gehomed werden, ich unterbreche immer durch Druck von Hand auf den Z-Schalter, da wir hier diese Referenz nicht benötigen!)
  • Einen Stumpfen Metall-Stift in den Dremel spannen (ich verwende eines der Dremel-Tools mit denen man eigentlich etwas in den Dremel einspannen kann, siehe ganz links im Bild oben).
  • Mit der Z-Achse das Ende des Metall-Stifts ca. 5mm über die Platine bringen, damit man gut zielen kann.
  • Im Drücker-Menü per X- und Y-Position an die linke vordere Ecke des Zielbereichs fahren (eher etwas großzügig vergrößern), dann diesen Punkt per Menü als Startpunkt für den Workpart-Scan wählen. Das ganze für die linke hintere Ecke als Endpunkt wiederholen (wieder eher den Bereich zu groß wählen, dass der Scan etwas über den Zielbereich hinaus geht). Scanraster (DX und DY) auf den kleinstmöglichen Wert stellen. Den Scan starten.
  • Nach abgescholssenem Scan den Bohrer einspannen und an die rechte vordere Ecke des Zielbereichs fahren. Dieser Punkt wird jetzt für die Unterseite unser XY-Origin.
  • Per Menü in X 2mm in positive Richtung (also außerhalb unseres Zielbereichs) fahren.
  • Hier nun ein Loch bohren: Dremel einschalten und Bohrer knapp (<0.5mm, Augenmaß sollte reichen) über die Oberfläche stellen und dann per Menü 2mm weiter rein fahren. Dann wieder rausfahren und Dremel ausschalten. Dieses Loch ist später unsere Referenz für die XY-Koordinaten. Ungenauigkeiten in der Position wirken sich direkt auf die Passgenauigkeit der Lagen aus!
  • Jetzt per Menü nur in X Richtung etwas außerhalb des Zielbereichs auf der anderen Seite fahren. Diese Bewegung sollte unbedingt nur durch eine einfache Kombination der im Menü verwendbaren Schrittweiten (1mm / 10mm / 50mm) erreichbar sein (oder eben per G-Code, so dass man sich die Länge aufschreiben kann). Wir müssen später die selbe Distanz mehrfach hin und her fahren, wenn wir die Platine für die andere Seite exakt ausrichten wollen.
  • An dieser Stelle ebenfalls wieder ein Loch bohren (wie oben).
  • Wieder zurück zum ersten Loch fahren und dann 2mm in X in negativer Richtung (bzw. gleich dort hin fahren, falls möglich). Jetzt sind wir wieder am XY-Origin, was wir nun dem Drucker auch per Menü mitteilen. Ab jetzt dürfen wir in XY den Drucker nicht mehr per Menü bewegen, da sonst unser Origin verschoben wird!

Fräsen der Unterseite

Fehler beim Erstellen des Vorschaubildes: Datei fehlt
  • Auf den Gravierstichel wechseln, an den XY-Origin fahren (G01 X0 Y0) und dort mit der "Durchgangsprüfer-Methode" den Z-Origin bestimmen (siehe Vorbemerkungen) und per Menü setzen. Danach per G-Code etwas von der Oberfläche weg fahren (G01 Z10). Auf keinen Fall mehr per Menü oder Tasten in irgend einer Richtung bewegen!
  • Dremel einschalten und per Menü Datei für Unterseite ausführen
  • Wenn fertig, Dremel ausschalten

Bohren der Löcher

  • Auf den Bohrer wechseln, an den XY-Origin fahren und dort nach dem Z-Origin suchen lassen
  • Dremel einschalten und per Menü Datei für Unterseite ausführen
  • Wenn fertig, Dremel ausschalten


Fräsen der Oberseite

Fehler beim Erstellen des Vorschaubildes: Datei fehlt
  • Platine entgraten (feines Schmirgelpapier), umdrehen und neu aufspannen (gleiches beachten wie vorher).
  • XY-Origin wiederfinden: Per Positions-Menü so fahren, dass der Bohrer in das Loch, das wir für diesen Zweck am Anfang gebohrt hatten (2mm außerhalb des Platinenbereiches), mittig hinein geht (bei ausgeschaltetem Dremel!). Hier ist etwas Fingerspitzengefühl gefragt. Der Bohrer darf sich beim wieder herausziehen nicht verhaken o.ä., sonst sitzt er offensichtlich noch nicht genau mittig im Loch. Hier wieder möglichst gut auf die Genauigkeit achten, sonst passen unsere Layer nicht! (Achtung: Da die Platine jetzt auf dem Kopf ist, befindet sich das Loch auf der anderen Seite. Unser XY-Origin und das zugehörige Loch waren vorher rechts, jetzt ist es links!)
  • Jetzt in X-Richtung über die bekannte Distanz diesmal aber in positive Richtung zum zweiten Loch fahren. Die Platine muss ggf. leicht verdreht werden, so dass (ohne in Y zu fahren natürlich!) der Bohrer auch mitting in dieses Loch geht.
  • Diese Prozedur muss iterativ in mehreren Schritten wiederholt werden, bis der Bohrer in beide Löcher ohne Korrektur passt.
  • Wenn das fertig ist, muss der Workpart-Scan im Zielbereich ausgeführt werden.
  • Danach muss der XY-Origin wieder über das linke Loch gefunden (diesmal liegt er 2mm rechts von diesem Loch) und per Menü gesetzt werden.
  • Auf den Gravierstichel wechseln. Z-Origin wieder über die "Durchgangsprüfer-Methode" finden und festlegen, dann per G-Code 10mm von der Oberfläche wegfahren.
  • Dremel einschalten und per Menü Datei für Oberseite ausführen
  • Wenn fertig, Dremel ausschalten

Fräsen des Boards

  • Auf den Fräser für das Board wechseln, an den XY-Origin fahren (G01 X0 Y0) und dort nach dem Z-Origin suchen lassen
  • Dremel einschalten und per Menü Datei für die Board-Dimensionen ausführen
  • Wenn fertig, Dremel ausschalten


Ergebnis

Das war's! Ich empfehle, die Platine anschließend vorsichtig mit sehr feinem Schmirgelpapier o.ä. blank zu polieren. Das Ergebnis könnte dann so aussehen wie auf den Bildern (im Idealfall aber mit größeren Pads und/oder exakteren Bohrungen...).