Cuprins:

Mașină de preluare a pieselor CNC: 9 pași (cu imagini)
Mașină de preluare a pieselor CNC: 9 pași (cu imagini)
Anonim
Mașină de preluare a pieselor CNC
Mașină de preluare a pieselor CNC

Dacă sunteți un producător serios ca mine, atunci cel mai probabil veți avea nenumărate rezistențe, condensatori și diverse alte componente electronice. Dar există o problemă majoră: cum se ține evidența a ceea ce au sau câte dintre ele au? Pentru această problemă am creat o mașină CNC care obține informații dintr-o bază de date MySQL care apoi merge și preia elementul care a fost solicitat. În plus față de back-end-ul bazei de date, am creat o pagină web front-end care permite utilizatorilor să se conecteze și apoi să creeze categorii de piese, să adauge piese noi și să schimbe cantitățile de piese. Astfel, fiecare element poate fi contabilizat, la fel ca un sistem de gestionare a stocurilor.

Componente:

  • Arduino UNO & Genuino UNO
  • Șuruburi pentru mașini: 8mm, 3mm, 4mm
  • Canal MOSFET N
  • Redresor diodă 1N4001
  • Motor pas cu pas NEMA 17 x2
  • Driver DRV8825 pentru motoare pas cu pas x2
  • Condensator 100 µF x2
  • DFRobot Servo Gripper
  • DFRobot Curea de distributie x2
  • Rola de sincronizare DFRobot 5MM x2
  • Rulment liniar DFRobot 6mmx12mm x2
  • Rulment cu bile DFRobot 8mmx12mm

Pasul 1: Teorie

Image
Image

Baza acestui sistem este de a urmări inventarul. De exemplu, dacă cineva cumpără 20 de plăci Arduino Uno, ar putea adăuga cu ușurință acea sumă într-un tabel de baze de date. Categoria ar fi „Arduino”, denumirea „Uno” și o cantitate de 20. Pentru mai multe persoane, proprietarul acelei părți ar fi numele de utilizator al persoanei care a adăugat-o. Partea ar include, de asemenea, date despre locația sa pe o grilă. Ori de câte ori se schimbă suma piesei, mașina CNC ar selecta acea piesă și o va da utilizatorului.

Pasul 2: Baza de date

Bază de date
Bază de date
Bază de date
Bază de date

Aveam nevoie de o bază de date omniprezentă care să poată fi accesată atât de Python, cât și de PHP. De asemenea, a trebuit să fie ușor de utilizat, cu o mulțime de suport, făcând MySQL serverul perfect de baze de date. Am început prin descărcarea programului de instalare mysql de pe https://dev.mysql.com/downloads/windows/installer/ și apoi l-am rulat. Am ales să instalez serverul (bineînțeles), precum și bancul de lucru, shell-ul și utilitățile. Când alegeți un nume de utilizator și o parolă, asigurați-vă că le rețineți, deoarece aceleași acreditări sunt necesare în toate fișierele PHP și scriptul Python. După pornirea serverului, permiteți-i să ruleze ca proces de fundal, astfel încât acesta va fi întotdeauna activ. De aici înainte, totul trebuie scris și în exact aceeași ordine în care o am. Apoi, creați o nouă bază de date (schemă) numită „componente”. Apoi adăugați următoarele tabele: „categorii”, „părți” și „utilizatori”. În tabelul categoriilor adăugați următoarele coloane în această ordine exactă: "id" -int (11), PK, AI; „nume” -varchar (45); „proprietar” - varchar (45).

În tabelul pieselor adăugați următoarele coloane în această ordine exactă: "id" -int (11), AI, PK; „categorie” -varchar (45); „nume” -varchar (45); „cantitate” -int (11); „proprietar” -varchar (45); „locațieX” -int (11); „locațieY” -int (11);

În tabelul utilizatorilor adăugați următoarele coloane în această ordine exactă: "id" -int (11), AI, PK; "nume de utilizator" -varchar (45); „parolă” -varchar (128);

Pasul 3: Configurarea Apache

Configurarea Apache
Configurarea Apache
Configurarea Apache
Configurarea Apache
Configurarea Apache
Configurarea Apache

Paginile web pe care le-am creat utilizează HTML, CSS, Javascript și PHP. Începeți descărcând cea mai recentă versiune apache de pe https://www.apachelounge.com/download/ și dezarhivați-o, mutând folderul în directorul C: \. Apoi, descărcați PHP de la https://windows.php.net/download#php-7.2 și asigurați-vă că este versiunea Thread Safe. Dezarhivați-l, redenumiți-l în „PHP” și mutați-l în directorul C: \. Apoi accesați C: / Apache24 / conf / httpd.conf și editați-l. Adăugați următoarele rânduri chiar sub secțiune:

LoadModule php7_module C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

Aplicația AddHandler / x-httpd-php.php

PHPIniDir "C: / PHP"

Apoi testați serverul rulând httpd.exe aflat în folderul bin. Accesați „localhost /” în browserul dvs. și vedeți dacă apare pagina Hello World. Dacă da, ura, acum aveți un server web local.

Pasul 4: Configurarea PHP

Configurarea PHP
Configurarea PHP
Configurarea PHP
Configurarea PHP

Pentru a configura MySQL pentru PHP trebuie făcute mai multe lucruri. Mai întâi, redenumiți „php.ini-recommended” în „php.ini” și apoi deschideți-l în notepad. Mergeți la secțiunea de extensii și adăugați sau dezactivați „extension = php_mysqli.dll”, care va permite PHP să comunice cu serverul MySQL. Acum reporniți httpd.exe și creați un nou fișier numit „phptest.php” și introduceți-l în fișier. Acum accesați localhost / phptest.php și vedeți dacă apar informațiile browserului dvs.

Pasul 5: Proiectarea aparatului

Proiectarea mașinii
Proiectarea mașinii
Proiectarea mașinii
Proiectarea mașinii
Proiectarea mașinii
Proiectarea mașinii

Am început prin crearea unor piese de bază în Fusion 360: o tijă de 6 mm, rulment liniar și un motor pas cu pas. Apoi am întins două tije pentru a forma axa y și, de asemenea, am pus o curea de distribuție în jurul motorului pas cu pas și a lagărului. Am adăugat și o axă x. Apoi am început să tipăresc 3D diferite părți și, de asemenea, am dirijat CNC două panouri laterale.

Pasul 6: Fabricarea aparatului

Realizarea Mașinii
Realizarea Mașinii
Realizarea Mașinii
Realizarea Mașinii
Realizarea Mașinii
Realizarea Mașinii

Am ajuns să trec prin mai multe iterații ale fiecărei părți, deci, dacă există, sunt diferite, de aceea. Am început prin șlefuirea fiecărei părți și apoi forarea fiecărei găuri din piesele imprimate 3D. Apoi am pus rulmenți liniari în găuri și am trecut tijele de 6 mm prin ele. De asemenea, am montat motoarele pas cu pas în locațiile lor respective după ce am atașat roțile pe arbori. Cureaua de distribuție a fost înconjurată de fiecare dintre cele două părți pentru ambele axe. În cele din urmă mi-am dat seama că mânerul ar fi prea greoi, așa că am optat pentru un electromagnet. Am avut și eu un ajutor în timp ce îl construiam, sub forma unei pisici.

Pasul 7: Cod Arduino

Cod Arduino
Cod Arduino

Baza mea pentru această mașină a fost GRBL. Începutul codului listează diverși parametri, cum ar fi distanța pe rotație, decalaje și extinderi. Am folosit biblioteca BasicStepperDriver pentru a controla driverele motorului pas cu pas DRV8825. Driverele pas cu pas sunt setate să utilizeze 1/32 micro-stepping, crescând rezoluția. Ori de câte ori mașina se „pornește”, aceasta trece printr-o secvență de aderare în care fiecare axă pașează până când atinge un comutator de limită. Apoi, se deplasează în funcție de offset la o locație setată și setează locația la 0, 0. Acum, ori de câte ori primește o comandă de mutare prin serial, se mută în acea locație a grilei.

Pasul 8: Program Python

Am ales să folosesc Flask ca server web care să primească cereri GET de pe site-ul principal. Solicitările constau în numele și categoria piesei. După ce Flask îl gestionează, datele sunt analizate, apoi serverul MySQL este interogat pentru a afla locația piesei. Apoi, scriptul python trimite o comandă către Arduino, specificând unde este partea.

Pasul 9: Utilizarea selectorului de piese

Utilizarea selectorului de piese
Utilizarea selectorului de piese
Utilizarea selectorului de piese
Utilizarea selectorului de piese
Utilizarea selectorului de piese
Utilizarea selectorului de piese
Utilizarea selectorului de piese
Utilizarea selectorului de piese

Am furnizat fișierele site-ului web în depozitul meu github: https://github.com/having11/cnc_part_picker_webpages Înlocuiți parametrii lipsă din fișierele PHP pentru serverul MySQL specific. Puneți fișierele în folderul htdocs din folderul Apache. Pur și simplu rulați scriptul Python și apoi ori de câte ori se schimbă suma piesei, mașina va merge în acea locație și o va obține. Găsiți fișierele de imprimare 3D aici și fișierele paginii web aici.

Recomandat: