Donnerstag, 23. Dezember 2021

Platinen selber fräsen

Da die Preise für Printed Circuit Boards bei den bekannten Lieferanten wie Oshpark , JLC PCB  oder NEXT PCB  mittlerweile hoch bzw. die Lieferzeiten nach Deutschland lang sind
möchte ich mit Hilfe meiner neuen CNC Fräse kleine, einlagige PCBs selber herstellen. In meiner Bastelkiste liegen noch einige alte, mit Fotolack beschichtet PCBs. Die fotoaktive Schicht lässt sich recht leicht mit Klebstoffentferner oder Abbeizmittel ablösen. Bevor wir jedoch mit dem Isolationsfräsen beginnen können, muss das Board erstellt werden. Als Alternative zu EAGLE möchte ich die frei verfügbare und quelloffene Layoutsoftware KiCAD verwenden. 


Auf YouTube finden sich etliche Tuorials. In der Tutorialreihe von Smart Home Your Self können auch Einsteiger die Wiedergabegeschwindigkeit unter Einstellungen im Player auf 1,25 bzw. 1,5 fach stellen. Bis Folge #8 werden die wesentlichen Schritte erklärt. Diese sind: Schaltplan erstellen, Annotation d.h. Beschriftung und Nummerierung vornehmen, Electrical Rule Check durchführen und den einzelnen Symbolen einen Footprint zuweisen. 


Existiert der Footprint noch nicht, muss ein neues Bauteil erstellt werden. Thomis Bastelstube erklärt wie es geht.  Es empfiehlt sich im Footprinteditor unter 'Datei/Neue Bilbilothek' eine neue globale Bibliothek anzulegen die für alle Projekte zugänglich ist. Dann muss eine neuer Footprint z.B. SMD 450_325 entsprechend den Außenabmessungen eines z.B. SFH7741 Bauteils definiert werden. Die Bezeichnung 'Ref*' im Silklayer wird entsprechend auf  'SFH7741' geändert. Dann werden die Pads platziert, und die Größe gemäß dem im Datenblatt empfohlenem solderpad Layout gewählt. Anschließend wird das Bauteil in der Bibliothek gespeichert.


Als Nächstes muss eine Netzliste erstellt werden, bevor mit dem Modul 'PCBnew' die gedruckten Platine erzeugt wird.


Leider besitzt KiCad keine Autorouting Funktion. Zum Routen wird die Software freerouting  empfohlen. Von Thomis Bastelstube gibt es auch hierfür eine Anleitung.  Aus 'PCBNew' muss das Boards als Spectra *.dsn file exportiert und in freerouter eingelesen werden. Das Bild unten zeigt die settings. 

Danach kann mit 'Start Autoroute' der Routing Vorgang gestartet werden. Nach Abschluss soll ein Spectra Session *.ses file exportiert werden. Dieses kann theoretisch wieder in KiCADs PCBNew Modul importiert werden.
Allerdings bin ich auf Probleme mit den Windows binaries von freerouting gestoßen. Die Version v1.4.4 liest die *.dsn Dateien nicht ein, und v1.4.5 exportiert die *ses Datei nicht (0kB). Ich habe daraufhin das Java SDK installiert  Aber auch im v1.4.6 snaphot build als *.jar ausgeführt, wird die *.ses Datei nur exportiert wenn die *.dsn Datei eigelesen, dann das Projekt mit 'save und exit' gespeichert, und anschließend als *.bin Datei erneut eingelesen wird. Das Ganze ist etwas umständlich. Ich habe daher mein kleines Breakoutboard für den SFH7741 Näherungssensor mit der Hand gerouted.

Für eine professionellere Boardgestaltung möchte auch auf die Möglichkeit hinweisen eigene Logos z.B. aus *jpg Dateien durch den integrierten Bitmap zu Bauteil Konverter erstellen zu lassen. 


Der Pfad zum so erzeugte *.kicad_mod file kann unter 'Einstellungen/Verwalten von Footprintbibliotheken' z.B. zu den globalen Bibliotheken hinzugefügt werden. 
Beschriftungen und Logos sollten im 'Front Silk' oder gespiegelt in 'Back Silk' Layer erfolgen. Platinenbegrezungen werden in den 'Edge_cuts' Layer geschrieben. 
Sind alle Leiterbahnen fertig verlegt sowie Löcher und Logos platziert, ist das Bord fertig zur Weiterverarbeitung in anderen Dateiformaten. Mit KiCAD können z.B. für professionelle PCB Hersteller klassische Gerber Dateien erzeugt werden. Thorsten Kattanek zeigt auf seinem YouTube Kanal wie das geht. Im Wesentlichen druckt man unter 'Datei/Plot' einzelne Layer z.B. 'F_Cu', 'B_Cu' und 'edge cuts' in *bgr. files. Mit dem Modul 'GerbView' kann man sich diese in KiCAd anzeigen lassen. 
Zum Isolationsfräsen müssen wir allerdings G-code erzeugen. Das kann man am Einfachsten mit einem Online Tool wie von Carbide Copper machen. Carbide Copper hat hierfür eine Anleitung ins Netz gestellt . Allerdings ist die Methode wirklich nur für sehr einfache Strukturen geeignet und erzeugt manchmal seltsame Offsets. 
Ich habe mir daher Carbide Create heruntergeladen. Um Carbide Create nutzen zu können, werden die relevanten Layer wie 'B_Cu' und 'edge_cuts' im DXF Format geplottet. Für Bohrlochmarkierungen sollte 'tatsächliche Größe' gewählt werden, und als Einheit 'mm'. Dann kann die Datei in Carbide Create importiert werden. Wenn die Kupferrückseite 'B_Cu' als Vorderseite verwendet werden soll, muss 'mirror horizontal' ausgewählt werden. 


Unter 'Edit / Show Tool Database' kann ein neues Werkzeug angelegt werden.


Um eine hohe Genauigkeit zu erzielen, und ein Ausreißen des Platinenmaterials zu verhindern empfiehlt es sich 2 Fräspfade mit je 0,05 mm Tiefe zu definieren. Auch ein langsamer Vorschub von ~25mm/min ist von Vorteil. Die 'Plungerrate' d.h. die Geschwindigkeit mit der der Fräskopf ins Material eintaucht ist eigentlich irrelevant, da der Fräskopf i.d.R. nur einmal und nur sehr wenig eintaucht. Ich habe daher unter 'Contour / Toolpath' 0,05 mm 'depth per path' und 0,1 mm 'max depth' eingestellt. Mit diesen Settings beträgt die Fräsbreite bei Verwendung eines Gavierstichels mit nomineller Spitze von 0,1 mm auf meiner Maschine dann 0,3 bis 0,4 mm. Bei der Konstruktion des Boards ist also darauf zu Achten, dass die Leiterbahnbreite ausreichend groß gewählt ist. Ich habe 0,8 mm gewählt. Der gcode soll 'GRBL optimiert' gespeichert werden, und kann anschließend in den Universal G Code Sender UGS geladen


oder auf SD Karte gespeichert werden. Wird der Code auf SD-Karte gespeichert, kann er mit Hilfe eines Offline Controllers  an die CNC Maschine geschickt werden. 


Es empfiehlt es sich dann in der *.nc Datei die Zeilen mit 'Programm Stopp' M0 und 'manuellem Toolwechsel'  M6 im Header zu entfernen, da das Programm nach dem Halt nicht wieder gestartet werden kann. Kurz vor 'Programmende' M02  kann man auch G0X0.0Y0.0 einfügen um wieder auf die Ausgangsposition zurückzufahren. Abschließend kann der modifizierte G-Code z.B. noch mit einem online Simulator wie NC Viewer getestet werden.


Dann kann das Fräsen endlich losgehen. Unten ist ein Bild des fertig gefrästen breakout boads zu sehen.


Die Bohrungen habe ich nachträglich mit einem Dreml eingebracht. Das Ankörnen und Vorbohren klappt übrigens recht gut mit dem in den Dreml eingespannten V-förmigen Gravierstichel. Nachdem das SFH7741 SMD Bauteil aufgelötet ist, und die Drahtbeinchen zur Verwendung auf einem bread board angelötet sind, kann der Abstandssensor im Betrieb genommen werden.



Viel Spaß beim selber Fräsen und Basteln...

Keine Kommentare:

Kommentar veröffentlichen