CNC-Fräse/Leiterplatten fräsen: Unterschied zwischen den Versionen

aus dem Wiki des Entropia e.V., CCC Karlsruhe
(Feines fräsen mit Sorotec Frässtichel hinzugefügt)
Keine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Vorher G-Code-Referenz lesen: [http://www.linuxcnc.org/docs/html/gcode.html http://www.linuxcnc.org/docs/html/gcode.html]
Vorher G-Code-Referenz lesen: [http://www.linuxcnc.org/docs/html/gcode.html http://www.linuxcnc.org/docs/html/gcode.html]


Wir haben das ursprünglich mit HPGL-Files und Editasc gemacht; derzeit verwenden wir Eagle und [http://www.pcbgcode.org/ PCB-GCode]. Die Herstellung passiert in mehreren Schritten: (die Reihenfolge ist nicht ganz klar, aber Bohren kommt zu erst)
= Software installieren =
= Software installieren =


Zeile 19: Zeile 20:


* Bei zweilagigen Platinen müssen Vias und die Pads von Through-Hole-Bauteilen größere "Restrings" bekommen. Dazu im Design Rule Check im Tab "Restring" Alle Minimumwerte auf 0.4 mm setzen (für Mutige 0.35 mm oder sogar 0.3 mm).
* Bei zweilagigen Platinen müssen Vias und die Pads von Through-Hole-Bauteilen größere "Restrings" bekommen. Dazu im Design Rule Check im Tab "Restring" Alle Minimumwerte auf 0.4 mm setzen (für Mutige 0.35 mm oder sogar 0.3 mm).
*für größere Cutouts stollten ausreichend Stege eingeplant werden, sonst fliegt das lose werdende ausgeschnittene Stück rum und führt zu Problemen
*die Linien im Dimension Layer sollten genügend Abstand zur Schaltung haben, so dass die Groundplane die Schaltung einmal komplett umgibt (und zusätzlich noch etwas Platz bleibt). So kann der Rand der Groundplane später als Platinenbegrenzung (wofür normalerweise ja die Linien im Dimension Layer vorgesehen sind) verwendet werden (beim Ausfräsen der Platine dann entsprechend dieses Groundplane-Rand fräsen).
== Design Rules für KiCad ==
Im Pcbnew-Editor können Regeln über den Unterpunkt "Design Rules" im "Design Rules"-Menü vorgegeben werden.
Folgende Einstellungen werden für das Fräsen vorgeschlagen (Änderungen vorbehalten):
* Net Classes Editor
** Clearance: ≥0.6mm (es seie denn man verwendet einen sehr speziellen Fräser)
* Global Design Rules
** Blind/buried Vias:
*** do not allow blind/buried vias
** Micro Vias:
*** Do not allow micro vias
** Minimum Allowed Values:
*** Min track width: 0.6
*** Min via diameter: 1
*** Min via drill diameter: 0.6


= G-Code generieren =
= G-Code generieren =


== Eagle ==
*Eagle-Layouts am besten mit [http://pcbgcode.org/ PCB-GCode] konvertieren. Installation:
**Irgendwohin entpacken.
**Pfad in Eagle Control Panel -> Options -> Directories -> User Language Programs anhängen (z.B. "<code>:$EAGLEDIR/ulp/pcb2gcode</code>" hinten anhängen)
*Konfiguration von PCB-G-Code: Im Board: Menu -> Run ULP -> pcb-gcode-setup.ulp
**Isolation: Single Pass. Mit mehreren Passes konnten wir noch keine guten Ergebnisse erzielen. Da müsste man mal noch mit den Parametern experimentieren.
**Z High: 10-15mm reicht. Falls in der Nähe der Platinen-Befestigungsbolzen gefräst wird dann ist unter Umständen ein höherer Wert sinnvoll, damit der Schlitten den Bolzen nicht trifft.
**Z Up: 3mm reicht.
**Z Down: 0mm (!). Aufgrund unserer speziellen federnden Bodenplatte wird die Frästiefe bei uns nicht über Z Down geregelt sondern über <code>g92 z0</code> und die Mikrometerschraube eingestellt. Z Down würde ein stärkeres anpressen des Schlittens an die Bodenplatte bewirken als beim Einstellen vor dem Fräsen, nicht aber eine größere Frästiefe. Daher kann der Wert einfach auf 0mm gesetzt werden. Dann muss beim Einstellen <code>z = 0</code> so gelegt werden, dass die gewünschte Frästiefe erreicht wird (vorher Spindel starten nicht vergessen, sonst Fräser kaputt!).
**Drill Depth: marginal mehr als die Platinendicke. Bei 1.5mm Platinendicke sollte Drill Depth -1.65 (Vorzeichen beachten!) passen. Unbedingt eine dünne Holzplatte unter das Werkstück legen, so dass die Bodenplatte nicht beschädigt wird!
**Drill Dwell: 0.3 sec ist völlig reichlich.
**Spin Up Time: reichlich wählen, z.B. 3 Sekunden. Der PID-Regler der Spindel braucht auch etwas, bis er stabil läuft.
**Tool Dia.(meter): 0.25mm hat fürs Mutronic Multitool ganz gut funktioniert.
**Epsilon: 0.00254mm
**G-Code Style: EMC (der alte Name von LinuxCNC)
* Vorbereitung
* Vorbereitung
  mkdir gcode/ ; cd gcode/
  mkdir gcode/ ; cd gcode/
Zeile 31: Zeile 64:
   cd gcode/
   cd gcode/
   ./make_gcode.sh
   ./make_gcode.sh
<!--
== KiCAD ==
# Gerber-Files erzeugen (plotten)
# mit pcb2gcode konvertieren
-->


= Fräsen =
= Fräsen =
Zeile 40: Zeile 79:
Für einfache einlagige Platinen kann die Outline auch gut per Hand gefahren werden.
Für einfache einlagige Platinen kann die Outline auch gut per Hand gefahren werden.


== Ablauf ==
*Löcher für die Werkstückeinspannung manuell bohren; Abstand (relativ) egal, sollten aber ausreichend nah am Rand der Leiterplatte legen, damit man noch an die Stellschraube des verschiebbaren Befestigungsstiftes drankommt.
*Werkstück einspannen, Befestigungsbolzen sollten Spannung auf Werkstückplatte ausüben
*Werkstücknullpunkt festlegen. Beachten dass alles draufpasst und der Schlitten in allen Lagen komplett auf die Platine passt. Dabei muss etwas Platinenrand verschwendet werden.
*Spindel auf höchste Drehzahl (bei uns: 20000 U/min) einstellen.
*Löcher Bohren
*Isolationsfräsen: Top
*Platine umdrehen, neuer Ursprung ist vorne-rechts
*Isolationsfräsen: Bottom
*Trennen
Mit dem magischen Multiwerkzeug von Mutronic geht das alles auch mit dem gleichen Werkzeug -> Kein Wechseln. Zum Trennen ist das allerdings nicht so gut und geht schnell kaputt; da sollte dann eher ein Fräser verwendet werden.
Zum Isolationsfräsen benutzt man den Schlitten um die Leiterplatte gegen den Federboden anzudrücken, damit auch alles eben ist. Gerade Holzplatten sind enorm uneben, Leiterplatten sind wohl auch nicht perfekt. Durch den Federboden wird das halbwegs ausgeglichen.
Zwischen Werkstück und Bodenplatte ist eine dünne Holzplatte zu spannen, damit die Federplatte nicht beschädigt wird. Das Werkstück sollte zwischen den zwei Metallbolzen der Federplatte fest eingespannt und an den gegenüberliegenden Ecken z.B. mit Gaffertape auf der Bodenplatte fixiert werden.
== Vorbereitung ==
== Vorbereitung ==


Zeile 102: Zeile 156:


'''Achtet beim Fräsen auf jedenfall darauf, dass ihr nur minimal ins FR-4 fräst!''' Dadurch geht der Fräser nur frühzeitig kaputt. Wenn ihr weiße Späne seht, ist es definitiv zu viel!
'''Achtet beim Fräsen auf jedenfall darauf, dass ihr nur minimal ins FR-4 fräst!''' Dadurch geht der Fräser nur frühzeitig kaputt. Wenn ihr weiße Späne seht, ist es definitiv zu viel!
[[Kategorie:CNC-Fräse]]

Aktuelle Version vom 9. August 2023, 23:37 Uhr

Vorher G-Code-Referenz lesen: http://www.linuxcnc.org/docs/html/gcode.html

Wir haben das ursprünglich mit HPGL-Files und Editasc gemacht; derzeit verwenden wir Eagle und PCB-GCode. Die Herstellung passiert in mehreren Schritten: (die Reihenfolge ist nicht ganz klar, aber Bohren kommt zu erst)

Software installieren

Arch-Linux-User dürfen sich über pcb2gcode-git im AUR freuen, das zumindest momentan korrekt baut. Alle anderen müssen das Zeug von Hand installieren:

  • gerbv installieren
  • pcb2gcode installieren, braucht die gerade installierte libgerbv

Platinendesign

  • Die Platine sollte nahe des Eagle-Nullpunkts designt werden, der Nullpunkt selbst muss aber frei bleiben (Ecke auf dem Nullpunkt ist OK).
  • Die minimale Leiterbahnbreite, die wir mit der Fräse erreichen können, ist 18 mil. Für sorgenfreies Fräsen werden wo möglich 24 mil empfohlen. Entsprechendes gilt für die Groundplane. Lange diagonale Leiterbahnen sollten vermieden oder etwas breiter (20-24 mil) angelegt werden.
    • SMD-Widerstände, -Kondensatoren, etc. lieber in 0805
      • Leitungen zwischen deren Pads durchführen geht nicht (kein Lötstopplack)
    • Die kleinste verwendbare Packageart ist SOIC.
  • Mangels Toolchanger benutzen wir für alle Löcher das Multitool mit 0,6 mm Durchmesser. Bei Bedarf muss aufgebohrt werden.
  • Bei einlagigen Platinen müssen Through-Hole-Bauteile auf die nicht verkupferte Seite gebaut werden, damit sie auf der verkupferten Seite festgelötet werden können. In Eagle heißt das, dass alle diese Bauteile auf die Rückseite gehören.
  • Bei zweilagigen Platinen müssen Vias und die Pads von Through-Hole-Bauteilen größere "Restrings" bekommen. Dazu im Design Rule Check im Tab "Restring" Alle Minimumwerte auf 0.4 mm setzen (für Mutige 0.35 mm oder sogar 0.3 mm).
  • für größere Cutouts stollten ausreichend Stege eingeplant werden, sonst fliegt das lose werdende ausgeschnittene Stück rum und führt zu Problemen
  • die Linien im Dimension Layer sollten genügend Abstand zur Schaltung haben, so dass die Groundplane die Schaltung einmal komplett umgibt (und zusätzlich noch etwas Platz bleibt). So kann der Rand der Groundplane später als Platinenbegrenzung (wofür normalerweise ja die Linien im Dimension Layer vorgesehen sind) verwendet werden (beim Ausfräsen der Platine dann entsprechend dieses Groundplane-Rand fräsen).

Design Rules für KiCad

Im Pcbnew-Editor können Regeln über den Unterpunkt "Design Rules" im "Design Rules"-Menü vorgegeben werden. Folgende Einstellungen werden für das Fräsen vorgeschlagen (Änderungen vorbehalten):

  • Net Classes Editor
    • Clearance: ≥0.6mm (es seie denn man verwendet einen sehr speziellen Fräser)
  • Global Design Rules
    • Blind/buried Vias:
      • do not allow blind/buried vias
    • Micro Vias:
      • Do not allow micro vias
    • Minimum Allowed Values:
      • Min track width: 0.6
      • Min via diameter: 1
      • Min via drill diameter: 0.6

G-Code generieren

Eagle

  • Eagle-Layouts am besten mit PCB-GCode konvertieren. Installation:
    • Irgendwohin entpacken.
    • Pfad in Eagle Control Panel -> Options -> Directories -> User Language Programs anhängen (z.B. ":$EAGLEDIR/ulp/pcb2gcode" hinten anhängen)
  • Konfiguration von PCB-G-Code: Im Board: Menu -> Run ULP -> pcb-gcode-setup.ulp
    • Isolation: Single Pass. Mit mehreren Passes konnten wir noch keine guten Ergebnisse erzielen. Da müsste man mal noch mit den Parametern experimentieren.
    • Z High: 10-15mm reicht. Falls in der Nähe der Platinen-Befestigungsbolzen gefräst wird dann ist unter Umständen ein höherer Wert sinnvoll, damit der Schlitten den Bolzen nicht trifft.
    • Z Up: 3mm reicht.
    • Z Down: 0mm (!). Aufgrund unserer speziellen federnden Bodenplatte wird die Frästiefe bei uns nicht über Z Down geregelt sondern über g92 z0 und die Mikrometerschraube eingestellt. Z Down würde ein stärkeres anpressen des Schlittens an die Bodenplatte bewirken als beim Einstellen vor dem Fräsen, nicht aber eine größere Frästiefe. Daher kann der Wert einfach auf 0mm gesetzt werden. Dann muss beim Einstellen z = 0 so gelegt werden, dass die gewünschte Frästiefe erreicht wird (vorher Spindel starten nicht vergessen, sonst Fräser kaputt!).
    • Drill Depth: marginal mehr als die Platinendicke. Bei 1.5mm Platinendicke sollte Drill Depth -1.65 (Vorzeichen beachten!) passen. Unbedingt eine dünne Holzplatte unter das Werkstück legen, so dass die Bodenplatte nicht beschädigt wird!
    • Drill Dwell: 0.3 sec ist völlig reichlich.
    • Spin Up Time: reichlich wählen, z.B. 3 Sekunden. Der PID-Regler der Spindel braucht auch etwas, bis er stabil läuft.
    • Tool Dia.(meter): 0.25mm hat fürs Mutronic Multitool ganz gut funktioniert.
    • Epsilon: 0.00254mm
    • G-Code Style: EMC (der alte Name von LinuxCNC)
  • Vorbereitung
mkdir gcode/ ; cd gcode/
wget https://raw.githubusercontent.com/entropia/cnc/master/pcb2gcode/{millproject,preamble,make_gcode.sh,fraesen.dru}
# Falls die Platinen einseitig sind, in millproject entsprechend des Kommentares dort eine Zeile einkommentieren.
  • G-Code erzeugen
    • Design-Rule-Check mit gcode/fraesen.dru laufen lassen
 cd gcode/
 ./make_gcode.sh


Fräsen

Achtung: Die Fräse ist teuer, durchaus gefährlich und absolut unbarmherzig. Lass dir (z.B. im Rahmen deiner ersten Platine) eine Einführung geben und unbedingt helfen, wenn du unsicher bist.

Im Zweifelsfalle: F1 ist die Notbremse (in Linuxcnc). Dann ist vielleicht ein Fräser, aber nicht mehr kaputt.

Für einfache einlagige Platinen kann die Outline auch gut per Hand gefahren werden.

Ablauf

  • Löcher für die Werkstückeinspannung manuell bohren; Abstand (relativ) egal, sollten aber ausreichend nah am Rand der Leiterplatte legen, damit man noch an die Stellschraube des verschiebbaren Befestigungsstiftes drankommt.
  • Werkstück einspannen, Befestigungsbolzen sollten Spannung auf Werkstückplatte ausüben
  • Werkstücknullpunkt festlegen. Beachten dass alles draufpasst und der Schlitten in allen Lagen komplett auf die Platine passt. Dabei muss etwas Platinenrand verschwendet werden.
  • Spindel auf höchste Drehzahl (bei uns: 20000 U/min) einstellen.
  • Löcher Bohren
  • Isolationsfräsen: Top
  • Platine umdrehen, neuer Ursprung ist vorne-rechts
  • Isolationsfräsen: Bottom
  • Trennen

Mit dem magischen Multiwerkzeug von Mutronic geht das alles auch mit dem gleichen Werkzeug -> Kein Wechseln. Zum Trennen ist das allerdings nicht so gut und geht schnell kaputt; da sollte dann eher ein Fräser verwendet werden.

Zum Isolationsfräsen benutzt man den Schlitten um die Leiterplatte gegen den Federboden anzudrücken, damit auch alles eben ist. Gerade Holzplatten sind enorm uneben, Leiterplatten sind wohl auch nicht perfekt. Durch den Federboden wird das halbwegs ausgeglichen.

Zwischen Werkstück und Bodenplatte ist eine dünne Holzplatte zu spannen, damit die Federplatte nicht beschädigt wird. Das Werkstück sollte zwischen den zwei Metallbolzen der Federplatte fest eingespannt und an den gegenüberliegenden Ecken z.B. mit Gaffertape auf der Bodenplatte fixiert werden.

Vorbereitung

  • Löcher für die Werkstückeinspannung manuell in die rechte untere und rechte obere Ecke der Leiterplatte bohren
  • Pappe auf den Federtisch kleben (sollte schon dort sein)
  • Leiterplatte einspannen, die Befestigungsbolzen sollten etwas Spannung ausüben. Gegenüberliegende Seite mit Gaffa festkleben

Löcher

  • Multitool einspannen, Schlitten hochklappen
  • Fräse an (20000 U/min), Gebläse an
  • Neben der Leiterplatte Fräse so weit herunterfahren, dass das Multitool die Pappe gerade so anbohrt. Dort z = 0 setzen.
  • Ursprung für die Platine aussuchen. Fräse dort hinfahren und x = 0, y = 0 setzen. Beachten dass alles draufpasst und der Schlitten (ca. 35×35 mm groß) in allen Lagen komplett auf die Platine passt und nicht an die Haltestifte stößt. Dabei muss etwas Platinenrand verschwendet werden.
  • Falls die Platine gewendet werden muss (Platine ist zweilagig), bei x = 0, y = 0 ein Loch durch die Platine bohren.
  • drill.ngc ausführen

Traces auf der Vorderseite

  • Schlitten runterklappen
  • Fräse an (20000 U/min), Gebläse an
  • Neben der zu fräsenden Schaltung den Schlitten aufsetzen. Der Schlitten soll die Platine fest auf den Untergrund drücken und die Federplatte etwas eindrücken. In dieser Position z = 0 setzen.
  • Prüfen, dass der Fräser eine möglichst schmale, aber deutliche Spur hinterlässt (das Kupfer muss definitiv getrennt sein). Falls nötig mit der Mikrometerschraube nachregeln: größere Zahlen = größere Frästiefe. Falls schmale Leiterbahnen oder SOIC-Chips beteiligt sind, kommt es hier auf jeden Mikrometer an, den der Fräser weiter hochgedreht werden kann.
  • front.ngc ausführen

Traces auf der Rückseite

  • Platine wenden (Nein! Doch! Ohhh!)
  • Fräse an (20000 U/min), Gebläse an
  • Das Loch im Nullpunkt suchen, Fräse dort hinfahren und x = 0, y = 0 setzen. Das muss leidlich genau sein (insbesondere, wenn die Restrings kleiner gewählt wurden).
  • Prüfen, dass die Fräserspur noch OK ist
  • back.ngc ausführen

Outline

  • 1.6mm-Fräser einspannen, Schlitten hochklappen
  • Fräse an (20000 U/min), Gebläse an
  • Neben der Leiterplatte Fräse so weit herunterfahren, dass der Fräser die Pappe gerade so anbohrt. Dort z = 0 setzen.
  • Prüfen, dass in outline.ngc die Koordinaten korrekt sind. Sind sie es nicht, wurde die Option cut-front in pcb2gcode wahrscheinlich falsch gesetzt.
  • outline.ngc ausführen oder von Hand Outline abfahren (Jog-Speed verringern).

Nach dem Fräsen bitte Fräse absaugen.

Löten

  • Vias und Through-Hole-Bauteile, die auf beiden Seiten Kontakt haben müssen, müssen manuell durchkontaktiert werden (auf beiden Seiten Lötzinn auftragen), bei Vias eventuell mit einem Stück Draht nachhelfen.

Fräsen von Leiterplatten mit 0.2mm Fräsbreite

Wer extrem Feines Zeug fräsen will (0603, TSSOP) kommt nicht drumrum, mit einem speziellem Fräser zu fräsen.

Bitte benutzt diesen Fräser NUR, wenn es wirklich nötig ist, um die Abnutzung zu minimieren!

Fräser richtig justieren:

  • Schlitten runterklappen, µm-Schraube auf 10 drehen
  • Fräser so tief ins Bohrfutter einführen, dass die Spitze über dem Schlitten ist
  • Über die Leiterplatte fahren und so tief absenken, dass der Schlitten die Platine leicht runter drückt
  • Bohrfutter so weit lösen, dass der Fräser runterfällt und mit der Spitze auf der Platine steht
  • Bohrfutter wieder fest machen
  • z0 setzen (g92 z0)
  • Ein bisschen hochfahren
  • µm-Schraube auf 20 drehen
  • Fräsen mit 20000 U/min bei Feedrate von 100. Mehr sollte kein Problem sein.

Achtet beim Fräsen auf jedenfall darauf, dass ihr nur minimal ins FR-4 fräst! Dadurch geht der Fräser nur frühzeitig kaputt. Wenn ihr weiße Späne seht, ist es definitiv zu viel!