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

Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino

Komponenten und Zubehör

Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Arduino UNO
× 1
28BYJ-48 Schrittmotor mit Treiber
× 2
TSOP 4838 IR-Empfänger
× 1
SPI Micro SD Speicherkartenleser
× 1
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
SG90 Mikro-Servomotor
× 1

Notwendige Werkzeuge und Maschinen

Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
3D-Drucker (allgemein)
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Lötkolben (allgemein)

Apps und Online-Dienste

Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Arduino IDE

Über dieses Projekt

Hintergrund

Ich erinnere mich nicht genau, wann es anfing, aber ich glaube so um 1999. Ich und ein Freund, der in Robotik und Elektronik begeistert war, diskutierten den Bau eines Roboters zum Zeichnen auf Whiteboards. Natürlich hatten wir nie Zeit für etwas Ernsthaftes, das Ökosystem für Hobby-Mikrocontroller war nicht das, was es heute ist.

2002 zeigte mir mein Freund die großartige Arbeit von Jürg Lehni und Uli Franke – Hektor. Ich war sehr erfreut, etwas Ähnliches zu sehen, wovon wir geträumt hatten, tatsächlich gebaut und mit der Welt geteilt! Ich war beruhigt.

Später zeigte ich jemandem die Hektor-Projekt-Website und schwärmte, wie fantastisch ich es fand. Diesmal schaute ich aber mehr auf die Details und erkannte, dass es eine Eigenschaft fehlte, die ich mir ursprünglich für einen Wandplotter vorgestellt hatte. Ich wollte, dass er autark ist, alles in einer Einheit mit nur Drähten, die ihn mit der Wand verbinden. Wenn ich mich recht erinnere, schaute ich damals auf Schrittmotor-Gewichte und realisierte, dass meine Idee nicht fliegen würde.

Die Zeit verging und in der Hobby-Robotik passierte einiges. 2014 hatte ich Arduinos und RC-Servos für verschiedene Kamerasteuerungsprojekte genutzt, hatte Zugang zu 3D-Druck und tatsächlich etwas Freizeit (!?!). Nachdem ich über den extrem günstigen 28BYJ-48 Schrittmotor stolperte, wusste ich genau, was ich bauen würde:

Den günstigsten minimalistischen Wandplotter.

Erster Versuch

Nach ewiger Wartezeit – fünf Wochen oder so – für Teile aus China begann ich mit dem Bau des Plotters. Ich versuchte, ein so kompaktes Skelett wie möglich zu bauen, um Arduino Uno, Schrittmotoren, Servo und Batterie unterzubringen. Ich kann mich nicht erinnern, wie viele „dumme“, ich meine weniger clevere, Designs ich in OpenSCAD machte, bis der Groschen fiel. Man muss die Fäden kreuzen!

Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino

Die Kreuzungsgeometrie bringt einen riesigen Vorteil bei der Aufrechterhaltung der korrekten Position an der Wand. Der Nachteil ist weniger Stabilität gegen Rotation um die vertikale Achse. Dies wurde durch das Hinzufügen von Kabelbindern an den Ecken des Plotters behoben, so justiert, dass sie die Rotation verhindern.

Der erste Plotter in Hardware sah aus wie das Bild unten. In meinem Streben nach günstigsten Teilen wählte ich Nähgarn für Navigation und Schwerkraftausgleich. Die Fäden kreuzten sich oben am 3D-gedruckten Chassis durch kleine Löcher im Druck. Wie man (fast) sehen kann, ist es eine herausfordernde Geometrie, die Fäden sauber vom Stift und den Kabeln laufen zu lassen (die Verkabelung vom Arduino zum rechten Schrittmotortreiber fehlt im Bild, daher sieht es weniger schlimm aus als es war). Der Stift wird von einem RC-Servo, der den gesamten Plotter von der Wand wegdrückt, von der Zeichenoberfläche abgehoben.

Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino

Dieser erste Plotter hatte ein hardcodiertes Design in seinem Programm auf dem Arduino. Das Setup erfolgte, indem man einen Meter Faden auf jeder Seite abrollte und sie einen Meter voneinander entfernt befestigte. Damit kannte der Plotter das Koordinatensystem beim Einschalten und konnte die Pfade in seinem Speicher zeichnen. Es funktionierte, war aber ein Chaos in der Anwendung. Den Arduino neu flashen zu müssen, wenn man das Design ändert, war nicht angenehm. Auch die Beschränkung auf das Ein-Meter-Setup war frustrierend.

Es war eine gute Plattform, um den Problemraum besser zu verstehen. Ein paar schnelle Erkenntnisse:

Das Gute an diesen Problemen war, dass sie mich zwangen, etwas Aufwand in eine vernünftige Beschleunigungs- und Bremsimplementierung zu stecken...

Evolution

Plotter Nummer zwei (der weiße auf dem Titelbild) bekam ein paar Verbesserungen:

SD-Kartenleser und IR-Empfänger hinzuzufügen war viel einfacher als ich zunächst dachte. Ein „Warum habe ich das nicht von Anfang an gemacht“-Moment. Der neue Setup-Prozess funktionierte ganz gut und gab viel mehr Flexibilität für große und kleine Zeichnungen. Größter Plot bisher war ca. 2,5 Meter breit.

Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino

Das Setup erfolgt durch Navigieren des Plotters mit der Fernbedienung. Zuerst Position A markieren, dann zu Position B fahren und diese markieren. Ich markierte 20 cm Markierungen auf dem linken und rechten Nähgarn, um manuelle Messungen zu vermeiden. Die Distanz m ergibt sich einfach durch Zählen der Schritte des linken Schrittmotors beim Bewegen von A nach B. Sobald der Plotter d kennt und seine aktuelle Position bei B ist, kann man sich bewegen und überall im Raum zwischen und unter den Ankerpunkten plotten.

Plotter Nummer drei (der orangene im Video unten) ist seinem Vorgänger sehr ähnlich, nur ein paar Änderungen:

Das waren alles gute Absichten, aber: Die Schrittmotortreiber-ICs direkt auf dem Shield unterzubringen, statt der mitgelieferten Treiber, bedeutete keine blinkenden LEDs mehr. Traurig anzusehen. Super langweilig. Auch die Onboard-LED des Arduino wird vom Shield verdeckt, was die praktischen Blinksignale beim Empfang des IR-Signals verbirgt – man wird unsicher, ob man den Kalibrierknopf gedrückt hat. Die Batterieüberwachung schien eine gute Idee, aber in der Praxis griff ich bei langen Plots immer auf Kabelstrom zurück.

Plotter Nummer vier (Der fabulöse!) wurde als Geburtstagsgeschenk für meinen Bruder gebaut. Er ist bei Weitem der am besten aussehende mit Shield-Elektronik, aber den blinkenden Treibern in all ihrer Pracht sichtbar. Beachten Sie, dass Kabel unnötig lang gelassen wurden, nur für die Optik!

Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino

Plotter Nummer fünf (MacGyver-Edition) wurde tatsächlich als Proof-of-Concept für diese Projektbeschreibung gebaut. Ich wollte zeigen, dass man so einen Plotter ohne fancy Werkzeuge bauen kann. Ich setzte mich in meine Garage und schaute, woraus ich ihn bauen konnte. Bindedraht (weicher Metalldraht für Bewehrungsverbindungen) war meine erste offensichtliche Wahl. Beim Suchen fand ich eine Rolle Klebeband und dachte, das spart Zeit und gibt mehr Stabilität. Kabelbinder und Gaffer-Tape standen auch auf der Liste, wurden aber nicht gebraucht. Das Einzige, was ich nicht wirklich hinbekam, waren gute Spulen ohne viel Arbeit. Ich ging zurück ins Haus für Kaffee und da war er: der Deckel eines Milchbehälters! Ehrlich gesagt dauerte der Bau des Rahmens für Plotter fünf weniger lang als der 3D-Druck des Originaldesigns. Und er funktioniert fast genauso gut wie die anderen, die ich gebaut habe.

Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino

Plotter Nummer sechs

Warte, was? Irgendwie habe ich noch einen gebaut. Konnte nicht anders. Ein paar Dinge, die mich störten, mussten angegangen werden. Auch Verbesserungen dank einiger Kommentare hier.

Hier ist das Ergebnis:

Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino

Wie gut funktioniert dieses neue Ding? Gut und schlecht. Die Änderungen fühlen sich insgesamt gut an, aber es gibt ein Problem. Da der Stift nicht am Rahmen fixiert ist, wackelt er beim Plotten leicht. Das macht die Genauigkeit schlechter als bei der vorherigen Generation. Der riesige Vorteil ist, dass die digitalen I/O-Pins 0-1 frei werden und für Debugging genutzt werden können. Das macht das Leben so viel einfacher!

Ich begann auch Stresstests an den Schrittmotoren, um herauszufinden, wie man Schrittverluste vermeidet:

Aus den Stresstests ergab sich, dass ich etwas langsamer fahren musste, um genug Drehmoment zu haben. Ich berechnete auch den tatsächlichen Zug an den Fäden, abhängig davon, wo der Plotter an der Wand ist:

Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino

Ich könnte die Stresstests fortsetzen, um herauszufinden, wie verschiedene Schrittsequenzen und Spannungen dabei eine Rolle spielen. Irgendwann.

Plotter nutzen

Ich mache ein Video, das zeigt, wie Setup und Plotten in Echtzeit und Realität funktionieren.

Wie im Video zu sehen ist, ist das Setup ziemlich geradlinig und nimmt wenig Zeit in Anspruch. Die typische Herausforderung beim Setup ist, gute Ankerpunkte zu finden. Für Whiteboards habe ich meist kleine Saugnäpfe genutzt, an die ich eine Schlaufe aus Nähgarn oder Ähnlichem klebte, um den Plotter mit einer Büroklammer aufzuhängen. Ein wichtiger Aspekt des Ankerpunkts ist, den Faden so nah wie möglich an der Wand zu führen, um besseren Druck vom Stift auf die Wand zu bekommen.

Ein weiterer Stolperstein: Hoch an breiten Plots plotten. Wenn zu viel Drehmoment nötig ist, um den Faden zu ziehen, fangen die Schrittmotoren an, Schritte zu verlieren, wodurch der Plotter seine exakte Position verliert, da keine Encoder helfen. Genereller Rat: Hoch aufhängen, tief plotten.

Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino

Plotter-Hardware

Den Plotter zu bauen ist ziemlich geradlinig und sieht aus wie die meisten anderen Arduino-Projekte. Man hat einen Arduino Uno, einige Komponenten, die man nutzen will, und ein Bündel Kabel, um alles zu verbinden.

Wie in den Schematics zu sehen, werden so gut wie alle digitalen Pins genutzt und dann eventuell noch einige analoge, falls man z. B. Batteriestände überwachen will. Ein Haken: Man landet bei Pin 0-1, die als TX/RX doppelt belegt sind. Um Dinge nicht zu braten, muss man alles, was dort angeschlossen ist, beim Programmieren des Arduino trennen! Deshalb baute ich meine neueren Plotters mit der gesamten Elektronik auf einem Shield, das man zum Programmieren einfach abnehmen kann.

Der RC-Servo kann pretty much jeder Servo jeder Dimension sein. Man muss nur kreativ sein und ihn so montieren, dass er den Plotter von der Wand wegdrücken kann (oder nicht).

Die Schrittmotoren und Treiber könnten potenziell auf andere Arten getauscht werden, aber die kleinen 28BYJ-48 sind so praktisch. Sie sind nicht sehr stark, und ich würde gerne irgendwann einen viel schnelleren Plotter bauen. Die Motoren sind für 5 V ausgelegt, aber ich habe sie glücklich mit 5–9 V betrieben ohne Probleme. Sie werden heiß, aber ich habe noch keinen gebraten.

Das Micro-SD-Kartenmodul lässt sich unkompliziert an den Arduino anschließen, entweder über die SPI-Interface-Pins oder digitale Pins 10–13.

Der IR-Empfänger TSOP 4838 funktioniert auch direkt am Arduino.

Mein dritter und vierter Plotter hatten einen Batterie-Level-Watchdog über einen Widerstandsspannungsteiler an einem analogen Eingang. Ich dachte auch an Temperaturüberwachung der Schrittmotoren auf ähnliche Weise. Mein Rat: Einfach weglassen.

Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino

Ich empfehle dringend, Schritt für Schritt zu bauen und zu testen. Nicht alles zusammenbauen, Grafiken auf die SD-Karte packen und hoffen, sofort zu plotten. Ich empfehle folgende Reihenfolge:

Ich gebe hier keine super-detaillierten Montageanweisungen. Es ist besser, Sie erkunden Ihre Hardware und finden Lösungen, die für Sie funktionieren. Lassen Sie sich vom „MacGyver“-Plotter oben inspirieren, halten Sie es einfach. Sie können später immer noch fancy und perfekt machen. Unten ist ein sehr nicht-kohärentes Video von mir, in dem ich über Hardware-Dinge rede. Sie müssen sich auch mit der Software und dem Erstellen einer Plot-Datei vertraut machen, siehe weiter unten.

Plotter-Software

Die gesamte Software ist hier auf GitHub verfügbar. Ich entschuldige mich für den Zustand des Codes, er ist wirklich ein Hack. Vielleicht nehme ich mir die Zeit und bereinige ihn, aber es ist sehr wahrscheinlich, dass Sie ihn vorher ansehen. Sorry.

Die Software auf dem Plotter macht im Wesentlichen zwei Dinge:

Da der Programmspeicher des Arduino Uno recht begrenzt ist, wurden viele hässliche Abkürzungen genommen, um den Code in den Speicher zu pressen. Das war besonders beim ersten Plotter ohne SD-Karte der Fall, wo die Grafiken auch direkt in den Arduino programmiert werden mussten. Das Parsen von .svg ist extrem begrenzt und kann nur Pfade mit Linien (keine Kurven) verarbeiten und erfordert einen spezifischen .svg-Dialekt, den ich mit INKSCAPE ausgebe.

Die .svg-Dateien werden im obersten Ordner der SD-Karte als 1.svg, 2.svg usw. gespeichert. Die zu zeichnende Datei wird durch Drücken der entsprechenden Taste auf der Fernbedienung ausgewählt. So kann ich den Plotter mit ein paar Favoriten vorbereiten, die ich schnell auf Whiteboards verewigen kann.

Die Arduino IDE wurde zum Bauen und Programmieren des Controllers genutzt. Die einzige zusätzliche Bibliothek ist IRRemote (von shirriff).

Eine plottbare Datei erstellen

Es gibt wahrscheinlich hunderte Wege, eine .svg-Datei zu erstellen, die plottet, aber ich beschreibe hier nur einen:

Der Simulator

Noch was! Es gibt einen Simulator. Es ist mehr oder weniger Pflicht, jeden Plot, den man machen will, vorher durch den Simulator zu jagen, bevor man ihn druckt. Das ist vor allem nötig, weil das .svg-Parsing so schlecht ist, dass die Chancen hoch sind, dass etwas nicht richtig vom Plotter interpretiert wird.

Der Simulator funktioniert, indem er den Plotter-Code für macOS oder Linux kompiliert und die „digitalWrite“-Aufrufe durch Ausgaben auf stdout ersetzt (Timestamp, Pin, Status), was dann in eine Visualisierungs-UI gepiped wird.

Der Simulator wurde geschrieben, nachdem ich einen Bug hatte, der einen 2-Stunden-Druck nach 95 % miserabel verhunzte. Ich war ratlos, was passiert war, und realisierte, ich brauchte eine Möglichkeit zum Debuggen. Es stellte sich als Float-Parsing-Bug heraus, verursacht durch eine Zahl in der .svg mit absurden Dezimalstellen. (Ich parste selbst, da Bibliotheksfunktionen nicht in den Speicher passten). Ein toller Bug, weil er mich zwang, den Simulator zu bauen.

Den Simulator während der Entwicklung zu nutzen, hilft enorm. Er kann viel, viel schneller als Echtzeit laufen, was sehr praktisch ist. Er gibt auch aus, wie lange der Plot in Echtzeit tatsächlich dauern wird. In der Nähe des Simulator-Codes gibt es ein Readme zur Nutzung.

Zukünftige Verbesserungen

Hier eine Liste aus dem Stegreif, was verbessert werden könnte:

Ein paar abschließende Worte

Wie Sie mittlerweile verstehen, habe ich काफी Zeit mit diesem Projekt verbracht,mostly vor langer Zeit. Ich finde es immer noch spaßig, damit zu spielen, und habe Tonnen von Ideen für Verbesserungen, neue Variationen und neue Wände zu dekorieren. Aber ich habe einfach keine Zeit, es gibt so viele andere Projekte und Dinge wie Familie und Arbeit.

Was ich wirklich toll fände: Wenn einige von euch feinen Leuten im Internet etwas aus der Lektüre herausziehen und Inspiration für eigene Projekte bekommen. Ich würde mich auch freuen, wenn einige von euch ihre eigenen Plotter bauen und zum Laufen bringen!

Obwohl ich glaube, ich habe einen minimalistischen Plotter gebaut, schaffte ich es nicht, die Kosten unter 10 $ zu drücken, wie ich es mir zum Ziel gesetzt hatte. Aber da Teile immer günstiger werden, ist das wahrscheinlich in einem Jahr so weit...

Oh, noch was. Bitte bringt mich nicht um wegen des Spaghetti-Codes. Er war nie zum Teilen geschrieben, ich war beschäftigt, an der Wand zu zeichnen, und kümmerte mich nicht um Code. Ich entschied mich trotzdem, ihn zu teilen, also freut euch darüber.

Bon Voyage,

Fredrik

Code

Stringent

Code, Dokumentation und CAD-Zeichnungen für den Wandplotter Stringent.
https://github.com/snebragd/stringent

Benutzerdefinierte Teile und Gehäuse

Neues STL für die Basis hochgeladen, das alte war irgendwie kaputt.
Neue Basis für den Plotter. Kleinerer Footprint → weniger Druckzeit. Servo-Aktion bewegt nun den Stift statt den Plotter von der Wand wegzudrücken.

Schaltpläne

Einfaches Elektronik-Schema
Eigenen 15$ Wandplotter bauen: Günstiges DIY mit Arduino

Herstellungsprozess

  1. Instandhaltungsproduktivität maximieren durch Multi-Skill-Training
  2. Qualitätskontrolle: Der Eckpfeiler der Motorzuverlässigkeit
  3. Wie Trending die Zuverlässigkeit von Elektromotoren verbessert
  4. Proaktive Zustandsüberwachung für Maschinen: Ausfallzeiten verhindern & Zuverlässigkeit steigern
  5. Verständnis von Motorwicklungen: Wichtige Unterschiede und industrielle Anwendungen
  6. Explosionsgeschützten Motor richtig wählen: Umfassender Leitfaden
  7. Elektromotor-Lagerung: Best Practices für maximale Lebensdauer & Leistung
  8. DC- vs. AC-Motoren: Wesentliche Unterschiede und die richtige Wahl für Ihre Anwendung
  9. Den richtigen Motor wählen: Wichtige Unterschiede zwischen AC- und DC-Motoren
  10. Den richtigen Getriebetyp wählen: Expertentipps für optimales Drehmoment und Effizienz