Բովանդակություն:
- Քայլ 1: Տեսություն
- Քայլ 2: Տվյալների բազա
- Քայլ 3: Կարգավորել Apache- ը
- Քայլ 4: PHP- ի կարգավորում
- Քայլ 5: Մեքենայի նախագծում
- Քայլ 6: Մեքենայի պատրաստում
- Քայլ 7: Arduino կոդ
- Քայլ 8: Python ծրագիր
- Քայլ 9: Օգտագործելով մասի ընտրիչը
Video: CNC մասի հավաքման մեքենա. 9 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Եթե դուք իմ նման լուրջ արտադրող եք, ապա, ամենայն հավանականությամբ, ձեր շուրջը կլինեն անհամար դիմադրիչներ, կոնդենսատորներ և տարբեր այլ էլեկտրոնային բաղադրիչներ: Բայց կա մի հիմնական խնդիր. Ինչպե՞ս կարելի է հետևել, թե ինչ կամ քանի բան ունեն: Այս հարցի համար ես ստեղծեցի CNC մեքենա, որը տեղեկատվություն է ստանում MySQL տվյալների շտեմարանից, որն այնուհետ գնում է և վերցնում է պահանջվող նյութը: Բացի տվյալների բազայի հետևից, ես պատրաստեցի հիմնական էջ, որը թույլ է տալիս օգտվողներին մուտք գործել, այնուհետև ստեղծել մասերի կատեգորիաներ, ավելացնել նոր մասեր և փոխել մասերի քանակը: Այս կերպ յուրաքանչյուր ապրանքատեսակ կարող է հաշվառվել, ինչպես բաժնետոմսերի կառավարման համակարգը:
Բաղադրիչներ:
- Arduino UNO և Genuino UNO
- Մեքենայի պտուտակներ `8 մմ, 3 մմ, 4 մմ
- MOSFET N- ալիք
- Ուղղիչ դիոդ 1N4001
- Stepper Motor NEMA 17 x2
- Վարորդ DRV8825 Stepper Motors x2- ի համար
- Կոնդենսատոր 100 μF x2
- DFRobot Servo Gripper
- DFRobot ingամացույցի գոտի x2
- DFRobot 5MM ingամացույց ճախարակ x2
- DFRobot գծային կրող 6 մմ x 12 մմ x2
- DFRobot գնդիկավոր առանցք 8 մմ x 12 մմ
Քայլ 1: Տեսություն
Այս համակարգի հիմքում ընկած է պաշարների պահպանումը: Օրինակ, եթե ինչ -որ մեկը գնում է 20 Arduino Uno տախտակ, նա կարող է հեշտությամբ ավելացնել այդ գումարը տվյալների բազայի աղյուսակին: Կատեգորիան կլինի «Arduino», «Uno» - ի անվանումը և քանակ 20: Մի քանի հոգու համար այդ մասի սեփականատերը կլինի այն ավելացնողի անունը: Մասը կներառի նաև ցանցի վրա գտնվելու վայրի մասին տվյալները: Ամեն անգամ, երբ մասի գումարը փոխվում է, CNC մեքենան ընտրում է այդ մասը և տալիս այն օգտագործողին:
Քայլ 2: Տվյալների բազա
Ինձ անհրաժեշտ էր ամենուր շտեմարան, որին կարող էին մուտք գործել ինչպես Python- ը, այնպես էլ PHP- ն: Այն նաև պետք է դյուրին լիներ շատ աջակցությամբ ՝ MySQL- ը դարձնելով տվյալների բազայի կատարյալ սերվեր: Ես սկսեցի ներբեռնել mysql տեղադրիչը https://dev.mysql.com/downloads/windows/installer/ կայքից և այնուհետև գործարկեցի այն: Ես ընտրեցի տեղադրել սերվերը (իհարկե), ինչպես նաև աշխատասեղանը, կեղևը և կոմունալ ծառայությունները: Օգտվողի անուն և գաղտնաբառ ընտրելիս անպայման հիշեք այն, քանի որ նույն հավատարմագրերն անհրաժեշտ են PHP բոլոր ֆայլերում և Python սցենարում: Սերվերը գործարկելուց հետո միացրեք այն որպես ֆոնային գործընթաց, որպեսզի այն միշտ ակտիվ լինի: Այսուհետ ամեն ինչ պետք է գրվի և ճիշտ նույն կարգով, ինչ որ ես ունեմ: Հաջորդը, ստեղծեք նոր տվյալների բազա (սխեմա), որը կոչվում է «բաղադրիչներ»: Այնուհետև ավելացրեք հետևյալ աղյուսակները ՝ «կատեգորիաներ», «մասեր» և «օգտվողներ»: Կատեգորիաների աղյուսակում ավելացրեք հետևյալ սյունակները հենց այս հերթականությամբ. "Id" -int (11), PK, AI; «անուն» -վարչառ (45); «սեփականատեր» - վարչար (45):
Մասերի աղյուսակում ավելացրեք հետևյալ սյունակները հենց այս հերթականությամբ. "Id" -int (11), AI, PK; «կատեգորիա» -վարչառ (45); «անուն» -վարչառ (45); «քանակ» -int (11); «սեփականատեր» -վարչար (45); "locationX" -int (11); "locationY" -int (11);
Օգտվողների աղյուսակում ավելացրեք հետևյալ սյունակները հենց այս հերթականությամբ. "Id" -int (11), AI, PK; «օգտվողի անուն» -վարչառ (45); «գաղտնաբառ» -վարչար (128);
Քայլ 3: Կարգավորել Apache- ը
Իմ ստեղծած վեբ էջերն օգտագործում են HTML, CSS, Javascript և PHP: Սկսեք ՝ ներբեռնելով apache- ի վերջին տարբերակը https://www.apachelounge.com/download/ կայքից և բացեք այն ՝ թղթապանակը տեղափոխելով C: / գրացուցակ: Հաջորդը, ներբեռնեք PHP https://windows.php.net/download#php-7.2 կայքից և համոզվեք, որ դա Thread Safe տարբերակն է: Անջատեք այն, անվանափոխեք այն «PHP» և տեղափոխեք այն C: / գրացուցակում: Այնուհետև գնացեք C: / Apache24 / conf / httpd.conf և խմբագրեք այն: Բաժնի ներքևում ավելացրեք հետևյալ տողերը.
LoadModule php7_module C: /PHP/php7apache2_4.dll
DirectoryIndex index.html index.php
AddHandler ծրագիր/x-httpd-php.php
PHPIniDir "C:/PHP"
Այնուհետև փորձարկեք ձեր սերվերը ՝ գործարկելով աղբարկղում տեղադրված httpd.exe- ն: Գնացեք դեպի «localhost/» ձեր դիտարկիչում և տեսեք, թե արդյոք բարևի համաշխարհային էջը հայտնվում է: Եթե դա այդպես է, ուրահ, դուք այժմ ունեք տեղական վեբ սերվեր:
Քայլ 4: PHP- ի կարգավորում
PHP- ի համար MySQL ստեղծելու համար պետք է մի քանի բան անել: Նախ անվանափոխեք «php.ini-rekomandված» -ը «php.ini», այնուհետև բացեք այն նոթատետրում: Գնացեք ընդլայնումների բաժին և ավելացրեք կամ մեկնաբանեք «extension = php_mysqli.dll», ինչը թույլ կտա PHP- ին հաղորդակցվել MySQL սերվերի հետ: Այժմ վերագործարկեք httpd.exe- ն և ստեղծեք «phptest.php» անունով նոր ֆայլ և տեղադրեք ֆայլի մեջ: Այժմ գնացեք localhost/phptest.php և տեսեք, թե արդյո՞ք հայտնվում են ձեր դիտարկիչի տվյալները:
Քայլ 5: Մեքենայի նախագծում
Ես սկսեցի Fusion 360- ում ստեղծելով մի քանի հիմնական մասեր `6 մմ ձող, գծային առանցքակալ և քայլող շարժիչ: Այնուհետև ես երկու ձողեր տարածեցի ՝ ձևավորելով y առանցքը, ինչպես նաև տեղադրեցի ժամանակի գոտի սանդղակի շարժիչի և առանցքի շուրջը: Ես նաև ավելացրեցի x առանցք, ինչպես նաև: Այնուհետև ես սկսեցի 3D մասեր տպել տարբեր մասերի, ինչպես նաև CNC- ն ուղղեց երկու կողային վահանակներ:
Քայլ 6: Մեքենայի պատրաստում
Ես ավարտեցի յուրաքանչյուր մասի բազմակի կրկնումներ, ուստի, եթե դրանք տարբեր են, այդ պատճառով: Ես սկսեցի հղկելով յուրաքանչյուր մաս, այնուհետև հորատելով 3D տպված մասերի յուրաքանչյուր անցք: Հետո գծային առանցքակալներ դրեցի անցքերի մեջ և վազեցի 6 մմ ձողերը դրանց միջով: Ես նաև տեղադրեցի սանդղակի շարժիչները իրենց համապատասխան վայրերում ՝ ճախարակները դրանց լիսեռներին ամրացնելուց հետո: Ingամացույցի գոտին պտտվեց երկու կողմերից յուրաքանչյուրի շուրջ երկու առանցքների համար: Ի վերջո, ես հասկացա, որ բռնիչը չափազանց ծանր կլինի, ուստի փոխարենը ընտրեցի էլեկտրամագնիս: Ես նույնպես որոշակի օգնություն ունեցա այն կառուցելիս ՝ կատվի տեսքով:
Քայլ 7: Arduino կոդ
Այս մեքենայի իմ հիմքը GRBL- ն էր: Կոդի մեկնարկը թվարկում է տարբեր պարամետրեր, ինչպիսիք են պտույտի հեռավորությունը, տեղաշարժերը և ընդարձակությունները: Ես օգտագործել եմ BasicStepperDriver գրադարանը ՝ DRV8825 սլաքային շարժիչների վարորդները վերահսկելու համար: Ստեփերների վարորդները պատրաստվում են օգտագործել 1/32 միկրո-քայլ ՝ բարձրացնելով լուծաչափը: Ամեն անգամ, երբ մեքենան «բարձրանում է», այն անցնում է տնային հաջորդականությամբ, որտեղ յուրաքանչյուր առանցք քայլում է, մինչև այն հարվածում է սահմանային անջատիչին: Այնուհետև այն տեղափոխվում է օֆսեթից դուրս ՝ սահմանված վայր և տեղադրում է 0, 0:
Քայլ 8: Python ծրագիր
Ես ընտրեցի օգտագործել Flask- ը որպես վեբ սերվեր, որը կստանար GET- ի հարցումներ հիմնական կայքից: Հարցումները բաղկացած են մասի անվանումից և կատեգորիայից: Այն բանից հետո, երբ Flask- ը կարգավորում է այն, տվյալները վերլուծվում են, այնուհետև MySQL սերվերը հարցվում է ՝ մասի գտնվելու վայրը պարզելու համար: Այնուհետև պիտոնի սցենարը հրաման է ուղարկում Arduino- ին ՝ նշելով, թե որտեղ է գտնվում մասը:
Քայլ 9: Օգտագործելով մասի ընտրիչը
Ես տրամադրել եմ վեբ կայքի ֆայլերը իմ github պահոցում ՝ https://github.com/having11/cnc_part_picker_webpages Փոխարինեք PHP ֆայլերի բացակայող պարամետրերը ձեր հատուկ MySQL սերվերի համար: Տեղադրեք ֆայլերը Apache թղթապանակի htdocs թղթապանակում: Ուղղակի գործարկեք պիթոնի սցենարը, իսկ հետո, երբ մասի գումարը փոխվի, մեքենան կգնա այդ վայրը և կստանա այն: Գտեք այստեղ 3D տպագրության ֆայլերը, իսկ վեբ էջի ֆայլերն ՝ այստեղ:
Խորհուրդ ենք տալիս:
DIY Oscilloscope Kit - հավաքման և անսարքությունների վերացման ուղեցույց. 10 քայլ (նկարներով)
DIY օսիլոսկոպի հավաքածու. Մինչ այժմ ես օգտագործում էի հին սովետական (1988 թ.) Մեկ ալիքով անալոգային CRT տատանում: Այն դեռ գործում է
Rանկացած մեքենա/մեքենա դարձնել Bluetooth հավելվածի վերահսկման մեքենա ՝ 9 քայլ
Rանկացած R/C մեքենա վերածել Bluetooth ծրագրի կառավարման R/C մեքենայի. Այս նախագիծը ցույց է տալիս սովորական հեռակառավարման մեքենան Bluetooth (BLE) կառավարման մեքենայի Wombatics SAM01 ռոբոտաշինական տախտակով, Blynk App- ով և MIT App Inventor- ով փոխելու քայլերը: շատ ցածր գնով RC մեքենաներ են `բազմաթիվ հնարավորություններով, ինչպիսիք են LED լուսարձակները և
Երեք մասի ժամացույց ՝ 6 քայլ (նկարներով)
Երեք մասից բաղկացած ժամացույց. Նորմալ անալոգային ժամացույցը երեք տարբեր տեղեկությունների միմյանց գագաթը հավաքելու արդյունավետ միջոց է: Hoursամերը, րոպեները և վայրկյանները կարելի է կարդալ ընդամենը մեկ թվանշանով: Ինձ դուր է գալիս այս համակարգը, բայց որոշ ժամանակ անց ես մտածեցի, որ յուրաքանչյուր ձեռք պետք է
HP- ի սկաների ապակու ներքևի մասի մաքրում. 4 քայլ
HP- ի սկաների ապակու ներքևի մասի մաքրում. Սա ցուցումներ է, թե ինչպես կարելի է ապամոնտաժել HP Laserjet 3030- ի վերին հատվածը (սկաները և փաստաթղթերի հոսքը): Խնդիր. տարրը քաշվում է ապակու վրայով ՝ սրանք
Ինչպես շրջանցել սերվերի կողմնակի վեբ արգելափակիչների մեծ մասի անվտանգությունը. 3 քայլ
Ինչպես շրջանցել սերվերի կողմնակի վեբ արգելափակիչների մեծ մասի անվտանգությունը. Սա իմ առաջին խրատականն է, ուստի համբերեք ինձ: Լավ, ես ձեզ կասեմ, թե ինչպես կարելի է շրջանցել դպրոցներում օգտագործված վեբ արգելափակումները: Ձեզ անհրաժեշտ է միայն ֆլեշ կրիչ և մի քանի ծրագրային ներլցումներ