Platinen-Bestückung: Billig-CNC-Fräse als Lötpasten-Dispenser (Teil 2)

Teure Edelstahl-Pastenschablonen erspart man sich mit unserem DIY-Dispenser: Im zweiten Teil geht es um die Software und Tipps für erfolgreiches Arbeiten.

In Pocket speichern vorlesen Druckansicht 9 Kommentare lesen
Lesezeit: 8 Min.
Von
  • Carsten Meyer
Inhaltsverzeichnis

Für die Ansteuerung unseres CNC-Dosierers aus Teil 1 des Projekts für einen Lötpasten-Dispenser im Selbstbau benötigt man ein Programm, das die Pad-Positionen aus den vom Layout-Programm ausgegebenen Gerber-Daten in G-Code-Befehle für die GRBL-Steuerung umsetzt und mit 115200 Bd/8n1 an den virtuellen COM-Port (die Fräsensteuerung arbeitet wie viele Arduino-Clones aus China mit dem USB-Seriell-Umsetzer CH340) ausgibt.

Die Gerber-Schablonendatei enthält ganz zu Anfang eine Format-Spezifikation und eine Liste mit den verwendeten "Blenden", also den Pad-Abmessungen – ein Relikt aus Zeiten der CNC-Fotobelichter. Der Blendenliste folgen simple XY-Positionen; bei Pads sind sie mit dem Suffix "D03*" (Flash-Belichtung) abgeschlossen:

G04 EasyPC Gerber Solder Paste *
%FSLAX35Y35*% // Format-Spezifikation Vor-/Nachkommastellen
%MOIN*% // Inches, oder %MOMM*% für mm
%ADD11R,0.04128X0.05112*% // Definition Blende 11, Rechteck
%ADD13R,0.05900X0.09800*% // Definition Blende 13, Rechteck
%ADD14C,0.00787*% // Definition Blende 14, Kreis usw.
%ADD10R,0.07600X0.02100*%
%ADD12R,0.05112X0.04128*%
X0Y0D02* // Move-Befehl, Nullpunkt
D02*
D10* // Auswahl Blende 10
X106394Y103780D03* // XY-Koordinaten 1. Pad für Blende 10
Y108780D03* // Y-Koordinaten 2. Pad für Blende 10 usw.
Y113780D03*
Y118780D03*
Y123780D03*D02*
D11* // Auswahl Blende 11
X17644Y101644D03* // XY-Koordinaten 1. Pad für Blende 11
X25644D03*
X37644D03*
X45644D03*
...
M02* // Ende

Wir verwenden die Pad-Abmessungen, um bei größeren Pads mehr Paste aufzutragen und gegebenenfalls auf mehrere Punkte zu verteilen, so dass auch größere Bauteile (z.B. Spannungsregler) eine ausreichende Menge Lötpaste erhalten.

Wegen ihrer äußerst mächtigen Listen- und Tabellenfunktionen wählten wir für die Programmierung die Delphi-Entwicklungsumgebung von Embarcadero, die als Community Edition für Maker kostenlos heruntergeladen werden kann. Unser Dosier-Programm importiert nicht nur Gerber-Pastendaten, sondern kann auch einfache SMD-Patterns (etwa für SO- und BGA-Gehäuse) selbst anlegen. Das ist äußerst praktisch, wenn zum Beispiel ein BGA-Chip nach dem Auslöten nachbestückt werden muss; ein Pastenauftrag mit Schablone ist dann ja nicht mehr möglich, und niemand möchte 196 oder 256 Pastenkleckse von Hand aufbringen.

(Bild: Unser selbstgeschriebenes Dispenser-Programm legt auf wunsch auch einfache Patterns für Nachbestückungsaufgaben an.)

Nach einigen Experimenten fanden wir einen optimalen Dosier-Algorithmus: Zunächst fährt die Nadel mit etwa 2mm Z-Abstand an das Pad heran und es wird ein kurzer Druckluft-Impuls (50 bis 200ms, abhängig von der Pad-Größe) ausgelöst, so dass sich an der Kanülenspitze ein kleines Pasten-Tröpfchen bildet. Dann wird die Spitze mit Z-Höhe 0 aufgesetzt und rasch wieder nach oben gezogen; das Tröpfchen bleibt dann am Pad kleben. Bei größeren Pads (> 2,5mm) werden zwei oder vier Tröpfchen auf dem Pad verteilt.

Stellen Sie nach dem Start zunächst die Schnittstelle und deren Parameter ein (Button Setup). Für GRBL 0.9 verwenden Sie die Baudrate 115200, 8 Data Bits, 1 Stop Bit, kein Parity und kein Flow Control. Das Programm ist auch mit der neueren GRBL-Version 1.1 kompatibel, nutzt aber dessen luxuriöse Jog-Funktionen nicht. Nach den anschließenden Connect führt die Software ein automatisches Homing der Maschine durch, der Maschinen-Nullpunkt ist damit bekannt.