Talaan ng mga Nilalaman:
- Hakbang 1: Teorya
- Hakbang 2: Database
- Hakbang 3: Pag-set up ng Apache
- Hakbang 4: Pag-set up ng PHP
- Hakbang 5: Pagdidisenyo ng Makina
- Hakbang 6: Paggawa ng Makina
- Hakbang 7: Arduino Code
- Hakbang 8: Program sa Python
- Hakbang 9: Gamit ang Part Picker
Video: Machine ng Pagpipili ng Bahagi ng CNC: 9 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Kung ikaw ay isang seryosong tagagawa tulad ng sa akin, malamang na mayroon kang hindi mabilang na mga resistors, capacitor, at iba't ibang mga elektronikong sangkap na nakahiga. Ngunit may isang pangunahing problema: Paano sinusubaybayan ng isa kung ano o ilan sa ilang bagay ang mayroon sila? Para sa isyung ito, lumikha ako ng isang makina ng CNC na nakakakuha ng impormasyon mula sa isang database ng MySQL na pagkatapos ay napupunta at kinukuha ang item na hiniling. Bilang karagdagan sa back-end ng database, gumawa ako ng isang front-end na webpage na nagbibigay-daan para sa mga gumagamit na mag-login at pagkatapos ay lumikha ng mga kategorya ng mga bahagi, magdagdag ng mga bagong bahagi, at baguhin ang dami ng mga bahagi. Sa ganitong paraan maaaring mai-account ang bawat solong item, tulad ng isang stock management system.
Mga Bahagi:
- Arduino UNO at Genuino UNO
- Mga Machine Screw: 8mm, 3mm, 4mm
- MOSFET N-channel
- Rectifier Diode 1N4001
- Stepper Motor NEMA 17 x2
- Driver DRV8825 para sa Stepper Motors x2
- Kapasitor 100 µF x2
- DFRobot Servo Gripper
- DFRobot Timing Belt x2
- DFRobot 5MM Timing Pulley x2
- DFRobot Linear Bearing 6mmx12mm x2
- DFRobot Ball Bearing 8mmx12mm
Hakbang 1: Teorya
Ang batayan ng sistemang ito ay upang subaybayan ang imbentaryo. Halimbawa, kung ang isang tao ay bibili ng 20 Arduino Uno boards madali nilang maidaragdag ang halagang iyon sa isang table sa database. Ang kategorya ay "Arduino", pangalan ng "Uno", at isang dami ng 20. Para sa maraming tao, ang may-ari ng bahaging iyon ay magiging username ng taong nagdagdag nito. Magsasama rin ang bahagi ng data tungkol sa lokasyon nito sa isang grid. Kailan man magbago ang halaga ng bahagi ay pipiliin ng makina ng CNC ang bahaging iyon at ibigay ito sa gumagamit.
Hakbang 2: Database
Kailangan ko ng isang nasa lahat ng lugar na database na maaaring ma-access ng parehong Python at PHP. Kailangan din itong madaling gamitin nang may maraming suporta, na ginagawang perpektong database server ang MySQL. Nagsimula ako sa pamamagitan ng pag-download ng installer ng MySQL mula sa https://dev.mysql.com/downloads/windows/installer/ at pagkatapos ay pinatakbo ito. Pinili kong i-install ang server (syempre), at pati na rin ang workbench, shell, at mga utility. Kapag pinili mo ang isang username at password siguraduhing tandaan ito, tulad ng parehong mga kredensyal na kinakailangan sa lahat ng mga file na PHP at script ng Python. Matapos simulan ang server paganahin ito upang tumakbo bilang isang proseso ng background sa gayon ito ay palaging magiging aktibo. Mula dito sa lahat ng bagay ay dapat na baybayin at sa eksaktong parehong pagkakasunud-sunod tulad ng mayroon ako nito. Susunod, lumikha ng isang bagong database (schema) na tinatawag na "mga bahagi". Pagkatapos ay idagdag ang mga sumusunod na talahanayan: "kategorya", "bahagi", at "mga gumagamit". Sa talahanayan ng mga kategorya idagdag ang mga sumusunod na haligi sa eksaktong pagkakasunud-sunod na ito: "id" -int (11), PK, AI; "pangalan" -varchar (45); "may-ari" - varchar (45).
Sa talahanayan ng mga bahagi idagdag ang mga sumusunod na haligi sa eksaktong pagkakasunud-sunod na ito: "id" -int (11), AI, PK; "kategorya" -varchar (45); "pangalan" -varchar (45); "dami" -int (11); "may-ari" -varchar (45); "locationX" -int (11); "locationY" -int (11);
Sa talahanayan ng mga gumagamit idagdag ang mga sumusunod na haligi sa eksaktong pagkakasunud-sunod na ito: "id" -int (11), AI, PK; "username" -varchar (45); "password" -varchar (128);
Hakbang 3: Pag-set up ng Apache
Ang mga webpage na aking nilikha ay gumagamit ng HTML, CSS, Javascript, at PHP. Magsimula sa pamamagitan ng pag-download ng pinakabagong bersyon ng apache mula sa https://www.apachelounge.com/download/ at i-unzip ito, ilipat ang folder sa direktoryo ng C: \. Susunod, mag-download ng PHP mula sa https://windows.php.net/download#php-7.2 at tiyaking ito ang bersyon ng Ligtas na Thread. I-unzip ito, palitan ang pangalan nito sa "PHP", at ilipat ito sa direktoryo ng C: \. Pagkatapos ay pumunta sa C: / Apache24 / conf / httpd.conf at i-edit ito. Idagdag ang mga sumusunod na linya sa ibaba mismo ng seksyon:
LoadModule php7_module C: /PHP/php7apache2_4.dll
DirectoryIndex index.html index.php
Application ng AddHandler / x-httpd-php.php
PHPIniDir "C: / PHP"
Pagkatapos ay subukan ang iyong server sa pamamagitan ng pagpapatakbo ng httpd.exe na matatagpuan sa folder ng bin. Tumungo sa "localhost /" sa iyong browser at tingnan kung ang pahina ng hello world ay lalabas. Kung gagawin ito, hurray, mayroon ka na ngayong isang lokal na webserver.
Hakbang 4: Pag-set up ng PHP
Upang mai-set up ang MySQL para sa PHP maraming bagay ang dapat gawin. Una, palitan ang pangalan ng "php.ini-Recommended" sa "php.ini" at pagkatapos ay buksan ito sa notepad. Tumungo sa seksyon ng mga extension at idagdag o i-unsment ang "extension = php_mysqli.dll" na hahayaan ang PHP na makipag-usap sa MySQL server. Ngayon i-restart ang httpd.exe at lumikha ng isang bagong file na tinatawag na "phptest.php" at ilagay sa file. Pumunta ngayon sa localhost / phptest.php at tingnan kung lalabas ang impormasyon ng iyong browser.
Hakbang 5: Pagdidisenyo ng Makina
Nagsimula ako sa pamamagitan ng paglikha ng ilang mga pangunahing bahagi sa Fusion 360: isang 6mm rod, linear tindig, at isang stepper motor. Pagkatapos ay binaybay ko ang dalawang pamalo sa kabuuan upang mabuo ang y axis, at naglagay din ng isang belt ng tiyempo sa paligid ng stepper motor at tindig. Nagdagdag din ako ng isang x axis, pati na rin. Pagkatapos ay nagsimula akong mag-print ng 3D ng iba't ibang mga bahagi at din ang router ay pinatuon ang dalawang mga panel sa gilid.
Hakbang 6: Paggawa ng Makina
Natapos akong dumaan sa maraming mga pag-ulit ng bawat bahagi, kaya kung may iba na kung bakit. Nagsimula ako sa pamamagitan ng pag-sanding ng bawat bahagi at pagkatapos ay pagbabarena ng bawat butas sa mga naka-print na bahagi ng 3D. Pagkatapos ay inilagay ko ang mga linear bearings sa mga butas at pinatakbo ang mga 6mm rods sa pamamagitan ng mga ito. Inilagay ko rin ang mga stepper motor sa kani-kanilang mga lokasyon pagkatapos na ikabit ang mga pulley sa kanilang mga shaft. Ang timing belt ay nakuha looped sa paligid ng bawat isa sa dalawang panig para sa parehong palakol. Maya-maya napagtanto ko na ang mahigpit na pagkakahawak ay magiging masyadong masalimuot, kaya't sa halip ay pumili ako ng isang electromagnet. Mayroon din akong kaunting tulong habang itinatayo ito, sa anyo ng isang pusa.
Hakbang 7: Arduino Code
Ang aking batayan para sa makina na ito ay ang GRBL. Ang pagsisimula ng code ay naglilista ng iba't ibang mga parameter, tulad ng distansya bawat pag-ikot, mga offset, at mga sakop. Ginamit ko ang library ng BasicStepperDriver upang makontrol ang mga driver ng stepper motor na DRV8825. Ang mga driver ng stepper ay nakatakda na gumamit ng 1/32 micro-stepping, pinapataas ang resolusyon. Kailan man "mag-boot up" ang makina dumadaan ito sa isang homing series kung saan ang bawat axis ay tumatakbo hanggang sa maabot nito ang isang limit switch. Pagkatapos ay gumagalaw ito batay sa offset sa isang itinakdang lokasyon at itinakda ang lokasyon sa 0, 0. Ngayon tuwing nakakatanggap ito ng isang command na ilipat sa pamamagitan ng serial lumilipat ito sa lokasyon ng grid.
Hakbang 8: Program sa Python
Pinili kong gamitin ang Flask bilang isang webserver na makakatanggap ng GET mga kahilingan mula sa pangunahing website. Ang mga kahilingan ay binubuo ng pangalan at kategorya ng bahagi. Matapos pangasiwaan ito ng Flask ang data ay ma-parse, pagkatapos ang MySQL server ay natanong upang malaman ang lokasyon ng bahagi. Pagkatapos ang python script ay nagpapadala ng isang utos sa Arduino, na tumutukoy kung saan ang bahagi.
Hakbang 9: Gamit ang Part Picker
Naibigay ko ang mga file ng website sa aking github repository: https://github.com/having11/cnc_part_picker_webpages Palitan ang mga nawawalang parameter sa mga PHP file para sa iyong tukoy na MySQL server. Ilagay ang mga file sa folder ng htdocs sa folder ng Apache. Patakbuhin lamang ang script ng python at pagkatapos ay kailan man nabago ang halaga ng bahagi ang machine ay pupunta sa lokasyon na iyon at makuha ito. Hanapin ang mga 3D print file dito at ang mga webpage file dito.
Inirerekumendang:
Paghihinang Sa Pamamagitan ng Mga Bahagi ng Hole - Mga Pangunahing Kaalaman sa Paghinang: 8 Hakbang (na may Mga Larawan)
Paghihinang Sa Pamamagitan ng Mga Bahagi ng Hole | Mga Pangunahing Kaalaman sa Paghinang: Sa Maituturo na Ito Magtatalakay ako ng ilang mga pangunahing kaalaman tungkol sa mga soldering through-hole na bahagi sa mga circuit board. Ipagpapalagay ko na nasuri mo na ang unang 2 Mga Tagubilin para sa aking seryeng Mga Panghinang na Pangunahing Kaalaman. Kung hindi mo pa nasuri ang aking In
Mga Cool na Paraan upang Muling Maipatupad ang Mga Lumang Bahagi ng Computer: 7 Hakbang (na may Mga Larawan)
Cool Ways to Repurpose Old Computer Parts: Sa itinuturo na ito bibigyan ko kaagad ng ilang mga ideya kung paano muling magagamit ang ilang bahagi ng mga lumang computer na itinatapon ng lahat. Hindi ka maniniwala, ngunit ang mga lumang computer na ito ay may maraming mga kagiliw-giliw na bahagi sa loob. hindi magbibigay ng buo
Paano Ligtas na Natatanggal ang Mga Elektronikong Mga Bahagi para sa Muling Paggamit: 9 Mga Hakbang (na may Mga Larawan)
Paano Ligtas na Natapos na Mga Elektronikong Mga Bahagi para sa Muling Paggamit: Kumusta! Ako ay isang electronics nerd, kaya gusto kong maglaro ng iba't ibang mga elektronikong sangkap sa aking mga proyekto. Gayunpaman, maaaring wala akong palaging mga sangkap na kailangan ko upang matapos ko ang aking trabaho. Minsan mas madali itong hilahin ang mga sangkap na kailangan ko mula sa isang lumang elektronikong
10 Mga kahalili sa DIY sa Mga Off-The-Shelf na Elektroniko na Mga Bahagi: 11 Mga Hakbang (na may Mga Larawan)
10 Mga Kahalili sa DIY sa Mga Off-The-Shelf na Mga Elektroniko na Bahagi: Maligayang pagdating sa aking kauna-unahang itinuro! Sa palagay mo ba ang ilang mga bahagi mula sa mga tagatingi sa online ay masyadong mahal o may mababang kalidad? Kailangan bang makakuha ng isang prototype nang mabilis at tumatakbo nang mabilis at hindi makapaghintay linggo para sa pagpapadala? Walang mga lokal na electronics distributor? Ang fol
Kung saan Kumuha ng Mga Elektronikong Bahagi at Pagpipili ng isang LED: 5 Hakbang
Kung saan Kumuha ng Mga Elektronikong Bahagi at Pagpipili ng isang LED: Ito ay maaaring maituro kung saan pupunta ang isang engineer ng disenyo ng hardware upang maghanap ng mga bahagi. Nakatuon ito sa mga tao na naghahanap upang makapasok sa electronics bilang isang libangan at hindi alam kung saan makakakuha ng mga bagay. Dadaan din ako sa isang LED halimbawa sa sh