Բովանդակություն:
- Քայլ 1: Նյութեր, գործիքներ, սարքեր, որոնք օգտագործվում են նախագիծը գործարկելու համար
- Քայլ 2: Սարքավորումներ, որոնք անհրաժեշտ էին կատարել
- Քայլ 3: Arduino կոդավորում
- Քայլ 4: Visual Studio C# Software
- Քայլ 5: Արդյունքներ
Video: CNC Feed-rate չափման գործիք ՝ պատրաստված ջարդոնից. 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Որևէ մեկը երբևէ ցանկացե՞լ է չափել CNC մեքենայի իրական հոսքը: Հավանաբար, ոչ, քանի դեռ CNC- ի աշխատանքից հետո ֆրեզերային բիթերն անձեռնմխելի չեն … բայց երբ դրանք կանոնավոր կերպով սկսում են կոտրվել, գուցե ժամանակն է ուսումնասիրել: Այս հրահանգում դուք կարող եք հետևել մի որոնման ՝ որոշելու CNC մեքենայի իրական հոսքի արագությունը: Այն կներառի տպիչի հակա-ինժեներական մասը, arduino- ի որոնվածը, համակարգչային ծրագրակազմը և իմ գործընկերների օգնությամբ ստացված արդյունքները և աղբը, որը վերածվեց գանձի:
Քայլ 1: Նյութեր, գործիքներ, սարքեր, որոնք օգտագործվում են նախագիծը գործարկելու համար
Երբ սկսեցի աշխատել դրա վրա, ես մտածեցի այն ամենի կարճ ցանկը, որը մեզ պետք կգա.
- ապամոնտաժված տպիչի փոխադրման մեխանիզմ
- ձեռքի գործիքներ ՝ դա շտկելու համար
- եռակցման երկաթ, զոդ, լարեր
- բազմաչափ
- օսլիլոսկոպ կամ տրամաբանական անալիզատոր - դա բացարձակապես անհրաժեշտ չէ
- էլեկտրամատակարարում
- մանրադիտակ
- Arduino nano + pinout
- Համակարգիչ Arduino IDE- ով, Visual Studio 2008 Express + MS Charting գործիքները տեղադրված են
- (MPU6050 - ես ավարտեցի չօգտագործել սա)
- պատրաստ է թերթել այն ամենը, ինչ դուք չգիտեք, թե ինչպես անել
Սկզբում ես մտածեցի, որ MPU6050 տախտակը թույլ կտա միանգամից չափել սնուցման արագությունը բոլոր երեք առանցքների վրա: Ներսում ունենալով արագացուցիչը, ես վստահ էի, որ արագացուցիչի տվյալների ամփոփումը կտա ինձ ցանկալի արժեքը `յուրաքանչյուր առանցքի արագությունը: Arduino- ի հատվածը ներբեռնելուց և փոփոխելուց հետո, որը սերիական մոնիտորի վրա ցուցադրում էր չմշակված տվյալներ, Visual Studio- ում ես գրեցի մի փոքր համակարգչային ծրագիր, որը մշակում էր տվյալները և այն դնում գծապատկերում `ավելի հեշտ մեկնաբանման համար: Ես ստիպված էի ներբեռնել Visual Studio C# Express 2008 -ը և դրա գծապատկերման գործիքները:
Որոշ ժամանակ կոդավորելուց և սերիական հաղորդակցության համար անհրաժեշտ բոլոր իրերը փնտրելուց հետո ես վերջացրեցի գծագրված արժեքներով, բայց անկախ նրանից, թե ինչ էի անում, այն օգտագործելի չէր: Փոքր, բայց հանկարծակի շարժումները կհանգեցնեն հսկայական աճերի, մինչդեռ ավելի երկար ճանապարհորդությունները նույնիսկ չեն հայտնվի գծապատկերներում: MPU6050- ի երկօրյա հարվածներից հետո ես վերջապես հանձնվեցի և դիմեցի մեկ այլ բանի `տպիչի ապամոնտաժված դիրքորոշման հետադարձ մեխանիզմին:
Քայլ 2: Սարքավորումներ, որոնք անհրաժեշտ էին կատարել
Հակադարձ ճարտարագիտություն
Իհարկե, տպիչի մեխանիզմը չուներ մասի համար, որը կարող էի օգտագործել դրա ճշգրիտ հատկությունները որոշելու համար, անհրաժեշտ էր մի փոքր հակադարձ տեխնիկա ՝ մեր ուզածին հասնելու համար: Մեխանիզմը և էլեկտրոնիկան մանրազնին ուսումնասիրելուց հետո ես որոշեցի, որ առաջինը պետք է լինի օպտիկական սենսորային կապերի նույնականացումը: Դա պետք է արվեր, որպեսզի ամբողջը միացներ Arduino- ին: Ես ապամոնտաժեցի սև պլաստիկ մասը, հանեցի PCB- ն և ուսումնասիրեցի սենսորը. Դրա վրա գրված էր ROHM RPI-2150: Դա ինձ ուրախացրեց, հույսը մեծ էր, որ ես կգտնեմ տվյալների թերթիկ: Unfortunatelyավոք, սա կամ հին է, կամ հատուկ մաս. Համացանցում որևէ տեղ չի գտնվել տվյալների թերթ: Սա նշանակում էր, որ ես պետք է ամեն ինչ իր ձեռքը վերցնեմ. Իմանալով, որ այս սենսորների մեջ սովորաբար կա ինֆրակարմիր LED և երկու ֆոտո-տրանզիստորներ, ես բռնեցի մի մուլտիմետր, այն դրի դիոդային չափման ռեժիմի և սկսեցի չափել կապում:
Սնուցման սարքերը սովորաբար հեշտությամբ կարելի է գտնել. Դրանք ունեն կոնդենսատորներ դրանց միջով, և դրանք սովորաբար կապված են PCB- երի լայն հետքերով: Աղմուկի ավելի լավ մերժման համար գետնի հետքերը հաճախ կապված են բազմաթիվ բարձիկների հետ:
Այնուամենայնիվ, մուտքային և ելքային կապումներն այնքան էլ անլուրջ չեն: Դիոդով չափելիս հաշվիչը մի ուղղությամբ ցույց կտա իր առաջային լարումը, իսկ մյուսում `գերբեռնվածությունը (անսահման): Ես կարողացա չորս դիոդ նույնականացնել կապանքների միջև, ես եզրակացրեցի, որ չորրորդ դիոդը պետք է լինի ինչ -որ զեներ կամ TVS դիոդ, քանի որ այն գտնվում էր հենց բաղադրիչի հոսանքի պիների միջև: Ինֆրակարմիր ճառագայթիչի տեղադրումը հեշտ էր, դրա հետ մեկտեղ 89R դիմադրություն կար: Մնաց երկու կապում մնաց երկու դիոդային չափումներ, դրանք պետք է լինեին երկու ընդունիչները:
Նշում. Այս տվիչներն ունեն երկու ընդունիչ, որպեսզի կարողանան որոշել շարժման ուղղությունը ՝ ի լրումն իմպուլսների հաշվարկով դիրքը որոշելուց: Այս երկու ելքային ալիքի ձևերը 90 ° -ից դուրս են փուլից, այն օգտագործվում է հաշվիչ կամ հետադարձ զարկերակ արտադրելու համար: Այս իմպուլսների քանակին հետևելով ՝ կարելի է որոշել տպագրական գլխի ճշգրիտ դիրքը:
Երբ արտանետողը և երկու ընդունիչ սարքերը տեղակայված էին, ես լարերը կպցրեցի նրանց կապում, այնպես որ կարող եմ սենսորը միացնել Arduino- ի հետ: Մինչև դա անելը, ես տվիչին մատակարարեցի 3.3 Վ լարման միջոցով, մի քանի անգամ քաշեցի սենսորի միջև եղած ժապավենը և դիտեցի քառակուսի ալիքը ելքերի վրա: Քառակուսի ալիքի հաճախականությունը տատանվում էր շարժման արագության հետ, և ես եզրակացրեցի, որ չափման համակարգը այժմ պատրաստ է միացվել Arduino- ին:
Arduino- ի միացում
Այս նոր «սենսորին» միացնելը շատ հեշտ է: Պարզապես միացրեք տվիչի ելքերը D2 և D3 (ընդհատման ունակությամբ կապում) և էլեկտրամատակարարման գծերը և կոդավորումը կարող են սկսվել:
Քայլ 3: Arduino կոդավորում
Arduino ծածկագիրը բավականին պարզ է: Ես հանձնարարեցի մի գործառույթ, որը կատարում է ամեն անգամ, երբ D2- ը տեսնում է աճող եզր, սա այն կցորդի Arduino ծածկագրից ստացվող գործառույթն է: Եթե նայեք քառակուսի ծածկագրիչի ազդանշաններին, ապա կտեսնեք սա.
- մեկ ուղղությամբ A փուլը տրամաբանորեն բարձր է յուրաքանչյուր B փուլի բարձրացման եզրին
- մյուս ուղղությամբ A փուլը տրամաբանական ցածր է յուրաքանչյուր B փուլի բարձրացման եզրին
Սա այն կոդավորողի սեփականությունն էր, որն ես օգտվեցի. Քանի որ առաձգական գործառույթը կատարվում է ամեն անգամ, երբ D2- ը բարձրանում է եզր, ես պարզապես գրել եմ, եթե դա մեծացնում է հաշվիչը, երբ D3- ը բարձր է, և նվազեցնում այն, երբ D3- ը ցածր է: Սա աշխատեց առաջին փորձի ժամանակ, ես հակաչափ արժեքը ուղարկեցի սերիական մոնիտոր և դիտեցի, թե ինչպես է այն մեծանում/նվազում, երբ տպիչի գլուխը լիսեռի վրա եմ տեղափոխում:
Կարճ ասած, որոնվածը հանգույցի գործառույթում կատարում է հետևյալը.
- ստուգում է սերիական ստացման բուֆերը ցանկացած մուտքային տվյալների համար
- եթե մուտքային տվյալներ կան, ստուգեք `դա« 1 »է, թե ոչ
- եթե դա «1» է, նշանակում է, որ համակարգչի ծրագրակազմը պահանջում է հակաչափ արժեքը
- սերիայի միջոցով հաշվիչին ուղարկեք համակարգչին
- սկսել 1 -ից
Սրանով գնդակն այժմ համակարգչի ծրագրաշարի դաշտում է: Եկեք մտնենք դրա մեջ:
Քայլ 4: Visual Studio C# Software
VS C# ծրագրի նպատակն էր հաշվողական բեռը Arduino- ից համակարգչի վրա տեղափոխել: Այս ծրագրաշարը ստանում է Arduino- ի տրամադրած տվյալները, հաշվարկում և ցուցադրում արագությունը գրաֆիկի տեսքով:
Այն, ինչ ես առաջին անգամ արեցի, Google- ում էր, թե ինչպես կարելի է սերիական հաղորդակցություն կատարել C# - ում: Ես գտա շատ լավ տեղեկություններ MSDN.com- ում ՝ լավ օրինակի հետ միասին, այնուհետև ես դուրս գցեցի այն, ինչ ինձ պետք չէր ՝ հիմնականում ամեն ինչ, բացի ընթերցանության մասից: Ես ստեղծեցի COM նավահանգիստը և արագությունը, որը կհամապատասխանի Arduino- ի արագությանը, այնուհետև մի քանի փորձ արեցի և ամեն ինչ, ինչ գալիս էր սերիական նավահանգստում, թափեցի բազմաշերտ տեքստային տուփի մեջ:
Արժեքները կարդալուց հետո ես պարզապես կարող էի օգտագործել readto & split գործառույթները ՝ մեկ չափումն իրարից և սահմանազատող նիշերից մեկուսացնելու համար: Դրանք գծագրված էին Chart հսկողության վրա, և արժեքները սկսեցին հայտնվել էկրանին:
Եթե ձեր VS գործիքների տուփում չեք կարող տեսնել Գծապատկերների կառավարումը, կարող եք google- ով գտնել խնդիրը և լուծումը գտնել այստեղ (փնտրեք պատասխան թիվ 1): հղում
Չափման սկզբունքը
Հաշվարկների քանակի և գլխի անցած հեռավորության միջև կապը գտնելու համար մենք զրոյացրեցինք հաշվիչի արժեքը, ձեռքով տեղափոխեցինք տպիչի գլուխը և դիտեցինք հաշվարկների փոփոխությունը: Մենք վերջապես եկանք հետևյալ համամասնությամբ ՝ 1 հաշվարկ = 0.17094 մմ:
Քանի որ մենք կարող ենք հարցնել հեռավորությունը և կարող ենք չափել նմուշների միջև ընկած ժամանակը, մենք կարող ենք հաշվարկել դիրքի տեղաշարժի արագությունը. Մենք կարող ենք հաշվարկել արագությունը:
TMR0- ի շնորհիվ կա 50ms կոպիտ ծրագրային ժամանակ, սակայն մենք նկատեցինք, որ այդ ժամկետները այնքան էլ ճշգրիտ չէին: Իրականում, որոշ ծրագրային արագության չափումներից հետո մենք պարզեցինք, որ ժամանակաչափի 50ms- ը ընդհանրապես 50ms չէ: Սա նշանակում էր, որ նմուշները չեն վերցվել ֆիքսված ընդմիջումով, ուստի արագության հաշվարկը նույնպես չի կարող օգտագործել ֆիքսված ժամանակային բազա: Երբ մենք գտանք այս խնդիրը, հեշտ էր առաջ գնալ. Մենք վերցրեցինք հեռավորության և ժամանակի տարբերությունը և արագությունը հաշվարկեցինք որպես D_distance/D_time (D- հեռավորության փոխարեն/50ms):
Բացի այդ, քանի որ մեր հավասարումը արագություն կվերադարձնի մմ/50 մս միավորներով, մենք պետք է այն բազմապատկենք 1200 -ով, որպեսզի գլուխը մեկ րոպեում [մմ/րոպե] հասնի:
Նշում. Mach 3 CNC գործարանի վերահսկման ծրագրակազմը սահմանում է սնուցման արագությունը [մմ/րոպե] միավորներով
Ֆիլտրում
Այս պահից սկսած, չափումները կարծես բավականին ճշգրիտ էին, բայց չափված ազդանշանի վրա որոշակի աղմուկ կար: Մենք կասկածում էինք, որ դա պայմանավորված է լիսեռի մեխանիկական անհամապատասխանությամբ, լիսեռի կցորդիչով և այլն, ուստի որոշեցինք այն զտել, ստանալ չափվածի գեղեցիկ միջին արժեքը:
Fրագրակազմի լավ ճշգրտումներ
Գործողության ընթացքում նմուշի արագությունը և զտիչի արագությունը փոխելու համար ավելացվել են ոլորման տողեր `յուրաքանչյուրի համար մեկական: Նաև ներդրվեց հողամասերը թաքցնելու ունակությունը:
Քայլ 5: Արդյունքներ
Ապարատային և ծրագրային մասերի պատրաստ լինելուց հետո մենք կատարեցինք չափումների երեք հավաքածու mach 3 + իմ ծրագրակազմով, արդյունքները կարող եք տեսնել կից նկարներում: Հետագա փորձերը ցույց տվեցին ավելի լավ ճշգրտություն ՝ և՛ ֆիլտրի, և՛ ընտրանքի դրույքաչափերը բարձրացան: Սյուժեները ցույց են տալիս չափված արագությունը պինդ կարմիրով, իսկ միջինը ՝ գծանշված կապույտով:
Ասածս այն է, որ կարծես Mach 3 -ը բավականին ճշգրիտ է վարում այս արագության կարգավորումները, բայց հիմա մենք հաստատ գիտենք:)
Հուսով եմ, որ ձեզ դուր եկավ այս հակիրճ ճարտարագիտության և ջուրը գինու վերածելու այս կարճ ուսանելի հրահանգը:
Ողջույն
Խորհուրդ ենք տալիս:
Պիտպոյը կառուցված է ջարդոնից. 26 քայլ (նկարներով)
Pipboy- ն կառուցված է ջարդոններից Ես գտա այս բարդ կառուցվածքը և ինձանից պահանջվեց մի քանի ամիս աշխատել, այնպես որ ես դա չէի դասակարգի որպես սկսնակների ամբողջական ծրագիր: Ս
Andերմաստիճանի չափման պարզ և էժան գործիք `օգտագործելով թերմիստոր. 5 քայլ
Andերմաստիճանի պարզ և էժան չափիչ գործիք `օգտագործելով ջերմիստոր. Պարզ և էժան ջերմաստիճանի տվիչ` օգտագործելով NTC թերմիստորային տերմիստոր, որը փոխում է իր դիմադրողականությունը ժամանակի փոփոխությամբ `օգտագործելով այս հատկությունը: Մենք կառուցում ենք ջերմաստիճանի տվիչ` թերմիստորի մասին ավելին իմանալու համար: Թերմիստոր
Ստվարաթղթե բարձրախոս ջարդոնից. 5 քայլ (նկարներով)
Ստվարաթղթե խոսնակ ջարդոնից. ոչ այնքան ուժեղ
SONAR Բարձրության չափման գործիք 2: 3 քայլ (նկարներով)
SONAR Height Measuring Instrument 2: 1.0 տարբերակ. Https://www.instructables.com/id/SONAR-Height-Meas… antանկանում եք համակարգիչ կառուցել. բարձրության չափման գործիք, որը հիմնված է արդուինոյի և ուլտրաձայնային զգայարանի վրա: Չափում
Դյուրակիր Bluetooth բարձրախոս ՝ պատրաստված փայտի ջարդոնից. 9 քայլ (նկարներով)
Դյուրակիր Bluetooth բարձրախոս ՝ պատրաստված փայտի ջարդոնից. Բարև բոլորին, երկար ժամանակ է, ինչ վերջին անգամ այստեղ եմ տեղադրվել, ուստի մտածեցի, որ կհրապարակեմ իմ ընթացիկ նախագիծը: Նախկինում ես դյուրակիր բարձրախոսներ էի պատրաստում, բայց դրանցից շատերը պլաստմասե/ակրիլից էին, քանի որ դրա հետ աշխատելը հեշտ է և չի պահանջում