Kazalo:

CNC stroj za nabiranje delov: 9 korakov (s slikami)
CNC stroj za nabiranje delov: 9 korakov (s slikami)

Video: CNC stroj za nabiranje delov: 9 korakov (s slikami)

Video: CNC stroj za nabiranje delov: 9 korakov (s slikami)
Video: ✅Простая идея. Стало гораздо удобней работать.🔨 2024, November
Anonim
CNC stroj za nabiranje delov
CNC stroj za nabiranje delov

Če ste resni izdelovalec, kot sem jaz, potem boste najverjetneje ležali nešteto uporov, kondenzatorjev in različnih drugih elektronskih komponent. Obstaja pa velik problem: kako človek spremlja, kaj ali koliko česa ima? Za to težavo sem ustvaril CNC stroj, ki dobi podatke iz baze podatkov MySQL, ki nato gre in pridobi zahtevani predmet. Poleg zaledja baze podatkov sem naredil tudi vmesno spletno stran, ki uporabnikom omogoča prijavo in nato ustvarjanje kategorij delov, dodajanje novih delov in spreminjanje količin delov. Na ta način je mogoče obravnavati vsako posamezno postavko, tako kot sistem upravljanja zalog.

Sestavine:

  • Arduino UNO in Genuino UNO
  • Strojni vijaki: 8 mm, 3 mm, 4 mm
  • N-kanal MOSFET
  • Usmerjevalna dioda 1N4001
  • Koračni motor NEMA 17 x2
  • Gonilnik DRV8825 za koračne motorje x2
  • Kondenzator 100 µF x2
  • Servo prijemnik DFRobot
  • Zobati jermen DFRobot x2
  • Krmilni jermen DFRobot 5 mm x2
  • Linearni ležaj DFRobot 6mmx12mm x2
  • Krogelni ležaj DFRobot 8mmx12mm

1. korak: Teorija

Image
Image

Osnova tega sistema je spremljanje zalog. Na primer, če nekdo kupi 20 plošč Arduino Uno, bi lahko ta znesek zlahka dodal v tabelo zbirke podatkov. Kategorija bi bila "Arduino", ime "Uno" in količina 20. Za več ljudi bi bil lastnik tega dela uporabniško ime osebe, ki ga je dodala. Del bi vseboval tudi podatke o njegovi lokaciji na mreži. Kadar koli se znesek dela spremeni, bi CNC stroj izbral ta del in ga dal uporabniku.

2. korak: zbirka podatkov

Baza podatkov
Baza podatkov
Baza podatkov
Baza podatkov

Potreboval sem vseprisotno bazo podatkov, do katere bi lahko dostopali tako Python kot PHP. Prav tako je moral biti enostaven za uporabo z veliko podpore, zaradi česar je MySQL popoln strežnik baz podatkov. Začel sem s prenosom namestitvenega programa mysql s spletnega mesta https://dev.mysql.com/downloads/windows/installer/ in ga nato zagnal. Odločil sem se, da namestim strežnik (seveda), pa tudi delovno mizo, lupino in pripomočke. Ko izberete uporabniško ime in geslo, si jih zapomnite, saj so iste poverilnice potrebne v vseh datotekah PHP in skriptu Python. Po zagonu strežnika omogočite, da deluje kot proces v ozadju, da bo vedno aktiven. Od zdaj naprej mora biti vse napisano in v istem vrstnem redu, kot ga imam jaz. Nato ustvarite novo bazo podatkov (shemo), imenovano "komponente". Nato dodajte naslednje tabele: "kategorije", "deli" in "uporabniki". V tabelo kategorij dodajte naslednje stolpce v tem vrstnem redu: "id" -int (11), PK, AI; "ime" -varchar (45); "lastnik" - varchar (45).

V tabelo z deli dodajte naslednje stolpce v tem vrstnem redu: "id" -int (11), AI, PK; "kategorija" -varchar (45); "ime" -varchar (45); "količina" -int (11); "lastnik" -varchar (45); "locationX" -int (11); "locationY" -int (11);

V tabelo uporabnikov dodajte naslednje stolpce v tem vrstnem redu: "id" -int (11), AI, PK; "uporabniško ime" -varchar (45); "geslo" -varchar (128);

3. korak: Nastavitev Apache

Nastavitev Apache
Nastavitev Apache
Nastavitev Apache
Nastavitev Apache
Nastavitev Apache
Nastavitev Apache

Ustvarjene spletne strani uporabljajo HTML, CSS, Javascript in PHP. Začnite tako, da prenesete najnovejšo različico apache s spletnega mesta https://www.apachelounge.com/download/ in jo razpakirate ter mapo premaknete v imenik C: \. Nato prenesite PHP s spletnega mesta https://windows.php.net/download#php-7.2 in se prepričajte, da gre za različico Thread Safe. Razpakirajte ga, preimenujte v "PHP" in ga premaknite v imenik C: \. Nato pojdite v C: / Apache24 / conf / httpd.conf in ga uredite. Tik pod odsekom dodajte naslednje vrstice:

LoadModule php7_module C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

AddHandler aplikacija/x-httpd-php.php

PHPIniDir "C:/PHP"

Nato preizkusite strežnik tako, da zaženete httpd.exe, ki se nahaja v mapi bin. V brskalniku pojdite na "localhost/" in preverite, ali se prikaže stran hello world. Če se to zgodi, hura, zdaj imate lokalni spletni strežnik.

4. korak: Nastavitev PHP

Nastavitev PHP
Nastavitev PHP
Nastavitev PHP
Nastavitev PHP

Za nastavitev MySQL za PHP je treba narediti nekaj stvari. Najprej preimenujte »php.ini-recommended« v »php.ini« in ga nato odprite v beležnici. Pojdite v razdelek razširitev in dodajte ali razkomentirajte "extension = php_mysqli.dll", ki bo PHP -ju omogočil komunikacijo s strežnikom MySQL. Zdaj znova zaženite httpd.exe in ustvarite novo datoteko z imenom "phptest.php" in jo vstavite v datoteko. Zdaj pojdite na localhost/phptest.php in preverite, ali se prikažejo informacije o vašem brskalniku.

5. korak: Oblikovanje stroja

Oblikovanje stroja
Oblikovanje stroja
Oblikovanje stroja
Oblikovanje stroja
Oblikovanje stroja
Oblikovanje stroja

Začel sem z ustvarjanjem nekaterih osnovnih delov v Fusion 360: 6 mm palice, linearnega ležaja in koračnega motorja. Nato sem prečkal dve palici, da sem oblikoval os y, in tudi okoli koračnega motorja in ležaja postavil zobati jermen. Dodal sem tudi os x. Nato sem začel s 3D -tiskanjem različnih delov, CNC pa je usmeril tudi dve stranski plošči.

6. korak: Izdelava stroja

Izdelava stroja
Izdelava stroja
Izdelava stroja
Izdelava stroja
Izdelava stroja
Izdelava stroja

Na koncu sem šel skozi več ponovitev vsakega dela, zato so razlogi, če so drugačni. Začel sem z brušenjem vsakega dela in nato izvrtanjem vsake luknje v 3D tiskanih delih. Nato sem v luknje vstavil linearne ležaje in skozi njih speljal 6 mm palice. Koračne motorje sem namestil tudi na ustrezna mesta, potem ko sem jermenice pritrdil na gredi. Zobati jermen je bil za obe osi obdan okoli obeh strani. Sčasoma sem spoznal, da bi bil prijemalo preveč okoren, zato sem se raje odločil za elektromagnet. Pri gradnji sem imel tudi nekaj pomoči v obliki mačke.

Korak 7: Koda Arduino

Koda Arduino
Koda Arduino

Moja osnova za ta stroj je bil GRBL. Začetek kode navaja različne parametre, kot so razdalja na rotacijo, odmiki in obsegi. Za nadzor gonilnikov koračnih motorjev DRV8825 sem uporabil knjižnico BasicStepperDriver. Koračni gonilniki so nastavljeni na uporabo 1/32 mikro koraka, kar poveča ločljivost. Vsakič, ko se stroj "zažene", gre skozi zaporedje usmerjanja, kjer vsaka os stopi, dokler ne zadene končnega stikala. Nato se premakne na podlagi offseta na nastavljeno lokacijo in postavi lokacijo na 0, 0. Zdaj, ko po zaporedju prejme ukaz za premik, se premakne na to mrežno lokacijo.

8. korak: Program Python

Odločil sem se, da bom Flask uporabil kot spletni strežnik, ki bo prejemal zahteve GET z glavnega spletnega mesta. Zahteve so sestavljene iz imena in kategorije dela. Ko Flask ročno obdela podatke, se strežnik MySQL poizveduje, da ugotovi lokacijo dela. Nato skript python pošlje ukaz Arduinu, v katerem navede, kje je del.

9. korak: Uporaba izbirnika delov

Uporaba izbirnika delov
Uporaba izbirnika delov
Uporaba izbirnika delov
Uporaba izbirnika delov
Uporaba izbirnika delov
Uporaba izbirnika delov
Uporaba izbirnika delov
Uporaba izbirnika delov

Zagotovil sem datoteke spletnega mesta v svojem skladišču github: https://github.com/having11/cnc_part_picker_webpages Zamenjajte manjkajoče parametre v datotekah PHP za vaš poseben strežnik MySQL. Datoteke vstavite v mapo htdocs v mapi Apache. Preprosto zaženite skript python in potem, ko spremenite znesek dela, bo naprava šla na to lokacijo in jo dobila. Datoteke 3D tiskanja najdete tukaj, datoteke spletnih strani pa tukaj.

Priporočena: