Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

In diesem Tutorial zeige ich den Bau einer Arduino-basierten 3D-Drahtbiegemaschine. Ein klassisches mechatronisches System: Mechanik, Elektronik, Informatik. Ideal für Ingenieurstudierende oder Mechatronik-Einsteiger.

Video oder schriftliche Anleitung unten.

Funktionsweise

Draht läuft durch Richtrollen (Richtwalzen). Ein Schrittmotor fördert den Draht präzise zum Biegewerkzeug, das einen weiteren Schrittmotor und ein kleines Servo nutzt. Ein dritter Schrittmotor (Z-Achse) dreht das Biegewerkzeug um den Draht – so entstehen 3D-Formen. Gesteuert wird alles von einem Arduino auf einer Custom-PCB.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung
Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Software: Eigene Funktionen für Formen (Stern, Würfel, Ständer) und manueller Modus (Befehle per Serial Monitor).

3D-Modell der Drahtbiegemaschine

Design in 3D-CAD. Modell auf Thangs zum Download & Browser-Exploration.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung
Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Teile wie Zahnräder, Lagerböcke, Wellenkupplungen wurden 3D-gedruckt (STL-Dateien oben). Mein Creality CR-10 lieferte tolle Qualität.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Maschine bauen

Weitere Teile aus MDF (8 mm) und Sperrholz (18 mm) per Kreissäge zugeschnitten. Basis: zwei MDF-Platten, vier Sperrholz-Säulen, Holzleim & Schrauben.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Obere Platte: 3D-gedruckte Lagerböcke (8 mm Schrauben) mit 3-mm-MDF-Distanzplatten für korrekte Höhe. 6202-Kugellager (35 mm Außendurchmesser, 15 mm Innendurchmesser) einpressen. Durch diese Lager läuft ein 15-mm-Hohlwelle (Kupferrohr, ~30 cm) – die Z-Achse.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Zwischen den Lagern: 3D-gedrucktes Zahnrad (Modul 1.5, 30 Zähne) mit M3-Nuten/Schrauben auf Welle fixieren.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Z-Achsen-Schrittmotor: 3D-gedruckter Halter, 18-Zähne-Rad auf Motorwelle (gleiche Befestigung). Halter mit Langlöchern für korrektes Zahneingriff.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung
Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Vorschub-Schrittmotor direkt auf Oberplatte montieren (4 Schrauben, Muttern als Distanzhülsen). Auf Welle: 3D-gedruckter Wellenkupplung mit Kupferrohr als Kontaktfläche für Drahtvorschub.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung
Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Gegenüber: Hebel mit Lager, der gegen Vorschub drückt. Sperrholzstück mit T-Nut & Schraube für einstellbaren Anpressdruck.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Drahtrichtsystem: Drei M8-Schrauben befestigen Sperrholzstück mit Bohrungen. Rollen = Lager + 3D-gedruckte gerillte Außenringe. Drei Rollen links, zwei rechts. Rechte Seite mit Schlitzen für bündige Schrauben. Zwei Schrauben + Muttern ziehen beide Seiten zusammen.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung
Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Zwei weitere Sperrholzstücke als Drahtführungen vor/nach Richtrollen.

Biegewerkzeug: MDF-Platte zurechtsägen (Hand-, Laubsäge, Feile). 38-mm-Lochsäge für NEMA-23-Schrittmotor (Biegemotor). Kleinere Bohrungen für andere Teile.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

NEMA 23 mit M4-Schrauben befestigen. 18-Zähne-Rad (Modul 2.5) auf Motorwelle. Kupplung mit großem 30-Zähne-Rad (Custom-Design mit integrierter Platte für MG996R-Servo). Servo bewegt Zahnstange (Stift), der aus dem Rad herausfährt und Draht biegt. 5-Minuten-Epoxid: Lager auf Rad, Kupferrohr auf Zahnstange als Kontaktfläche.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Großes Rad mit M8-Schraube fixieren, Zahnstange & Servo einbauen, Servo-Horn mit zwei M3-Schrauben an Zahnstange. Fertig.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung
Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Biegewerkzeug an Z-Achse: Zwei 3D-gedruckte Wellenklemmen an Biegeplatte (M6), in Hohlwelle stecken, Muttern einsetzen, festziehen. Alle beweglichen Teile funktionieren.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Fehlt: 3-mm-Düse an Drahtauslass, Mikro-Endschalter unten am Bieger für Nullposition.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung
Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Mechanik fertig – jetzt Elektronik & Programmierung.

Schaltplan

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Drei Schrittmotoren via drei DRV8825-Treiber. 12 V Netzteil (≥3 A). Servo (MG996R) separat über LM7805 5-V-Regler (Arduino-5V-Regler könnte überlasten). Endschalter mit Pull-Up an Digitalpin.

Komponenten-Links:

  • NEMA 17 Schrittmotor
  • NEMA 23 Schrittmotor
  • DRV8825 Schrittmotortreiber
  • Mikro-Endschalter
  • 12V 2A Netzteil
  • DC-Buchse
  • Arduino Board

PCB-Design

Custom PCB (EasyEDA) für übersichtliche Verkabelung. Beide Layout-Lagen genutzt. Schrittmotor-Resolution-Pins, zusätzlicher Endschalter, freie digitale/analoge Pins.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Gerber-Dateien → JLCPCB (Sponsor). Bestellung, Viewer-Check, Eigenschaften wählen, günstig (Erstbestellung: 10 PCBs für 2 $).

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung
Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

PCBs angekommen – top Qualität.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

PCB bestücken

Stiftleisten für einfache Montage/Demontage. Kleinteile (Kondensatoren, Widerstände, LM7805, Klemmen) direkt verlöten. Schrittmotortreiber & Arduino aufstecken. Netzteil & Schalter an Klemmen, Motorkabel anschließen (beidseitig). Servo an Digitalpin 2, 5V vom LM7805. Schrittmotor-Resolution per Jumper wählen (ich nutze 1/16-Schritt).

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung
Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Arduino-Code für 3D-Drahtbiegemaschine

AccelStepper-Library (Mike McCauley) für Schrittmotoren, Servo-Library. Pins & Variablen definieren.

#include <AccelStepper.h>
#include <Servo.h>
#define limitSwitch 11
AccelStepper feederStepper(1, 5, 6); // (Treiber, STEP, DIR)
AccelStepper zAxisStepper(1, 7, 8);
AccelStepper benderStepper(1, 9, 10);
Servo servo01;
String dataIn = "", manualStatus = "";
int count = 0, dist;

Setup: Servo-Startposition (Biegestift oben), Bieger-Nullung per Endschalter. Schrittmotoren MaxSpeed 2000. Referenzfahrt: Bieger dreht bis Endschalter auslöst, Position = 0, dann 1400 Schritte gegen Uhrzeigersinn zur Startposition.

void setup() {
  Serial.begin(9600);
  pinMode(limitSwitch, INPUT_PULLUP);
  servo01.attach(2); servo01.write(40); // Stift oben
  feederStepper.setMaxSpeed(2000);
  zAxisStepper.setMaxSpeed(2000);
  benderStepper.setMaxSpeed(2000);
  // Homing
  while (digitalRead(limitSwitch) != 0) {
    benderStepper.setSpeed(1200); benderStepper.runSpeed();
    benderStepper.setCurrentPosition(0);
  }
  delay(40);
  while (benderStepper.currentPosition() != -1400) {
    benderStepper.setSpeed(-1200); benderStepper.run();
  }
  benderStepper.setCurrentPosition(0);
}

Loop: Auf Serial-Befehle warten. „manual“ → Manueller Modus, „star“ → Stern, „cube“ → Würfel, „stand“ → Ständer.

void loop() {
  String mode = Serial.readString();
  if (mode.startsWith("manual")) manual();
  if (mode.startsWith("star")) star();
  if (mode.startsWith("cube")) cube();
  if (mode.startsWith("stand")) stand();
}

Beispiel star(): 5 Schleifendurchläufe (5 Zacken). Draht vorschieben (38 mm → Steps), Biegestift hoch, 52° biegen, zurück, wieder vorschieben, Stift runter, neue Startposition für Gegenrichtung, 105° andere Richtung, 63° zurück, Stift hoch, Zähler erhöhen.

void star() {
  while (count != 5) {
    int feed = 38; int feedDistance = feed * 48; // mm → Steps
    while (feederStepper.currentPosition() != feedDistance) {
      feederStepper.setSpeed(1200); feederStepper.run();
    }
    feederStepper.setCurrentPosition(0);
    servo01.write(40); delay(200);
    int angleConst = 18;
    // 52° biegen
    while (benderStepper.currentPosition() != -52 * angleConst) {
      benderStepper.setSpeed(-700); benderStepper.run();
    }
    benderStepper.setCurrentPosition(0); delay(100);
    // zurück
    while (benderStepper.currentPosition() != 52 * angleConst) {
      benderStepper.setSpeed(1200); benderStepper.run();
    }
    benderStepper.setCurrentPosition(0); delay(100);
    // wieder vorschieben
    while (feederStepper.currentPosition() != feedDistance) {
      feederStepper.setSpeed(1200); feederStepper.run();
    }
    feederStepper.setCurrentPosition(0); delay(100);
    servo01.write(130); delay(200); // Stift runter
    // neue Startposition für Gegenrichtung
    while (benderStepper.currentPosition() != -42 * angleConst) {
      benderStepper.setSpeed(-1200); benderStepper.run();
    }
    benderStepper.setCurrentPosition(0); delay(200);
    servo01.write(40); delay(200); // Stift hoch
    while (benderStepper.currentPosition() != 105 * angleConst) {
      benderStepper.setSpeed(700); benderStepper.run();
    }
    benderStepper.setCurrentPosition(0); delay(50);
    while (benderStepper.currentPosition() != -63 * angleConst) {
      benderStepper.setSpeed(-1200); benderStepper.run();
    }
    delay(100); servo01.write(130);
    benderStepper.setCurrentPosition(0); count++;
  }
}

Ähnlich für Würfel & Ständer. Manueller Modus: Befehle per Serial: „f“ (Vorschub mm), „b“ (Biegen Grad), „z“ (Z-Achse drehen).

if (dataIn.startsWith("f")) {
  dataInS = dataIn.substring(1); dist = dataInS.toInt();
  Serial.print("Feed "); Serial.print(dist); Serial.println("mm wire.");
  dist = dist * 48;
  while (feederStepper.currentPosition() != dist) {
    feederStepper.setSpeed(1200); feederStepper.run();
  }
  feederStepper.setCurrentPosition(0); delay(100);
}

Kompletter Code am Ende.

/* Arduino 3D Wire Bending Machine by Dejan Nedelkovski
   www.HowToMechatronics.com
   Library - AccelStepper by Mike McCauley... */
#include <AccelStepper.h> #include <Servo.h>
// ... (vollständiger Code wie im Original) ...

Hinweis: Das Drahtrichtsystem funktioniert nicht perfekt – zu fest angezogen verliert der Vorschub den Halt. Lösung: Stärkeres Material statt Kupferrohr oder anderes Vorschubsystem.

Arduino-gesteuerte 3D-Drahtbiegemaschine bauen: Schritt-für-Schritt-Anleitung

Viel Spaß beim Nachbauen! Fragen in den Kommentaren, Arduino-Projektsammlung anschauen.


Herstellungsprozess

  1. Die Entwicklung und Fertigung von Nähmaschinen: Von der Innovation des 19. Jahrhunderts zur modernen Automatisierung
  2. Stacheldraht: Geschichte, Konstruktion und moderne Verwendung
  3. Premium Sechseckdrahtgeflecht-Maschine für Landwirtschaft & Geflügel
  4. Draht-EDM-Schneidmaschinen: Präzision & Kosteneinsparung im Fokus
  5. Biegemaschinen für Bleche: Typen, Prozesse & Anwendungen
  6. Drahterodieren in Taiwan: Präzision für die Metallindustrie
  7. Spitzen-Draht-EDM-Maschinen: Präzisionsschneidlösungen aus Taiwan
  8. Professionelle CNC-Rohrbiegemaschine: Präzision & Effizienz
  9. Expertenleitfaden zu Vierkantrohr-Biegemaschinen
  10. Hydraulische Rohrbiegemaschine: Präzision für die Werkstatt