Turinys:

CNC dalių surinkimo mašina: 9 žingsniai (su nuotraukomis)
CNC dalių surinkimo mašina: 9 žingsniai (su nuotraukomis)

Video: CNC dalių surinkimo mašina: 9 žingsniai (su nuotraukomis)

Video: CNC dalių surinkimo mašina: 9 žingsniai (su nuotraukomis)
Video: ŠIUKŠLIŲ KROVĖJO DARBAS (gyvai) -- 1 dalis 2024, Liepa
Anonim
CNC dalių surinkimo mašina
CNC dalių surinkimo mašina

Jei esate rimtas gamintojas kaip aš, greičiausiai turėsite daugybę rezistorių, kondensatorių ir įvairių kitų elektroninių komponentų. Tačiau yra didelė problema: kaip sekti, ką ar kiek jie turi? Dėl šios problemos sukūriau CNC mašiną, kuri gauna informaciją iš „MySQL“duomenų bazės, kuri tada eina ir nuskaito prašomą elementą. Be duomenų bazės vidinės pusės, sukūriau priekinį tinklalapį, leidžiantį vartotojams prisijungti ir tada kurti dalių kategorijas, pridėti naujų dalių ir keisti dalių kiekį. Tokiu būdu galima apskaityti kiekvieną prekę, kaip ir atsargų valdymo sistemą.

Komponentai:

  • „Arduino UNO“ir „Genuino UNO“
  • Mašinos varžtai: 8 mm, 3 mm, 4 mm
  • MOSFET N kanalas
  • Lygintuvo diodas 1N4001
  • Žingsninis variklis NEMA 17 x2
  • „Stepper Motors x2“tvarkyklė DRV8825
  • Kondensatorius 100 µF x2
  • DFRobot servo griebtuvas
  • DFRobot paskirstymo diržas x2
  • „DFRobot“5 mm paskirstymo skriemulys x2
  • Linijinis guolis DFRobot 6mmx12mm x2
  • DFRobot rutulinis guolis 8mmx12mm

1 žingsnis: teorija

Image
Image

Šios sistemos pagrindas yra atsargų sekimas. Pavyzdžiui, jei kas nors perka 20 „Arduino Uno“plokščių, jis gali lengvai pridėti šią sumą prie duomenų bazės lentelės. Kategorija būtų „Arduino“, „Uno“pavadinimas ir kiekis 20. Kelių žmonių atveju tos dalies savininkas būtų ją pridėjusio asmens naudotojo vardas. Dalis taip pat apimtų duomenis apie jos vietą tinklelyje. Kai keičiasi dalies kiekis, CNC staklės pasirenka tą dalį ir atiduoda vartotojui.

2 žingsnis: duomenų bazė

Duomenų bazė
Duomenų bazė
Duomenų bazė
Duomenų bazė

Man reikėjo visur esančios duomenų bazės, kurią galėtų pasiekti ir „Python“, ir PHP. Jis taip pat turėjo būti lengvai naudojamas ir gausiai palaikomas, todėl „MySQL“tapo puikiu duomenų bazės serveriu. Pradėjau atsisiųsdamas „mysql“diegimo programą iš https://dev.mysql.com/downloads/windows/installer/ ir tada paleidau. Aš nusprendžiau įdiegti serverį (žinoma), taip pat darbo stalą, apvalkalą ir komunalines paslaugas. Rinkdamiesi vartotojo vardą ir slaptažodį, nepamirškite jų prisiminti, nes tų pačių kredencialų reikia visuose PHP failuose ir „Python“scenarijuje. Paleidę serverį, įgalinkite jį veikti kaip foninį procesą, kad jis visada būtų aktyvus. Nuo šiol viskas turi būti parašyta ir tokia pat tvarka, kaip aš. Tada sukurkite naują duomenų bazę (schemą), pavadintą „komponentai“. Tada pridėkite šias lenteles: „kategorijos“, „dalys“ir „vartotojai“. Kategorijų lentelėje pridėkite šiuos stulpelius tokia tvarka: „id“-int (11), PK, AI; "vardas" -varcharas (45); „savininkas“- varcharas (45).

Dalių lentelėje pridėkite šiuos stulpelius tokia tvarka: „id“-int (11), AI, PK; "kategorija" -varchar (45); "vardas" -varcharas (45); "kiekis" -int (11); "savininkas" -varcharas (45); "locationX" -int (11); "locationY" -int (11);

Vartotojų lentelėje pridėkite šiuos stulpelius tokia tvarka: "id" -int (11), AI, PK; "vartotojo vardas" -varchar (45); "slaptažodis" -varchar (128);

3 žingsnis: „Apache“nustatymas

„Apache“nustatymas
„Apache“nustatymas
„Apache“nustatymas
„Apache“nustatymas
„Apache“nustatymas
„Apache“nustatymas

Mano sukurti tinklalapiai naudoja HTML, CSS, „Javascript“ir PHP. Pradėkite atsisiųsdami naujausią „apache“versiją iš https://www.apachelounge.com/download/ ir išpakuokite ją, perkeldami aplanką į katalogą C: \. Tada atsisiųskite PHP iš https://windows.php.net/download#php-7.2 ir įsitikinkite, kad tai yra „Thread Safe“versija. Išpakuokite, pervardykite į „PHP“ir perkelkite į katalogą C: \. Tada eikite į C: / Apache24 / conf / httpd.conf ir redaguokite. Po skiltimi pridėkite šias eilutes:

LoadModule php7_module C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

„AddHandler“programa/x-httpd-php.php

PHPIniDir „C:/PHP“

Tada patikrinkite savo serverį paleisdami httpd.exe, esantį aplanke „Bin“. Eikite į „localhost/“savo naršyklėje ir pažiūrėkite, ar pasirodo sveikas pasaulio puslapis. Jei taip atsitiks, ura, dabar turite vietinį žiniatinklio serverį.

4 žingsnis: PHP nustatymas

PHP nustatymas
PHP nustatymas
PHP nustatymas
PHP nustatymas

Norint nustatyti „MySQL“PHP, reikia atlikti keletą veiksmų. Pirmiausia pervardykite „php.ini-Recommended“į „php.ini“ir atidarykite jį užrašų knygelėje. Eikite į plėtinių skyrių ir pridėkite arba pašalinkite komentarą „extension = php_mysqli.dll“, kuris leis PHP bendrauti su „MySQL“serveriu. Dabar iš naujo paleiskite „httpd.exe“ir sukurkite naują failą „phptest.php“ir įdėkite į failą. Dabar eikite į localhost/phptest.php ir pažiūrėkite, ar atsiranda jūsų naršyklės informacija.

5 žingsnis: mašinos projektavimas

Mašinos projektavimas
Mašinos projektavimas
Mašinos projektavimas
Mašinos projektavimas
Mašinos projektavimas
Mašinos projektavimas

Pradėjau sukūręs keletą pagrindinių „Fusion 360“dalių: 6 mm strypo, linijinio guolio ir žingsninio variklio. Tada aš perbraukiau du strypus, kad suformuočiau y ašį, taip pat uždėjau paskirstymo diržą aplink žingsninį variklį ir guolį. Taip pat pridėjau x ašį. Tada pradėjau 3D spausdinti įvairias dalis, taip pat CNC nukreipiau dvi šonines plokštes.

6 žingsnis: mašinos gamyba

Mašinos gamyba
Mašinos gamyba
Mašinos gamyba
Mašinos gamyba
Mašinos gamyba
Mašinos gamyba

Aš galų gale patyriau keletą pakartojimų kiekvienoje dalyje, taigi, jei jie skiriasi, tai kodėl. Pradėjau šlifuoti kiekvieną dalį ir tada išgręžti kiekvieną skylę 3D spausdintose dalyse. Tada aš įdėjau linijinius guolius į skyles ir perbraukiau 6 mm strypus. Aš taip pat sumontavau žingsninius variklius į atitinkamas vietas, pritvirtinus skriemulius prie jų velenų. Paskirstymo diržas buvo sulenktas aplink abi ašis abiejose ašyse. Galų gale supratau, kad griebtuvas bus pernelyg sudėtingas, todėl pasirinkau elektromagnetą. Aš taip pat turėjau šiek tiek pagalbos jį kurdamas, katės pavidalu.

7 žingsnis: „Arduino“kodas

Arduino kodas
Arduino kodas

Mano pagrindas šiai mašinai buvo GRBL. Kodo pradžioje pateikiami įvairūs parametrai, tokie kaip atstumas per apsisukimą, poslinkiai ir apimtys. Naudojau „BasicStepperDriver“biblioteką DRV8825 žingsninio variklio tvarkyklėms valdyti. „Stepper“tvarkyklės naudojamos naudojant 1/32 mikro žingsnius, padidinant skiriamąją gebą. Kai mašina „įsijungia“, ji eina per nustatymo seką, kur kiekviena ašis žingsniuoja tol, kol pasiekia ribinį jungiklį. Tada jis persikelia pagal poslinkį į nustatytą vietą ir nustato vietą 0, 0. Dabar, kai ji gauna perkelimo komandą per seriją, ji juda į tą tinklelio vietą.

8 žingsnis: „Python“programa

Aš nusprendžiau naudoti „Flask“kaip žiniatinklio serverį, kuris gautų GET užklausas iš pagrindinės svetainės. Prašymus sudaro dalies pavadinimas ir kategorija. Kai „Flask“jį tvarko, duomenys bus išanalizuoti, tada „MySQL“serveris bus užklaustas, kad sužinotų detalės vietą. Tada „Python“scenarijus siunčia komandą „Arduino“, nurodydamas, kur yra dalis.

9 veiksmas: dalių rinkiklio naudojimas

Dalies parinkiklio naudojimas
Dalies parinkiklio naudojimas
Dalies parinkiklio naudojimas
Dalies parinkiklio naudojimas
Dalies parinkiklio naudojimas
Dalies parinkiklio naudojimas
Dalies parinkiklio naudojimas
Dalies parinkiklio naudojimas

Svetainės failus pateikiau savo „github“saugykloje: https://github.com/having11/cnc_part_picker_webpages Pakeiskite trūkstamus parametrus konkretaus „MySQL“serverio PHP failuose. Įdėkite failus į „Apache“aplanko „htdocs“aplanką. Tiesiog paleiskite „python“scenarijų ir tada, kai bus pakeista dalies suma, mašina nuvyks į tą vietą ir ją gaus. 3D spausdinimo failus rasite čia, o tinklalapio failus - čia.

Rekomenduojamas: