Sadržaj:

CNC mašina za odabir dijelova: 9 koraka (sa slikama)
CNC mašina za odabir dijelova: 9 koraka (sa slikama)

Video: CNC mašina za odabir dijelova: 9 koraka (sa slikama)

Video: CNC mašina za odabir dijelova: 9 koraka (sa slikama)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Novembar
Anonim
CNC mašina za skupljanje delova
CNC mašina za skupljanje delova

Ako ste ozbiljan proizvođač poput mene, najvjerojatnije ćete imati bezbroj otpornika, kondenzatora i raznih drugih elektroničkih komponenti. Ali postoji veliki problem: Kako se može pratiti šta ili koliko nečega imaju? Za ovaj problem stvorio sam CNC stroj koji dobiva informacije iz MySQL baze podataka koja zatim ide i preuzima traženu stavku. Osim pozadine baze podataka, napravio sam i web stranicu koja omogućuje korisnicima da se prijave, a zatim kreiraju kategorije dijelova, dodaju nove dijelove i mijenjaju količine dijelova. Na ovaj način se može evidentirati svaka pojedinačna stavka, baš kao i sistem upravljanja zalihama.

Komponente:

  • Arduino UNO & Genuino UNO
  • Mašinski vijci: 8 mm, 3 mm, 4 mm
  • MOSFET N-kanal
  • Dioda ispravljača 1N4001
  • Koračni motor NEMA 17 x2
  • Upravljački program DRV8825 za koračne motore x2
  • Kondenzator 100 µF x2
  • DFRobot servo hvataljka
  • Zupčasti kaiš DFRobot x2
  • DFRobot 5MM razvodna remenica x2
  • DFRobot linearni ležaj 6mmx12mm x2
  • DFRobot kuglični ležaj 8mmx12mm

Korak 1: Teorija

Image
Image

Osnova ovog sistema je praćenje zaliha. Na primjer, ako netko kupi 20 Arduino Uno ploča, lako bi mogao dodati taj iznos u tablicu baze podataka. Kategorija bi bila "Arduino", naziv "Uno" i količina od 20. Za više ljudi, vlasnik tog dijela bi bio korisničko ime osobe koja ga je dodala. Dio bi također uključivao podatke o lokaciji na mreži. Kad god se promijeni iznos dijela, CNC stroj bi tada odabrao taj dio i dao ga korisniku.

Korak 2: Baza podataka

Baza podataka
Baza podataka
Baza podataka
Baza podataka

Trebala mi je sveprisutna baza podataka kojoj mogu pristupiti i Python i PHP. Također je morao biti jednostavan za upotrebu s puno podrške, što je MySQL učinilo savršenim poslužiteljem baze podataka. Počeo sam preuzimanjem instalacijskog programa mysql s https://dev.mysql.com/downloads/windows/installer/, a zatim sam ga pokrenuo. Odlučio sam instalirati server (naravno), kao i radnu površinu, ljusku i pomoćne programe. Kada odaberete korisničko ime i lozinku, obavezno ih zapamtite jer su ti isti vjerodajnici potrebni u svim PHP datotekama i Python skripti. Nakon pokretanja poslužitelja omogućite mu da radi kao pozadinski proces kako bi uvijek bio aktivan. Od sada nadalje sve mora biti napisano i istim redoslijedom koji ja imam. Zatim kreirajte novu bazu podataka (shemu) pod nazivom "komponente". Zatim dodajte sljedeće tablice: "kategorije", "dijelovi" i "korisnici". U tabelu kategorija dodajte sljedeće kolone istim redoslijedom: "id" -int (11), PK, AI; "name" -varchar (45); "vlasnik" - varchar (45).

U tabelu dijelova dodajte sljedeće kolone istim redoslijedom: "id" -int (11), AI, PK; "kategorija" -varchar (45); "name" -varchar (45); "količina" -int (11); "vlasnik" -varchar (45); "locationX" -int (11); "locationY" -int (11);

U tabelu korisnika dodajte sljedeće kolone istim redoslijedom: "id" -int (11), AI, PK; "korisničko ime" -varchar (45); "lozinka" -varchar (128);

Korak 3: Postavljanje Apache -a

Postavljanje Apache -a
Postavljanje Apache -a
Postavljanje Apache -a
Postavljanje Apache -a
Postavljanje Apache -a
Postavljanje Apache -a

Web stranice koje sam stvorio koriste HTML, CSS, Javascript i PHP. Počnite preuzimanjem najnovije apache verzije sa https://www.apachelounge.com/download/ i raspakirajte je, premještajući mapu u direktorij C: \. Zatim preuzmite PHP sa https://windows.php.net/download#php-7.2 i provjerite je li riječ o Thread Safe verziji. Raspakirajte ga, preimenujte u "PHP" i premjestite u direktorij C: \. Zatim idite u C: / Apache24 / conf / httpd.conf i uredite ga. Dodajte sljedeće retke odmah ispod odjeljka:

LoadModule php7_module C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

AddHandler aplikacija/x-httpd-php.php

PHPIniDir "C:/PHP"

Zatim testirajte svoj server pokretanjem httpd.exe koji se nalazi u mapi bin. Idite na "localhost/" u svom pregledniku i provjerite pojavljuje li se stranica hello world. Ako se to dogodi, ura, sada imate lokalni web poslužitelj.

Korak 4: Postavljanje PHP -a

Postavljanje PHP -a
Postavljanje PHP -a
Postavljanje PHP -a
Postavljanje PHP -a

Da biste postavili MySQL za PHP, morate učiniti nekoliko stvari. Prvo preimenujte "php.ini-recommended" u "php.ini", a zatim ga otvorite u bilježnici. Idite na odjeljak proširenja i dodajte ili uklonite komentar "extension = php_mysqli.dll" koji će omogućiti PHP -u komunikaciju s MySQL serverom. Sada ponovo pokrenite httpd.exe i stvorite novu datoteku pod nazivom "phptest.php" i stavite je u datoteku. Sada idite na localhost/phptest.php i provjerite pojavljuju li se informacije o vašem pregledniku.

Korak 5: Projektovanje mašine

Dizajniranje mašine
Dizajniranje mašine
Dizajniranje mašine
Dizajniranje mašine
Dizajniranje mašine
Dizajniranje mašine

Počeo sam stvaranjem nekih osnovnih dijelova u Fusion 360: šipka od 6 mm, linearni ležaj i koračni motor. Zatim sam prešao dvije šipke kako bih formirao os y, a također sam stavio razvodni remen oko koračnog motora i ležaja. Dodao sam i os x. Zatim sam počeo 3D štampanje različitih dijelova, a CNC je usmjerio i dvije bočne ploče.

Korak 6: Izrada mašine

Izrada mašine
Izrada mašine
Izrada mašine
Izrada mašine
Izrada mašine
Izrada mašine

Na kraju sam prošao kroz više ponavljanja svakog dijela, pa ako su neke različite, to je razlog zašto. Počeo sam brušenjem svakog dijela, a zatim bušenjem svake rupe u 3D ispisanim dijelovima. Zatim sam stavio linearne ležajeve u rupe i provukao šipke od 6 mm kroz njih. Također sam montirao koračne motore na odgovarajuće mjesto nakon pričvršćivanja remenica na osovine. Zupčasti remen je za obje osi bio okovan s obje strane. Na kraju sam shvatio da bi hvataljka bila previše glomazna, pa sam se umjesto toga odlučio za elektromagnet. Imao sam i malu pomoć pri izgradnji, u obliku mačke.

Korak 7: Arduino kod

Arduino kod
Arduino kod

Moja osnova za ovu mašinu bio je GRBL. Početak koda navodi različite parametre, kao što su udaljenost po rotaciji, pomaci i ekstenzije. Koristio sam biblioteku BasicStepperDriver za kontrolu upravljačkih programa koračnih motora DRV8825. Upravljački programi koraka su postavljeni da koriste 1/32 mikro-koraka, povećavajući rezoluciju. Kad god se stroj "podigne", prolazi kroz niz navođenja gdje svaka osovina korača sve dok ne udari u krajnji prekidač. Zatim se pomiče na temelju pomaka na postavljenu lokaciju i postavlja lokaciju na 0, 0. Sada kad god primi naredbu za premještanje putem serijske, premješta se na tu lokaciju mreže.

Korak 8: Python program

Odlučio sam koristiti Flask kao web poslužitelj koji će primati GET zahtjeve s glavne web stranice. Zahtjevi se sastoje od naziva i kategorije dijela. Nakon što Flask to obradi, podaci se raščlanjuju, tada se MySQL poslužitelj pita kako bi saznao lokaciju dijela. Zatim python skripta šalje naredbu Arduinu, navodeći gdje se dio nalazi.

Korak 9: Upotreba alata za odabir dijelova

Korištenje alata za odabir dijelova
Korištenje alata za odabir dijelova
Korištenje alata za odabir dijelova
Korištenje alata za odabir dijelova
Korištenje alata za odabir dijelova
Korištenje alata za odabir dijelova
Korištenje alata za odabir dijelova
Korištenje alata za odabir dijelova

Dao sam datoteke web stranice u svoje github spremište: https://github.com/having11/cnc_part_picker_webpages Zamijenite parametre koji nedostaju u PHP datotekama za vaš specifični MySQL poslužitelj. Stavite datoteke u mapu htdocs u mapi Apache. Jednostavno pokrenite python skriptu, a zatim kad god se promijeni iznos dijela, stroj će otići na tu lokaciju i preuzeti je. Ovdje pronađite datoteke za 3D štampanje, a datoteke web stranica ovdje.

Preporučuje se: