Բովանդակություն:
- Քայլ 1: Շղթան
- Քայլ 2: Գծային շարժիչ
- Քայլ 3: Թմբուկը
- Քայլ 4: Շինարարության խորհուրդներ
- Քայլ 5. Bresenham's Line Drawing Algorithm
- Քայլ 6: Կոդ
- Քայլ 7: Մենյու
- Քայլ 8: Կալիբրացում
- Քայլ 9: Gcode- ի նախամշակում
- Քայլ 10: Արդյունքներ
- Քայլ 11: Կոդի թարմացում
- Քայլ 12: Drum_plotter_v3.ino
- Քայլ 13: Drum_plotter_plotter_v4.ino
Video: CNC Drum Plotter: 13 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Այս հրահանգը նկարագրում է պլաստմասե խողովակի մի հատվածից պատրաստված A4/A3 գծանկարիչ, երկու BYJ-48 տիպի շարժիչ և SG-90 սերվո: Ըստ էության, դա հարթ մահճակալ է, որը գլորվել է թմբուկի մեջ:
Մեկ շարժիչը պտտեցնում է թմբուկը, իսկ մյուսը ՝ տպիչի գլուխը: Servo- ն օգտագործվում է գրիչը բարձրացնելու և իջեցնելու համար:
Այս գծանկարիչը մի շարք առավելություններ ունի ավանդական տափակ պլատետորի նկատմամբ.
- զգալիորեն ավելի փոքր հետք
- պահանջում է միայն մեկ գծային ուղեցույց
- պարզ կառուցել
- էժան
Ինքնաթիռի թարգմանիչը ընդունում է Inkscape- ի gcode- ի ելքը:
Նկարչի հետ հաղորդակցումը կատարվում է bluetooth կապի միջոցով:
Պլատերը համատեղելի է CNC գրաֆիկական պլանշետի հետ, որը նկարագրված է իմ ուսանելի
Թեև ճշգրիտ գործիք չէ, այս գծանկարչի ճշգրտությունը գոհացուցիչ է ջրաներկային ուրվագծերը թղթի վրա փոխանցելու նպատակային նպատակների համար:
Քայլ 1: Շղթան
Շղթան ներառում է 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
Այս գծանկարիչն օգտագործում է Բրեզենհեմի գծանշման ալգորիթմի [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- ի նախամշակում
Այս գծապատկերը պահանջում է 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» - ի մեկնաբանությունները:
Կտտացրեք այստեղ ՝ իմ մյուս հրահանգները դիտելու համար:
Խորհուրդ ենք տալիս:
ROTARY CNC BOTTLE PLOTTER: 9 քայլ (նկարներով)
ROTARY CNC BOTTLE PLOTTER: Ես վերցրեցի մի քանի գլան, որոնք, հավանաբար, օգտագործվում են տպիչի մեջ: Ես միտք առաջացրի դրանք վերածել CNC շշերի գծագրիչի պտտման առանցքի: Այսօր ես կցանկանայի կիսվել, թե ինչպես կարելի է կառուցել CNC շշերի պլատեր այս գլանափաթեթներից և այլ բեկորներից: To
MIDI Drum Kit Python- ի և Arduino- ի վրա. 5 քայլ (նկարներով)
MIDI Drum Kit Python- ի և Arduino- ի վրա. Մանկուց ես միշտ ցանկացել եմ թմբուկ գնել: Այն ժամանակ բոլոր երաժշտական սարքավորումները չունեին բոլոր թվային ծրագրերը, ինչպես մենք ունենք այսօր, ուստի գները սպասումների հետ միասին չափազանց բարձր էին: Վերջերս ես որոշեցի գնել գ
CNC Robot Plotter: 11 քայլ (նկարներով)
CNC Robot Plotter: a.articles {font-size: 110.0%; տառաչափը ՝ համարձակ; տառատեսակ ՝ շեղագիր; տեքստի ձևավորում. ոչ մեկը; ֆոնի գույնը ՝ կարմիր;} ա. հոդվածներ ՝ սավառնել {ֆոնային գույնը ՝ սև; Ռոբոտը բաղկացած է
Arduino Drum Man: 5 քայլ (նկարներով)
Arduino Drum Man: Բաղադրությունը `1: Մետաղական մետաղալար 2. Էժան թմբուկի խաղալիք (բարձր գլխարկ, թակարդ և հարվածային թմբուկ) 3. Երեք սերվո 4. Էլեկտրական լար 5. Կպչուն ժապավեն 6. Հացաթուղթ 7. Arduino Uno8. USB- ից մինչև USB 2.0
Arduino Mini CNC Plotter (Proteus Project- ով և PCB- ով) ՝ 3 քայլ (նկարներով)
Arduino Mini CNC Plotter (Proteus Project & PCB- ով). Այս arduino մինի CNC կամ XY գծանկարիչը կարող է գրել և ձևավորել 40x40 մմ սահմաններում: Այո, այս տեսականին կարճ է, բայց դա լավ սկիզբ է `արդուինո աշխարհ անցնելու համար: [Այս նախագծում ես տվել եմ ամեն ինչ, նույնիսկ PCB, Proteus File, Օրինակ դիզայնի