Cuprins:
- Pasul 1: Teorie
- Pasul 2: Baza de date
- Pasul 3: Configurarea Apache
- Pasul 4: Configurarea PHP
- Pasul 5: Proiectarea aparatului
- Pasul 6: Fabricarea aparatului
- Pasul 7: Cod Arduino
- Pasul 8: Program Python
- Pasul 9: Utilizarea selectorului de piese
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
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
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
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
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
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
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
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
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
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:
Reducerea consumului de energie al releului - Menținerea față de curentul de preluare: 3 pași
Reducerea consumului de energie al releului - Menținerea în funcție de curentul de preluare: Majoritatea releelor necesită mai mult curent pentru a acționa inițial decât este necesar pentru a menține releul pornit după ce contactele s-au închis. Curentul necesar pentru menținerea releului pornit (curentul de menținere) poate fi substanțial mai mic decât curentul inițial necesar pentru a acționa
Distribuirea pieselor detaliate: Degete protetice (care strălucesc, schimbă culoarea cu căldură și multe altele ): 10 pași (cu imagini)
Turnarea pieselor detaliate: Degete protetice (care strălucesc, schimbă culoarea cu căldură și multe altele …): Acesta este un ghid despre turnarea pieselor mici și complexe - la prețuri reduse. Ar trebui spus că nu sunt expert în turnare, dar, deoarece necesitatea este adesea mama invenției - unele dintre procesele de aici au funcționat bine. L-am cunoscut pe Nigel Ackland la Future Fest din Londra și
Reutilizarea pieselor vechi de laptop pentru a construi un sistem portabil ieftin: 3 pași (cu imagini)
Reutilizarea pieselor de laptop vechi pentru a construi un sistem portabil ieftin: Recent, laptopul meu vechi a murit și a trebuit să cumpăr unul nou, (RIP! 5520 vă va fi dor). Placa de bază a laptopului a murit, iar pagubele au fost reparabile Până de curând am adus plăcintă cu zmeură și am început să fac jocuri cu IOT sutff, dar aveam nevoie de un
Recoltarea pieselor dintr-o imprimantă laser: 10 pași (cu imagini)
Recoltarea pieselor dintr-o imprimantă laser: GRATUIT! Un cuvânt minunat nu-i așa. Free este prefixul pentru atâtea expresii incitante; Vorbirea liberă, banii liberi, prânzul gratuit și dragostea gratuită sunt doar câteva. Cu toate acestea, nimic nu stârnește imaginația sau nu face ca inima să curgă la fel ca gândul
Mod de preluare a chitarei electrice cu led *** Actualizat cu schemă pentru lumini intermitente și video !: 8 pași
Mod de preluare a chitarei electrice cu led *** Actualizat cu schemă pentru leduri clipitoare și video !: Ați dorit vreodată ca chitara dvs. să fie unică? Sau o chitară care a făcut pe toată lumea gelos pe ea? Sau te-ai săturat de aspectul simplu și vechi al chitarei tale și vrei să-l îmbraci? Ei bine, în acest Ible foarte simplu vă voi arăta cum să iluminați pickup-urile de pe yo