Дастури корбар CNDY Shield GRBL CNC Arduino UNO

V1.2

CNDY Shield GRBL CNC

Пайванди GRBL дар Arduino Uno

Аналогӣ 0 = Тугмаи қатъ*
Аналоги 1 = Тугмаи Нигоҳ доштани ғизо* (SAFETY_DOOR бо нигоҳ доштани канал муштарак аст. Бо конфигуратсияи муайян фаъол карда шудааст)
Аналоги 2 = Тугмаи Оғоз/Бозоғозкунии Сикл*
Аналогӣ 3 = Баромади сардкунандаи фаъол
Аналогӣ 4 = (Ихтиёрӣ) Натиҷаи сардкунандаи туман (ё чароғи ташхиси ALARM_STATE**)
Аналоги 5 = Вуруди зонд*
Рақамӣ 13 = Самти шпиндель
Рақамӣ 12 = Гузаришҳои лимити Z-Axis*
рақамӣ 11 = Spindle / лазерӣ фаъол PWM
Рақамӣ 10 = Гузаришҳои лимити Y-меҳвари*
Рақамӣ 9 = Гузаришҳои маҳдуди X-Axis*
Digital 8 = Stepper Motors Фаъол / Хомӯш
Рақамӣ 7 = Самти Z-меҳвари
Рақами 6 = Самти Y-меҳвари
Рақамӣ 5 = Самти X-меҳвари
Рақамӣ 4 = Қадами набзи Z-меҳвари
Рақами 3 = Қадами набзи Y-меҳвари
Рақамӣ 2 = Қадами набзи X-меҳвари

Хусусияти ихтиёрии меҳвари дугона

Uno Analog Pin 3 = A-меҳвари DUAL_DIRECTION (баромади сардкунандаи фаъолкунӣ истифода мешуд)
Uno Analog Pin 4 = A-меҳвари DUAL_STEP (пештар баромади ихтиёрии Mist Collection буд)
Uno Digital 13 = Моддаи хунуккунӣ (иваз кардани самти шпиндель.)

Пас аз насб кардани анбори grbl ҳамчун китобхона дар Arduino, сатрҳои зеринро дар config.h хориҷ кунед file дар папкаи китобхонаи grbl.

#фаъол кардани_ДУАЛ_МЕХНИ// Пешфарз ғайрифаъол. Бекор кардани шарҳ барои фаъол кардан.

// Як меҳварро барои инъикоси мотори дигар интихоб кунед. Дар айни замон танҳо меҳвари X ва Y дастгирӣ карда мешавад.
#муайян кардани DUAL_AXIS_SELECT Y_axIS // Бояд ё X_AXIS ё Y_AXIS бошад

ЭЗОҲ: Маҳдудияти меҳвари дугона бо (З-меҳвари) маҳдуд кардани пин бо нобаёнӣ.

Хусусияти меҳвари дугона барои кор кардан як пинҳои набзи мустақили қадамро талаб мекунад. Пайванди самти мустақил комилан зарур нест, аммо тағир додани самтро бо танзимоти Grbl $$ осон мекунад. Ин пинҳо самти шпиндель ва пинҳои тумани хунуккунандаи ихтиёриро иваз мекунанд.

Ин хусусияти ихтиёрии меҳвари дугона пеш аз ҳама барои сикли хонагӣ барои ҷойгир кардани ду паҳлӯи як гантри думоторӣ мустақил аст, яъне худидоракунии мураббаъ. Ин барои муҳаррики клоншуда гузариши иловагии маҳдудро талаб мекунад. Барои худ мураббаъ кардан, ҳарду гузаргоҳи маҳдуд дар меҳвари клоншуда бояд аз ҷиҳати ҷисмонӣ ҷойгир карда шаванд, то вақте ки гантри мураббаъ бошад. Тавсия дода мешавад, ки муҳаррикҳоро ҳамеша фаъол нигоҳ доред, то гантри мураббаъ бо $ 1 = 255 муқаррар карда шавад.

Барои Grbl дар Arduino Uno, гузариши лимити меҳвари клононидашуда бояд бо сабаби мавҷуд набудани пинҳои мавҷуда бо PIN маҳдуди z-меҳвари мубодила ва сим пайваст карда шавад. Сикли хонагӣ бояд меҳвари z ва меҳвари клоншударо дар давраҳои гуногун ҷойгир кунад, ки аллакай конфигуратсияи пешфарз аст.

Хусусияти меҳвари дугона тавассути клон кардани баромади қадами меҳвар ба як ҷуфти дигари қадам ва самт кор мекунад. Набзи қадам ва самти мотори клоншударо новобаста аз муҳаррики меҳвари асосӣ муқаррар кардан мумкин аст. Аммо барои сарфаи флеш ва хотираи гаронбаҳо, ин хусусияти меҳвари дугона бояд ҳамон танзимотро (қадам/мм, суръати максималӣ, шитоб) ҳамчун муҳаррики волидайн мубодила кунад. Ин хусусият барои меҳвари чаҳоруми мустақил нест. Танҳо як клони мотор.

ОГОҲ: Боварӣ ҳосил кунед, ки самтҳои муҳаррикҳои меҳвари дугонаи худро санҷед! Онҳо бояд пеш аз иҷро кардани давраи аввалини хонагӣ ё ягон ҳаракати тӯлонӣ ба як самт ҳаракат кунанд! Моторҳое, ки ба самтҳои муқобил ҳаракат мекунанд, метавонанд ба мошини шумо зарари ҷиддӣ расонанд! Ин хусусияти меҳвари дугонаро бо хатари худ истифода баред.

ЭЗОҲ: Ин хусусият тақрибан 400 байт флешро талаб мекунад. Баъзе конфигуратсияҳо метавонанд аз дурахш тамом шаванд, то ба Arduino 328p/Uno мувофиқат кунанд. Танҳо меҳварҳои X ва Y дастгирӣ карда мешаванд. Ҳолати тағирёбандаи шпиндель/лазер дастгирӣ карда мешавад, аммо танҳо барои як варианти конфигуратсия. Core XY, пин самти шпиндель ва сардкунандаи M7 туман ғайрифаъол/дастгир карда намешавад.

Барои ҷилавгирӣ аз шикастани меҳвари дугона, вақте ки як маҳдудият бо сабаби нокомии коммутатор ё садо пеш аз дигараш ангеза мешавад, агар гузариши лимити муҳаррики дуюм дар дохили се параметри масофаи дар зер муайяншуда фаъол нашавад, давраи хонакунӣ ба таври худкор қатъ мешавад. Фоизи дарозии меҳвар ба таври худкор масофаи нокомиро ҳамчун фоиз ҳисоб мекунадtage аз ҳаракати максималии меҳвари ғайри дугона, яъне агар интихоби меҳвари дугона X_AXIS дар 5.0% бошад, он гоҳ масофаи ноком ҳамчун 5.0% сафар максимум ҳисоб карда мешавад. Масофаи максимум ва ҳадди аққал маҳдудияти дур ё кам будани масофаи дурусти ноком мебошанд.

#муайян кардани DUAL_AXIS_HOMING_FAIL_AXIS_LENGTH_FOIZ 5.0 // шинокунанда (фоиз)
#муайян кардани DUAL_AXIS_HOMING_FAIL_DISTANCE_MAX 25.0 // шино (мм)
#муайян кардани DUAL_AXIS_HOMING_FAIL_DISTANCE_MIN 2.5 // Float (мм)

Эзоҳ барои Порти I2C

Аналоги 4 (A4) ва Аналоги 5 (A5) барои бандари I2C дар Arduino Uno ё 328p истифода мешавад. Ин маънои онро дорад, ки то он даме, ки шумо функсияи санҷиши пешфарз, сардкунандаи туман, ду меҳвар ё чароғи ташхисии LED ALARM_STATE-ро истифода мебаред, истифодаи I2C ғайриимкон аст. Муошират бо дигар Arduino барои баланд бардоштани функсияҳо бояд тавассути пайвасти пайдарпай дар D0 ва D1 бошад.

Оғози кор (Ронандагони Stepper)

Аввалан, барои пайваст кардани муҳаррикҳои қадами худ ба Grbl, ба шумо якчанд драйверҳои муҳаррики қадамдор лозиманд, то ки қадамҳоро пурқувват кунанд ва вуруди драйвери худро ба пинҳои контроллери Arduino пайваст кунанд. Як қатор ронандагоне ҳастанд, ки метавонанд ин корро анҷом диҳанд, ки ҳамчун пурра пешакӣ сохташуда, қисман пешакӣ сохташуда ё пурра DIY дастрасанд. Ронандагони қадам бояд мубодила кунанд pin фаъол қадам (D8) ба таїіизот фаъол дахлдори худ, дар ҳоле ки пинҳои набзи самт ва қадам (D2-D7) бояд ба пинҳои мувофиқи драйверҳо пайваст карда шаванд. Танҳо боварӣ ҳосил кунед, ки ҳамаи ронандагон ва Arduino як чизи умумиро мубодила мекунанд (ситора бо қудрати ронандаи мотори шумо асос ёфтааст). Ин ҳама чизест, ки ба шумо барои оғоз кардан лозим аст.

Гузаришҳои хонагӣ ва лимити

Пас аз он, вақте ки шумо қарор қабул мекунед, ки шумо омодаед ё мехоҳед барои фаъол кардани манзил ва/ё маҳдудиятҳои сахт, ба шумо лозим меояд, ки a Калиди лимити одатан кушода ба ҳар як пинҳои маҳдуд (D9, D10 ва D12). Хоминг ва маҳдудиятҳои сахт ҳамон калидҳоро истифода мебаранд. Ин пинҳои маҳдуд аллакай бо муқовимати дохилии кашидашаванда баланд нигоҳ дошта мешаванд, аз ин рӯ танҳо ба шумо лозим аст, ки онҳоро ба замин пайваст кунед. Ҳамин тавр, вақте ки шумо коммутаторро мепӯшед, коммутатор пинҳои маҳдудро ба замин мекашад. Агар шумо хоҳед, ки дар ҳар ду канори ҳаракати меҳвар гузаргоҳҳои маҳдуди сахт дошта бошед, танҳо ду калиди маҳдудро дар баробари пин ва замини лимити меҳвар пайваст кунед. Боварӣ ҳосил кунед, ки шумо пеш аз кӯшиши анҷом додани як давраи хонагӣ коммутаторҳоро насб кардаед ва боварӣ ҳосил кунед, ки шумо усулҳои хуби ноқилро барои кам кардани садои электрикии беруна дар пинҳои вурудӣ истифода мебаред.

Таҷрибаҳои хуби интиқоли ноқилҳо метавонанд истифодаи кабелҳои муҳофизатшаванда ё clamp-дар ядроҳои кабели ферритӣ ва истифодаи якчанд конденсаторҳои 0.1 uF дар баробари гузаргоҳҳои лимити барои филтркунии садо. Нигоҳ доштани симҳои мотор аз симҳои лимити маҳдуд низ метавонад як фикри хуб бошад.

Агар шумо хоҳед, GRBL-ро барои истифодаи гузаргоҳҳои маҳдуди одатан пӯшида танзим кардан мумкин аст. Баъзеҳо чунин мешуморанд, ки гузаргоҳҳои маҳдуди одатан пӯшида метавонанд барои коҳиш додани садамаи фалокатбор дар сурати нокомии гузаргоҳи лимити кӯмак расонанд. Бисёре аз корбарон аз ҳама гуна гузаргоҳҳои маҳдуд истифода намебаранд ва ба ҷои он маҳдудиятҳои нармафзорро интихоб мекунанд.

Тугмаҳои идоракунӣ

Дар Grbl v0.8 ва дертар, аломатҳои оғози давра, нигоҳ доштани ғизо ва аз нав танзимкунии фармонҳои вақти корӣ мавҷуданд, то шумо метавонед дар мошини худ тугмаҳои назорати ҷисмониро дошта бошед. Мисли пинҳои маҳдуд, ин пинҳо бо муқовимати дохилии кашидашаванда баланд нигоҳ дошта мешаванд, аз ин рӯ танҳо ба шумо лозим аст, ки гузаргоҳи маъмулан кушодаро ба ҳар як пин ва ба замин пайваст кунед. Боз боварӣ ҳосил кунед, ки шумо усулҳои хуби ноқилро истифода мебаред, то садои берунии барқро дар пинҳои вуруд кам кунед.

Шпиндель ва сӯзанакҳои сардкунанда

Агар шумо ба шпиндель хоҳиш ё ниёз дошта бошед (D13) ё назорати хунуккунӣ (A3 & A4) , Grbl ин пинҳои баромадро вобаста ба фармонҳои G-коде, ки шумо ба Grbl мефиристед, иваз мекунад. Бо фаъол кардани v0.9+ ва шпиндели тағйирёбандаи PWM, пин D11 як қатор ҳаҷмҳоро мебарорадtagаз 0V то 5V вобаста ба суръати шпиндель фармони G-рамзи. 0V дар ин ҳолат шпиндельро хомӯш мекунад. Азбаски ин пинҳо ҳама барнома аз тарзи истифодаашон вобастаанд, мо онро ба ихтиёри шумо мегузорем, ки чӣ гуна назорат ва истифода бурдани онҳоро барои мошини худ муайян кунед. Шумо инчунин метавонед манбаи идоракунии шпиндель ва хунуккуниро вайрон кунед files ба осонӣ тағир додани тарзи кори онҳо ва сипас Grbl-и тағирёфтаи худро тавассути Arduino IDE тартиб ва бор кунед.

Чароғи диагностикии LED

Мошинҳои тиҷоратии CNC аксар вақт дар сурати садамаи мошин ё рамзи ҳушдор ҳадди аққал як чароғҳои ташхисии LED доранд. Барои онҳое, ки бо мошинҳои GRBL ва DIY CNC нав ҳастанд, ин хусусият барои донистани кай рух додани ALARM_STATE хеле муфид аст (масалан, натавонистани мошин бо гузаргоҳҳои хонагӣ ва маҳдудияти фаъол).

GRBL бо нобаёнӣ чароғи LED-и ташхисӣ надорад. Ин аз он сабаб аст, ки Ardunio UNO бо чипи 328p фазои маҳдуди барномасозӣ дорад ва тақрибан ҳамаи ин фазо ҳоло истифода мешавад (ҳарчанд на ҳама!). На ҳар як хусусияти дилхоҳро дар чунин дастгоҳи хотираи паст амалӣ кардан мумкин аст, аз ин рӯ баъзан қурбониҳо кардан лозим меояд.

Илова бар ин, ҳама бандарҳои дастраси вуруд/чорӣ айни замон истифода мешаванд ва барои чунин рӯшноӣ ҳадди аққал як PIN-и I/O лозим аст. Хушбахтона, ин функсияро тавассути шикастани рамзи GRBL C ба осонӣ илова кардан мумкин аст ва ҳоло ҳам дар чипи 3p тақрибан 328% хотира мавҷуд аст!

Бисёр мошинҳо дар айни замон хусусияти ихтиёрии MIST COOLANT-ро дар Analog 4 истифода намебаранд, аз ин рӯ мо метавонем ин пинро барои истифодаи мо ба осонӣ аз нав муайян кунем. Як усули алтернативӣ метавонад рамзгузории чунин чароғҳои LED дар Arduino беруна бошад, ки пас аз он ҳама бандарҳои I/O мавҷуд аст, ки дар он ҷо метавон ба қадри кофӣ чароғҳои LED / Buzzers пайваст кунад ва тавассути Serial ё I2C муошират кунад.

Барои вайрон кардани рамзи сарчашмаи GRBL барои истифодаи LED ALARM дар CNDY Shield, лутфан амалҳои зеринро иҷро кунед:

Қадами 1: Дар Linux ё Macintosh муҳаррири матниро кушоед (дар Windows истифода баред Notepad++) ва таҳрир кунед cpu_map.h file:

Инро тағир диҳед:

// Муайян кардани обхезӣ ва сардкунандаи туман имкон медиҳад, ки пинҳои баромад.
#муайян кардани ХАРДКУНАНДА_СЕФИ_DDR DDRC
#БОРЧАИ COOLANT_FLOOD_PORTC-ро муайян кунед
#муайян кардани COOLANT_FLOOD_BIT 3 // Uno Analog Pin 3
#муайян кардани COOLANT_MIST_DDR DDRC
#муайян кардани COOLANT_MIST_PORT PORTC
#муайян кардани COOLANT_MIST_BIT 4 // Uno Analog Pin 4

Ба ин:

// Муайян кардани обхезӣ ва сардкунандаи туман имкон медиҳад, ки пинҳои баромад.
#муайян кардани ХАРДКУНАНДА_СЕФИ_DDR DDRC
#БОРЧАИ COOLANT_FLOOD_PORTC-ро муайян кунед
#муайян кардани COOLANT_FLOOD_BIT 3 // Uno Analog Pin 3
//# COOLANT_MIST_DDR DDRC-ро муайян кунед
//#муайян кардани COOLANT_MIST_PORT PORTC
//# COOLANT_MIST_BIT 4-ро муайян кунед // Uno Analog Pin 4

//////////////////

// Баромади LED-и ҳушдорро муайян кунед
#муайян кардани SIGNAL_LIGHT_DDR DDRC
#БОРЧАИ SIGNAL_LGHT_PORTC-ро муайян кунед
#муайян кардани SIGNAL_LGHT_BIT 4 // Uno Analog Pin 4

// #сигнал_нурро муайян кунед(фаъол) (SIGNAL_LIGHT_DDR |= (1<)

// #define signal_light_init() signal_light(хомӯш)

#муайян кардани signal_light_init signal_light_off

#муайян кардани сигнал_нур_даргир (SIGNAL_LIGHT_DDR |= SIGNAL_LIGHT_PORT |= (1<

#муайян кардани чароғ_сигнал_хомӯш (SIGNAL_LIGHT_DDR |= SIGNAL_LIGHT_PORT &= ~(1<

//////////////////

Қадами 2: Дар Linux ё Macintosh муҳаррири матниро кушоед (дар Windows истифода баред Notepad++) ва таҳрир кунед protocol.c file:

Инро тағир диҳед:

// Ҳангоми зарурат фармонҳои вақти иҷрошударо иҷро мекунад. Ин функсия пеш аз ҳама ҳамчун ҳолати Grbl амал мекунад
// мошин ва назорат мекунад, ки хусусиятҳои гуногуни вақти воқеӣ Grbl пешкаш мекунад.
// ЭЗОҲ: Инро тағир надиҳед, агар шумо дақиқ надонед, ки чӣ кор карда истодаед! void protocol_exec_rt_system()
{

uint8_t rt_exec; // Тағйирёбандаи муваққатӣ барои пешгирӣ кардани даъвати чанд маротиба тағйирёбанда.
rt_exec = sys_rt_exec_ alarm; // Нусхабардории sys_rt_exec_alarm ноустувор.
if (rt_exec) { // Танҳо агар ягон парчами бит дуруст бошад, ворид кунед

// Ҳушдори система. Ҳама чиз бо чизе қатъ шудааст, ки ба таври ҷиддӣ хато кардааст. Ҳисобот
// сарчашмаи хато ба корбар. Агар муҳим бошад, Grbl бо ворид кардани беохир ғайрифаъол мешавад
// то аз нав танзимкунии система/қатъ.

sys.state = STATE_ALARM; // Ҳолати ҳушдори системаро танзим кунед

гузориш_оғоз_паём (rt_exec);

Ба ин:

// Ҳангоми зарурат фармонҳои вақти иҷрошударо иҷро мекунад. Ин функсия пеш аз ҳама ҳамчун ҳолати Grbl амал мекунад
// мошин ва назорат мекунад, ки хусусиятҳои гуногуни вақти воқеӣ Grbl пешкаш мекунад.
// ЭЗОҲ: Инро тағир надиҳед, агар шумо дақиқ надонед, ки чӣ кор карда истодаед!
void protocol_exec_rt_system()
{

uint8_t rt_exec; // Тағйирёбандаи муваққатӣ барои пешгирӣ кардани даъвати чанд маротиба тағйирёбанда.
rt_exec = sys_rt_exec_ alarm; // Нусхабардории sys_rt_exec_alarm ноустувор.

///////////////////////

// Баромади LED-и ҳушдорро муайян кунед
signal_light_init; // LED init дар ҳолати хомӯш
агар (sys.state==STATE_ALARM) {сигнал_нур_даргир;}
дигаре агар (sys.state!=STATE_ALARM) {signal_light_off;}
// дигаре {signal_light_off;}

///////////////////////

if (rt_exec) { // Танҳо агар ягон парчами бит дуруст бошад, ворид кунед
// Ҳушдори система. Ҳама чиз бо чизе қатъ шудааст, ки ба таври ҷиддӣ хато кардааст. Ҳисобот
// сарчашмаи хато ба корбар. Агар муҳим бошад, Grbl бо ворид кардани беохир ғайрифаъол мешавад
// то аз нав танзимкунии система/қатъ.
sys.state = STATE_ALARM; // Ҳолати ҳушдори системаро танзим кунед
гузориш_оғоз_паём (rt_exec);

Он чизе ки мо кардем, ин иваз кардани вазифаи муайяншудаи Analog 4 (A4) аз сардкунандаи ихтиёрии туман ба чароғи LED мо буд. Пас аз он мо дар C код навиштем, то тавонем навиштан (PC4) Порти C 4 (Analog4) баланд ё паст, вобаста аз он ки гуфта шудааст, ки он фурӯзон ё хомӯш аст. Сипас мо изҳороти оддии if-else навиштем, то мошини ҳолати GRBL-ро тафтиш кунем ва ба мо бигӯем, ки оё мо дар ALARM_STATE фаъол ҳастем ва кай мо бояд LED-ро фурӯзон кунем.

Агар ҳамааш хуб шавад, мо метавонем дар Arduino IDE тартиб диҳем, рамзро бор кунем ва ҳоло мо чароғи диагностикии LED ALARM_STATE дорем! Мо ба таври ихтиёрӣ метавонем як чароғаки берунии LED маякро пайваст кунем, то дар болои мошин, ки дар тамоми ҳуҷра намоён хоҳад шуд, ҷойгир кунем.

Мушкилоти эҳтимолӣ

Идеалӣ, ин тағиротҳо бо коди ибтидоии дастраси grbl анҷом дода мешаванд ва пеш аз илова кардани "китобхонаи grbl" ба Arduino IDE анҷом дода мешаванд. Агар шумо аллакай дар папкаи китобхонаҳои Arduino-и худ grbl дошта бошед, ба шумо лозим меояд, ки дастӣ паймоиш кунед ва ҷузвдони grbl-ро нест кунед ё таҳрир кунед. files дар дохили китобхонаи arduino. Дар мошини Linux-и ман "китобхона" дар инҷо пайдо мешавад: /home/andrew/Arduino/libraries/grbl. Варақаи охирини grbl-ро дар ин ҷо пайдо кардан мумкин аст https://github.com/gnea/grbl/releases. Яке метавонад zip дастрасро зеркашӣ кунад file ва папкаи бо номи grbl-1.1h.20190825 дар дохили он пайдо кардан мумкин аст. Дар дохили ин папка папкае бо номи grbl хоҳад буд, ки шумо мехоҳед ба Arduino IDE ҳамчун "китобхона" "zip" илова кунед file». Боварӣ ҳосил кунед, ки тағиротҳои худро ба cpu_map.h ва protocol.c ворид кунед fileпеш аз он ки шумо онро ба Arduino IDE илова кунед. Дар акси ҳол шумо бояд таҳрир кунед files дар дохили ҷузвдони китобхонаҳо/grbl. Дар grbl-1.1h zip як хатои маълум барои хусусияти меҳвари дугона мавҷуд аст file, он ислоҳ мешавад, агар шумо ба ҷои он шохаи асосии grbl -ро зеркашӣ кунед. https://github.com/gnea/grbl

Навсозиҳо ва хатогиҳои CNDY Shield

*V1.1: дорои хатои хурди экрани абрешимӣ мебошад, ки дар он Spindle PWM ва Самти шпиндель иваз карда мешаванд. Ин дар V1.2 ислоҳ шудааст.

V1.2 дигар конденсаторҳои ихтиёрии паст кардани садо дар хати 5v надорад ва дар дигар хатҳои тугмаҳои вурудӣ конденсаторҳои нав дорад. V1.2 дорои LED-и факултативӣ мебошад, ки дар баробари ба Spindle PWM пайваст шудааст. Ин метавонад барои насби лазерӣ барои бехатарӣ муфид бошад.

Таҷдидшуда август-28-2021

Маълумоти иловагиро метавонед дар ин ҷо пайдо кунед RabbitMountainResearch.com.

Ҳуҷҷатҳо / Сарчашмаҳо

CNDY Shield GRBL CNC Arduino UNO [pdf] Дастури корбар
GRBL CNC, Arduino UNO

Иқтибосҳо

Назари худро гузоред

Суроғаи почтаи электронии шумо нашр намешавад. Майдонҳои зарурӣ қайд карда шудаанд *