Բովանդակություն:

CNC մասի հավաքման մեքենա. 9 քայլ (նկարներով)
CNC մասի հավաքման մեքենա. 9 քայլ (նկարներով)

Video: CNC մասի հավաքման մեքենա. 9 քայլ (նկարներով)

Video: CNC մասի հավաքման մեքենա. 9 քայլ (նկարներով)
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Նոյեմբեր
Anonim
CNC մասերի հավաքման մեքենա
CNC մասերի հավաքման մեքենա

Եթե դուք իմ նման լուրջ արտադրող եք, ապա, ամենայն հավանականությամբ, ձեր շուրջը կլինեն անհամար դիմադրիչներ, կոնդենսատորներ և տարբեր այլ էլեկտրոնային բաղադրիչներ: Բայց կա մի հիմնական խնդիր. Ինչպե՞ս կարելի է հետևել, թե ինչ կամ քանի բան ունեն: Այս հարցի համար ես ստեղծեցի 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: Տեսություն

Image
Image

Այս համակարգի հիմքում ընկած է պաշարների պահպանումը: Օրինակ, եթե ինչ -որ մեկը գնում է 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- ը

Apache- ի կարգավորում
Apache- ի կարգավորում
Apache- ի կարգավորում
Apache- ի կարգավորում
Apache- ի կարգավորում
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- ի կարգավորում
PHP- ի կարգավորում
PHP- ի կարգավորում
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 կոդ

Arduino կոդ
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 տպագրության ֆայլերը, իսկ վեբ էջի ֆայլերն ՝ այստեղ:

Խորհուրդ ենք տալիս: