LinuxCNC mit Raspberry Pi

LinuxCNC mit Raspberry Pi 4B 8G und Schwanekamp CNC-1000 mit dem Motortreiber SM 1020 Stepper-Motor-Driver

Im Folgenden dient LinuxCNC 2.9.4 als Basis.

Dafür ist zunächst die Datei LinuxCNC 2.9.4 Raspberry Pi 4 OS based on Debian Bookworm von LinuxCNC.org zu holen und zu entpacken. Ich ziehe die Lösung, die SD-Karte mit dd zu erstellen, vor.

$ sudo dd if=rpi-4-debian-bookworm-6.12.11-arm64-ext4-2025-01-27-0404.img of=/dev/sdX status=progress bs=32M && sync

/dev/sdX ist die SD-Karte, auf die geschrieben werden soll.
Mit dieser SD-Karte wird der RasPi gebootet. Benutzername und Passwort sind cnc.
Alles weitere passiert dann auf dem RaspPi, der dazu Tastatur, Maus und Monitor benötigt.

Als erstes sind ein paar Konfigurationen zu erledigen. Dazu ruft man das entsprechnde Programm auf :

$ sudo menu-config

Mit dem Netzwerk gehts los :

N) Netzwerk -> 6) Edit Interfaces

Hier werden die Kommentar-# im Abschnitt Ethernet entfernt. Bei Bedarf werden feste Adressen eingetragen, dann muss in der Zeile iface das Wort dhcp durch static ersetzt werden.

Dann ist die Lokalisierung dran :

4) Locales

Bei de_DE.UTF-8 UTF-8 drückt man einmal die Leertaste. Es erscheint ein Stern im Auswahlkästchen.
Im nächsten Menü wählt man wieder de_DE.UTF-8 aus. Danach passiert erstmal eine ganze Weile nichts, im Hintergrund wird die Lokalisierung eingestellt.

5) Timezone

stellt man auf "Europe" und "Berlin".
Schließlich noch einmal neu booten und die Einstellungen wirken :

$ sudo shutdown -r now

Als nächstes ist dann der Latenz-Test dran, die sich ergebenden Maximalwerte braucht man später zum Einrichten von LinuxCNC.

$ /usr/bin/latency-test

Raspberry Pi GPIOs - PC-Schnittstelle

GPIO RaspPi-Pin Ein-/Ausgang PC-Pin Funktion
14 8 Ausgang 1 Relais, potentialfrei (weiße 4mm-Buchsen)
15 10 Ausgang 2 X - Drehrichtung
18 12 Ausgang 3 X - Takt
23 16 Ausgang 4 Y - Drehrichtung
23 18 Ausgang 5 Y - Takt
25 22 Ausgang 6 Z - Drehrichtung
8 24 Ausgang 7 Z - Takt
GND 6 10 Masse (GND)
16 36 Eingang 11 Ref.-Schalter Z Pin 1 (mit 10k Pullup gegen 5V)
20 38 Eingang 12 Ref.-Schalter Y Pin 5 (mit 10k Pullup gegen 5V)
21 40 Eingang 13 Ref.-Schalter X Pin 3 (mit 10k Pullup gegen 5V)
GND 6 15 Masse (GND)
GND 6 18 Masse (GND)
GND 6 19 Masse (GND)
GND 6 20 Masse (GND)
GND 6 21 Masse (GND)
GND 6 22 Masse (GND)
GND 6 23 Masse (GND)
GND 6 24 Masse (GND)
GND 6 25 Masse (GND)

Jetzt muss LinuxCNC auf die Schwanekamp CNC-1000 und den Raspberry Pi 4 konfiguriert werden.

$ /usr/bin/stepconf

Aus der Tabelle oben ergibt sich der Schaltplan und daraus der Adapter :

Bestückungsseite Lötseite

Das ist erstmal der aktuelle Stand am 9.4.2025. Als nächstes kommt das Einrichten der Schnittstelle im LinuxCNC, dann das Testen der Adapterschaltung ohne Fräse und schließlich der erste Fräsversuch.

© Uwe Jantzen 13.04.25