Sadržaj:

CNC stroj za odabir dijelova: 9 koraka (sa slikama)
CNC stroj za odabir dijelova: 9 koraka (sa slikama)

Video: CNC stroj za odabir dijelova: 9 koraka (sa slikama)

Video: CNC stroj za odabir dijelova: 9 koraka (sa slikama)
Video: ✅Простая идея. Стало гораздо удобней работать.🔨 2024, Studeni
Anonim
CNC stroj za odabir dijelova
CNC stroj za odabir dijelova

Ako ste ozbiljan proizvođač poput mene, najvjerojatnije ćete imati bezbroj otpornika, kondenzatora i raznih drugih elektroničkih komponenti. No, postoji veliki problem: Kako se može pratiti što ili koliko nečega imaju? Za ovaj problem stvorio sam CNC stroj koji dobiva podatke iz MySQL baze podataka koja zatim ide i dohvaća traženu stavku. Osim pozadine baze podataka, napravio sam i web stranicu na prednjoj strani koja korisnicima omogućuje prijavu, a zatim stvaranje kategorija dijelova, dodavanje novih dijelova i promjenu količine dijelova. Na taj se način može evidentirati svaka pojedinačna stavka, baš kao i sustav upravljanja zalihama.

Komponente:

  • Arduino UNO & Genuino UNO
  • Strojni 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
  • Servo hvatač DFRobot
  • Zupčasti remen DFRobot x2
  • DFRobot 5MM razvodna remenica x2
  • DFRobot linearni ležaj 6mmx12mm x2
  • Kuglasti ležaj DFRobot 8 mm x 12 mm

Korak 1: Teorija

Image
Image

Temelj ovog sustava 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 osoba, vlasnik tog dijela bi bio korisničko ime osobe koja ga je dodala. Dio bi također uključivao podatke o njegovoj 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 su mogli pristupiti i Python i PHP. Također je morao biti jednostavan za korištenje 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 poslužitelj (naravno), a također i radnu površinu, ljusku i pomoćne programe. Kad odaberete korisničko ime i zaporku, zapamtite ih jer su iste vjerodajnice potrebne 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 kakvim ga ja imam. Zatim stvorite novu bazu podataka (shemu) pod nazivom "komponente". Zatim dodajte sljedeće tablice: "kategorije", "dijelovi" i "korisnici". U tablicu kategorija dodajte sljedeće stupce istim redoslijedom: "id" -int (11), PK, AI; "ime" -varchar (45); "vlasnik" - varchar (45).

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

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

Korak 3: Postavljanje Apache -a

Postavljanje Apachea
Postavljanje Apachea
Postavljanje Apachea
Postavljanje Apachea
Postavljanje Apachea
Postavljanje Apachea

Web stranice koje sam stvorio koriste HTML, CSS, Javascript i PHP. Počnite preuzimanjem najnovije apache verzije s https://www.apachelounge.com/download/ i raspakirajte je, premještajući mapu u direktorij C: \. Zatim preuzmite PHP sa stranice 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. Odmah ispod odjeljka dodajte sljedeće retke:

LoadModule php7_modul C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

AddHandler aplikacija/x-httpd-php.php

PHPIniDir "C:/PHP"

Zatim testirajte svoj poslužitelj 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, potrebno je 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 poslužiteljem. Sada ponovno 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: Projektiranje stroja

Projektiranje stroja
Projektiranje stroja
Projektiranje stroja
Projektiranje stroja
Projektiranje stroja
Projektiranje stroja

Počeo sam stvaranjem nekih osnovnih dijelova u Fusion 360: šipka od 6 mm, linearni ležaj i koračni motor. Zatim sam protegao 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 ispisivati različite dijelove, a CNC je usmjerio i dvije bočne ploče.

Korak 6: Izrada stroja

Izrada stroja
Izrada stroja
Izrada stroja
Izrada stroja
Izrada stroja
Izrada stroja

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. Razvodni 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 neku pomoć pri izgradnji, u obliku mačke.

Korak 7: Arduino kod

Arduino kod
Arduino kod

Moja osnova za ovaj stroj bio je GRBL. Početak koda navodi različite parametre, poput udaljenosti po rotaciji, pomaka i opsega. Za upravljanje upravljačkim programima koračnih motora DRV8825 koristio sam knjižnicu BasicStepperDriver. Upravljački programi koraka postavljeni su za korištenje 1/32 mikro-koraka, povećavajući razlučivost. Kad god se stroj "podigne", prolazi kroz niz navođenja gdje svaka os korača sve dok ne udari u krajnji prekidač. Zatim se pomiče na temelju pomaka prema postavljenom mjestu i postavlja mjesto na 0, 0. Sada kad god primi naredbu za premještanje putem serijske, premješta se na to mjesto 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 obradi podatke dolazi do raščlanjivanja, tada se MySQL poslužitelj pita da ustanovi 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 to mjesto i preuzeti ga. Ovdje pronađite datoteke za 3D ispis, a datoteke web stranica ovdje.

Preporučeni: