Obsah:

CNC stroj na vyberanie dielov: 9 krokov (s obrázkami)
CNC stroj na vyberanie dielov: 9 krokov (s obrázkami)

Video: CNC stroj na vyberanie dielov: 9 krokov (s obrázkami)

Video: CNC stroj na vyberanie dielov: 9 krokov (s obrázkami)
Video: 17 Amazing Fastest Big Wood Sawmill Machines Working At Another Level 2024, Júl
Anonim
CNC stroj na vyberanie dielov
CNC stroj na vyberanie dielov

Ak ste seriózny výrobca ako ja, s najväčšou pravdepodobnosťou budete mať okolo seba nespočetné množstvo odporov, kondenzátorov a rôznych ďalších elektronických súčiastok. Je tu však zásadný problém: Ako človek sleduje, čo alebo koľko z niečoho má? Pre tento problém som vytvoril CNC stroj, ktorý získava informácie z databázy MySQL a ktorý potom odošle a vyžiada požadovanú položku. Okrem databázového back-endu som vytvoril webovú stránku front-end, ktorá umožňuje užívateľom prihlásiť sa a potom vytvárať kategórie dielov, pridávať nové diely a meniť množstvo dielov. Týmto spôsobom je možné účtovať o každej jednotlivej položke, rovnako ako o systéme riadenia zásob.

Komponenty:

  • Arduino UNO a Genuino UNO
  • Strojné skrutky: 8 mm, 3 mm, 4 mm
  • N-kanál MOSFET
  • Usmerňovacia dióda 1N4001
  • Krokový motor NEMA 17 x2
  • Ovládač DRV8825 pre krokové motory x2
  • Kondenzátor 100 µF x2
  • Servopohon DFRobot
  • Rozvodový remeň DFRobot x2
  • Rozvodová kladka DFRobot 5 mm x2
  • Lineárne ložisko DFRobot 6 mm x 12 mm x2
  • Guličkové ložisko DFRobot 8 mm x 12 mm

Krok 1: Teória

Image
Image

Základom tohto systému je sledovanie zásob. Ak si napríklad niekto kúpi 20 dosiek Arduino Uno, môže túto sumu ľahko pridať do databázovej tabuľky. Kategória bude „Arduino“, názov „Uno“a množstvo 20. Pre viacerých ľudí bude vlastníkom tejto časti používateľské meno osoby, ktorá ju pridala. Časť by tiež zahŕňala údaje o jej umiestnení v mriežke. Kedykoľvek sa zmení množstvo súčiastky, CNC stroj potom vyberie túto časť a poskytne ju užívateľovi.

Krok 2: Databáza

Databáza
Databáza
Databáza
Databáza

Potreboval som všadeprítomnú databázu, ku ktorej bude mať prístup Python aj PHP. Tiež muselo byť jednoduché použitie s dostatkom podpory, aby sa MySQL stal perfektným databázovým serverom. Začal som stiahnutím inštalátora mysql z https://dev.mysql.com/downloads/windows/installer/ a potom som ho spustil. Rozhodol som sa nainštalovať server (samozrejme) a tiež pracovný stôl, shell a nástroje. Keď si vyberiete používateľské meno a heslo, nezabudnite si ich zapamätať, pretože rovnaké poverenia sú potrebné vo všetkých súboroch PHP a skripte Python. Po spustení servera ho nechajte spustiť ako proces na pozadí, aby bol vždy aktívny. Odteraz musí byť všetko napísané v presne rovnakom poradí, ako to mám. Potom vytvorte novú databázu (schému) s názvom „komponenty“. Potom pridajte nasledujúce tabuľky: „kategórie“, „diely“a „používatelia“. Do tabuľky kategórií pridajte nasledujúce stĺpce v tomto presnom poradí: „id“-int (11), PK, AI; "meno" -varchar (45); „majiteľ“- varchar (45).

Do tabuľky dielov pridajte nasledujúce stĺpce v tomto presnom poradí: "id" -int (11), AI, PK; "kategória" -varchar (45); "meno" -varchar (45); "množstvo" -int (11); "vlastník" -varchar (45); "locationX" -int (11); "locationY" -int (11);

Do tabuľky užívateľov pridajte nasledujúce stĺpce v tomto presnom poradí: "id" -int (11), AI, PK; "užívateľské meno" -varchar (45); "heslo" -varchar (128);

Krok 3: Nastavenie Apache

Nastavenie Apache
Nastavenie Apache
Nastavenie Apache
Nastavenie Apache
Nastavenie Apache
Nastavenie Apache

Webové stránky, ktoré som vytvoril, používajú HTML, CSS, Javascript a PHP. Začnite stiahnutím najnovšej verzie apache z https://www.apachelounge.com/download/ a rozbalte ju, presuňte priečinok do adresára C: \. Potom si stiahnite PHP z https://windows.php.net/download#php-7.2 a uistite sa, že ide o verziu Thread Safe. Rozbaľte ho, premenujte na „PHP“a presuňte do adresára C: \. Potom choďte do C: / Apache24 / conf / httpd.conf a upravte ho. Pridajte nasledujúce riadky priamo pod sekciu:

LoadModule php7_module C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

Aplikácia AddHandler/x-httpd-php.php

PHPIniDir "C:/PHP"

Potom vyskúšajte svoj server spustením súboru httpd.exe umiestneného v priečinku bin. Prejdite v prehliadači na „localhost/“a zistite, či sa zobrazí stránka Hello world. Ak áno, hurá, teraz máte miestny webový server.

Krok 4: Nastavenie PHP

Nastavenie PHP
Nastavenie PHP
Nastavenie PHP
Nastavenie PHP

Aby bolo možné nastaviť MySQL pre PHP, je potrebné urobiť niekoľko vecí. Najprv premenujte „php.ini-recommended“na „php.ini“a potom ho otvorte v poznámkovom bloku. Choďte do sekcie rozšírení a pridajte alebo zrušte začiarknutie políčka „extension = php_mysqli.dll“, ktoré umožní PHP komunikovať so serverom MySQL. Teraz reštartujte httpd.exe a vytvorte nový súbor s názvom „phptest.php“a vložte ho do súboru. Teraz choďte na localhost/phptest.php a zistite, či sa zobrazia informácie o vašom prehliadači.

Krok 5: Navrhovanie stroja

Navrhovanie stroja
Navrhovanie stroja
Navrhovanie stroja
Navrhovanie stroja
Navrhovanie stroja
Navrhovanie stroja

Začal som vytvorením niekoľkých základných častí vo Fusion 360: 6 mm tyč, lineárne ložisko a krokový motor. Potom som prekryl dve tyče naprieč, aby sa vytvorila os y, a tiež som umiestnil rozvodový remeň okolo krokového motora a ložiska. Tiež som pridal os x. Potom som začal 3D tlač rôznych dielov a tiež CNC smerované dva bočné panely.

Krok 6: Výroba stroja

Výroba stroja
Výroba stroja
Výroba stroja
Výroba stroja
Výroba stroja
Výroba stroja

Nakoniec som prešiel niekoľkými iteráciami každej časti, takže ak sa nejaké líšia, je to dôvod. Začal som tým, že som brúsil každú časť a potom vyvŕtal každú dieru v 3D vytlačených častiach. Potom som vložil lineárne ložiská do otvorov a previedol nimi 6 mm tyče. Po pripevnení kladiek k ich hriadeľom som tiež namontoval krokové motory na ich príslušné miesta. Rozvodový remeň bol obehnutý okolo oboch strán oboch osí. Nakoniec som si uvedomil, že chápadlo bude príliš ťažkopádne, a tak som sa rozhodol pre elektromagnet. Pri jeho stavbe som mal aj pomoc v podobe mačky.

Krok 7: Kód Arduino

Arduino kód
Arduino kód

Môj základ pre tento stroj bol GRBL. Na začiatku kódu sú uvedené rôzne parametre, napríklad vzdialenosť na otáčanie, posuny a rozsahy. Na ovládanie ovládačov krokových motorov DRV8825 som použil knižnicu BasicStepperDriver. Krokové ovládače sú nastavené tak, aby používali 1/32 mikrokrokov, čím sa zvýši rozlíšenie. Kedykoľvek sa stroj „naštartuje“, prejde navádzacím sledom, v ktorom každá os krokuje, kým nenarazí na koncový spínač. Potom sa presunie mimo ofsetu do nastaveného umiestnenia a nastaví umiestnenie na 0, 0. Teraz, keď dostane príkaz na presun cez sériové číslo, presunie sa do tohto umiestnenia mriežky.

Krok 8: Program Python

Rozhodol som sa použiť Flask ako webový server, ktorý bude prijímať žiadosti GET z hlavnej webovej stránky. Žiadosti pozostávajú z názvu a kategórie časti. Potom, čo to Flask zvládne, sa údaje analyzujú a potom sa server MySQL požiada o zistenie umiestnenia časti. Potom skript python odošle príkaz Arduinu s uvedením, kde je časť.

Krok 9: Použitie nástroja na výber súčiastok

Použitie nástroja na výber súčiastok
Použitie nástroja na výber súčiastok
Použitie nástroja na výber súčiastok
Použitie nástroja na výber súčiastok
Použitie nástroja na výber súčiastok
Použitie nástroja na výber súčiastok
Použitie nástroja na výber súčiastok
Použitie nástroja na výber súčiastok

Poskytol som súbory webových stránok v mojom úložisku github: https://github.com/having11/cnc_part_picker_webpages Nahraďte chýbajúce parametre v súboroch PHP pre váš konkrétny server MySQL. Vložte súbory do priečinka htdocs v priečinku Apache. Jednoducho spustite skript python a potom vždy, keď sa zmení množstvo súčiastky, stroj prejde na dané miesto a získa ho. Súbory 3D tlače nájdete tu a súbory webových stránok tu.

Odporúča: