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

CNC Feed-rate չափման գործիք ՝ պատրաստված ջարդոնից. 5 քայլ
CNC Feed-rate չափման գործիք ՝ պատրաստված ջարդոնից. 5 քայլ

Video: CNC Feed-rate չափման գործիք ՝ պատրաստված ջարդոնից. 5 քայլ

Video: CNC Feed-rate չափման գործիք ՝ պատրաստված ջարդոնից. 5 քայլ
Video: Is the machine feed rate too fast?#cnc #cncmachine #cncmilling #cncmachining 2024, Նոյեմբեր
Anonim
CNC Feed-rate չափման գործիք, որը պատրաստված է ջարդոնից
CNC Feed-rate չափման գործիք, որը պատրաստված է ջարդոնից

Որևէ մեկը երբևէ ցանկացե՞լ է չափել 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 կոդավորում
Arduino կոդավորում

Arduino ծածկագիրը բավականին պարզ է: Ես հանձնարարեցի մի գործառույթ, որը կատարում է ամեն անգամ, երբ D2- ը տեսնում է աճող եզր, սա այն կցորդի Arduino ծածկագրից ստացվող գործառույթն է: Եթե նայեք քառակուսի ծածկագրիչի ազդանշաններին, ապա կտեսնեք սա.

  • մեկ ուղղությամբ A փուլը տրամաբանորեն բարձր է յուրաքանչյուր B փուլի բարձրացման եզրին
  • մյուս ուղղությամբ A փուլը տրամաբանական ցածր է յուրաքանչյուր B փուլի բարձրացման եզրին

Սա այն կոդավորողի սեփականությունն էր, որն ես օգտվեցի. Քանի որ առաձգական գործառույթը կատարվում է ամեն անգամ, երբ D2- ը բարձրանում է եզր, ես պարզապես գրել եմ, եթե դա մեծացնում է հաշվիչը, երբ D3- ը բարձր է, և նվազեցնում այն, երբ D3- ը ցածր է: Սա աշխատեց առաջին փորձի ժամանակ, ես հակաչափ արժեքը ուղարկեցի սերիական մոնիտոր և դիտեցի, թե ինչպես է այն մեծանում/նվազում, երբ տպիչի գլուխը լիսեռի վրա եմ տեղափոխում:

Կարճ ասած, որոնվածը հանգույցի գործառույթում կատարում է հետևյալը.

  1. ստուգում է սերիական ստացման բուֆերը ցանկացած մուտքային տվյալների համար
  2. եթե մուտքային տվյալներ կան, ստուգեք `դա« 1 »է, թե ոչ
  3. եթե դա «1» է, նշանակում է, որ համակարգչի ծրագրակազմը պահանջում է հակաչափ արժեքը
  4. սերիայի միջոցով հաշվիչին ուղարկեք համակարգչին
  5. սկսել 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 -ը բավականին ճշգրիտ է վարում այս արագության կարգավորումները, բայց հիմա մենք հաստատ գիտենք:)

Հուսով եմ, որ ձեզ դուր եկավ այս հակիրճ ճարտարագիտության և ջուրը գինու վերածելու այս կարճ ուսանելի հրահանգը:

Ողջույն

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