Inhaltsverzeichnis:

CNC-Teilekommissioniermaschine - Gunook
CNC-Teilekommissioniermaschine - Gunook

Video: CNC-Teilekommissioniermaschine - Gunook

Video: CNC-Teilekommissioniermaschine - Gunook
Video: Как спрятать данные в ячейках Excel? 2024, Juli
Anonim
CNC-Teilekommissioniermaschine
CNC-Teilekommissioniermaschine

Wenn Sie ein seriöser Hersteller wie ich sind, werden Sie höchstwahrscheinlich unzählige Widerstände, Kondensatoren und verschiedene andere elektronische Komponenten herumliegen haben. Aber es gibt ein großes Problem: Wie behält man den Überblick, was oder wie viel man von etwas hat? Für dieses Problem habe ich eine CNC-Maschine erstellt, die Informationen aus einer MySQL-Datenbank erhält, die dann das angeforderte Element abruft. Zusätzlich zum Datenbank-Back-End habe ich eine Front-End-Webseite erstellt, auf der sich Benutzer anmelden und dann Teilekategorien erstellen, neue Teile hinzufügen und die Teilemengen ändern können. Auf diese Weise kann jeder einzelne Artikel wie in einem Lagerverwaltungssystem erfasst werden.

Komponenten:

  • Arduino UNO & Genuino UNO
  • Maschinenschrauben: 8mm, 3mm, 4mm
  • MOSFET N-Kanal
  • Gleichrichterdiode 1N4001
  • Schrittmotor NEMA 17 x2
  • Treiber DRV8825 für Schrittmotoren x2
  • Kondensator 100 µF x2
  • DFRobot Servogreifer
  • DFRobot Zahnriemen x2
  • DFRobot 5MM Zahnriemenscheibe x2
  • DFRobot Linearlager 6mmx12mm x2
  • DFRobot Kugellager 8mmx12mm

Schritt 1: Theorie

Image
Image

Die Grundlage dieses Systems ist die Bestandsverfolgung. Wenn jemand zum Beispiel 20 Arduino Uno-Boards kauft, könnte er diesen Betrag leicht zu einer Datenbanktabelle hinzufügen. Die Kategorie wäre "Arduino", der Name "Uno" und eine Anzahl von 20. Bei mehreren Personen wäre der Eigentümer dieses Teils der Benutzername der Person, die ihn hinzugefügt hat. Der Teil würde auch Daten über seine Position in einem Raster enthalten. Immer wenn sich die Teilemenge ändert, wählt die CNC-Maschine dieses Teil aus und gibt es an den Benutzer weiter.

Schritt 2: Datenbank

Datenbank
Datenbank
Datenbank
Datenbank

Ich brauchte eine allgegenwärtige Datenbank, auf die sowohl Python als auch PHP zugreifen konnten. Es musste auch einfach zu bedienen sein und viel Unterstützung bieten, was MySQL zum perfekten Datenbankserver machte. Ich begann damit, das MySQL-Installationsprogramm von https://dev.mysql.com/downloads/windows/installer/ herunterzuladen und es dann auszuführen. Ich entschied mich, den Server (natürlich) zu installieren und auch die Workbench, die Shell und die Dienstprogramme. Denken Sie bei der Auswahl eines Benutzernamens und Passworts daran, sich diese zu merken, da dieselben Anmeldeinformationen in allen PHP-Dateien und im Python-Skript benötigt werden. Aktivieren Sie nach dem Starten des Servers, dass er als Hintergrundprozess ausgeführt wird, damit er immer aktiv ist. Von hier an muss alles buchstabiert werden und in genau der gleichen Reihenfolge wie ich es habe. Erstellen Sie als Nächstes eine neue Datenbank (Schema) namens "Komponenten". Fügen Sie dann die folgenden Tabellen hinzu: "Kategorien", "Teile" und "Benutzer". Fügen Sie in der Kategorientabelle die folgenden Spalten in genau dieser Reihenfolge hinzu: "id" -int(11), PK, AI; "name" -varchar(45); "Besitzer" - varchar(45).

Fügen Sie in der Teiletabelle die folgenden Spalten in genau dieser Reihenfolge hinzu: "id" -int(11), AI, PK; "Kategorie" -varchar(45); "name" -varchar(45); "Menge" -int(11); "Besitzer" -varchar(45); "StandortX" -int(11); "OrtY" -int(11);

Fügen Sie in der Benutzertabelle die folgenden Spalten in genau dieser Reihenfolge hinzu: "id" -int(11), AI, PK; "Benutzername" -varchar(45); "Passwort" -varchar(128);

Schritt 3: Apache einrichten

Apache einrichten
Apache einrichten
Apache einrichten
Apache einrichten
Apache einrichten
Apache einrichten

Die von mir erstellten Webseiten verwenden HTML, CSS, Javascript und PHP. Laden Sie zunächst die neueste Apache-Version von https://www.apachelounge.com/download/ herunter und entpacken Sie sie, indem Sie den Ordner in das Verzeichnis C:\ verschieben. Laden Sie als Nächstes PHP von https://windows.php.net/download#php-7.2 herunter und stellen Sie sicher, dass es sich um die Thread Safe-Version handelt. Entpacken Sie es, benennen Sie es in "PHP" um und verschieben Sie es in das Verzeichnis C:\. Gehen Sie dann in C:\Apache24\conf\httpd.conf und bearbeiten Sie sie. Fügen Sie die folgenden Zeilen direkt unter dem Abschnitt hinzu:

LoadModule php7_module C:/PHP/php7apache2_4.dll

VerzeichnisIndex index.html index.php

AddHandler-Anwendung/x-httpd-php.php

PHPIniDir "C:/PHP"

Testen Sie dann Ihren Server, indem Sie httpd.exe ausführen, die sich im Ordner bin befindet. Gehen Sie in Ihrem Browser zu "localhost/" und sehen Sie, ob die Seite "Hello World" angezeigt wird. Wenn ja, hurra, Sie haben jetzt einen lokalen Webserver.

Schritt 4: PHP einrichten

PHP einrichten
PHP einrichten
PHP einrichten
PHP einrichten

Um MySQL für PHP einzurichten, müssen mehrere Dinge getan werden. Benennen Sie zuerst "php.ini-recommended" in "php.ini" um und öffnen Sie es dann im Editor. Gehen Sie zum Abschnitt "Erweiterungen" und fügen Sie "extension=php_mysqli.dll" hinzu oder entfernen Sie die Kommentarzeichen, damit PHP mit dem MySQL-Server kommunizieren kann. Starten Sie nun httpd.exe neu und erstellen Sie eine neue Datei namens "phptest.php" und fügen Sie diese in die Datei ein. Gehen Sie nun zu localhost/phptest.php und prüfen Sie, ob Ihre Browserinformationen angezeigt werden.

Schritt 5: Entwerfen der Maschine

Entwerfen der Maschine
Entwerfen der Maschine
Entwerfen der Maschine
Entwerfen der Maschine
Entwerfen der Maschine
Entwerfen der Maschine

Ich begann mit der Erstellung einiger grundlegender Teile in Fusion 360: eine 6-mm-Stange, ein Linearlager und einen Schrittmotor. Dann habe ich zwei Stangen überspannt, um die y-Achse zu bilden, und auch einen Zahnriemen um den Schrittmotor und das Lager gelegt. Ich habe auch eine x-Achse hinzugefügt. Ich habe dann angefangen, verschiedene Teile in 3D zu drucken und auch zwei Seitenteile CNC-gefräst.

Schritt 6: Herstellung der Maschine

Herstellung der Maschine
Herstellung der Maschine
Herstellung der Maschine
Herstellung der Maschine
Herstellung der Maschine
Herstellung der Maschine

Am Ende habe ich mehrere Iterationen jedes Teils durchlaufen, also wenn sich welche unterscheiden, ist das der Grund. Ich begann damit, jedes Teil zu schleifen und dann jedes Loch in den 3D-gedruckten Teilen auszubohren. Dann habe ich Linearlager in die Löcher gesteckt und die 6-mm-Stäbe durch sie geführt. Ich habe auch die Schrittmotoren an ihren jeweiligen Stellen montiert, nachdem ich die Riemenscheiben an ihren Wellen befestigt hatte. Der Zahnriemen wurde für beide Achsen um jede der beiden Seiten geschlungen. Irgendwann wurde mir klar, dass der Greifer zu umständlich wäre, also entschied ich mich stattdessen für einen Elektromagneten. Ich hatte auch etwas Hilfe beim Bau, in Form einer Katze.

Schritt 7: Arduino-Code

Arduino-Code
Arduino-Code

Meine Basis für diese Maschine war GRBL. Am Anfang des Codes sind verschiedene Parameter aufgeführt, wie Abstand pro Umdrehung, Offsets und Ausdehnungen. Ich habe die BasicStepperDriver-Bibliothek verwendet, um die DRV8825-Schrittmotortreiber zu steuern. Die Stepper-Treiber sind auf 1/32 Micro-Stepping eingestellt, wodurch die Auflösung erhöht wird. Immer wenn die Maschine "hochfährt", durchläuft sie eine Referenzfahrtsequenz, bei der jede Achse weitergeht, bis sie auf einen Endschalter trifft. Dann bewegt es sich basierend auf dem Offset zu einer eingestellten Position und setzt die Position auf 0, 0. Jetzt bewegt es sich jedes Mal, wenn es einen Bewegungsbefehl über seriell erhält, zu dieser Rasterposition.

Schritt 8: Python-Programm

Ich habe mich für Flask als Webserver entschieden, der GET-Anfragen von der Hauptwebsite erhält. Die Anfragen bestehen aus dem Namen und der Kategorie des Teils. Nachdem Flask es verarbeitet hat, werden die Daten geparst, dann wird der MySQL-Server abgefragt, um den Speicherort des Teils herauszufinden. Dann sendet das Python-Skript einen Befehl an den Arduino, der angibt, wo sich der Teil befindet.

Schritt 9: Verwenden der Teileauswahl

Verwenden der Teileauswahl
Verwenden der Teileauswahl
Verwenden der Teileauswahl
Verwenden der Teileauswahl
Verwenden der Teileauswahl
Verwenden der Teileauswahl
Verwenden der Teileauswahl
Verwenden der Teileauswahl

Ich habe die Website-Dateien in meinem Github-Repository bereitgestellt: https://github.com/haven11/cnc_part_picker_webpages Ersetzen Sie die fehlenden Parameter in den PHP-Dateien für Ihren spezifischen MySQL-Server. Legen Sie die Dateien in den Ordner htdocs im Apache-Ordner. Führen Sie einfach das Python-Skript aus und jedes Mal, wenn sich die Teilemenge ändert, geht die Maschine an diesen Ort und ruft sie ab. Hier finden Sie die 3D-Druckdateien und hier die Webseitendateien.

Empfohlen: