Obsah:

CNC stroj na vychystávání dílů: 9 kroků (s obrázky)
CNC stroj na vychystávání dílů: 9 kroků (s obrázky)

Video: CNC stroj na vychystávání dílů: 9 kroků (s obrázky)

Video: CNC stroj na vychystávání dílů: 9 kroků (s obrázky)
Video: CNC stroje pro každého 1.díl - Chodská dílna CZ 2024, Listopad
Anonim
CNC stroj na vychystávání dílů
CNC stroj na vychystávání dílů

Pokud jste seriózní tvůrce jako já, pak s největší pravděpodobností budete mít kolem sebe nespočet odporů, kondenzátorů a různých dalších elektronických součástek. Ale je tu zásadní problém: Jak si člověk nechá sledovat, co nebo kolik z něčeho mají? Pro tento problém jsem vytvořil CNC stroj, který získává informace z databáze MySQL, která poté přejde a načte požadovanou položku. Kromě databázového back-endu jsem vytvořil webovou stránku front-end, která umožňuje uživatelům přihlásit se a poté vytvářet kategorie dílů, přidávat nové díly a měnit množství dílů. Tímto způsobem lze zaúčtovat každou jednotlivou položku, stejně jako systém řízení zásob.

Složky:

  • Arduino UNO a Genuino UNO
  • Strojní šrouby: 8 mm, 3 mm, 4 mm
  • N-kanál MOSFET
  • Usměrňovací dioda 1N4001
  • Krokový motor NEMA 17 x2
  • Ovladač DRV8825 pro krokové motory x2
  • Kondenzátor 100 µF x2
  • Servo chapadlo DFRobot
  • Rozvodový řemen DFRobot x2
  • Rozvodová kladka DFRobot 5 mm x2
  • Lineární ložisko DFRobot 6mmx12mm x2
  • Kuličkové ložisko DFRobot 8 mm x 12 mm

Krok 1: Teorie

Image
Image

Základem tohoto systému je sledování zásob. Pokud si například někdo koupí 20 desek Arduino Uno, může tuto částku snadno přidat do databázové tabulky. Kategorie by byla „Arduino“, název „Uno“a množství 20. Pro více lidí by vlastníkem této části bylo uživatelské jméno osoby, která ji přidala. Část by také obsahovala údaje o jeho umístění na mřížce. Kdykoli se množství součásti změní, CNC stroj by pak vybral tuto součást a dal ji uživateli.

Krok 2: Databáze

Databáze
Databáze
Databáze
Databáze

Potřeboval jsem všudypřítomnou databázi, ke které by bylo možné přistupovat jak v Pythonu, tak v PHP. Muselo to být také snadné použití se spoustou podpory, což z MySQL udělal perfektní databázový server. Začal jsem stažením instalačního programu mysql z https://dev.mysql.com/downloads/windows/installer/ a poté jej spustil. Rozhodl jsem se nainstalovat server (samozřejmě) a také pracovní stůl, shell a nástroje. Když zvolíte uživatelské jméno a heslo, nezapomeňte si je zapamatovat, protože stejná pověření jsou potřebná ve všech souborech PHP a skriptu Python. Po spuštění serveru povolte, aby běžel jako proces na pozadí, takže bude vždy aktivní. Od této chvíle musí být vše napsáno a přesně ve stejném pořadí, v jakém to mám. Dále vytvořte novou databázi (schéma) s názvem „komponenty“. Poté přidejte následující tabulky: „kategorie“, „součásti“a „uživatelé“. Do tabulky kategorií přidejte následující sloupce v tomto přesném pořadí: "id" -int (11), PK, AI; "jméno" -varchar (45); „majitel“- varchar (45).

Do tabulky dílů přidejte následující sloupce v tomto přesném pořadí: "id" -int (11), AI, PK; "kategorie" -varchar (45); "jméno" -varchar (45); "množství" -int (11); "vlastník" -varchar (45); "locationX" -int (11); "locationY" -int (11);

Do tabulky uživatelů přidejte následující sloupce v tomto přesném pořadí: "id" -int (11), AI, PK; "uživatelské jméno" -varchar (45); "heslo" -varchar (128);

Krok 3: Nastavení Apache

Nastavení Apache
Nastavení Apache
Nastavení Apache
Nastavení Apache
Nastavení Apache
Nastavení Apache

Webové stránky, které jsem vytvořil, využívají HTML, CSS, Javascript a PHP. Začněte stažením nejnovější verze apache z https://www.apachelounge.com/download/ a rozbalte ji, přesuňte složku do adresáře C: \. Dále si stáhněte PHP z https://windows.php.net/download#php-7.2 a ujistěte se, že jde o verzi Thread Safe. Rozbalte jej, přejmenujte jej na „PHP“a přesuňte do adresáře C: \. Poté přejděte do C: / Apache24 / conf / httpd.conf a upravte jej. Přidejte následující řádky přímo pod sekci:

LoadModule php7_module C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

Aplikace AddHandler/x-httpd-php.php

PHPIniDir "C:/PHP"

Poté otestujte svůj server spuštěním httpd.exe umístěného ve složce bin. Přejděte ve svém prohlížeči na „localhost/“a podívejte se, zda se objeví stránka Hello world. Pokud ano, hurá, nyní máte místní webový server.

Krok 4: Nastavení PHP

Nastavení PHP
Nastavení PHP
Nastavení PHP
Nastavení PHP

Aby bylo možné nastavit MySQL pro PHP, je třeba udělat několik věcí. Nejprve přejmenujte „php.ini-recommended“na „php.ini“a poté jej otevřete v poznámkovém bloku. Přejděte do sekce rozšíření a přidejte nebo odkomentujte soubor „extension = php_mysqli.dll“, který umožní PHP komunikovat se serverem MySQL. Nyní restartujte httpd.exe a vytvořte nový soubor s názvem „phptest.php“a vložte jej do souboru. Nyní přejděte na localhost/phptest.php a zjistěte, zda se objeví informace o vašem prohlížeči.

Krok 5: Navrhování stroje

Navrhování stroje
Navrhování stroje
Navrhování stroje
Navrhování stroje
Navrhování stroje
Navrhování stroje

Začal jsem vytvořením několika základních částí ve Fusion 360: 6mm tyč, lineární ložisko a krokový motor. Poté jsem překlenul dva pruty napříč, aby se vytvořila osa y, a také jsem nasadil rozvodový řemen kolem krokového motoru a ložiska. Také jsem přidal osu x. Poté jsem začal 3D tisk různých dílů a také CNC směrovány dva boční panely.

Krok 6: Výroba stroje

Výroba stroje
Výroba stroje
Výroba stroje
Výroba stroje
Výroba stroje
Výroba stroje

Nakonec jsem prošel několika iteracemi každé části, takže pokud se nějaké liší, proto. Začal jsem vybroušením každé části a následným vyvrtáním každé díry v 3D tištěných dílech. Poté jsem do otvorů vložil lineární ložiska a prošel jimi 6mm tyče. Po připevnění řemenic na jejich hřídele jsem také namontoval krokové motory na jejich příslušná místa. Ozubený řemen se obtočil kolem každé ze dvou stran pro obě osy. Nakonec jsem si uvědomil, že chapadlo bude příliš těžkopádné, a tak jsem místo toho zvolil elektromagnet. Také jsem měl nějakou pomoc při jeho stavbě, v podobě kočky.

Krok 7: Arduino kód

Arduino kód
Arduino kód

Můj základ pro tento stroj byl GRBL. Na začátku kódu jsou uvedeny různé parametry, například vzdálenost na otáčení, offsety a rozsahy. K ovládání ovladačů krokových motorů DRV8825 jsem použil knihovnu BasicStepperDriver. Krokové ovladače jsou nastaveny na použití mikrokroků 1/32, což zvyšuje rozlišení. Kdykoli stroj „nastartuje“, projde naváděcí sekvencí, kde každá osa vykročí, dokud nenarazí na koncový spínač. Poté se přesune na základě offsetu do nastaveného umístění a nastaví umístění na 0, 0. Nyní, když obdrží příkaz k přesunu přes sériové číslo, přesune se do tohoto umístění mřížky.

Krok 8: Program Python

Rozhodl jsem se použít Flask jako webový server, který bude přijímat požadavky GET z hlavního webu. Požadavky se skládají z názvu a kategorie součásti. Poté, co to Flask zvládne, data se analyzují a poté se server MySQL dotazuje, aby zjistil umístění součásti. Poté skript pythonu odešle příkaz do Arduina s uvedením, kde je část.

Krok 9: Použití nástroje pro výběr dílů

Pomocí nástroje pro výběr dílů
Pomocí nástroje pro výběr dílů
Pomocí nástroje pro výběr dílů
Pomocí nástroje pro výběr dílů
Pomocí nástroje pro výběr dílů
Pomocí nástroje pro výběr dílů
Pomocí nástroje pro výběr dílů
Pomocí nástroje pro výběr dílů

Soubory webových stránek jsem poskytl ve svém úložišti github: https://github.com/having11/cnc_part_picker_webpages Nahraďte chybějící parametry v souborech PHP pro váš konkrétní server MySQL. Vložte soubory do složky htdocs ve složce Apache. Jednoduše spusťte skript python a poté, kdykoli se změní částka, stroj přejde na toto místo a získá ho. Soubory pro 3D tisk najdete zde a soubory webových stránek zde.

Doporučuje: