Turinys:
- 1 žingsnis: teorija
- 2 žingsnis: duomenų bazė
- 3 žingsnis: „Apache“nustatymas
- 4 žingsnis: PHP nustatymas
- 5 žingsnis: mašinos projektavimas
- 6 žingsnis: mašinos gamyba
- 7 žingsnis: „Arduino“kodas
- 8 žingsnis: „Python“programa
- 9 veiksmas: dalių rinkiklio naudojimas
Video: CNC dalių surinkimo mašina: 9 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
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
Š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ė
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
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
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
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
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
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
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:
Mažiausias pasaulyje „Bluetooth“garsiakalbis iš senų dalių: 8 žingsniai (su nuotraukomis)
Mažiausias pasaulyje „Bluetooth“garsiakalbis iš senų dalių: jei jums patiko šis projektas, apsvarstykite galimybę balsuoti už jį, kad laimėtumėte konkursą „Šiukšlės į lobį“-http://www.instructables.com/contest/trashytreasure2020/ Šioje instrukcijoje sužinosite, kaip tai padaryti itin mažas naminis „Bluetooth“garsiakalbis, kuriame yra
Senų nešiojamųjų kompiuterių dalių pakartotinis naudojimas kuriant pigią nešiojamą sistemą: 3 žingsniai (su nuotraukomis)
Pakartotinis senų nešiojamųjų kompiuterių dalių panaudojimas kuriant pigią nešiojamą sistemą: Neseniai mano senasis nešiojamas kompiuteris mirė ir turėjau nusipirkti naują (RIP! 5520 būsite praleistas). Nešiojamojo kompiuterio motininė plokštė mirė, o žala buvo pataisyta. Visai neseniai aš atsinešiau aviečių pyragą ir pradėjau tvarkyti IOT sutff, bet man reikėjo specialios
RoboBin -- Šiukšlių surinkimo dėžė: 6 žingsniai (su nuotraukomis)
„RoboBin“|| Šiukšlių surinkimo šiukšliadėžė: „RoboBin“yra šiukšliadėžė, kuri išmeta šiukšles, kai jas išmetate. Tai reiškia, kad galite išmesti šiukšles, nesikeldami, kad kažką išmestumėte. Pradėkime Kaip tai veikia Robo šiukšliadėžė veikia solenoidu, stumdama šiukšliadėžės dangtį, kai kas nors
Trijų dalių laikrodis: 6 žingsniai (su nuotraukomis)
Trijų dalių laikrodis: įprastas analoginis laikrodis yra efektyvus būdas sukrauti tris skirtingus informacijos bitus vienas ant kito. Visas valandas, minutes ir sekundes galima perskaityti tik vienu ratuku. Man patinka ši sistema, bet po kurio laiko pagalvojau, kad kiekviena ranka turėtų būti
Galutinis dalių saugojimas: 4 žingsniai (su nuotraukomis)
Galutinis dalių saugojimas: jei mėgstate gaminti daiktus, tikriausiai turite šimtus ar net tūkstančius smulkių detalių - veržles, varžtus, varžtus, elektronines dalis ir tt. Tai yra vienas pigiausių, kompaktiškiausių, lanksčiausių, nešiojamų ir paprastų laikymo būdų. juos - aplankuose galite