Arduino-CNC-Plotter selbst bauen: Schritt-für-Schritt-Anleitung für eine Zeichenmaschine
Komponenten und Zubehör
| Arduino Nano R3 | ×1 |
| Texas Instruments L293D Dual H-Bridge Motortreiber | ×1 |
| SG90 Mikro-Servomotor | ×1 |
| Schrittmotor aus DVD-Laufwerk | ×1 |
| JLCPCB individuelles PCB | ×1 |
Benötigte Werkzeuge und Maschinen
- Lasercutter (generisch)
- 3D-Drucker (generisch)
Apps und Online-Dienste
- Arduino IDE
- Inkscape
- Processing (The Processing Foundation)
- EasyEDA
Über dieses Projekt
Hey Leute! Ich hoffe, ihr hattet Spaß an meinem vorherigen Tutorial „Wie man eine eigene Arduino-Trainingsplattform baut“ und seid bereit für ein neues. Wie üblich habe ich diese Anleitung erstellt, um euch Schritt für Schritt beim Bau dieses super tollen, kostengünstigen Elektronikprojekts zu begleiten – dem „CNC-Plotter“, auch bekannt als „CNC-Zeichenmaschine“ oder einfach „Arduino-CNC-Maschine“. ^_^
Ich fand viele Tutorials im Netz, die erklären, wie man einen CNC-Plotter baut, aber aufgrund fehlender Informationen war es etwas schwierig, eine solche Maschine zu bauen. Deshalb habe ich mich entschieden, dieses Tutorial zu starten, in dem ich detailliert zeige, wie man einfach seine eigene Zeichenmaschine baut.
Dieses Projekt ist besonders praktisch, nachdem man das maßgeschneiderte PCB von JLCPCB erhalten hat. Es verbessert nicht nur das Erscheinungsbild der Maschine, sondern es gibt auch ausreichend Dokumentation und Code in dieser Anleitung, um die Maschine problemlos zu erstellen. Wir haben dieses Projekt in nur 5 Tagen realisiert: drei Tage für die Beschaffung aller Teile und den Hardware-Bau sowie die Montage, dann 2 Tage für die Code-Vorbereitung und Justierungen. Bevor wir beginnen, schauen wir uns zuerst an, was dich erwartet.
Was du in diesem Tutorial lernst
- Die richtige Hardware-Auswahl für dein Projekt basierend auf den Funktionalitäten
- Erstellung des Schaltplans zum Verbinden aller gewählten Komponenten
- Montage aller Projektteile (mechanische und elektronische Montage)
- Skalierung der Maschinenbalance
- Inbetriebnahme und Steuerung des Systems
Schritt 1: Was ist eine Plotter-Maschine?
Da ich dieses Tutorial für Anfänger erstellt habe, sollte ich zuerst detailliert erklären, was eine Zeichenmaschine ist und wie sie funktioniert!
Wie auf Wikipedia definiert, steht CNC für Computer Numerical Control – eine maschinengeführte Struktur, die Anweisungen über einen seriellen Port von einem Computer empfängt und ihre Aktuatoren entsprechend den empfangenen Anweisungen bewegt. Die meisten dieser Maschinen basieren auf Schrittmotoren, die in ihren Achsen verbaut sind.
Ein weiteres wichtiges Wort: „Achse“. Ja, jede CNC-Maschine hat eine definierte Anzahl an Achsen, die vom Computerprogramm gesteuert werden.
In unserem Fall ist der CNC-Plotter, den wir gebaut haben, eine Zwei-Achsen-Maschine (Details im Bild 1), die kleine Schrittmotoren in ihren Achsen hat (Schrittmotor in Bild 2). Diese Schrittmotoren bewegen ein aktives Tablett und lassen es in einer zweiachsigen Ebene verfahren, um das Zeichendesign mit einem Stift zu erstellen. Der Stift wird durch einen dritten Motor in unserer Struktur gehalten und losgelassen – einen Servomotor.
Schritt 2: Der Schrittmotor als Hauptaktuator
Ein Schrittmotor (oder Schrittmotor) ist ein bürstenloser DC-Elektromotor, der eine volle Drehung in eine Anzahl gleicher Schritte unterteilt. Die Position des Motors kann dann befohlen werden, an einem dieser Schritte zu bewegen und zu halten, ohne jeglichen Positionssensor für Rückmeldung (ein Open-Loop-Controller), solange der Motor in Bezug auf Drehmoment und Geschwindigkeit sorgfältig auf die Anwendung abgestimmt ist.
Erste Frage: Woher bekommt man die Schrittmotoren für unser Projekt? Ganz einfach: Man besorgt sich ein altes DVD-Laufwerk wie das im folgenden Bild.
Ich habe zwei für 2 Dollar bekommen. Dann muss man sie nur zerlegen, um den Schrittmotor und seine Halterung zu extrahieren, wie die nächsten Bilder zeigen – wir brauchen zwei davon.
Sobald du die Motoren aus dem DVD-Laufwerk hast, solltest du sie vorbereiten, indem du die Motorwicklungen identifizierst. Jeder Schrittmotor hat zwei Wicklungen, und mit einem Multimeter kannst du die Wicklungsenden identifizieren, indem du den Widerstand zwischen den Motor-Pins misst („wie im nächsten Bild gezeigt“) – für jede Wicklung sollten es ca. 10 Ohm sein.
Nach der Identifizierung der Motorwicklungen lötet man einfach Kabel an, um den Motor darüber zu steuern („siehe nächstes Bild“).
Schritt 3: Der Schaltplan
Das Herz unserer Maschine ist ein Arduino Nano Entwicklungsboard, das die Bewegung jedes Aktuators je nach den vom Computer empfangenen Anweisungen steuert. Um diese Schrittmotoren zu steuern, benötigen wir einen Schrittmotortreiber, der Geschwindigkeit und Richtung jedes Aktuators regelt.
In unserem Fall verwenden wir einen L293D H-Bridge Motortreiber („siehe Bild 3“), der die vom Arduino gesendeten Motorbefehle über seine Eingänge empfängt und die Schrittmotoren über seine Ausgänge steuert.
Um alle benötigten Teile mit unserem Arduino-Board zu verbinden, habe ich den Schaltplan erstellt, der im ersten Bild gezeigt wird – dort solltest du die gleiche Verbindung für beide Schrittmotoren und den Servomotor befolgen.
Das nächste Bild erklärt detailliert durch ein Schaltbild den Schaltplan und wie die Verbindungen zwischen dem Arduino und den anderen Komponenten sein sollten. Natürlich kannst du diese Verbindungen je nach deinen Bedürfnissen anpassen.
Schritt 4: PCB-Herstellung (produziert von JLCPCB)
Über JLCPCB
JLCPCB (Shenzhen JIALICHUANG Electronic Technology Development Co., Ltd.) ist das größte PCB-Prototyp-Unternehmen in China und ein High-Tech-Hersteller, der sich auf schnelle PCB-Prototypen und Kleinserienproduktion spezialisiert hat. Mit über 10 Jahren Erfahrung in der PCB-Fertigung hat JLCPCB mehr als 200.000 Kunden im In- und Ausland, mit über 8.000 Online-Bestellungen für PCB-Prototypen und Kleinserien pro Tag. Die jährliche Produktionskapazität beträgt 200.000 qm für verschiedene 1-Layer, 2-Layer oder Mehrschicht-PCBs. JLC ist ein professioneller PCB-Hersteller mit großem Maßstab, guter Ausstattung, strenger Verwaltung und überlegener Qualität.
Elektronik-Entwicklung
Nach der Erstellung des Schaltplans habe ich ihn in ein PCB-Design umgewandelt, um es produzieren zu lassen („siehe nächste Bilder“). Für die PCB-Produktion habe ich JLCPCB gewählt – den besten PCB-Lieferanten und günstigsten Anbieter. Auf ihrer zuverlässigen Plattform muss man nur ein paar Klicks machen, um die Gerber-Datei hochzuladen und Parameter wie PCB-Dicke, Farbe und Menge einzustellen. Ich habe nur 2 Dollar bezahlt und mein PCB nach nur 5 Tagen erhalten.
Download-Dateien
Die Schaltplan-Datei (PDF) findest du hier. Wie du in den Bildern oben sehen kannst, ist das PCB sehr gut gefertigt, wie das „nächste Bild“ des zugehörigen Schemas zeigt. Alle Labels und Logos sind vorhanden, um mich beim Löten zu leiten. Du kannst auch die Gerber-Datei für diesen Schaltkreis herunterladen, falls du die gleiche Design bestellen möchtest.
Schritt 5: Design einer Halterung für deine Maschine!
Um das Erscheinungsbild unserer Maschine zu verbessern, habe ich mich entschieden, diese drei Teile („siehe Bild 1“) mit der SolidWorks-Software zu entwerfen. Diese Teile helfen uns, die DVD-Laufwerke zusammenzubauen. Ich habe die DXF-Dateien dieser Teile und mit Hilfe meiner Freunde im FabLab Tunesien wurden die Teile mit einer CNC-Laserschneidemaschine gefertigt. Wir verwendeten 5 mm MDF-Holzmaterial.
Ein weiteres Design ist der Stift-Halter, den ich durch 3D-Druck erhalten habe. Alle zugehörigen Dateien kannst du über die Links unten herunterladen.
Schritt 6: Zutaten (Komponentenübersicht)
Lass uns noch einmal die notwendigen Komponenten für dieses Projekt prüfen. Ich verwende wie erwähnt einen Arduino Nano als Herzstück der Maschine. Das Projekt umfasst außerdem zwei Schrittmotoren mit ihren Treiber-ICs und einen Servomotor. Unten findest du einige empfohlene Amazon-Links für passende Artikel:
- Das PCB, das wir von JLCPCB bestellt haben
- Arduino Nano: Link
- 2× L293D H-Bridge Treiber: Link
- 2× IC-Sockel DIP 16 Pin: Link
- 1× IC-Sockel DIP: Link
- SIL- und Schraubklemmenverbinder: Link
- 1× Servomotor SG90: Link
- 2× DVD-Laufwerke
- Die 3D-gedruckten Teile
- Die lasergeschnittenen Teile
- Einige Schrauben für die Montage
- Der Stift, den wir als Geschenk von JLCPCB erhalten haben, oder ein beliebiger anderer Zeichenstift
Schritt 7: Elektronische Montage und Test
Jetzt geht es an das Löten aller elektronischen Komponenten. Wie gewohnt findest du auf der oberen Seidenschicht ein Label für jedes Bauteil, das seine Platzierung auf der Platine anzeigt – so bist du zu 100 % sicher, dass du keine Lötfehler machst.
Einige Tests durchführen
Nach dem Löten der elektronischen Komponenten („siehe erstes Bild“) habe ich das DVD-Laufwerk an die X-Achsen-Platte geschraubt und das gleiche für die Hauptplatine gemacht. Dann habe ich die Motorkabel in die Schraubklemmen gesteckt, um einen einfachen Test mit einem Schrittmotor-Testcode durchzuführen („siehe nächstes Bild“). Wie du siehst, bewegt sich der Schrittmotor fein – wir sind auf dem richtigen Weg.
/************************************************************************************************************************************************************************
* - Author : BELKHIR Mohamed
* - Profession : (Electrical Engineer) MEGA DAS owner
* - Main purpose : Industrial Application
* - Copyright (c) holder : All rights reserved
* - License : BSD 2-Clause License
* - Date : 20/04/2017
***********************************************************************************************************************************************************************/
#include <Stepper.h>
const int stepPerRotation = 20; // Schritte pro Umdrehung. Standardwert für CD/DVD
// X-Achse Schrittmotor Pins angeben
Stepper myStepperX(stepPerRotation, 8,9,10,11);
void setup() {
myStepperX.setSpeed(100); // Schrittmotor-Geschwindigkeit
myStepperX.step(100);
delay(1000);
myStepperX.step(-100);
delay(1000);
}
void loop() {}
Schritt 8: Montage der mechanischen Teile
Wir fahren fort mit der Montage unserer Struktur, indem wir den zweiten Schrittmotor an die Y-Achsen-Platte schrauben („siehe nächstes Bild“).
Sobald die Y-Achse vorbereitet ist, hast du beide Achsen bereit, um die zweiachsige Ebene zu erstellen, von der wir im ersten Schritt sprachen („siehe nächste zwei Bilder“). Alles, was du tun musst, ist, die beiden Achsen im 90°-Winkel zueinander zu platzieren.
Bau des Stift-Halters
Wir bereiten den Stift-Halter vor, indem wir eine kleine Achse in eine Feder setzen, um den 3D-gedruckten Stift-Halter zu halten, und schrauben dann den Servomotor an seine Position („siehe Bild 4“). Der Stift-Halter ist fertig, also kleben wir ihn an den Schlitten der Y-Achse mit Heißkleber oder anderen Mitteln, damit er auf der Y-Achse gleiten kann, den Schrittmotor-Schritten folgend („siehe Bild 5“). Dann kleben wir unsere aktive Platte an den Schlitten der X-Achse („siehe Bild 6“) und beenden mit dem Anschrauben der Motorkabel an ihre Stecker auf der Platine. Nach etwas Aufräumen ist unser mechanisches Design bereit für die Aktion („siehe Bild 7“).
Schritt 9: Software-Teil
Beim Software-Teil kombinieren wir drei Programme, um die Maschine zum Leben zu erwecken. Ich habe eine kurze Beschreibung im ersten Bild gemacht: Wir erstellen unser Design mit der Inkscape-Software, die eine GCode-Datei produziert, die für unsere Maschine benötigt wird. Damit die Maschine die GCode-Anweisungen versteht, muss sie ihren eigenen Code haben, den wir mit der Arduino IDE hochladen. Der letzte Teil ist, wie man den Maschinen-Code mit der GCode-Datei verknüpft – das wird mit der Processing-Software gemacht.
Der erste Schritt ist das Hochladen des Arduino-Board-Sketches, den du vom GitHub-Link herunterladen kannst. Vergiss nicht, die Schrittmotor-Pins gemäß deinem Schaltplan zu aktualisieren.
GCode-Vorbereitung mit Inkscape
Dann wechseln wir zu Inkscape und passen einige Parameter an („siehe nächste zwei Bilder“) wie Papierformat und Einheiten.
Wir bereiten unser Design vor und speichern es im MakerBot Unicorn-Format („siehe nächste zwei Bilder“). Falls dieses Format in deiner Inkscape-Version nicht verfügbar ist, kannst du ein Add-on installieren. Sobald du auf „Speichern“ klickst, erscheint ein neues Fenster für GCode-Datei-Parameter-Anpassungen.
Alles, was du tun musst, ist, die gleichen Einstellungen wie bei uns zu befolgen – dann wird alles funktionieren. Folge einfach den „nächsten drei Bildern“, setze diese Parameter so, und du hast deine GCode-Datei.
Maschine mit GCode-Datei verknüpfen – Processing 3
Bei der Processing-Software handelt es sich um etwas Ähnliches wie die Arduino IDE („siehe nächstes Bild“). Du solltest die „CNC program“-Datei öffnen, die du vom gleichen GitHub-Repository herunterladen kannst, und sie einfach ausführen („siehe nächste zwei Bilder“).
Ein zweites Fenster erscheint. Du musst die Taste 'p' auf deiner Tastatur drücken, um den COM-Port der Maschine auszuwählen („siehe nächstes Bild“), und die Taste 'g', um die gewünschte GCode-Datei auszuwählen. Sobald du sie ausgewählt hast, beginnt die Maschine sofort zu zeichnen.
Schritt 10: Test und Ergebnisse
Und hier sind wir – die Zeit für Tests ist gekommen! Sobald die GCode-Datei hochgeladen ist, beginnt die Maschine zu zeichnen, und mir gefiel das LED-Flackern wirklich gut, das die an jeden Schrittmotor gesendeten Sequenzen anzeigt.
Die Designs sind sehr gut gelungen, und ihr seht, Jungs, das Projekt ist fantastisch und einfach zu bauen.
Vergesst nicht, unser vorheriges Projekt anzuschauen: „How to make your own Arduino training platform“. Und abonniert unseren YouTube-Kanal für weitere tolle Videos.
Ein letztes Ding: Stellt sicher, dass ihr jeden Tag Elektronik macht.
Das war BEE MB von MEGA DAS. Bis zum nächsten Mal!
Code
Alle benötigten Software-Dateien findest du in diesem Repository: https://github.com/BEEMB/CNC_Plotter
Benutzerdefinierte Teile und Gehäuse
STL- und DXF-Dateien für lasergeschnittene und 3D-gedruckte Teile: CAD-Datei auf Thingiverse
Schaltpläne
Schaltplan (PDF) und Gerber-Datei für das PCB: schamatic_Z2mcsRwq7L.rar
Herstellungsprozess
- CNC-Werkzeugmaschinen: Geschichte, Design und Zukunftstrends
- DIY Hausaufgaben-Schreibmaschine zu Hause bauen
- Ultraschall-Schwebegerät mit Arduino bauen – Akustische Levitation Schritt für Schritt
- Arduino Iron Man bauen: Komponenten, Sensoren & Schritt-für-Schritt-Anleitung
- Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth
- DIY Arduino Luftbefeuchter-Steuerung mit Relais – Sichere Hochspannungs-Installation
- DIY Arduino Lenkrad / Joystick für Rennspiele – USB-HID-Umbau
- Arduino 101: Schrittzähler (Pedometer) mit DHT11 & LCD-Display
- Arduino RGB-Farbmischer bauen – Schritt-für-Schritt-Anleitung
- CNC-Fräsmaschinen: Ein umfassender Überblick