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

CNC Drum Plotter: 13 քայլ (նկարներով)
CNC Drum Plotter: 13 քայլ (նկարներով)

Video: CNC Drum Plotter: 13 քայլ (նկարներով)

Video: CNC Drum Plotter: 13 քայլ (նկարներով)
Video: How to make mini CNC plotter 2D using scrap DVD 2024, Նոյեմբեր
Anonim
Image
Image
CNC Drum Plotter
CNC Drum Plotter

Այս հրահանգը նկարագրում է պլաստմասե խողովակի մի հատվածից պատրաստված A4/A3 գծանկարիչ, երկու BYJ-48 տիպի շարժիչ և SG-90 սերվո: Ըստ էության, դա հարթ մահճակալ է, որը գլորվել է թմբուկի մեջ:

Մեկ շարժիչը պտտեցնում է թմբուկը, իսկ մյուսը ՝ տպիչի գլուխը: Servo- ն օգտագործվում է գրիչը բարձրացնելու և իջեցնելու համար:

Այս գծանկարիչը մի շարք առավելություններ ունի ավանդական տափակ պլատետորի նկատմամբ.

  • զգալիորեն ավելի փոքր հետք
  • պահանջում է միայն մեկ գծային ուղեցույց
  • պարզ կառուցել
  • էժան

Ինքնաթիռի թարգմանիչը ընդունում է Inkscape- ի gcode- ի ելքը:

Նկարչի հետ հաղորդակցումը կատարվում է bluetooth կապի միջոցով:

Պլատերը համատեղելի է CNC գրաֆիկական պլանշետի հետ, որը նկարագրված է իմ ուսանելի

Թեև ճշգրիտ գործիք չէ, այս գծանկարչի ճշգրտությունը գոհացուցիչ է ջրաներկային ուրվագծերը թղթի վրա փոխանցելու նպատակային նպատակների համար:

Քայլ 1: Շղթան

The Circuit
The Circuit

Շղթան ներառում է Arduino UNO R3 միկրոկոնտրոլեր և հատուկ վահան, որի վրա տեղադրված են առանձին բաղադրիչները: Էլեկտրաէներգիան օգտագործվում է արտաքին 5 վոլտ 1 ամպ կարգավորիչի միջոցով: Միջին հոսանքը մոտ 500 մԱ է:

BYJ-48 աստիճանական շարժիչները ամրացված են PORTB (կապում D8, D9, D10, D11) և PORTC (կապում A0, A1, A2, A3): SG-90 գրիչ բարձրացնող servo- ն ամրացված է D3 կապում:

560 օմ դիմադրիչները, որոնք կարող են բաց թողնվել, ապահովում են կարճ միացումից պաշտպանություն arduino- ին, եթե ինչ-որ բան սխալ է տեղի ունենում: Նրանք նաև հեշտացնում են վահանը լարել, քանի որ նրանք գործում են որպես «թռիչք» մատակարարման ռելսերի վրայով:

1k2 և 2K2 ռեզիստորները կանխում են HC-06 bluetooth մոդուլի վնասումը [1] ՝ արդյուինոյից 5 վոլտ ելքը իջեցնելով մինչև 3,3 վոլտ:

[1] USB պորտի միջոցով arduino- ում կոդ բեռնելիս անջատեք HC-06 bluetooth մոդուլը: Սա կխուսափի սերիական նավահանգստի ցանկացած հակամարտությունից:

Քայլ 2: Գծային շարժիչ

Գծային շարժիչ
Գծային շարժիչ
Գծային շարժիչ
Գծային շարժիչ
Գծային շարժիչ
Գծային շարժիչ

Գծային շարժիչը պատրաստված է 3 մմ x 32 մմ ալյումինե ձողի երկարությունից, ալյումինե թիթեղից և չորս փոքր գնդիկավոր ճախարակներից:

Ալյումինը հասանելի է շինարարական խանութների մեծ մասում: U624ZZ 4x13x7 մմ U-groove ճախարակները հասանելի են https://www.aliexpress.com կայքից

Պարզ ձեռքի գործիքներն այն ամենն են, ինչ ձեզ հարկավոր է: Կտրեք ալյումինե ձողը `ձեր պլոտերային չափսերին համապատասխան:

Շարժիչի հավաքում

Մի ծայրով ամրացրեք BJY-48 քայլող շարժիչը և միացրեք GT2 20 ատամը ՝ 5 մմ տրամագծով, ճախարակ շարժիչի լիսեռին: Այժմ տեղադրեք մեկ այլ GT2 ճախարակ ձեր ձողի մյուս ծայրում այնպես, որ ճախարակը կարողանա ազատ պտտվել: Դրան հասնելու համար ես օգտագործել եմ 5 մմ տրամագծով գլանային (ռադիո) հեռավորություն և 3 մմ պտուտակ:

Այժմ ճարմանդների շուրջը պտտեք GT2 ժամաչափի երկարության երկարությունը: Միացրեք ժամանակի գոտու ծայրերը կես պտույտի միջոցով այնպես, որ ատամները միահյուսվեն և ամրացվեն մալուխի փողկապով:

Ի վերջո, կառքի հավաքածուն ամրացրեք ժամանակացույցի գոտուն `մալուխի փողկապով:

Վագոնների հավաքածու

Վագոնի հավաքածուն պատրաստված է ալյումինե թերթից [1] շերտից, որի վրա ամրացված են U624ZZ ճախարակները: Անհրաժեշտության դեպքում օգտագործեք 4 մմ լվացքի մեքենա `ճախարակները ալյումինե թերթից հեռացնելու համար:

Mmախարակները, որոնք ունեն 4 մմ ակոս, պատված են ալյումինե ձողի վերևից և ներքևից այնպես, որ ուղղահայաց շարժում չկա, սակայն ալյումինե ժապավենը ազատորեն շարժվում է ձախ և աջ:

Ապահովելու համար, որ կառքը ազատ է աշխատում, նախ տեղադրեք վերին երկու ճախարակները, այնուհետև, ճախարակները նստած ձողի վրա, նշեք ներքևի երկու ճախարակների դիրքերը: Այս երկու ճախարակի անցքերն այժմ կարող են փորվել: Նախ օգտագործեք փոքր «օդաչու» վարժանք ՝ կանխելու համար ավելի մեծ 4 մմ տրամաչափի վարժությունը:

Նախքան ալյումի ժապավենը «U» - ի վրա թեքելը, վերևից և ներքևից անցք բացեք, որը կհամապատասխանի ձեր գրչի տրամագծին: Այժմ ավարտեք թեքությունները:

Attամացույցի գոտին ամրացրեք փոխադրման վահանակին `մալուխի կապով և 3 մմ պտուտակով վերին երկու ճախարակների միջև:

Գրիչ բարձրացնող ժողով

Կցեք SG-90 servo- ն սայլակի վերևում `օգտագործելով մեկ կամ երկու մալուխային կապ:

Ձեր գրիչը գցեք ձեր փորած երկու անցքերը: Համոզվեք, որ գրիչը ազատորեն սահում է վեր և վար:

Գրիչին ամրացրեք «օձիք» այնպես, որ գրիչը թմբուկից պարզապես ազատ լինի, երբ սերվոն գրիչով բարձր դիրքում է:

[1] Ալյումինը կարող է կտրվել ՝ թերթի երկու կողմերը կտրելով սուր դանակով (տուփ կտրող), այնուհետև կտրվածքը ճկելով սեղանի եզրին: Մի քանի ճոճանակ և թերթիկը կջարդվի ՝ թողնելով ուղիղ ընդմիջում: Ի տարբերություն թիթեղյա պատառաքաղների, այս մեթոդը չի վնասում ալյումինը:

Քայլ 3: Թմբուկը

Թմբուկը
Թմբուկը
Թմբուկը
Թմբուկը
Թմբուկը
Թմբուկը

Թմբուկը ներառում է պլաստմասե խողովակի մի հատված `երկու փայտե վերջնական խրոցակով [1]:

Օգտագործեք կողմնացույց, որը դրված է ձեր խողովակի ներքին շառավղին, վերջնական խրոցի ուրվագծերը գծելու համար: Այժմ կտրեք յուրաքանչյուր ուրվագծի շուրջը ՝ օգտագործելով նուրբ սղոց («հաղթահարում», «տխրություն»), այնուհետև հարմարեցրեք յուրաքանչյուր ծայրին ՝ խցանափայտի օգնությամբ: Ամրացրեք ծայրերի խրոցակները ՝ օգտագործելով փոքր հակափորված փայտե պտուտակներ:

Յուրաքանչյուր վերջնական խրոցի կենտրոնի միջոցով 6 մմ ինժեներական պտուտակ է կազմում առանցքը:

Թմբուկի չափսեր

Թմբուկի չափերը որոշվում են ձեր թղթի չափով: 100 մմ թմբուկի տրամագիծը ապահովում է A4 դիմանկարը և A3 բնապատկերը: 80 մմ թմբուկի տրամագիծը կաջակցի միայն A4 բնապատկերին: Օգտագործեք հնարավորինս փոքր թմբուկի տրամագիծը `իներցիան նվազեցնելու համար … BYJ-48 շարժիչները միայն փոքր են:

Թմբուկի տրամագիծը 90 մմ -ով իդեալական է A4 դիմանկարի և A3 բնապատկերային թղթի համար, քանի որ հակառակ եզրերը, երբ թմբուկի շուրջը փաթաթվում են, համընկնում են մոտավորապես 10 մմ -ով, ինչը նշանակում է, որ դուք ընդամենը մեկ կարել ունեք:

Թմբուկը պտտելը

Յուրաքանչյուր առանցք անցնում է ալյումինե վերջնական փակագծով այնպես, որ թմբուկը կարողանա ազատ պտտվել: Վերջնական բոցը կանխվում է GT-2, 20 ատամ, 6 մմ տրամագծով, ճախարակով, որը մի ծայրում ամրացված է առանցքին: Շարունակական GT-2 ժամաչափի ժապավենը կապում է BJY-48 շարժիչով քայլող շարժիչը թմբուկին: Շարժիչը պահանջում է ճախարակ ՝ 5 մմ տրամագծով:

[1] Պլաստիկ խրոցակները հասանելի են խողովակների տրամագծերի մեծ մասի համար, սակայն մերժվել են, քանի որ դրանք ավելի շուտ տեղավորվում են խողովակի վրա, քան ներսում, և պլաստիկը հակված է ճկման: Նրանք, հավանաբար, լավ կլինեին, եթե պտուտակների փոխարեն շարունակական առանցք օգտագործվեր…

Քայլ 4: Շինարարության խորհուրդներ

Համոզվեք, որ գրիչը շրջում է թմբուկի կենտրոնով: Դա կարող է հասնել փայտե հենարաններից անկյունները կտրելով: Եթե գրիչը կենտրոնից դուրս է, այն հակված է սահել թմբուկի կողքով:

Երկու գրիչի անցքերի ճշգրիտ հորատումը կարևոր է: Գրիչի ուղեցույցի կամ սայլակի հավաքման ցանկացած տատանում կառաջացնի տատանումներ X առանցքի երկայնքով:

Չափից մի սեղմեք GT-2 ժամացույցի գոտիները… դրանք պարզապես պետք է լարված լինեն: BYJ-48 քայլող շարժիչները մեծ ոլորող մոմենտ չունեն:

BJY-48 քայլող շարժիչները հաճախ ցուցադրում են փոքր քանակությամբ հակազդեցություն, որն աննշան է X առանցքի երկայնքով, բայց մտահոգիչ է, երբ խոսքը վերաբերում է Y առանցքին: Դրա պատճառն այն է, որ Y առանցքի շարժիչի մեկ պտույտը հավասար է թմբուկի մեկ պտույտին, մինչդեռ գրիչ-կառքը պահանջում է X առանցքի շարժիչի բազմաթիվ պտույտներ `թմբուկի երկարությունը հատելու համար: Y- առանցքի ցանկացած հակազդեցություն կարող է վերացվել `թմբուկի վրա մշտական ոլորող մոմենտ պահելով: Պարզ մեթոդը թմբուկի շուրջ փաթաթված նեյլոնե լարին փոքր ծանրություն կցելն է:

Քայլ 5. Bresenham's Line Drawing Algorithm

Bresenham's Line Drawing Algorithm
Bresenham's Line Drawing Algorithm
Bresenham's Line Drawing Algorithm
Bresenham's Line Drawing Algorithm

Այս գծանկարիչն օգտագործում է Բրեզենհեմի գծանշման ալգորիթմի [1] օպտիմալացված տարբերակը: Unfortunatelyավոք, այս ալգորիթմը գործում է միայն 45 աստիճանից փոքր կամ հավասար գծերի թեքությունների համար (այսինքն ՝ շրջանագծի մեկ օկտանտ):

Այս սահմանափակումից դուրս գալու համար ես «քարտեզագրում» եմ բոլոր XY մուտքերը առաջին «օկտանտ» -ին, այնուհետև «քարտեզագրում» եմ դրանք, երբ գծագրման ժամանակն է: Դրան հասնելու համար մուտքային և ելքային քարտեզագրման գործառույթները ներկայացված են վերևի դիագրամում:

Ածանցում

Այս քայլի մնացորդը կարող է բաց թողնվել, եթե ծանոթ եք Բրեսենհեմի ալգորիթմին:

Եկեք գծենք (0, 0) - ից (x1, y1), որտեղ.

  • x1 = 8 = հորիզոնական հեռավորություն
  • y1 = 6 = ուղղահայաց հեռավորություն

Theագումով (0, 0) ուղիղ գծի հավասարումը տրվում է y = m*x հավասարմամբ, որտեղ.

մ = y1/x1 = 6/8 = 0.75 = թեքություն

Պարզ ալգորիթմ

Այս տողը գծելու պարզ ալգորիթմը հետևյալն է.

  • int x1 = 8;
  • int y1 = 6;
  • բոց m = y1/x1;
  • հողամաս (0, 0);
  • համար (int x = 1; x <= x1; x ++) {
  • int y = կլոր (m*x);
  • հողամաս (x, y);
  • }

Աղյուսակ 1. Պարզ ալգորիթմ

x մ մ*x յ
0 0.75 0 0
1 0.75 0.75 1
2 0.75 1.5 2
3 0.75 2.25 2
4 0.75 3 3
5 0.75 3.75 4
6 0.75 4.5 5
7 0.75 5.25 5
8 0.75 6 6

Այս պարզ ալգորիթմի հետ կապված երկու խնդիր կա.

  • հիմնական հանգույցը պարունակում է բազմապատկում, որը դանդաղ է
  • այն օգտագործում է լողացող կետերի թվեր, ինչը նույնպես դանդաղ է

Այս տողի y- ի և x- ի գրաֆիկը ներկայացված է վերևում:

Բրեսենհեմի ալգորիթմը

Բրեզենհեմը ներկայացրեց «e» սխալի հասկացությունը, որը նախաստորագրվում է զրոյի: Նա հասկացավ, որ 1 -ին աղյուսակում ներկայացված m*x արժեքները կարելի է ստանալ «m» - ի «e» - ի հաջորդական ավելացման միջոցով: Հետագայում նա հասկացավ, որ y- ն ավելանում է միայն այն դեպքում, երբ m*x- ի կոտորակային մասը 0.5 -ից մեծ է: Իր համեմատությունը 0 <= 0.5 <= 1 տիրույթում պահելու համար նա 1 -ը հանում է «ե» -ից, երբ y- ն ավելանում է:

  • int x1 = 8;
  • int y1 = 6;
  • բոց m = y1/x1;
  • int y = 0;
  • բոց e = 0;
  • հողամաս (0, 0);
  • համար (int x = 1; x <= x1; x ++) {
  • e+= մ;
  • եթե (e> = 0.5) {
  • e -= 1;
  • y ++;
  • }
  • հողամաս (x, y);
  • }

Աղյուսակ 2. Բրեսենհեմի ալգորիթմը

x մ ե e-1 յ
0 0.75 0 0 0
1 0.75 0.75 -0.25 1
2 0.75 0.5 -0.5 2
3 0.75 0.25 2
4 0.75 1 0 3
5 0.75 0.75 -0.25 4
6 0.75 0.5 -0.5 5
7 0.75 0.25 5
8 0.75 1 0 6

Եթե ուսումնասիրեք ալգորիթմը և աղյուսակը 2 -ը, ապա կնկատեք, որ.

  • հիմնական օղակը օգտագործում է միայն գումարումը և հանումը … բազմապատկում չկա
  • y- ի օրինակը նույնն է, ինչ 1 -ին աղյուսակում:

Բայց մենք դեռ օգտագործում ենք լողացող կետերի թվեր … եկեք շտկենք սա:

Բրեսենհեմի (օպտիմիզացված) ալգորիթմը

Բրեզենհեմի լողացող կետի ալգորիթմը կարող է վերածվել ամբողջական ձևի, եթե «m» և «e» մասշտաբները ներկայացնենք 2*x1 -ով, այդ դեպքում m = (y1/x1)*2*x1 = 2*y1

Բացի «m» և «e» մասշտաբներից, ալգորիթմը նման է վերը նշվածին, բացառությամբ.

  • «e» - ին ավելացնում ենք 2*y1 ամեն անգամ, երբ ավելացնում ենք «x»
  • մենք ավելացնում ենք y- ն, եթե e- ն հավասար է կամ մեծ է x1- ից:
  • «e» - ից 1 -ի փոխարեն հանում ենք 2*x1
  • Համեմատության համար 0.5 -ի փոխարեն օգտագործվում է x1

Ալգորիթմի արագությունը կարող է ավելի մեծանալ, եթե օղակը թեստի համար օգտագործում է զրո: Դա անելու համար մենք պետք է ավելացնենք «e» սխալի տերմինը:

  • int x1 = 8;
  • int y1 = 6;
  • int m = (y1 << 1); // հաստատուն. թեքությունը մեծացված է 2*x1 -ով
  • int E = (x1 << 1); // հաստատուն ՝ 2*x1 ՝ օղակում օգտագործելու համար
  • int e = -x1; // օֆսեթ -E/2: փորձարկումն այժմ զրոյական է
  • հողամաս (0, 0);
  • int y = 0;
  • համար (x = 1; x <= x1; x ++) {
  • e += մ;
  • եթե (e> = x1) {
  • ե -= Ե
  • y ++;
  • }
  • հողամաս (x, y);
  • }

Աղյուսակ 3. Bresenham- ի (օպտիմիզացված) ալգորիթմ

x մ Է ե ե - ե յ
0 12 16 -8 0
1 12 16 4 -12 1
2 12 16 0 -16 2
3 12 16 -4 2
4 12 16 8 -8 3
5 12 16 4 -12 4
6 12 16 0 -16 5
7 12 16 -4 5
8 12 16 8 -8 6

Կրկին y- ի օրինակը նույնն է, ինչ մյուս աղյուսակներում: Հետաքրքիր է նշել, որ աղյուսակ 3 -ը պարունակում է միայն ամբողջ թվեր, և որ m/E = 12/16 = 0.75 հարաբերակցությունը գծի «մ» թեքությունն է:

Այս ալգորիթմը չափազանց արագ է, քանի որ հիմնական հանգույցը ներառում է միայն գումարում, հանում և զրոյի համեմատություն: Բազմապատկումը չի օգտագործվում այն դեպքում, երբ մենք նախաստորագրում ենք «E» և «m» արժեքները ՝ օգտագործելով «ձախ-տեղաշարժ» ՝ x1 և y1 արժեքները կրկնապատկելու համար:

[1] Բրեզենհեմի ալգորիթմի այս օպտիմիզացված տարբերակը «Bresenham Line and Circle Drawing» («Bresenham Line and Circle Drawing») թերթից է, հեղինակային իրավունք © 1994-2006, W Randolph Franklin (WRF): Նրա նյութը կարող է օգտագործվել ոչ առևտրային հետազոտությունների և կրթության համար ՝ պայմանով, որ դուք նրան վստահեք և կապվեք նրա գլխավոր էջին ՝

Քայլ 6: Կոդ

Ներբեռնեք կցված ֆայլը համանուն թղթապանակի մեջ, այնուհետև վերբեռնեք այն գծապատկերում ՝ օգտագործելով ձեր arduino IDE- ն (զարգացման ինտեգրված միջավայր):

Անջատեք HC-06 bluetoorh մոդուլը, նախքան բեռնելը փորձելը: Սա անհրաժեշտ է USB մալուխի հետ սերիական պորտի կոնֆլիկտից խուսափելու համար:

Երրորդ կողմի օրենսգիրք

Ի լրումն վերը նշված.ino կոդի, ձեզ անհրաժեշտ կլինեն հետևյալ ծրագրային փաթեթները, որոնք անվճար են / նվիրատվություն-ապրանքներ.

  • Teraterm, որը հասանելի է https://osdn.net/projects/ttssh2/releases/ կայքից
  • Inkscape, որը հասանելի է https://inkscape.org/hy/download/ կայքից

Վերոնշյալ երրորդ կողմի փաթեթներից յուրաքանչյուրի տեղադրման և օգտագործման հրահանգները կարող եք գտնել իմ հոդվածում ՝

Քայլ 7: Մենյու

Մենյու
Մենյու

«Teraterm» - ի միջոցով ստեղծեք bluetooth կապ ձեր գծագրիչի հետ:

Միացրեք «caps lock» - ը, քանի որ բոլոր հրամանները մեծատառ են:

Մուտքագրեք «M» տառը, և ցանկը պետք է հայտնվի, ինչպես ցույց է տրված վերևում:

Theաշացանկը ողջամիտ կերպով բացատրում է.

  • M (կամ M0) բերում է ընտրացանկը
  • G0- ն թույլ է տալիս գրիչը բարձրացված գրիչով ուղարկել որոշակի XY կոորդինատ:
  • G1- ը թույլ է տալիս գրիչն ուղարկել իջեցված գրիչով հատուկ XY կոորդինատ:
  • T1- ը թույլ է տալիս գրիչը տեղադրել ձեր 0, 0 կոորդինատների վրա: Դուրս գալու համար մուտքագրեք 'E':
  • T2- ն թույլ է տալիս մասշտաբավորել ձեր գծագրությունը: Օրինակ, «T2 S2.5» - ը ձեր նկարած նկարը կաճարի 250%-ով: Կանխադրված սանդղակը 100% է
  • T3 և T4 թույլ են տալիս բարձրացնել կամ իջեցնել գրիչը:
  • T5- ը գծում է «ABC» փորձարկման օրինակը:
  • T6- ը գծում է «թիրախ»:
  • T7- ը գծում է ճառագայթային գծերի շարք, որոնց նպատակն է ստուգել, որ Բրեսենհեմի ալգորիթմը գործում է ութ «օկտանտներից» յուրաքանչյուրում

Նշումներ.

  • գրիչի բոլոր շարժումները օգտագործում են գծապատկերի սանդղակի հավաքածուն `օգտագործելով ընտրացանկի T2 տարբերակը
  • «17:» և «19:» թվերն են arduino թարգմանիչից ձեռք բերված «Xon» և «Xoff» տերմինալների ձեռքսեղմման կոդերը:

Քայլ 8: Կալիբրացում

X_STEPS_PER_MM և Y_STEPS_PER_MM արժեքները 90 մմ տրամագծով թմբուկի համար են:

Թմբուկի այլ տրամագծերի արժեքները կարող են հաշվարկվել ՝ օգտագործելով հետևյալ հարաբերությունները.

  • թմբուկի շրջագիծը `PI*տրամագիծ
  • 2048 քայլը հավասար է յուրաքանչյուր շարժիչի լիսեռի մեկ պտույտին
  • GT-2 ճախարի մեկ պտույտը հավասար է ժամաչափի գոտու 40 միլիմետր գծային շարժմանը

Մեկ այլ եղանակ է մուտքագրել հետևյալ հրամանները,

  • G1 X0 Y100
  • G1 X100 Y100

ապա չափեք ստացված տողերի երկարությունը և «մասշտաբեք» X-STEPS_PER_MM և Y_STEPS_PER_MM արժեքները

Քայլ 9: Gcode- ի նախամշակում

Gcode- ի նախամշակում
Gcode- ի նախամշակում
Gcode- ի նախամշակում
Gcode- ի նախամշակում

Այս գծապատկերը պահանջում է Inkscape կոդերից միայն չորս (օրինակ ՝ G0, G1, G2, G3): Կոդը զգալիորեն ավելի արագ կգործի, եթե հեռացնենք բոլոր ավելորդ կոդերն ու մեկնաբանությունները:

Դա անելու համար ձեզ հարկավոր է «Գրառման գրքույկ ++» պատճենը: Այս անվճար տեքստային խմբագիրը պարունակում է «կանոնավոր արտահայտություն» որոնիչ ՝ անցանկալի տեքստ գտնելու և հեռացնելու համար: Գրառման գրքույկ ++-ը հասանելի է

Բացեք Notepad ++ - ով փոփոխվող ֆայլը և տեղադրեք ձեր կուրսորը ֆայլի վերևում:

Ընտրեք «Դիտել/ցուցադրել խորհրդանիշը/Բոլոր նիշերը», որին հաջորդում է «Որոնել/փոխարինել…» վերևի ընտրացանկի տողից:

Կտտացրեք «Կանոնավոր արտահայտություն» վանդակին (տես 1 -ին պատկերը) և որոնման դաշտում մուտքագրեք հետևյալ ծածկագրի հաջորդականություններից յուրաքանչյուրը:

Յուրաքանչյուր մուտքից հետո կտտացրեք «Փոխարինել բոլորը».

  • %
  • (.*)
  • ^Մ.*$
  • Z.*$

Վերոնշյալ կանոնավոր արտահայտությունները հեռացնում են բոլոր % խորհրդանիշները, փակագծերում ցուցադրվող բոլոր մեկնաբանությունները, բոլոր M կոդերը, բոլոր Z կոդերը և դրան հաջորդող ծածկագրերը:

Այժմ կտտացրեք «Ընդլայնված արտահայտություն» վանդակը (տես 2 -րդ պատկերը) և մուտքագրեք հետևյալ ծածկագրի հաջորդականությունը.

r / n / r / n / r / n

Այս արտահայտությունը հեռացնում է առաջին հաջորդականությամբ ստեղծված անցանկալի փոխադրամիջոցները և գծերը:

Պահեք ձեր ֆայլը այլ անվան տակ ՝ օգտագործելով «Պահել որպես»:

Կատարած.

Քայլ 10: Արդյունքներ

Արդյունքները
Արդյունքները

Այս գծանկարիչը կառուցվել է որպես «հասկացության ապացույց» և երբեք նպատակ չի ունեցել կատարյալ լինել: Ասելով, որ արդյունքները շատ վատ չեն: Նրանք միանշանակ համապատասխանում են իմ նախագծային նպատակին ՝ ջրաներկային ուրվագծերը թղթի վրա փոխանցելուն:

Առաջին երեք պատկերները համապատասխանաբար T5, T6, T7 փորձարկման նախշերն են:

«Բարև աշխարհ»: օրինակը գծագրողին ուղարկվեց bluetooth- ով: Կցվում է այս ֆայլի «նախապես մշակված» պատճենը:

Քայլ 11: Կոդի թարմացում

Կոդի թարմացում
Կոդի թարմացում

Այս գծագրիչի ծածկագիրը թարմացվել է մինչև Drum_Plotter_V2.ino:

Սկզբնական Drum_Plotter.ino- ից փոփոխությունները ներառում են.

  • գրիչի ավելի հարթ դիրքավորում
  • այժմ ճանաչում է G02 gcode հրահանգները (ժամացույցի սլաքի ուղղությամբ)
  • այժմ ճանաչում է G03 gcode հրահանգները (ժամացույցի սլաքի հակառակ ուղղությամբ)

Կցված դիագրամը ուրվագծում է աղեղի անկյունը հաշվարկելու իմ մեթոդը:

Քայլ 12: Drum_plotter_v3.ino

Կցված է «CNC Drum Plotter» - ի կոդի թարմացում:

«drum_plotter_v3.ino» - ն շտկում է մի փոքր սխալ, որը ազդել է գծագրիչի ճշգրտության վրա:

Փոխել պատմությունը

Տարբերակ 2:

Ավելացվել են երկլար կորեր

Տարբերակ 3:

Հետևյալ գործառույթները վերաշարադրվեցին ՝ ուղղելու չնչին վրիպակ, որը ազդել է գծագրիչի ճշգրտության վրա:

  • move_to () գործառույթում (int) փոխարինվում է round () - ով:
  • draw_line () գործառույթը «octant» որոնման ալգորիթմը բարելավվել է
  • Այժմ թարգմանիչը օգտագործում է լարային գործառույթներ, այլ ոչ թե ցուցիչներ, ինչը հեշտացնում է դիզայնը: Օրինակ, այժմ մենք կարող ենք փնտրել «MENU», այլ ոչ թե փնտրել «M» տառը, այնուհետև դուրս բերել հաջորդ թվով ամբողջ թիվը: Սա թույլ է տալիս անհատականացնել գծագրիչը ձեր սեփական հրամաններով:

Քայլ 13: Drum_plotter_plotter_v4.ino

16 հունվարի 2017:

Այս թմբուկի գծագրիչի ծածկագիրը հետագայում օպտիմալացվել է: Լրացուցիչ հնարավորություններ են ավելացվել:

Փոփոխությունները ներառում են.

  • ավելի արագ draw_line () ալգորիթմ
  • move_to () ֆունկցիայի համապատասխանեցում
  • քայլերի հաշվիչներ
  • աննշան սխալի շտկում

Լրացուցիչ մանրամասների համար կարդացեք կից ներկայացված «drum_plotter_v4.ino» - ի մեկնաբանությունները:

Կտտացրեք այստեղ ՝ իմ մյուս հրահանգները դիտելու համար:

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